AMBF Surgical Robotics Challenge
June 19, 2026 ยท View on GitHub
This repository provides an open simulation environment for robotic suturing.
Please check out the Discussions tab to ask questions, post suggestions, connect with the community, and stay up to date with the challenge.
Installation
-
Install ROS2 (any version should do). Instructions for Jazzy can be found here.
-
Clone, build, and source
ambf-3.0using these instructions. AMBF 3.0 also requires ROS, so skip the ROS-related instructions if you followed step 1 and vice-versa. -
Set up this repository using one of the following options:
-
Local install (recommended): Refer to the README in the scripts folder for instructions on installing the Python package.
-
Docker: Create Docker images by following the instructions here.
Running the simulation
-
Open a terminal and set up for ROS 2, either in every terminal window that interacts with SRC or once in your
.bashrcfile, as described here. -
Navigate to the
surgical_robotics_challengefolder, which is~/surgical_robotics_challengeif you cloned it in your home directory. -
Run one of the environments below in your terminal:
a. 3D Med Complex Suturing Phantom
./run_env_3D_MED_COMPLEX_LND_420006.sh
b. 3D Med Simple Suturing Phantom
./run_env_3D_MED_STRAIGHT_LND_420006.sh
c. Simple Suturing Phantom
./run_env_SIMPLE_LND_420006.sh
d. Asymmetric Pegboard with Wall
./run_env_pegboard_asymmetric.sh
e. Symmetric Pegboard with Wall
./run_env_pegboard_symmetric_with_wall.sh
f. Legacy Simple Phantom
./run_env_SIMPLE_LND_420006.sh
Example media showing a few different environments.
Technical Details
Launch file
To understand the launch file, refer to this link.
Simulated Cameras
The simulated camera(s) are defined in the world file (world_stereo.yaml), which is selected in launch.yaml.
To enable the camera(s) to publish scene images or depth data, follow the instructions on this page.
Camera Coordinate frames
Camera coordinate frames, and the difference between the AMBF and OpenCV camera conventions, are described in camera_conventions.md.
Resetting the Simulation
You can press CTRL+R to reset the rigid bodies in the simulation and CTRL+V to reset the camera pose.
Launch Arguments
To manually control which objects are spawned in the scene, review the .sh scripts in this folder. For a full list of arguments that can be passed to AMBF, refer to these instructions.
Citation
If you find this work useful, please cite it as:
@article{munawar2022open,
title={Open Simulation Environment for Learning and Practice of Robot-Assisted Surgical Suturing},
author={Munawar, Adnan and Wu, Jie Ying and Fischer, Gregory S and Taylor, Russell H and Kazanzides, Peter},
journal={IEEE Robotics and Automation Letters},
volume={7},
number={2},
pages={3843--3850},
year={2022},
publisher={IEEE}
}