For more information regarding the challenge, please visit Surgical Robotics Challenge 2021-2022 or Surgical Robotics Challenge 2023-2024.
Please checkout the Discussions Tab for asking questions, posting suggestions, connecting with the community, and for keeping up to date with the challenge.
Clone, build and source ambf-3.0 using these instructions
Please refer to README in the scripts folder for instructions on installing the Python package for system-wide access.
You can alternatively use Dockerfiles to create Docker images by following the instructions here: https://github.com/surgical-robotics-ai/docker_surgical_robotics_challenge
For convenience, we have provided several bash (.sh) scripts to launch different suturing scenes/setups.
FOR ROS 1 roscore MUST BE RUNNIG BEFOREHAND. NOT REQUIRED FOR ROS 2
To run roscore, open a new terminal and run:
roscoreThen, you can run the run_env_LND_420006.sh, for example, in your terminal as:
./run_env_LND_420006.shand you should see the following scene
To understand the launch file, refer to this link
The simulated camera(s) are defined in the World file (world_stereo.yaml) which is set in the launch.yaml file.
To enable the camera(s) to publish the scene image or depth data, follow the instructions on this page:
Camera coordinate frames and the difference between the AMBF and the OpenCV camera convention is described in camera_convention.md
You can press CTRL+R to reset the rigid bodies in simulation, and CTRL+V to reset the camera pose.
To manually control what objects are spawing in the scene, please review the .sh scripts in this folder. For a full list of arguments to provide to AMBF, please refer to these instructions
Please take a look at the scripts in the scripts folder:
The code in the scripts folder allows the dVRK MTMs or Geomagic Touch / Phantom Omni to control the simulated PSMs.
With the simulation already running, run the dvrk-ros application for the dVRK MTMs or the ROS application for the Geomagic Touch/Phantom Omni. You can find the relevant code for them here:
a. https://github.com/jhu-dvrk/dvrk-ros (dvrk-ros)
b. https://github.com/WPI-AIM/ros_geomagic (geomagic_touch/phantom_omni)
Then run one of the corresponding Python scripts:
a. scripts/surgical_robotics_challenge/teleoperation/mtm_multi_psm_control.py (For MTMs)
b. scripts/surgical_robotics_challenge/geomagic_multi_psm_control.py (For Geomagic Touch/Phantom Omni)
Refer to the README in the scripts folder for further information
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}
}