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.
-
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.
-
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.shb. 3D Med Simple Suturing Phantom
./run_env_3D_MED_STRAIGHT_LND_420006.shc. Simple Suturing Phantom
./run_env_SIMPLE_LND_420006.shd. Asymmetric Pegboard with Wall
./run_env_pegboard_asymmetric.she. Symmetric Pegboard with Wall
./run_env_pegboard_symmetric_with_wall.shf. Legacy Simple Phantom
./run_env_SIMPLE_LND_420006.shExample media showing a few different environments.
To understand the launch file, refer to this link.
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, and the difference between the AMBF and OpenCV camera conventions, are described in camera_conventions.md.
You can press CTRL+R to reset the rigid bodies in the simulation and CTRL+V to reset the camera pose.
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.
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}
}



