Introducing CRESSim-Neo: A GPU-Accelerated Simulation Engine for Surgical Robotics

High-performance simulation has become a key part of modern robotics. Simulators are not only used for testing control algorithms, but are also increasingly used to generate training data, collect experience for robot learning, and evaluate policies at scale.
Surgical robotics makes this much harder: A surgical scene may contain rigid instruments, deformable soft tissue, sutures or other strand-like structures, and fluids, all interacting with one another. A useful simulator may also need to support operations that are specific to surgery, such as cutting, cauterization, irrigation and suction.
This is a very different setting from many common robotics benchmarks, where a rigid-body dynamics solver is often enough to capture most of the relevant physics.
Existing research has developed sophisticated methods for modeling tissue deformation, suturing, cutting, and other medical interactions. But many of these systems were designed for surgical training (single-scene) rather than large-scale robotics applications.
At the other end of the spectrum, modern GPU-accelerated robotics simulators (e.g., Isaac Sim, SAPIEN, MuJoCo Playground, Genesis World) have made it possible to run large numbers of environments in parallel and connect simulation directly to learning pipelines. These systems work extremely well for locomotion and rigid-body manipulation, but surgical scenes place very different demands on the physics engine.
This leaves an interesting gap: we want the physical flexibility of a surgical simulator, but the scalability and workflow of a modern robotics simulator. CRESSim-Neo is our attempt to bridge these two worlds.
What CRESSim-Neo is
CRESSim-Neo is a GPU-accelerated simulation engine designed specifically for surgical robotics, with a unified physics framework for rigid bodies, deformable soft bodies, fluids, and strand-like structures.
At the core of the simulator is a position-based dynamics (PBD) framework. PBD is particularly attractive for surgical simulation because it provides a relatively unified way to model very different kinds of materials and interactions within the same solver.
On top of this physics layer, CRESSim-Neo provides a batched rasterization pipeline and GPU-resident simulation workflow, so multiple environments can be simulated efficiently and their outputs can be used directly on the GPU without unnecessary host-device copies, such as for synthetic data generation and robot learning.
The goal is not simply to reproduce an existing surgical training simulator on the GPU. We want CRESSim-Neo to serve as a general simulation engine on which new surgical robotics environments, sensing modalities, and learning tasks can be built.

Why build another simulator for surgical robotics?
A natural question is: why build another simulator?
Modern platforms such as Isaac Sim, Warp, and Newton are increasingly flexible, and in principle many surgery-specific features could be implemented on top of them. But our view is that extensibility alone is not enough.
Surgical simulation often requires unusual operations and tight coupling between different parts of the system. We may want to change how constraints are solved, how different materials interact, how simulation data is laid out on the GPU, or how a custom surgical operation is inserted into the timestep. In these cases, working within the assumptions of a large general-purpose framework can become a significant engineering burden.
With CRESSim-Neo, we wanted something simpler: a stack that we can understand and control from top to bottom.
That means keeping the core architecture relatively small, minimizing unnecessary abstraction layers, and making the important parts of the simulation directly accessible. The goal is for researchers to be able to modify the physics, coupling, sensing, rendering, and execution model when the application demands it (through the available interfaces, or, when necessary, by modifying a comparatively small codebase).
This philosophy also shapes some of the lower-level design choices. As we wrote in the paper:
Additional considerations include (1) cross-operating-system and cross-GPU support, (2) modern graphics API usage, (3) cross-API shading language portability, and (4) graphics and compute API interoperability.
These choices are intended to keep the engine portable and to avoid unnecessary dependence on any single graphics or compute stack.
What CRESSim-Neo enables
CRESSim-Neo is designed to support the kinds of interactions and sensing modalities that make surgical robotics different from general manipulation.
Current capabilities include deformable tissue simulation, strand simulation and suturing-style interactions, fluid simulation and suction, cauterization, cable constraints for continuum and cable-driven robots, and simulated ultrasound.
Because these components share the same GPU-resident runtime, they can be combined within the same scene and executed across multiple environments in parallel.
The same pipeline is intended for robot learning and synthetic data generation. Simulation state, rendered observations, rewards, randomization, and other user-defined computations can remain on the GPU, reducing unnecessary data movement between simulation and learning code.
The broader goal is to make it easier to build new surgical robotics tasks without first having to engineer a new simulator around each one.

The engine also produces the sensor data needed by robotics pipelines: RGB images, segmentation masks, depth maps, and synthesized ultrasound. These outputs can be consumed on the GPU alongside the simulation state.

This workflow is demonstrated in a blood-suction task, where the simulated tool, fluid, and tissue evolve together.

We also explore surgery-specific interactions, including cable-driven continuum robots and heat-dependent changes in tissue appearance.


Source code and contributing
CRESSim-Neo is open source, and we are building it as a research platform rather than a fixed collection of tasks or benchmarks.
We are still actively developing the project, and there is a lot we want to improve. But we hope CRESSim-Neo can become a useful foundation for researchers working on robot learning, simulation, and autonomy in surgery.
The code is available here:
For setup guides and API references, see the CRESSim-Neo documentation.
We would be excited to see what others build with CRESSim-Neo, and to welcome contributions from the community.
Citation
For the full technical details, please cite the CRESSim-Neo paper:
@article{ou2026cressim, title={CRESSim-Neo: A Batched GPU Simulation Engine for Surgical Robotics and Robot Learning}, author={Ou, Yafei and Naheen, Ahnaf and Mussin, Tleukhan and Jarales, Hans and Chacko Moncy, Melwin and Tavakoli, Mahdi}, journal={arXiv preprint arXiv:2608.25192}, year={2026}}
