Internship Subject
PDF Version

2896 - Population-Based Musculoskeletal Modelling Interface

Context

Designing workstations, collaborative robots or exoskeletons must account for morphological variability to remain efficient and safe. Numerical simulation is a powerful complement to experimental studies—provided that virtual human models are both realistic and directly usable in simulators. The main technical hurdle is converting a 3D surface mesh, generated by statistical shape modelling tools into an articulated dynamic model with consistent inertial parameters, and muscle actuators.

This internship will focus on developing an open-source pipeline that bridges this gap, enabling the generation of an entire population of dynamic human models. The final goal is to assess a manual-handling tasks using ergonomic indicators such RULA / NIOSH.

Objectives

Pipeline for Dynamic Model Generation
a. Anthropometry from SMPL-X – Use the statistical body model SMPL-X (library smplx) plus the SMPL-Anthropometry toolkit to sample realistic anthropometric measurements (e.g. segment lengths, overall stature, body mass).

b. URDF/Musculoskeltal generation – Feed those measurements to a scaling tool to get a musculoskeletal model with muscles (Biobuddy). For each individual, a fully articulated model with estimated inertial properties, visual meshes and muscles shoud be generated. The interface should be as generic as possible.

Integration & Motion Synthesis
• Import the model into Pinocchio (for rigid-body dynamics) or Biorbd (for muscle extensions).
• Formulate an optimal-control problem with Bioptim to simulate a lifting task (e.g. lift 15 kg from floor to 0.8 m) for a population (1m60 - 1m80, 60-100 kg).

Timeline

| Month | Milestones & Deliverables |
|      1    | • Familiarise with SMPL-X & develop the interface • Python scripts: (i) sample anthropometry; (ii) Generate model; (iii) develop a robust re-usable software interface • Short literature review on population modelling & ergonomic metrics. 
|      2    | • Validate full chain (SMPL-X → Pinocchio/biorbd → Bioptim) • First optimal-control simulation on one full-body model. • Produce a short demo video. 
|      3    |  • Generate 20–50 avatars; batch simulations. Implement RULA/NIOSH scorer; statistical analysis. • Final report, clean public Git repo & roadmap for future work. 

References

Pavlakos, G., Choutas, V., Ghorbani, N., Bolkart, T., Osman, A. A. A., Tzionas, D., & Black, M. J. (2019). Expressive body capture: 3-D hands, face and body from a single image. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 10975-10985).

Bojanić, D. (2024). SMPL-Anthropometry. https://github.com/DavidBoja/SMPL-Anthropometry

Carpentier, J., Saurel, G., Buondonno, G., Mirabel, J., Lamiraux, F., Stasse, O., & Mansard, N. (2019, January). The Pinocchio C++ library: A fast and flexible implementation of rigid-body dynamics algorithms and their analytical derivatives. In 2019 IEEE/SICE International Symposium on System Integration (SII) (pp. 614-619). IEEE.

Michaud, B., & Begon, M. (2021). biorbd: A C++, Python and MATLAB library to analyse and simulate human-body biomechanics. Journal of Open Source Software, 6(57), 2562.

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, 53(1), 321-332.

Andersson, J. A. E., Gillis, J., Horn, G., Rawlings, J. B., & Diehl, M. (2019). CasADi: A software framework for nonlinear optimization and optimal control. Mathematical Programming Computation, 11(1), 1-36.

McAtamney, L., & Corlett, E. N. (1993). RULA: A survey method for the investigation of work-related upper-limb disorders. Applied Ergonomics, 24(2), 91-99.

Waters, T. R., Putz-Anderson, V., Garg, A., & Fine, L. J. (1993). Revised NIOSH equation for the design and evaluation of manual lifting tasks. Ergonomics, 36(7), 749-776.