Understanding coupler coordinate constraints in the OpenSim neck model
Posted: Sun Apr 14, 2019 2:55 pm
I am working with the OpenSim neck model through the Matlab API. The neck model has 24 mobilities (8 joints, each with 3 rotational DOF). There are 18 coordinate coupler constraints, leaving 6 generalized coordinates (lower c-spine pitch2, roll2, yaw2; upper c-spine pitch1, roll1, yaw1).
I am trying to understand the effect of the coordinate coupler constraints on my calculation of the wrench forces at the head. Imagine that the skull is rigidly attached to a load cell so that it is a static problem. The generalized joint torques required to apply the wrench at the head can be calculated using the transpose of the Jacobian (torques = J^T * wrench). These joint torques are created by the muscle moment arms multiplied by muscle forces (torques = R * Fa * a). I get the Jacobian, moment arm matrix, and muscle force multipliers from OpenSim through the Matlab API and do my computations in Matlab.
When I inspect the moment arm matrix, I notice that muscles that cross only 2 joints of the lower cervical spine have moment arms about all the mobilizers that are coupled to those joints, including joints that the muscle does not cross. I found this paper by Sherman et al https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4404026 , (I know you are on this forum!) that explains how coupler constraints are used in moment arm calculations. What I am having a harder time wrapping my head around is how this will impact my wrench calculations.
I am interested in the relative contributions of the deep, segmental(-ish) muscles (such as m1 and m2) compared to the superficial, multi-segmental muscles (like m5) and how weakness of a particular muscle group might affect the feasible torque space and muscle activation patterns. I want the model to be as simple as possible without losing the redundancy gives these muscle groups different functions.
To make my question easier to understand, I drew a simplified model below that considers only the sagittal plane. Each of the five lower cervical joints (T1-C7, C6-7, C5-6, C3-4, and C2-3) are kinematically constrained as functions of the generalized coordinate pitch2 (q2) and the upper cervical joints (C1-C2 and Skull-C1) are kinematically constrained as functions of the generalized coordinate pitch1 (q1).
Figure 1. Neck model in sagittal plane with coupler coordinate constraints Consider the muscles (m1, m2, m3, m4, and m5) from Figure 1. The muscle m1 crosses only the C6-7 and C5-6 joints, but due to the coordinate coupler constraints, the moment arm matrix applies an apparent moment arm about the T1-C7, C4-5, C3-4, and C2-3 joints. Am I correct that m1, m2, and m3 could essentially be grouped into an equivalent muscle m1 in Figure 2, where I have simplified down to just 2 joints? Does the coupling artificially inflate the 'strength' of m1 in Figure 1 (in terms of its affect on the wrench at the head)?
Figure 2. Simplified to 2 joints without coupling While the constraints help me place the model in a kinematically realistic pose, I wonder if it makes the interpretation more difficult for a static wrench calculation.
Thank you for any advice.
Rab
I am trying to understand the effect of the coordinate coupler constraints on my calculation of the wrench forces at the head. Imagine that the skull is rigidly attached to a load cell so that it is a static problem. The generalized joint torques required to apply the wrench at the head can be calculated using the transpose of the Jacobian (torques = J^T * wrench). These joint torques are created by the muscle moment arms multiplied by muscle forces (torques = R * Fa * a). I get the Jacobian, moment arm matrix, and muscle force multipliers from OpenSim through the Matlab API and do my computations in Matlab.
When I inspect the moment arm matrix, I notice that muscles that cross only 2 joints of the lower cervical spine have moment arms about all the mobilizers that are coupled to those joints, including joints that the muscle does not cross. I found this paper by Sherman et al https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4404026 , (I know you are on this forum!) that explains how coupler constraints are used in moment arm calculations. What I am having a harder time wrapping my head around is how this will impact my wrench calculations.
I am interested in the relative contributions of the deep, segmental(-ish) muscles (such as m1 and m2) compared to the superficial, multi-segmental muscles (like m5) and how weakness of a particular muscle group might affect the feasible torque space and muscle activation patterns. I want the model to be as simple as possible without losing the redundancy gives these muscle groups different functions.
To make my question easier to understand, I drew a simplified model below that considers only the sagittal plane. Each of the five lower cervical joints (T1-C7, C6-7, C5-6, C3-4, and C2-3) are kinematically constrained as functions of the generalized coordinate pitch2 (q2) and the upper cervical joints (C1-C2 and Skull-C1) are kinematically constrained as functions of the generalized coordinate pitch1 (q1).
Figure 1. Neck model in sagittal plane with coupler coordinate constraints Consider the muscles (m1, m2, m3, m4, and m5) from Figure 1. The muscle m1 crosses only the C6-7 and C5-6 joints, but due to the coordinate coupler constraints, the moment arm matrix applies an apparent moment arm about the T1-C7, C4-5, C3-4, and C2-3 joints. Am I correct that m1, m2, and m3 could essentially be grouped into an equivalent muscle m1 in Figure 2, where I have simplified down to just 2 joints? Does the coupling artificially inflate the 'strength' of m1 in Figure 1 (in terms of its affect on the wrench at the head)?
Figure 2. Simplified to 2 joints without coupling While the constraints help me place the model in a kinematically realistic pose, I wonder if it makes the interpretation more difficult for a static wrench calculation.
Thank you for any advice.
Rab