OpenSim Workshop Inverse Dynamics
Key Concepts
• Kinematics: coordinates and their velocities and accelerations
• Kinetics: forces and torques • Dynamics: equations of motion
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
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)
Dynamics: Equations of Motion
ɺ
ɺ
ɺ
knowns unknownsF
q
G
q
q
C
q
q
M
τ
=
(
)
−
(
,
)
−
(
)
−
Exercise
23.6°
θ
31.3°
1. For the model shown on the right, what is the value (
θ
) of the kneecoordinate (Note: extension is +)? A. 23.6°
B. -54.9° C. 31.3° D. -125.1°
Exercise
23.6°
θ
31.3°
2. Given that the model shown on the right is at rest, what is the
velocity of the knee?
A. 23.6°/s B. -54.9°/s C. 3.89°/s D. 0°/s
C. B. Exercise A. w w w
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 ?
dA dB dC
The inverse problem
Position Data Moments Accelerations Velocities.
Musculoskeletal Geometry Multi-Joint Dynamics Forces d dt d dt Force Data Angles Position Data Moments Accelerations Velocities.
Musculoskeletal Geometry Multi-Joint Dynamics Forces d dt d dt Force Data Angles
Going from subject motion to joint
kinematics
[Inverse Kinematics]
Dealing with noisy data
t 0 1 2 -5000 0 5000 ( )t x ′′ t 0 1 2 -5000 0 5000 ( )t x ′′
Major flexors a M Tibialis posterior Soleus Gastrocnemius Major extensors Extensor digitorum Tibialis anterior
Net ankle moment
tp g s ed ta θ r I m, y m ɺɺ x m ɺɺ mg θɺɺ I Fx Fy T
Going from joint kinematics to joint moments
[Inverse Dynamics] Solving the muscle force distribution problem [Static Optimization] x m Fx = ɺɺ Σ θɺɺ I T = Σ x x x, ,ɺ ɺɺ y y y, ,ɺ ɺɺ θ θ θ, ,ɺ ɺɺ y m Fy = ɺɺ Σ
The Inverse Problem
Position Data
Moments Accelerations Velocities.
Musculoskeletal Geometry Multibody Dynamics Forces d dt d dt Force Data Angles
The Inverse Problem
Position Data
Moments Accelerations Velocities.
Musculoskeletal Geometry Multibody Dynamics Forces d dt d dt Force Data Angles Fx Fy Fz Mx My Mz 3 Forces 3 Moments
The Inverse Problem
Position Data
Moments Accelerations Velocities.
Musculoskeletal Geometry Multibody Dynamics Forces d dt d dt Force Data Angles Video Cameras Reflective Markers
The Inverse Problem
• Identify research question for the inverse problem • Determine what should be
measured and modeled • Compute joint kinematics • Filter and differentiate joint
kinematics data Position
Data
Moments Accelerations Velocities.
Musculoskeletal Geometry Multibody Dynamics Forces d dt d dt Force Data Angles Inverse Kinematics
Example Research Questions
( )t ( t) ( t) x′ = 40π cos 2π +20π cos 20π t 0 1 2 -200 0 200 ( )t x′ ( )t ( t) ( t) x = 20sin 2π +sin 20π t 0 1 2 -30 0 30 x
Differentiation Amplifies High-Frequency Noise 1 Hz signal ( )t ( t) ( t) x′′ = −80π2 sin 2π −400π2 sin 20π t 0 1 2 -5000 0 5000 ( )t x ′′ 10 Hz noise 20 = SNR 2 = SNR 2 . 0 = SNR
The Inverse Problem
Position Data
Moments Accelerations Velocities.
Musculoskeletal Geometry Multibody Dynamics Forces d dt d dt Force Data Angles Inverse Kinematics
• Identified research question for the inverse problem
• Determined what should be measured and modeled
• Computed joint kinematics
• Filtered and differentiated joint kinematics data
The Inverse Problem
Position Data
Moments Accelerations Velocities.
Musculoskeletal Geometry Multibody Dynamics Forces d dt d dt Force Data Angles Inverse Dynamics Inverse Kinematics
• Derive equations of motion defining the model
• Solve equations of motion for joint moments
θ r I m, y m ɺɺ x m ɺɺ mg θɺɺ I Fx Fy T x m Fx = ɺɺ Σ θɺɺ I T = Σ x x x, ,ɺ ɺɺ y y y, ,ɺ ɺɺ θ θ θ, ,ɺ ɺɺ y m Fy = ɺɺ Σ
A Possible Inverse Dynamics Question
What are the sagittal plane moments about the ankle, knee, and hip during a maximum height jump?
Inverse Dynamics Input: The Experimental Results
Experiments provide • joint angles
• angular velocities
Inverse Dynamics Equations: Multibody Dynamics
• Planar 3 degrees of freedom • Position (orientation) in
global coordinate system
• Segment length = li
• Distance to mass center = ri
• Moments of inertia about mass center 1
θ
2θ
3θ
3 r 2 r 2 l 1 r 1 l x y 3 3, I m 2 2, I m 1 1, I mInverse Dynamics Equations: Multibody Dynamics
Solved algebraically from the ground up
x m Fx = ɺɺ Σ θɺɺ I T = Σ x x x, ,ɺ ɺɺ y y y, ,ɺ ɺɺ θ θ θ, ,ɺ ɺɺ y m Fy = ɺɺ Σ
Joint Moments that generate the motion
Inverse Dynamics Output: Net Joint Moments 40 0 20 40 60 80 100 80 120 160 200 240 Percent Jump J o in t M o m e n ts ( N -m ) knee ankle hip
The Inverse Problem
Position Data
Moments Accelerations Velocities.
Musculoskeletal Geometry Multibody Dynamics Forces d dt d dt Force Data Angles Inverse Dynamics Inverse Kinematics
• Derived equations of motion defining the model
Inverse Dynamics
TIPS & TRICKS
Filter your raw coordinate data
Make sure GRFs were applied correctly and check residuals on the body connected to ground