In this repository, we collect the code associated to our publication "A Shared Control Approach to Safely Limiting Patient Motion Based on Tendon Strain During Robotic-Assisted Shoulder Rehabilitation", to appear at the IEEE International Consortium on Rehabilitation Robotics 2025 (ICORR).
We provide the scripts we used to control our robotic physiotherapist (KUKA iiwa 7), as well as the basic plotting scripts employed to generate the images in the paper. Moreover, we provide a link to the rosbags containing our experimental data.
For an explanation of our approach, we refer to our paper:
@article{belli2025,
title={A Shared Control Approach to Safely Limiting Patient Motion Based on Tendon Strain During Robotic-Assisted Shoulder Rehabilitation},
author={Belli, Italo and Hu Yuxuan, and Prendergast, J Micah and Abbink David and Seth, Ajay and Peternel, Luka},
journal=ICORR,
year={2025}
}
If you find our work useful, ⭐ and citations are appreciated!
Funding Institutions | |
![]() Biomechanical Engineering and Cognitive Robotics at TU Delft |
![]() Chan Zuckerberg Initiative |
Our code depends on:
- the Robot Operating System (ROS1)
- the impedance controller implemented at https://gitlab.tudelft.nl/kuka-iiwa-7-cor-lab/iiwa_ros/
- several other (python) packages, documented in the
requirements.txt
- (we also depend indirectly from the OpenSim project and OpenSimAD, which we use to generate our differentiable models of the human shoulder joint)
The code is structured as a ROS package to simplify its execution. The most important scripts are:
biomech_safety_net.py
, implementing the bulk of the work (estimating the most suitable robotic intervention to guarantee low-strain rehabilitation exercises for the shoulder complex, on the basis of trajectory optimization);robot_control.py
, which takes care of initializing the communication with the robot, sending it to the initial position and estimating the current human pose;plot_results.py
, which can be run to analyze one of the rosbags we provide below (some parameters need to be adjusted, such as the interval of interest for the analysis).
The launch
folder contains the launch files and a readme on how to use them.
To enable others to run our code more easily, we provide also a dockerized version of it at biomechanical_safe_deflection_docker. Check it out!
The experimental data to reproduce our figures is available at the following DOI: 10.4121/2016260b-d4bb-4b4e-94d5-e2e177913e11
If you would like to contribute to this project or have troubles getting things to work, just reach out or open an issue!