2877 - Musculoskeletal Modeling of the Scapulohumeral Rhythm for Optimal Control Simulations
The human shoulder is one of the most complex joints in the body, providing a wide range of motion but also being prone to injuries. A key component of shoulder biomechanics is the scapulohumeral rhythm, the coordinated motion between the scapula and the humerus. Accurately modeling this rhythm is crucial for understanding human movement, designing rehabilitation strategies, and developing advanced human-robot interaction. However, no satisfying solution exists yet to model the shoulder in multi-body model.
This internship is multidisciplinary and between robotics, biomechanics, and numerical optimization, leveraging state-of-the-art software developed at Inria.
**Objectives**: The main goal of this internship is to develop a multi-body musculoskeletal model of the upper limb that accurately reproduces the scapulohumeral rhythm. The project will be structured around the following objectives:
* **Model Development**: Build a musculoskeletal model of the shoulder complex and upper-limbs which includes holonomic constraints to make the scapula glide on the thorax.
* **Implementation in Pinocchio** [1]: The primary task will be to implement this model using the Pinocchio software library. This will involve an exploration of its capabilities for handling holonomic constraints and/or contact dynamics to enforce the scapulohumeral coupling.
* **Optimal Control Simulation**: Once the model is established, you will use the Bioptim software [2] to simulate simple, goal-oriented tasks (e.g., reaching movements) using direct optimal control.
* **Validation**: The simulated scapular trajectories will be compared with experimental data from the literature, notably data from the Spartacus [3] project, to validate the model's accuracy of scapulohumeral rhythm.
## References
[1] Carpentier, J., Saurel, G., Buondonno, G., Mirabel, J., Lamiraux, F., Stasse, O., & Mansard, N. (2019). The Pinocchio C++ library—A fast and flexible implementation of rigid body dynamics algorithms and their analytical derivatives. In IEEE International Symposium on System Integrations (SII). https://github.com/stack-of-tasks/pinocchio
[2] Michaud, B., Bailly, F., Charbonneau, E., Ceglia, A., Sanchez, L., & Begon, M. (2022). Bioptim, a python framework for musculoskeletal optimal control in biomechanics. IEEE Transactions on Systems, Man, and Cybernetics: Systems. IEEE. https://github.com/pyomeca/bioptim
[3] Moissenet, F., Puchaud, P., Naaim, A., Holzer, N., & Begon, M. (2025). Spartacus: A review and aggregation of reference datasets reporting the normal shoulder girdle kinematics during uniplanar humerus motions. Journal of Biomechanics, 112642. https://github.com/Spartacus-shoulder-kinematics-dataset/shoulder-kinematics
## Skills
**Programming**: A strong background in Python is required, C++ is an asset, experience with conda environments too.
**Software**: Experience with the Linux environment and Git and Github. Experience with a pull request on open-source projects or willing to.
**Biomechanics/Robotics**: Good understanding of multi-body dynamics and mechanical modeling. A background in biomechanics is a significant plus.
**Mathematics**: Knowledge of linear algebra. Familiarity with numerical optimization and optimal control concepts is highly desirable.
**Language**: Good oral and written communication skills in English are mandatory. French is a plus
**Autonomy and Motivation**: The candidate should be motivated, proactive, and able to work independently on a challenging research topic.