You are on page 1of 13

EN.535.

426 Kinematics and Dynamics of Robots


Module 3: Review of Linear Algebra

Dr. Mehran Armand

Module 3C: Rotations


Rigid Body Motion
• Goal
• To Develop representation for rotations among rigid bodies
forming an open chain
Rigid Body Motion
• Frame 𝑂𝑥0 𝑦0𝑧0 is fixed in space

• Frame 𝑂𝑥1 𝑦1𝑧1 is rotating with the rigid


body “𝑆”

• In other words “𝑆” is a rigid body in


which a frame 𝑂𝑥1𝑦1 𝑧1 is attached to it

• We want to relate the coordinates of


point “𝑃” in the rigid body “𝑆” and frame
𝑂𝑥1𝑦1 𝑧1 to the coordinates of “𝑃” in fixed
frame 𝑂𝑥0𝑦0 𝑧0
• 𝑖0 , 𝑗0 , 𝑘0 : Orthonormal basis in fr𝑎𝑚𝑒 𝑂𝑥0 𝑦0 𝑧0

• 𝑖1 , 𝑗1 , 𝑘1 : Orthonormal basis in fr𝑎𝑚𝑒 𝑂𝑥1 𝑦1 𝑧1

• Orthonormal : Orthogonal with length of “1”


• With respect to 𝑂𝑥0 𝑦0𝑧0
• 𝑃0 = 𝑃0𝑥 𝑖0 + 𝑃0𝑦 𝑗0 + 𝑃0𝑧 𝑘0
𝑃0𝑧

• With respect to 𝑂𝑥1 𝑦1𝑧1 𝑃0𝑥


• 𝑃1 = 𝑃1𝑥 𝑖1 + 𝑃1𝑦 𝑗1 + 𝑃1𝑧 𝑘1 𝑃0𝑦

• 𝑃0 and 𝑃1 are representations of the same vector 𝑃


in two different frames
• 𝑃0𝑥 = 𝑃0 . 𝑖0 = 𝑃0 . 𝑖0 . cos θ

With respect to 𝑂𝑥1 𝑦1 𝑧1


• 𝑃0𝑥 = 𝑃1 . 𝑖0 = 𝑃1 . 𝑖0 . cos θ

𝑃0𝑥 = 𝑃0 . 𝑖0 = 𝑃1 . 𝑖0
𝑃0𝑥 = (𝑃1𝑥 . 𝑖1 + 𝑃1𝑦 . 𝑗1 + 𝑃1𝑧 . 𝑘1 ) . 𝑖0

𝑃0𝑦 = (𝑃1𝑥 . 𝑖1 + 𝑃1𝑦 . 𝑗1 + 𝑃1𝑧 . 𝑘1 ) . 𝑗0

𝑃0𝑧 = (𝑃1𝑥 . 𝑖1 + 𝑃1𝑦 . 𝑗1 + 𝑃1𝑧 . 𝑘1 ) . 𝑘0


𝑃0𝑥 = (𝑃1𝑥 . 𝑖1 + 𝑃1𝑦 . 𝑗1 + 𝑃1𝑧 . 𝑘1 ) . 𝑖0

𝑃0𝑦 = (𝑃1𝑥 . 𝑖1 + 𝑃1𝑦 . 𝑗1 + 𝑃1𝑧 . 𝑘1 ) . 𝑗0

𝑃0𝑧 = (𝑃1𝑥 . 𝑖1 + 𝑃1𝑦 . 𝑗1 + 𝑃1𝑧 . 𝑘1 ) . 𝑘0

𝑃0𝑥 𝑖1 . 𝑖0 𝑗1 . 𝑖0 𝑘1 . 𝑖0 𝑃1𝑥
𝑃0𝑦 = 𝑖1 . 𝑗0 𝑗1 . 𝑗0 𝑘1 . 𝑗0 𝑃1𝑦
𝑃0𝑧 𝑖1 . 𝑘0 𝑗1 . 𝑘0 𝑘1 . 𝑘0 𝑃1𝑧

𝑃0 = 𝑅10 𝑃1

𝑅10 𝜖 𝑆𝑂 3 Special Orthogonal group


e.g. Suppose rigid body “𝑆” is rotated 90° about 𝑍0 axis. Find 𝑅10

𝑖1 . 𝑖0 𝑗1 . 𝑖0 𝑘1 . 𝑖0
𝑅10 = 𝑖1 . 𝑗0 𝑗1 . 𝑗0 𝑘1 . 𝑗0
𝑖1 . 𝑘0 𝑗1 . 𝑘0 𝑘1 . 𝑘0

0 −1 0
𝑅10 = 1 0 0
0 0 1
𝑃0𝑥 = 𝑃0 . 𝑖0 = 𝑃1 . 𝑖0

We can also write:


𝑃1𝑧
𝑃1𝑥 = 𝑃1 . 𝑖1
𝑃1𝑥
𝑃1𝑥 = 𝑃0 . 𝑖1
𝑃1𝑦
Expand:

𝑃1𝑥 = (𝑃0𝑥 . 𝑖0 + 𝑃0𝑦 . 𝑗0 + 𝑃0𝑧 . 𝑘0 ) . 𝑖1

𝑃1𝑦 = (𝑃0𝑥 . 𝑖0 + 𝑃0𝑦 . 𝑗0 + 𝑃0𝑧 . 𝑘0 ). 𝑗1

𝑃1𝑧 = (𝑃0𝑥 . 𝑖0 + 𝑃0𝑦 . 𝑗0 + 𝑃0𝑧 . 𝑘0 ). 𝑘1


In Matrix form:

𝑃1𝑥 𝑖0 . 𝑖1 𝑗0 . 𝑖1 𝑘0 . 𝑖1 𝑃0𝑥
𝑃1𝑦 = 𝑖0 . 𝑗1 𝑗0 . 𝑗1 𝑘0 . 𝑗1 𝑃0𝑦
𝑃1𝑧 𝑖0 . 𝑘1 𝑗0 . 𝑘1 𝑘0 . 𝑘1 𝑃0𝑧

𝑃1 = 𝑅01 𝑃0 (1)

𝑃0 = 𝑅10 𝑃1

(𝑅10 )−1 𝑃0 = (𝑅10 )−1 𝑅10 𝑃1 = 𝑃1 (2)

Comparing (1) and (2): 𝑅01 = (𝑅10 )−1 = (𝑅10 )𝑇


Properties of R

Orthogonality : 𝑅−1 = 𝑅𝑇

𝑅01 = (𝑅10 )−1 = (𝑅10 )𝑇

det 𝑅 = +1 for R.H.S

e.g. 𝑂𝑥1𝑦1 𝑧1 has rotated 𝜃 degrees about 𝑍0 of 𝑂𝑥0𝑦0𝑧0 .


Find 𝑅10 or 𝑅𝑧,𝜃

𝑖0 . 𝑖1 𝑖0 . 𝑗1 𝑖0 . 𝑘1
𝑅𝑧,𝜃 = 𝑅10 = 𝑗0 . 𝑖1 𝑗0 . 𝑗1 𝑗0 . 𝑘1
𝑘0 . 𝑖1 𝑘0 . 𝑗1 𝑘0 . 𝑘1
Properties of R

𝑖0 . 𝑖1 𝑖0 . 𝑗1 𝑖0 . 𝑘1
𝑅𝑧,𝜃 = 𝑅10 = 𝑗0 . 𝑖1 𝑗0 . 𝑗1 𝑗0 . 𝑘1
𝑘0 . 𝑖1 𝑘0 . 𝑗1 𝑘0 . 𝑘1
𝑖0 . 𝑖1 = cos(𝜃)
𝜋
𝑗0 . 𝑖1 = cos 𝜃 + = − sin 𝜃
2
𝑖0 . 𝑘1 = 𝑗0 . 𝑘1 = 𝑘0 . 𝑖1 = 𝑘0 . 𝑗1 = 0
𝑗0 . 𝑗1 = cos(𝜃)
𝜋
𝑖1 . 𝑗1 = cos − 𝜃 = 𝑐𝑜𝑠 𝜃
2
𝑘0 . 𝑘1 = cos 0 = 1

cos(𝜃) − sin 𝜃 0
𝑅10 = sin 𝜃 cos(𝜃) 0 = 𝑅𝑧,𝜃
0 0 1
𝐶𝜃 −𝑆𝜃 0
𝑅𝑧,𝜃 = 𝑆𝜃 𝐶𝜃 0
0 0 1

𝐶𝜃 𝑆𝜃 0
𝑇
𝑅𝑧,−𝜃 = −𝑆𝜃 𝐶𝜃 0 = 𝑅𝑧,𝜃
0 0 1

Basic Rotations:

1 0 0 𝐶𝜃 0 𝑆𝜃
𝑅𝑥,𝜃 = 0 𝐶𝜃 −𝑆𝜃 𝑅𝑦,𝜃 = 0 1 0
0 𝑆𝜃 𝐶𝜃 −𝑆𝜃 0 𝐶𝜃

You might also like