Inverse Dynamics
OpenSim Workshop Key Concepts
• Kinematics: coordinates and their velocities and accelerations • Kinetics: forces and torques • Dynamics: equations of motion
OpenSim Workshop Kinematics: Coordinates and their Velocities and Accelerations
• Coordinate – Joint angle or distance specifying relative orientation or location of two body segments • Coordinate velocity – Derivative (rate of change) of a coordinate with respect to time • Coordinate acceleration – Time derivative of a coordinate velocity with respect to time • Kinematics – Set of all coordinates and their velocities and accelerations
OpenSim Workshop Kinetics: Forces and Torques
• Kinetics – Forces and torques cause the model to accelerate • Force – Applied to points (e.g., ground reactions) or between points (e.g., muscles) • Torque – Applied to a coordinate (e.g., joint torque)
OpenSim Workshop Dynamics: Equations of Motion
τ = M(q)qɺɺ−C(q,qɺ) −G(q) − F unknowns knowns
OpenSim Workshop Exercise
1. For the model shown on the right, what is the value ( θ) of the knee coordinate ( Note: extension is +)?
A. 23.6 ° 23.6 ° B. -54.9 ° 125.1 ° C. 31.3 ° 31.3 ° D. -125.1 ° θ
OpenSim Workshop Exercise
2. Given that the model shown on the right is at rest , what is the velocity of the knee?
A. 23.6 °/s 23.6 ° B. -54.9 °/s C. 3.89 °/s 31.3 ° D. 0 °/s θ
OpenSim Workshop Exercise
3. For the model poses shown below at rest and with gravity ( g) as the only force acting on the model, which pose requires the largest torque at the knee joint ?
g
d dA dB C
w w w A. B. C.
OpenSim Workshop The Inverse Problem
Forces Moments Accelerations Velocities. Angles Musculoskeletal Multi-Joint d d Position Geometry Dynamics dt dt Data The inverse problem Force Data
Going from subject motion to joint kinematics [Inverse Kinematics]
5000 ′′(tx ) 0 Dealing with noisy data -5000 0 1 2 t
OpenSim Workshop The Inverse Problem
ɺym ɺ m, I x, xɺ, ɺxɺ ΣF = mɺxɺ Iθɺɺ x ɺxm ɺ Going from joint r kinematics to joint , ɺ, ɺɺ mg y y y ΣFy = mɺyɺ Fy moments T θ θ, θɺ, θɺɺ ΣT = Iθɺɺ [Inverse Dynamics] Fx
Major extensors Solving the muscle Major flexors g Gastrocnemius force distribution Tibialis anterior ta s Soleus Extensor digitorum ed tp Tibialis posterior problem
M a Net ankle moment [Static Optimization]
OpenSim Workshop The Inverse Problem
Forces Moments Accelerations Velocities. Angles Musculoskeletal Multibody d d Position Geometry Dynamics dt dt Data
Force Data
OpenSim Workshop The Inverse Problem
Forces Moments Accelerations Velocities. Angles Musculoskeletal Multibody d d Position Geometry Dynamics dt dt Data
Force Data
3 Forces Fz 3 Moments Mz F Mx F y My x
OpenSim Workshop The Inverse Problem
Forces Moments Accelerations Velocities. Angles Musculoskeletal Multibody d d Position Geometry Dynamics dt dt Data
Force Data
Video Cameras Reflective Markers
OpenSim Workshop The Inverse Problem
Forces Moments Accelerations Velocities. Angles Musculoskeletal Multibody d d Position Geometry Dynamics dt dt Data
Force Data Inverse Kinematics • Identify research question for the inverse problem • Determine what should be measured and modeled • Compute joint kinematics • Filter and differentiate joint kinematics data
OpenSim Workshop Example Research Questions
Taddei et al., Clin Biomech 2012
OpenSim Workshop Computing Joint Kinematics
OpenSim Workshop Differentiation Amplifies High-Frequency Noise 1 Hz signal 10 Hz noise
30
x(t)= 20 sin (2π t)+ sin (20 π t)
x 0 SNR = 20 -30 0 1 2 t 200 x′(t)= 40 π cos (2π t)+ 20 π cos (20 π t) x′(t) 0 SNR = 2 -200 0 1 2 t 5000 2 2 x ′′(t)= −80 π sin (2π t)− 400 π sin (20 π t) x′′(t) 0 SNR = 2.0 -5000 0 1 2 t OpenSim Workshop The Inverse Problem
Forces Moments Accelerations Velocities. Angles Musculoskeletal Multibody d d Position Geometry Dynamics dt dt Data
Force Data Inverse V• Identified research question Kinematics for the inverse problem V• Determined what should be measured and modeled V• Computed joint kinematics V• Filtered and differentiated joint kinematics data
OpenSim Workshop The Inverse Problem
Forces Moments Accelerations Velocities. Angles Musculoskeletal Multibody d d Position Geometry Dynamics dt dt Data
Force Data Inverse Inverse Dynamics Kinematics
ɺym ɺ m, I x, xɺ, ɺxɺ ΣF = mɺxɺ Iθɺɺ x ɺxm ɺ • Derive equations of motion r defining the model , ɺ, ɺɺ mg y y y ΣFy = mɺyɺ Fy • Solve equations of motion for joint moments T θ θ, θɺ, θɺɺ ΣT = Iθɺɺ Fx
OpenSim Workshop A Possible Inverse Dynamics Question Experimental set-up What are the sagittal plane moments about the ankle, knee, and hip during a maximum height jump?
OpenSim Workshop Inverse Dynamics Input: The Experimental Results
Experiments provide
• joint angles • angular velocities • ground reaction forces
OpenSim Workshop Inverse Dynamics Equations: Multibody Dynamics
• Planar 3 degrees of freedom • Position (orientation) in global coordinate system • Segment length = l i m , I 3 3 r3 • Distance to mass center = ri • Moments of inertia about θ3 mass center l2 r 2 m2 , I 2
θ2 y
m1, I1
θ1 l1 r1 x z OpenSim Workshop Inverse Dynamics Equations: Multibody Dynamics
Solved algebraically from the ground up
x, xɺ, ɺxɺ ΣFx = mɺxɺ
y, yɺ, ɺyɺ ΣFy = mɺyɺ
θ, θɺ, θɺɺ ΣT = Iθɺɺ
Joint Moments that generate the motion Inverse Dynamics Output: Net Joint Moments
240 -m) 200 knee 160
120 ankle
80
Joint Moments Joint(N Moments hip 40
0 20 40 60 80 100 Percent Jump
OpenSim Workshop The Inverse Problem
Forces Moments Accelerations Velocities. Angles Musculoskeletal Multibody d d Position Geometry Dynamics dt dt Data
Force Data Inverse Inverse Dynamics Kinematics
V• Derived equations of motion defining the model V• Solved equations of motion for joint moments
OpenSim Workshop Inverse Dynamics
TIPS & TRICKS Filter your raw coordinate data Make sure GRFs were applied correctly and check residuals on the body connected to ground Compare to previous literature data (if available)