• Segmental Angles• Joint Angles: Euler• Joint Angles: Helical• Exporting Data from GaitProject to Visual3d
Tonight’s Lecture
Segmental Angles
X Rotation from Global to Local
𝑅𝑥 = อ1 0 00 cos𝜃𝑥 sin𝜃𝑥0 −sin𝜃𝑥 cos𝜃𝑥อ
X
Y
X’
Y’
P
Z
Z’
X Rotation Local to Global
𝑅𝑥 = อ1 0 00 cos𝜃𝑥 −sin𝜃𝑥0 sin𝜃𝑥 cos𝜃𝑥 อ
X
Y
X’
Y’
P
Z
Z’t
Y Rotation from Global to Local
𝑅𝑦 = อcos𝜃 0 −sin𝜃0 1 0sin𝜃 0 cos𝜃 อ
X
Y
X’
Y’
P
Z
Z’
Y Rotation from Local to Global
𝑅𝑦 = อcos𝜃 0 sin𝜃0 1 0−sin𝜃 0 cos𝜃อ
X
Y
X’
Y’
P
Z
Z’
t
X
Y
X’
Y’
qz
P
ZZ’ 𝑅𝑧 = อ
cos𝜃 sin𝜃 0−sin𝜃 cos𝜃 00 0 1อ
Z Rotation from Global to Local
X
Y
X’
Y’
qz
P
ZZ’ 𝑅𝑧 = อ
cos𝜃 −sin𝜃 0sin𝜃 cos𝜃 00 0 1อ
Z Rotation from Local to Global
t
Y
XZ
Y
XZ
About the x axis
About the y axis
About the z axis
Orientation of Bodies in 3D
The final orientation dependson the rotation sequence
About the x axis
About the y axis
About the y axis
About the x axis
Y
XZ
Rotation Matrices 3D(𝜃𝑥 ,𝜃𝑦 ,𝜃𝑧 ) 𝑅= 𝑅𝑧𝑅𝑦𝑅𝑥
• Rotation’s depend on the order they are applied
𝑅𝑦𝑅𝑥 = ቮcos𝜃𝑦 0 −sin𝜃𝑦0 1 0sin𝜃𝑦 0 cos𝜃𝑦 ቮอ1 0 00 cos𝜃𝑥 sin𝜃𝑥0 −sin𝜃𝑥 cos𝜃𝑥อ
Rotation Matrices 3D
𝑅𝑦𝑅𝑥 = ቮcos𝜃𝑦 sin𝜃𝑦sin𝜃𝑥 −sin𝜃𝑦cos𝜃𝑥0 cos𝜃𝑥 sin𝜃𝑥sin𝜃𝑦 −cos𝜃𝑦sin𝜃𝑥 cos𝜃𝑦cos𝜃𝑥 ቮ
𝑅= 𝑅𝑧𝑅𝑦𝑅𝑥
Rotation Matrices 3D𝑅= 𝑅𝑧𝑅𝑦𝑅𝑥
𝑅𝑧𝑅𝑦𝑅𝑥 = อcos𝜃𝑧 sin𝜃𝑧 0−sin𝜃𝑧 cos𝜃𝑧 00 0 1อቮcos𝜃𝑦 sin𝜃𝑦sin𝜃𝑥 −sin𝜃𝑦cos𝜃𝑥0 cos𝜃𝑥 sin𝜃𝑥sin𝜃𝑦 −cos𝜃𝑦sin𝜃𝑥 cos𝜃𝑦cos𝜃𝑥 ቮ
𝑅𝑧𝑅𝑦𝑅𝑥 = ቮcos𝜃𝑧cos𝜃𝑦 cos𝜃𝑧sin𝜃𝑦sin𝜃𝑥 + sin𝜃𝑧cos𝜃𝑥 −cos𝜃𝑧sin𝜃𝑦cos𝜃𝑥 + sin𝜃𝑧sin𝜃𝑥−sin𝜃𝑧cos𝜃𝑦 −sin𝜃𝑧sin𝜃𝑦sin𝜃𝑥 + cos𝜃𝑧cos𝜃𝑥 sin𝜃𝑧sin𝜃𝑦cos𝜃𝑥 + cos𝜃𝑧sin𝜃𝑥sin𝜃𝑦 −cos𝜃𝑦sin𝜃𝑥 cos𝜃𝑦cos𝜃𝑥 ቮ
𝜃𝑧 = 𝜃𝑥 = 𝑎𝑠𝑖𝑛(− 𝑅32𝑐𝑜𝑠𝜃𝑦)
Euler Angles: Simple Method
R = อ𝑅11 𝑅12 𝑅13𝑅21 𝑅22 𝑅23𝑅31 𝑅32 𝑅33อ
𝜃𝑦 = 𝑎𝑠𝑖𝑛(𝑅31 )
𝑅𝑧𝑅𝑦𝑅𝑥 = ቮcos𝜃𝑧cos𝜃𝑦 cos𝜃𝑧sin𝜃𝑦 sin𝜃𝑥 + sin𝜃𝑧cos𝜃𝑥 −cos𝜃𝑧sin𝜃𝑦cos𝜃𝑥 + sin𝜃𝑧sin𝜃𝑥−sin𝜃𝑧cos𝜃𝑦 −sin𝜃𝑧sin𝜃𝑦sin𝜃𝑥 + cos𝜃𝑧cos𝜃𝑥 sin𝜃𝑧sin𝜃𝑦cos𝜃𝑥 + cos𝜃𝑧sin𝜃𝑥sin𝜃𝑦 −cos𝜃𝑦sin𝜃𝑥 cos𝜃𝑦cos𝜃𝑥 ቮ
𝑎𝑠𝑖𝑛(− 𝑅21𝑐𝑜𝑠𝜃𝑦)
𝜃𝑥 = 𝑎𝑡𝑎𝑛2(−𝑅32,𝑅33 )
𝑎𝑡𝑎𝑛2(𝑅31,ට𝑅112 + 𝑅122 ) 𝜃𝑦 = 𝜃𝑧 = 𝑎𝑡𝑎𝑛2(−𝑅21,𝑅11)
Euler Angles: Robust Method(handles angles from -180 to +180)
R = อ𝑅11 𝑅12 𝑅13𝑅21 𝑅22 𝑅23𝑅31 𝑅32 𝑅33อ
Atan2(x,y) is the arc tangent of x/y in the interval [-pi,+pi] radians
𝑅𝑧𝑅𝑦𝑅𝑥 = ቮcos𝜃𝑧cos𝜃𝑦 cos𝜃𝑧sin𝜃𝑦 sin𝜃𝑥 + sin𝜃𝑧cos𝜃𝑥 −cos𝜃𝑧sin𝜃𝑦cos𝜃𝑥 + sin𝜃𝑧sin𝜃𝑥−sin𝜃𝑧cos𝜃𝑦 −sin𝜃𝑧sin𝜃𝑦sin𝜃𝑥 + cos𝜃𝑧cos𝜃𝑥 sin𝜃𝑧sin𝜃𝑦 cos𝜃𝑥 + cos𝜃𝑧sin𝜃𝑥sin𝜃𝑦 −cos𝜃𝑦sin𝜃𝑥 cos𝜃𝑦cos𝜃𝑥 ቮ
Joint Angles
Relative Motion: Joint Angles
Rthigh
Rshank
Joint Angles
Rthigh
Rshank
Rjoint*Rthigh = Rshank
Rjoint = Rshank*Rthigh’Rjoint
General form:
Rjoint = Rdistal*Rproximal’
𝜃𝑧 = 𝑎𝑠𝑖𝑛(− 𝑅21𝑐𝑜𝑠𝜃𝑦)
Joint Angles
𝜃𝑥 =
R = อ𝑅11 𝑅12 𝑅13𝑅21 𝑅22 𝑅23𝑅31 𝑅32 𝑅33อ
𝜃𝑦 = flexionabduction
Internal/external
𝑎𝑠𝑖𝑛(− 𝑅32𝑐𝑜𝑠𝜃𝑦) 𝑎𝑠𝑖𝑛(𝑅31 )
𝑅𝑗𝑜𝑖𝑛𝑡 = ቮcos𝜃𝑧cos𝜃𝑦 cos𝜃𝑧sin𝜃𝑦sin𝜃𝑥 + sin𝜃𝑧cos𝜃𝑥 −cos𝜃𝑧sin𝜃𝑦cos𝜃𝑥 + sin𝜃𝑧sin𝜃𝑥−sin𝜃𝑧cos𝜃𝑦 −sin𝜃𝑧sin𝜃𝑦sin𝜃𝑥 + cos𝜃𝑧cos𝜃𝑥 sin𝜃𝑧sin𝜃𝑦cos𝜃𝑥 + cos𝜃𝑧sin𝜃𝑥sin𝜃𝑦 −cos𝜃𝑦sin𝜃𝑥 cos𝜃𝑦cos𝜃𝑥 ቮ
Rjoint = Rdistal*Rproximal’
Lower Extremity: Joint Coordinate System
Red – flexion extension (thigh)
Green – ab/adduction (float)
Blue – internal/external (shank)
Joint Angles: Gimbal Lock
𝜃𝑥 =
R = อ𝑅11 𝑅12 𝑅13𝑅21 𝑅22 𝑅23𝑅31 𝑅32 𝑅33อ
𝜃𝑦 = 𝑎𝑠𝑖𝑛(−𝑅31 )
𝜃𝑧 = flexionab/adduction
Internal/external
What happens if the ab/aduction angle approaches 90 degrees?
Rjoint = Rdistal*Rproximal’
𝑎𝑠𝑖𝑛(− 𝑅32𝑐𝑜𝑠𝜃𝑦)
𝑎𝑠𝑖𝑛(− 𝑅21𝑐𝑜𝑠𝜃𝑦)
Joint Angles: Gimbal Lock
Solutions:
• Use alternative Euler Sequence (for example ZYZ is the ISB recommended sequence for the shoulder)
• Helical Angles
Helical Angles*
*From: Kinzel, Hall and Hillberry, J Biomech, 5, 1972
“The displacement of a moving body from position 1 to position 2 can always berepresented as a rotation about, and a translation along, a unique axis locatedSomewhere in the fixed body”.
Y
XZ
Helical Angles*
*From: Kinzel, Hall and Hillberry, J Biomech, 5, 1972
“The displacement of the moving body is completely defined if the locationand inclination of the screw axis, the rotation angle , and the translationmagnitude K are know ”.
Y
XZ
f
Helical Angles*
*From: Kinzel, Hall and Hillberry, J Biomech, 5, 1972
“The displacement of the moving body is completely defined if the locationand inclination of the screw axis, the rotation angle , and the translationmagnitude K are know ”.
Y
XZ
f
𝑅𝑚𝑜𝑡𝑖𝑜𝑛 = อ𝑟11 𝑟12 𝑟13𝑟21 𝑟22 𝑟23𝑟31 𝑟32 𝑟33อ Rotation:
Exporting Data from GaitProject to Visual3d
Assignment #7
• Compute and Export the Joint Angles for the Ankle, Knee and Hip using theNon-Optimal Method (3 files)
• Compute and Export the Joint Angles for the Ankle, Knee and Hip using theOptimal Method (3 files)
• Import All Exported Joint Angles (6 files) into Visual3d
• Run Visual3d IK
• Create Reports Comparing the joint angles obtained by all three methods