FACULTY OF ELECTRICAL ENGINEERING & TECHNOLOGY
UNIVERSITI MALAYSIA PERLIS
EMJ37303 ROBOTIC SYSTEMS
KINEMATICS (PART I)
“SPATIAL DESCRIPTIONS AND TRANSFORMATIONS”
EMJ37303 ROBOTIC SYSTEMS
Introduction
2
EMJ37303 ROBOTIC SYSTEMS
Introduction
3
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
Forward Kinematics
EMJ37303 ROBOTIC SYSTEMS
Robot Kinematics
VS
Inverse Kinematics
What the differences between both approaches?
How to solve both?
Which one should be used?
7
(π, π)
π½2
Forward Kinematics:
EMJ37303 ROBOTIC SYSTEMS
Forward Kinematics VS Inverse Kinematics
To determine the end-effector
position based on joint’s angle
(π½1 , π½2 )
π
π½1
Forward
Kinematics
(π, π)
Inverse Kinematics:
πΏ
To determine the joint’s angle
based on end-effector position
(π, π)
Inverse
Kinematics
(π½1 , π½2 )
8
• Vector representation
EMJ37303 ROBOTIC SYSTEMS
Vector Calculus
• 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
• Orientation
P
ππ΅ β ππ΄
π΄
π π΅ β ππ΄
π΅π
=
ππ΅ β ππ΄
{B}
π΄
π·BORG
ππ΄
π
παπ΅
ππ΅
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
Dot Product
ππ΄ β ππ΅ = ππ΄ ππ© cos (π)
Since the magnitude of unit vector is 1, then
ππ΄ β ππ΅ = cos (π)
11
EMJ37303 ROBOTIC SYSTEMS
Locating Object (General)
π΄
π΅
P
π΄
π·
π΄
π΅
π·
π·BORG = ππ΅ππ΄
π· = ππ΅
ππ΅
ππ΅ β ππ΄
π΄
π π΅ β ππ΄
π΅π
=
ππ΅ β ππ΄
ππ΅ππ΄
ππ΅
πΆπ΅ππ΄
π
π
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
π·BORG
General Form:
π΄
π· = π΅π΄π
π΅π· + π΄π·BORG
ππ΅ β ππ΄
ππ΄
ππ΄ = ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ππ΄
ππ΅
ππ΅ + ππ΅ππ΄
ππ΅
ππ΅ππ΄
12
EMJ37303 ROBOTIC SYSTEMS
Locating Object (General)
π΄
General Form:
Conceptual Form:
π· = π΅π΄π
π΅π· + π΄π·BORG
π΄
π· = π΅π΄π π΅π·
π΄
π΄
π· =
π΅π
1
0 0 0
ππ΅ β ππ΄
ππ΄
π βπ
ππ΄
= π΅ π΄
ππ΄
ππ΅ β ππ΄
1
0
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
0
π΄
π·BORG
1
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
0
π΅
π·
1
ππ΅ππ΄
ππ΅ππ΄
ππ΅ππ΄
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:
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
referring to the frame that is
currently moving or
operated
Moving Frame
π§π΅
π¦π΅
π§π΄
π΄
π·π΅ππ
πΊ
π¦π΄
π₯π΅
π₯π΄
Fixed Frame
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
1
π₯π΄
π₯π΅
ππ΅ β ππ΄
π π΅ β ππ΄
π΄
π΅π» =
ππ΅ β ππ΄
0
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
0
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
0
0
0
0
1
15
No rotation, so this part is
equal to Identity Matrix
EMJ37303 ROBOTIC SYSTEMS
Pure Translation
Represents the frame before translation
This column represents the translation
16
EMJ37303 ROBOTIC SYSTEMS
Pure Rotation
π
11
π
π = 21
π
31
0
π
12
π
22
π
32
0
π
13
π
23
π
33
0
0
0
0
1
17
ππ΅ β ππ΄
π΄
π π΅ β ππ΄
π΅π
=
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
ππ΅ β ππ΄
Alternative: Solving based on rotation angle
Solve based on current
information of orientation
EMJ37303 ROBOTIC SYSTEMS
Rotation Matrix
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
• By assuming the rotation around π₯-, π¦-, and π§-axis as πΌ, π½
and πΎ, the respective rotation matrix are:
EMJ37303 ROBOTIC SYSTEMS
Rotation Matrix
20
Relative to Fixed Frame
EMJ37303 ROBOTIC SYSTEMS
Combined Transformations
21
Relative to Fixed Frame
π1 = rot(π§, 90°)
π2 = rot(π¦, 90°)
π = π3 π2 π1
EMJ37303 ROBOTIC SYSTEMS
Combined Transformations
π3 = trans(4, −3,7)
22
Relative to Fixed Frame
EMJ37303 ROBOTIC SYSTEMS
Combined Transformations
23
Relative to Fixed Frame
π1 = rot(π§, 90°)
π2 = trans(4, −3,7)
π = π3 π2 π1
EMJ37303 ROBOTIC SYSTEMS
Combined Transformations
π3 = rot(π¦, 90°)
24
Relative to Moving Frame
EMJ37303 ROBOTIC SYSTEMS
Combined Transformations
25
Relative to Moving Frame
π1 = rot(π, 90°)
π2 = trans(4, −3,7)
π = π1 π2 π3
EMJ37303 ROBOTIC SYSTEMS
Combined Transformations
π3 = rot(π, 90°)
26
Relative to Moving & Fixed Frame
EMJ37303 ROBOTIC SYSTEMS
Combined Transformations
27
Relative to Moving & Fixed Frame
EMJ37303 ROBOTIC SYSTEMS
Combined Transformations
28
Assume for transformation π1 , π2 , π3
• Transformations relative to Fixed Frame
π = π3 π2 π1
• Transformations relative to Moving Frame
π = π1 π2 π3
EMJ37303 ROBOTIC SYSTEMS
Summary: Combined Transformation
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
π§π΅
π§π΄
π¦π΅
π΅
π·π¨ππ
πΊ
π΄
π₯π΄
π¦π΄
π΄
π΅π
π΄ −1
π΅π
π·π΅ππ
πΊ
=
π΅
π΄π
=
=
π΄
π΄
π΅π
0
0 0
π΄ π
π΅π
0 0
0
π₯π΅
π΅
π·BORG
1
π·AORG
− π΅π΄π
π π΄π·BORG
1
π
−1 = π
π , π −1 ≠ π π
π΅
π΄π
30
EMJ37303 ROBOTIC SYSTEMS
Compound Transformations
π
πΈπ
= ππ
π π»π
π π»πΈπ= πππ πΈππ
π
π»π
=?
π −1 π π
π» π» −1
π −1 π π π» −1
π
π
π
π
π
=
π
π
π» πΈ
πΈ
π
π
ππ πΈ π πΈ π
π
π»π
=
π΄ π΅ −1
π΅ π π΄π
=I
π −1 π π π» −1
π
π
ππ πΈ π πΈ π
31
EMJ37303 ROBOTIC SYSTEMS
Compound Transformations
π΄
π = π΅π΄π π΅π
π΅
π
π΅
π΄
π=
π΄
π=
π΄ π΅
π΅π π
π΄ π΅ πΆ
π΅π πΆ π π
∴ π΅π΄π π΅πΆπ = π΄πΆπ
π΄
πΆπ
=
π΄ π΅
π΅π
π·CORG
π΄ π΅
π΅π
πΆ π
0 0
π = π΅πΆπ πΆπ
0
+ π΄π·BORG
1
32
EMJ37303 ROBOTIC SYSTEMS
Compound Transformations
{C}
B
C
T
C
D
T
{B}
{D}
A
B
T
C
E
T
{A}
D
E
T
E
A
T
T CBT CDT DAT = I
A
B
T = CDT DET = CBT −1 ABT −1 EAT −1
C
E
C
B
T BAT EAT
{E}
33
{C}
T = CDT DET EAT ABT
EMJ37303 ROBOTIC SYSTEMS
Compound Transformations
C
B
C
B
T
C
D
T
{B}
{D}
A
B
T
{A}
D
E
T
E
A
T
{E}
T = DET −1 CDT −1 CBT ABT −1
E
A
I = EAT −1 DET −1 CDT −1 CBT ABT −1
34
EMJ37303 ROBOTIC SYSTEMS
Exercise
Exercise 1
Solution:
π§π΅
Position:
π¦π΅
π§π΄
π΄
π·π΅ππ
πΊ
π¦π΄
π₯π΅
π₯π΄
Frame B is located at 3,4,5 unit from
frame A, with yB axis is parallel to yA
axis. Its xB and zB at 30 deg relative to
xA and zA due to a 30 deg rotation
around yB axis. Describe Frame B with
respect to frame A.
π΄
π·π΅ππ
πΊ = 3 4 5
Orientation:
cos 30°
π΄
π΅π
= cos 90°
cos 120°
π
cos 90°
cos 0°
cos 90°
cos 60°
cos 90°
cos 30°
Thus, frame B can be described with
respect to frame A by
√3
2
π΄
π΅π
= 0
−12
0
0
1
0
0
1
2
0
√3
2
0
3
4
5
1
35
EMJ37303 ROBOTIC SYSTEMS
Transformation: Summary
{B}
Description of a frame
A
ο©
A
BR
T
=
οͺ
B
ο«0 0 0
{A}
A
PBORG
{B}
B
{A} A P
A
P
PBORG
A
PBORG οΉ
οΊ
1 ο»
Transform Mapping
A
P = ABT B P
ο© A P οΉ ο© BA R
οͺ οΊ=οͺ
ο« 1 ο» ο«0 0 0
A
PBORG οΉ ο© B P οΉ
οΊοͺ οΊ
1 ο»ο« 1 ο»
Transform Operator
A
{A} A P
2
Q
A
P1
P2 = T A P2
ο©1
ο© A P2 οΉ οͺ0
οͺ οΊ = οͺ0
ο« 1 ο» οͺ
οͺ
ο«0
0 0 qx οΉ
1 0 q y οΊ ο© A P1 οΉ
οΊοͺ οΊ
0 1 qz οΊ ο« 1 ο»
οΊ
0 0 1ο»
A
P2 = A P2 + Q
(vector operation)
36