Development of a novel MATLAB-based framework for implementing mechanical joint stability constraints within OpenSim musculoskeletal models.
The Static Optimization (SO) solver in OpenSim estimates muscle activations and forces that only equilibrate applied moments. In this study, SO was enhanced through an open-access MATLAB interface, where calculated muscle activations can additionally satisfy crucial mechanical stability requirements. This Stability-Constrained SO (SCSO) is applicable to many OpenSim models and can potentially produce more biofidelic results than SO alone, especially when antagonistic muscle co-contraction is required to stabilize body joints. This hypothesis was tested using existing models and experimental data in the literature. Muscle activations were calculated by SO and SCSO for a spine model during two series of static trials (i.e. simulation 1 and 2), and also for a lower limb model (supplementary material 2). In simulation 1, symmetric and asymmetric flexion postures were compared, while in simulation 2, various external load heights were compared, where increases in load height did not change the external lumbar flexion moment, but necessitated higher EMG activations. During the tasks in simulation 1, the predicted muscle activations by SCSO demonstrated less average deviation from the EMG data (6.8% -7.5%) compared to those from SO (10.2%). In simulation 2, SO predicts constant muscle activations and forces, while SCSO predicts increases in the average activations of back and abdominal muscles that better match experimental data. Although the SCSO results are sensitive to some parameters (e.g. musculotendon stiffness), when considering the strategy of the central nervous system in distributing muscle forces and in activating antagonistic muscles, the assigned activations by SCSO are more biofidelic than SO.