Skip to content

mmmarinho/icra2023_orbitalmanipulation

Repository files navigation

ICRA2023 Autonomous Orbital Manipulation using Vector-Field Inequalities Example

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.

Screenshot 2023-02-08 at 20 01 44

Configuration

Supposing you have a suitable Python3 installation, do as follows.

  1. Download this repository
git clone https://github.com/mmmarinho/icra2023_orbitalmanipulation.git
cd icra2023_orbitalmanipulation
  1. 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].
  1. Install the prerequisites
python3 -m pip install -r requirements.txt

Running this code

  1. Open the orbital_manipulation.ttt scene in CoppeliaSim

  2. Run the main.py script. Example

python3 main.py
  1. The simulation will start automatically. You can click and drag the xd1 and xd2 to change each robot's setpoint. Then, the robots will move accordingly to keep the orbital manipulation constraint.

  2. You can stop the script with CTRL+C.

TODO

  • 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.

About

Orbital manipulation code and minimal example for the ICRA2023 paper: "Vitreoretinal Surgical Robotic System with Autonomous Orbital Manipulation using Vector-Field Inequalities".

Topics

Resources

License

Stars

Watchers

Forks

Languages