You are on page 1of 36

FACULTY OF ELECTRICAL ENGINEERING & TECHNOLOGY

UNIVERSITI MALAYSIA PERLIS

EMJ37303 ROBOTIC SYSTEMS

KINEMATICS (PART I)
“SPATIAL DESCRIPTIONS AND TRANSFORMATIONS”
Introduction

EMJ37303 ROBOTIC SYSTEMS


Introduction

EMJ37303 ROBOTIC SYSTEMS


EMJ37303 ROBOTIC SYSTEMS
Kinematics Problem

(𝑥, 𝑦, 𝑧)

• How to make sure the robot can


follows required trajectory path?
• What are the angles needed to
be set to obtain the required
position?
4
EMJ37303 ROBOTIC SYSTEMS
Reference Frames

𝚺𝐞
• Σ𝑤 : World reference frame
• Σ𝑒 : End-effector reference frame
• Σ𝑐 : Cylinder reference frame
• Σ𝑏 : Box reference frame
𝚺𝐛
𝚺𝐰
𝚺𝐜

All joints and object can be described by the position and orientation
with the aid of reference frames.

5
EMJ37303 ROBOTIC SYSTEMS
Coordinate Systems

Left Handed Right Handed

𝑧
𝑧

𝑦
𝑥
𝑥
𝑦
6
EMJ37303 ROBOTIC SYSTEMS
Robot Kinematics

Forward Kinematics
VS
Inverse Kinematics

What the differences between both approaches?

How to solve both?

Which one should be used?

7
EMJ37303 ROBOTIC SYSTEMS
Forward Kinematics VS Inverse Kinematics

(𝒙, 𝒚)
Forward Kinematics:
𝜽2 To determine the end-effector
position based on joint’s angle

(𝜽1 , 𝜽2 ) (𝒙, 𝒚)
𝒀 Forward
Kinematics

𝜽1
Inverse Kinematics:
𝑿 To determine the joint’s angle
based on end-effector position

(𝒙, 𝒚) (𝜽1 , 𝜽2 )
Inverse
Kinematics
8
EMJ37303 ROBOTIC SYSTEMS
Vector Calculus

• Vector representation

• Transpose

• Magnitude

9
EMJ37303 ROBOTIC SYSTEMS
Locating Object

How to locate an object?


𝑧 • Position
P 𝑎𝑥
𝑃 = 𝑏𝑦 = 𝑎𝑥 𝑏𝑦 𝑐𝑧 𝑇
𝑐𝑧
𝑎𝑥
𝐴 𝑇
𝐴
𝑷BORG 𝑷BORG = 𝑏𝑦 = 𝑎𝑥 𝑏𝑦 𝑐𝑧
𝑐𝑧
𝑦

10
EMJ37303 ROBOTIC SYSTEMS
Locating Object

How to locate an object?


• Position
P
• Orientation
𝒙𝐵 ∙ 𝒙𝐴 𝒚𝐵 ∙ 𝒙𝐴 𝒛𝐵 ∙ 𝒙𝐴
𝐴 𝒙 𝐵 ∙ 𝒚𝐴 𝒚𝐵 ∙ 𝒚𝐴 𝒛𝐵 ∙ 𝒚𝐴
{B} 𝐵𝑅 =
𝐴
𝑷BORG 𝒙𝐵 ∙ 𝒛𝐴 𝒚𝐵 ∙ 𝒛𝐴 𝒛𝐵 ∙ 𝒛𝐴

𝒙𝐴 Dot Product
𝒙𝐵 𝒙𝐴 ∙ 𝒙𝐵 = 𝒙𝐴 𝒙𝑩 cos (𝜃)
𝑍መ𝐵
𝜃 Since the magnitude of unit vector is 1, then
𝒙𝐴 ∙ 𝒙𝐵 = cos (𝜃)

11
EMJ37303 ROBOTIC SYSTEMS
Locating Object (General)

𝐴 𝑇
𝑷BORG = 𝑋𝐵𝑂𝐴 𝑌𝐵𝑂𝐴 𝐶𝐵𝑂𝐴

𝐵 𝑇
𝑷 = 𝑋𝐵 𝑌𝐵 𝑍𝐵
𝒙𝐵 ∙ 𝒙𝐴 𝒚𝐵 ∙ 𝒙𝐴 𝒛𝐵 ∙ 𝒙𝐴
𝐴 𝒙 𝐵 ∙ 𝒚𝐴 𝒚𝐵 ∙ 𝒚𝐴 𝒛𝐵 ∙ 𝒚𝐴
P 𝐵
𝑷 𝐵𝑅 =
𝒙𝐵 ∙ 𝒛𝐴 𝒚𝐵 ∙ 𝒛𝐴 𝒛𝐵 ∙ 𝒛𝐴

𝐴
𝑷
𝐴
𝑷BORG
General Form:
𝐴
𝑷 = 𝐵𝐴𝑅 𝐵𝑷 + 𝐴𝑷BORG

𝑋𝐴 𝒙𝐵 ∙ 𝒙𝐴 𝒚𝐵 ∙ 𝒙𝐴 𝒛𝐵 ∙ 𝒙𝐴 𝑋𝐵 𝑋𝐵𝑂𝐴
𝑌𝐴 = 𝒙𝐵 ∙ 𝒚𝐴 𝒚𝐵 ∙ 𝒚𝐴 𝒛𝐵 ∙ 𝒚𝐴 𝑌𝐵 + 𝑌𝐵𝑂𝐴
𝑍𝐴 𝒙𝐵 ∙ 𝒛𝐴 𝒚𝐵 ∙ 𝒛𝐴 𝒛𝐵 ∙ 𝒛𝐴 𝑍𝐵 𝑍𝐵𝑂𝐴
12
EMJ37303 ROBOTIC SYSTEMS
Locating Object (General)

𝐴
General Form: 𝑷 = 𝐵𝐴𝑅 𝐵𝑷 + 𝐴𝑷BORG
𝐴
Conceptual Form: 𝑷 = 𝐵𝐴𝑇 𝐵𝑷

𝐴 𝐴 𝐴 𝐵
𝑷 = 𝐵𝑅 𝑷BORG 𝑷
1 0 0 0 1 1

𝑋𝐴 𝒙𝐵 ∙ 𝒙𝐴 𝒚𝐵 ∙ 𝒙𝐴 𝒛𝐵 ∙ 𝒙𝐴 𝑋𝐵𝑂𝐴 𝑋𝐵
𝑌𝐴 𝒙 ∙𝒚 𝒚𝐵 ∙ 𝒚𝐴 𝒛𝐵 ∙ 𝒚𝐴 𝑌𝐵𝑂𝐴 𝑌𝐵
= 𝐵 𝐴
𝑍𝐴 𝒙𝐵 ∙ 𝒛𝐴 𝒚𝐵 ∙ 𝒛𝐴 𝒛𝐵 ∙ 𝒛𝐴 𝑍𝐵𝑂𝐴 𝑍𝐵
1 0 0 0 1 1
Homogenous Transformation Matrix
𝐴
𝐵𝑻
Homogeneous Transformation Matrix can describe both orientation and
position by a single square matrix. Why?
• It is much easier to calculate the inverse of square matrices.
• To multiply two matrices, their dimensions must match.
13
EMJ37303 ROBOTIC SYSTEMS
Transformation

• Fixed frame:
Moving Frame
Fixed or reference frame is
referring to a frame that 𝑧𝐵
usually used as global 𝑦𝐵
reference frame. The frame 𝑧𝐴 𝐴
𝑷𝐵𝑂𝑅𝐺
is static and fixed.
𝑥𝐵
• Moving frame 𝑦𝐴
𝑥𝐴
Moving or current frame is
Fixed Frame
referring to the frame that is
currently moving or
operated
14
EMJ37303 ROBOTIC SYSTEMS
Pure Translation and Rotation
Assume that initial position and orientation of frame B is similar to frame A
𝐴
Pure Translation: 𝑃 = 𝐵𝑃 + 𝐴𝑃𝐵𝑂𝑅𝐺 Pure Rotation: 𝐴
𝑃 = 𝐵𝐴𝑅 𝐵𝑃
𝑧𝐴 𝑧𝐴

𝑧𝐵
𝑧𝐵
𝑦𝐵
𝑦𝐴
𝑦𝐴
𝑥𝐴 𝑥𝐴
𝑦𝐵
𝑥𝐵
𝑥𝐵

1 0 0 𝑋𝐵𝑂𝐴 𝒙𝐵 ∙ 𝒙𝐴 𝒚𝐵 ∙ 𝒙𝐴 𝒛𝐵 ∙ 𝒙𝐴 0
𝐴 0 1 0 𝑌𝐵𝑂𝐴 𝐴 𝒙 𝐵 ∙ 𝒚𝐴 𝒚𝐵 ∙ 𝒚𝐴 𝒛𝐵 ∙ 𝒚𝐴 0
𝐵𝑻 = 𝐵𝑻 =
0 0 1 𝑍𝐵𝑂𝐴 𝒙𝐵 ∙ 𝒛𝐴 𝒚𝐵 ∙ 𝒛𝐴 𝒛𝐵 ∙ 𝒛𝐴 0
0 0 0 1 0 0 0 1
15
EMJ37303 ROBOTIC SYSTEMS
Pure Translation

No rotation, so this part is


equal to Identity Matrix Represents the frame before translation

This column represents the translation

16
EMJ37303 ROBOTIC SYSTEMS
Pure Rotation

𝑅11 𝑅12 𝑅13 0


𝑅 𝑅22 𝑅23 0
𝑇 = 21
𝑅31 𝑅32 𝑅33 0
0 0 0 1

17
EMJ37303 ROBOTIC SYSTEMS
Rotation Matrix
𝒙𝐵 ∙ 𝒙𝐴 𝒚𝐵 ∙ 𝒙𝐴 𝒛𝐵 ∙ 𝒙𝐴
𝐴 Solve based on current
𝐵𝑅 =
𝒙 𝐵 ∙ 𝒚𝐴 𝒚𝐵 ∙ 𝒚𝐴 𝒛𝐵 ∙ 𝒚𝐴
information of orientation
𝒙𝐵 ∙ 𝒛𝐴 𝒚𝐵 ∙ 𝒛𝐴 𝒛𝐵 ∙ 𝒛𝐴

Alternative: Solving based on rotation angle Alibi Transformation

Alias Transformation

18
EMJ37303 ROBOTIC SYSTEMS
Rotation Matrix

Rotation about 𝒛-axis: 𝐑𝐨𝐭 𝑧, 𝛾

𝑃1 (𝑥1 , 𝑦1 , 𝑧1 )

𝛾 𝑟 𝑃0 (𝑥0 , 𝑦0 , 𝑧0 )
𝜃
𝑥

Try solving the rotation matrix around


𝑥 and 𝑦 axis. 19
EMJ37303 ROBOTIC SYSTEMS
Rotation Matrix

• By assuming the rotation around 𝑥-, 𝑦-, and 𝑧-axis as 𝛼, 𝛽


and 𝛾, the respective rotation matrix are:

20
EMJ37303 ROBOTIC SYSTEMS
Combined Transformations
Relative to Fixed Frame

21
EMJ37303 ROBOTIC SYSTEMS
Combined Transformations
Relative to Fixed Frame

𝑇1 = rot(𝑧, 90°) 𝑇2 = rot(𝑦, 90°) 𝑇3 = trans(4, −3,7)

𝑇 = 𝑇3 𝑇2 𝑇1 22
EMJ37303 ROBOTIC SYSTEMS
Combined Transformations
Relative to Fixed Frame

23
EMJ37303 ROBOTIC SYSTEMS
Combined Transformations
Relative to Fixed Frame

𝑇1 = rot(𝑧, 90°) 𝑇2 = trans(4, −3,7) 𝑇3 = rot(𝑦, 90°)

𝑇 = 𝑇3 𝑇2 𝑇1 24
EMJ37303 ROBOTIC SYSTEMS
Combined Transformations
Relative to Moving Frame

25
EMJ37303 ROBOTIC SYSTEMS
Combined Transformations
Relative to Moving Frame

𝑇1 = rot(𝑎, 90°) 𝑇2 = trans(4, −3,7) 𝑇3 = rot(𝑜, 90°)

𝑇 = 𝑇1 𝑇2 𝑇3 26
EMJ37303 ROBOTIC SYSTEMS
Combined Transformations
Relative to Moving & Fixed Frame

27
EMJ37303 ROBOTIC SYSTEMS
Combined Transformations
Relative to Moving & Fixed Frame

28
EMJ37303 ROBOTIC SYSTEMS
Summary: Combined Transformation

Assume for transformation 𝑇1 , 𝑇2 , 𝑇3


• Transformations relative to Fixed Frame
𝑇 = 𝑇3 𝑇2 𝑇1
• Transformations relative to Moving Frame
𝑇 = 𝑇1 𝑇2 𝑇3

Assume for transformation 𝑇1 , 𝑇2 , 𝑇3 , 𝑇4 . Where,


𝑇1 and 𝑇3 are relative to Fixed Frame, while 𝑇2 and 𝑇4
are relative to Moving Frame.
𝑇 = 𝑇3 𝑇1 𝑇2 𝑇4

29
EMJ37303 ROBOTIC SYSTEMS
Inverse Transformation

𝑧𝐵
𝑧𝐴
𝑦𝐵
𝐵
𝑷𝑨𝑂𝑅𝐺

𝐴
𝑷𝐵𝑂𝑅𝐺
𝑥𝐴 𝑥𝐵
𝑦𝐴
𝐵
𝐴 𝐴 𝑷AORG
𝐴 𝐵𝑅 𝑷BORG
𝐵𝑇 =
0 0 0 1

𝐴 −1 𝐵
𝐴 𝑇
𝐵𝑅 − 𝐵𝐴𝑅𝑇 𝐴𝑷BORG
𝐵𝑇 = 𝐴𝑇 =
0 0 0 1

𝑅 −1 = 𝑅𝑇 , 𝑇 −1 ≠ 𝑇 𝑇 𝐵
𝐴𝑅

30
EMJ37303 ROBOTIC SYSTEMS
Compound Transformations

𝑈
𝐸𝑇 = 𝑈𝑅𝑇 𝐻𝑅𝑇 𝐻𝐸𝑇= 𝑈𝑃𝑇 𝐸𝑃𝑇
𝑅
𝐻𝑇 =?

𝑈 −1 𝑈 𝑅 𝐻 𝐻 −1 𝑈 −1 𝑈 𝑃 𝐻 −1 𝐴 𝐵 −1
𝑅 𝑇 𝑇 𝑇
𝑅 𝐻 𝐸 𝑇 𝐸 𝑇 = 𝑅𝑇 𝑃𝑇 𝐸 𝑇 𝐸 𝑇 𝐵 𝑇 𝐴𝑇 =I

𝑅 𝑈 −1 𝑈 𝑃 𝐻 −1
𝐻𝑇 = 𝑅𝑇 𝑃𝑇 𝐸 𝑇 𝐸 𝑇

31
EMJ37303 ROBOTIC SYSTEMS
Compound Transformations
𝐴
𝑃 = 𝐵𝐴𝑇 𝐵𝑃

𝐵
𝑃

𝐵
𝑃 = 𝐵𝐶𝑇 𝐶𝑃

𝐴 𝐵
𝐴 𝐴 𝐵 𝐴
𝐴 𝐵
𝐵𝑅 𝐶 𝑅 𝐵𝑅 𝑷CORG + 𝐴𝑷BORG
𝑃= 𝐵𝑇 𝑃 𝐶𝑇 =
𝐴 𝐴 𝐵 𝐶 0 0 0 1
𝑃= 𝐵𝑇 𝐶 𝑇 𝑃

∴ 𝐵𝐴𝑇 𝐵𝐶𝑇 = 𝐴𝐶𝑇 32


EMJ37303 ROBOTIC SYSTEMS
Compound Transformations
{C}

B
C
T
C {B}
D T
{D}

A
C
T T
B
T CBT CDT DAT = I
E A
B

D
{A} T = CDT DET = CBT −1 ABT −1 EAT −1
C
E
T
E
E
T
A
C
BT BAT EAT

{E}

33
EMJ37303 ROBOTIC SYSTEMS
Compound Transformations
{C}
T = CDT DET EAT ABT
C
B
C
C
T
B {B}
D T
{D}

A
BT

{A}
D
T
E
E
T
A
T = DET −1 CDT −1 CBT ABT −1
E
A

{E}
I = EAT −1 DET −1 CDT −1 CBT ABT −1

34
EMJ37303 ROBOTIC SYSTEMS
Exercise
Exercise 1
Solution:
𝑧𝐵 Position:
𝑦𝐵 𝐴 𝑇
𝑷𝐵𝑂𝑅𝐺 = 3 4 5
𝑧𝐴 𝐴
𝑷𝐵𝑂𝑅𝐺
Orientation:
cos 30° cos 90° cos 60°
𝑦𝐴 𝑥𝐵 𝐴
𝐵𝑅 = cos 90° cos 0° cos 90°
𝑥𝐴 cos 120° cos 90° cos 30°

Thus, frame B can be described with


Frame B is located at 3,4,5 unit from respect to frame A by
frame A, with yB axis is parallel to yA
√3 1
axis. Its xB and zB at 30 deg relative to 2
0 2
3
xA and zA due to a 30 deg rotation
around yB axis. Describe Frame B with
𝐴
𝐵𝑇 = 0 1 0 4
−12 0 √3
2 5
respect to frame A.
0 0 0 1

35
EMJ37303 ROBOTIC SYSTEMS
Transformation: Summary
{B} Description of a frame

{A}  A
BR
A
PBORG 
A
BT =  
A
PBORG 0 0 0 1 

{B} Transform Mapping


B
P
{A} A P
A
P = ABT B P
A  A P   BA R A
PBORG   B P 
 =
PBORG
 
 1  0 0 0 1  1 

Transform Operator
A
P2 = T A P2 A
P2 = A P2 + Q
{A} A P Q (vector operation)
2 1 0 0 qx 
A
P1  A P2  0 1 0 q y   A P1 
  = 0  
 1   0 1 qz   1 
 
0 0 0 1 36

You might also like