Skip to content

Computing the task and joint stiffness using inverse methods that account for the musculoskeletal redundancy effects.

License

Notifications You must be signed in to change notification settings

mitkof6/musculoskeletal-stiffness

Repository files navigation

Stiffness modulation of redundant musculoskeletal systems

git lfs install

git lfs clone https://github.com/mitkof6/musculoskeletal-redundancy.git

Description

This project contains the source code related to the following publication:

Dimitar Stanev and Konstantinos Moustakas, Stiffness Modulation of Redundant Musculoskeletal Systems, Journal of Biomechanics, vol. 85, pp. 101-107, Mar. 2019, DOI: https://doi.org/10.1016/j.jbiomech.2019.01.017

This work presents a framework for computing the limbs' stiffness using inverse methods that account for the musculoskeletal redundancy effects. The musculoskeletal task, joint and muscle stiffness are regulated by the central nervous system towards improving stability and interaction with the environment during movement. Many pathological conditions, such as Parkinson's disease, result in increased rigidity due to elevated muscle tone in antagonist muscle pairs, therefore the stiffness is an important quantity that can provide valuable information during the analysis phase. Musculoskeletal redundancy poses significant challenges in obtaining accurate stiffness results without introducing critical modeling assumptions. Currently, model-based estimation of stiffness relies on some objective criterion to deal with muscle redundancy, which, however, cannot be assumed to hold in every context. To alleviate this source of error, our approach explores the entire space of possible solutions that satisfy the action and the physiological muscle constraints. Using the notion of null space, the proposed framework rigorously accounts for the effect of muscle redundancy in the computation of the feasible stiffness characteristics. To confirm this, comprehensive case studies on hand movement and gait are provided, where the feasible endpoint and joint stiffness is evaluated. Notably, this process enables the estimation of stiffness distribution over the range of motion and aids in further investigation of factors affecting the capacity of the system to modulate its stiffness. Such knowledge can significantly improve modeling by providing a holistic overview of dynamic quantities related to the human musculoskeletal system, despite its inherent redundancy.

Repository Overview

  • arm_model: simulation of simple arm model and feasible task stiffness
  • feasible_joint_stiffness: calculation of the feasible joint stiffness loads, by accounting for musculoskeletal redundancy effects
  • docker: a self contained docker setup file, which installs all dependencies related to the developed algorithms

Demos

The user can navigate into the corresponding folders and inspect the source code. The following case studies are provided in the form of interactive Jupyter notebooks:

  • Arm Model presents a case study using muscle space projection to study the response of segmental level reflexes
  • Feasible Muscle Forces uses task space projection to simulate a simple hand movement, where the feasible muscle forces that satisfy this task are calculated and analyzed

  • Feasible Task Stiffness calculates the feasible task stiffness of the simple arm model for an arbitrary movement

  • Feasible Joint Stiffness calculates the feasible joint stiffness of an OpenSim model during walking

The .html files corresponding to the .ipynb notebooks included in the folders contain the pre-executed results of the demos.

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

About

Computing the task and joint stiffness using inverse methods that account for the musculoskeletal redundancy effects.

Resources

License

Stars

Watchers

Forks

Packages

No packages published