https://github.com/med-air/SurRoL
[IROS'21] SurRoL: An Open-source Reinforcement Learning Centered and dVRK Compatible Platform for Surgical Robot Learning
https://github.com/med-air/SurRoL
dvrk medical-robotics reinforcement-learning simulation
Last synced: 3 months ago
JSON representation
[IROS'21] SurRoL: An Open-source Reinforcement Learning Centered and dVRK Compatible Platform for Surgical Robot Learning
- Host: GitHub
- URL: https://github.com/med-air/SurRoL
- Owner: med-air
- License: mit
- Created: 2021-07-28T07:09:24.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-08-11T04:46:37.000Z (10 months ago)
- Last Synced: 2025-08-11T06:32:03.450Z (10 months ago)
- Topics: dvrk, medical-robotics, reinforcement-learning, simulation
- Language: Python
- Homepage: https://med-air.github.io/SurRoL/
- Size: 639 MB
- Stars: 175
- Watchers: 3
- Forks: 28
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-open-source-robotics - SurRoL
README
# SurRoL: An Open-source Reinforcement Learning Centered and dVRK Compatible Platform for Surgical Robot Learning
### [[Project Website]](https://med-air.github.io/SurRoL/)
IEEE RA-L'23 [Human-in-the-loop Embodied Intelligence with Interactive Simulation Environment for Surgical Robot Learning](https://arxiv.org/abs/2301.00452)
ICRA'23 [Demonstration-Guided Reinforcement Learning with Efficient Exploration for Task Automation of Surgical Robot](https://arxiv.org/abs/2302.09772)
ISMR'22 [Integrating artificial intelligence and augmented reality in robotic surgery: An initial dVRK study using a surgical education scenario](https://arxiv.org/abs/2201.00383)
IROS'21 [SurRoL: An open-source reinforcement learning centered and dVRK compatible platform for surgical robot learning](https://arxiv.org/abs/2108.13035)
## Features
- [dVRK](https://github.com/jhu-dvrk/sawIntuitiveResearchKit/wiki) compatible [robots](./surrol/robots).
- [Gym](https://github.com/openai/gym) style [API](./surrol/gym) for reinforcement learning.
- Ten surgical-related [tasks](./surrol/tasks).
- Various object [assets](./surrol/assets).
- Based on [PyBullet]((https://github.com/bulletphysics/bullet3)) for physics simulation.
## Installation
The project is built on Ubuntu with Python 3.7,
[PyBullet](https://github.com/bulletphysics/bullet3),
[Gym 0.15.6](https://github.com/openai/gym/releases/tag/0.15.6),
and evaluated with [Baselines](https://github.com/openai/baselines),
[TensorFlow 1.14](https://www.tensorflow.org/install/pip).
### Prepare environment
1. Create a conda virtual environment and activate it.
```shell
conda create -n surrol python=3.7 -y
conda activate surrol
```
2. Install gym (slightly modified), tensorflow-gpu==1.14, baselines (modified).
### Install SurRoL
```shell
git clone https://github.com/med-air/SurRoL.git
cd SurRoL
pip install -e .
```
## Get started
The robot control API follows [dVRK](https://github.com/jhu-dvrk/dvrk-ros/tree/master/dvrk_python/src/dvrk)
(before "crtk"), which is compatible with the real-world dVRK robots.
You may have a look at the jupyter notebooks in [tests](./tests).
There are some test files for [PSM](./tests/test_psm.ipynb) and [ECM](./tests/test_ecm.ipynb),
that contains the basic procedures to start the environment, load the robot, and test the kinematics.
We also provide some [run files](./run) to evaluate the environments using baselines.
## Citation
If you find the paper or the code helpful to your research, please cite the project.
```
@inproceedings{xu2021surrol,
title={SurRoL: An Open-source Reinforcement Learning Centered and dVRK Compatible Platform for Surgical Robot Learning},
author={Xu, Jiaqi and Li, Bin and Lu, Bo and Liu, Yun-Hui and Dou, Qi and Heng, Pheng-Ann},
booktitle={2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
year={2021},
organization={IEEE}
}
```
## License
SurRoL is released under the [MIT license](LICENSE).
## Acknowledgement
The code is built with the reference of [dVRK](https://github.com/jhu-dvrk/sawIntuitiveResearchKit/wiki),
[AMBF](https://github.com/WPI-AIM/ambf),
[dVRL](https://github.com/ucsdarclab/dVRL),
[RLBench](https://github.com/stepjam/RLBench),
[Decentralized-MultiArm](https://github.com/columbia-ai-robotics/decentralized-multiarm),
[Ravens](https://github.com/google-research/ravens), etc.
## Contact
For any questions, please feel free to email qidou@cuhk.edu.hk