Orbital manipulation code and minimal example for our ICRA2023 paper:
@InProceedings{koyama2023vitreoretinal,
author = {Koyama, Y. and Marinho, M. M. and Harada, K.},
title = {Vitreoretinal Surgical Robotic System with Autonomous Orbital Manipulation using Vector-Field Inequalities},
booktitle = {2023 IEEE International Conference on Robotics and Automation (ICRA)},
year = {2023},
month = may,
organization = {IEEE},
pages = {1--7},
}
In this example, I have implemented the main code of the paper in orbital_manipulation.py
.
By moving xd1
and xd2
, the user can see the optimization handling the orbital manipulation constraint in real time.
To make this example simpler to users outside my lab, I have decided to use the KUKA LBR4+
robots available by default in CoppeliaSim.
The "eye" is in this simulation is much bigger than in the real experiments for easier visualization and operation on CoppeliaSim.
Supposing you have a suitable Python3 installation, do as follows.
- Download this repository
git clone https://github.com/mmmarinho/icra2023_orbitalmanipulation.git
cd icra2023_orbitalmanipulation
- Create a virtual environment
python3 -m venv venv
source venv/bin/activate
- These instructions are for
bash
-enabled systems, for other terminal programs, check the venv documentation linked below. - Remember to always activate this virtual env again when you want to reuse it.
- For more info on how to use venv [click here].
- Install the prerequisites
python3 -m pip install -r requirements.txt
-
Open the
orbital_manipulation.ttt
scene in CoppeliaSim -
Run the
main.py
script. Example
python3 main.py
- If at this stage you have problems connecting to CoppeliaSim, check the DQRobotics CoppeliaSim Interface webpage for possible fixes and tips.
-
The simulation will start automatically. You can click and drag the
xd1
andxd2
to change each robot's setpoint. Then, the robots will move accordingly to keep the orbital manipulation constraint. -
You can stop the script with
CTRL+C
.
- Add the motion of the eye in the simulation. The real eye will naturally move in reaction to the motion enacted by the moving RCM points of each instrument.