You are on page 1of 31

SCHOOL OF MECHATRONIC ENGINEERING

ROBOT
KINEMATICS
“Forward and Inverse
Kinematics”

Dr. Mohammed Saeed


Mechatronic Eng.
Summary
• Description of a frame: Description of
a frame to another frame
• Transform Mapping: Changing description
from a frame to another frame
• Transform Operator: Moving point within a
frame
• Homogenous Transformation:
Description of transformation using 4x4
matrix (includes rotation and
translation)

2
Homogenous Transformation
𝒙𝑏𝒙𝑎 𝒚𝑏𝒙𝑎 𝒛𝑏𝒙𝑎 𝑃𝑥
𝑧𝐵 𝐴𝑻 = 𝒙 𝑏 𝒚 𝑎 𝒚𝑏𝒚𝑎 𝒛𝑏𝒙𝑎 𝑃𝑦
𝐵
𝑦𝐵 𝒙𝑏𝒛𝑎 𝒚𝑏𝒛𝑎 𝒛𝑏𝒙𝑎 𝑃𝑧
𝑧𝐴 0 0 0 1

𝑥𝐵

𝑦𝐴 𝑅11 𝑅12 𝑅13 𝑃𝑥


𝑥𝐴 𝐴𝑻 = 𝑅21 𝑅22 𝑅23 𝑃𝑦
𝐵
𝑅31 𝑅32 𝑅33 𝑃𝑧
0 0 0 1
Rotation Matrix around the specified axis,
Example:
1 0 0
Rot 𝑥, 𝜃 = 0 cos 𝜃 − sin
𝜃 𝐴𝑅
0 sin 𝜃 cos 𝜃 𝐵
Or can be more than 1 rotation
simultaneously. 3
Combined Transformations
A point P(7,3,2)T is attached to a frame (𝑛̅, 𝑜̅, 𝑎̅)
and is subjected to the transformation described
next. Find the coordinates of the point relative to
the reference frame at the conclusion of
transformations.
(1) Rotation of 90 deg about the z-axis,
(2) Followed by a rotation of 90 deg about
𝑧
the y-axis,
(3) Followed by a translation of [4,-3,7]. 𝑎
𝑃(7,3,2)
𝑜
𝑛 𝑦
𝑥
4
Examples

7
Examples

8
Forward and Inverse Kinematics

Forward Kinematics
Analysis:
• Calculating the position and
orientation of the hand of the robot.
• If all robot joint variables are
known, one can calculate where the
robot is at any instant.

The following possibilities will be discussed:


- Cartesian (gantry, rectangular) coordinates
- Cylindrical coordinates
- Spherical coordinates
- Articulated (anthropomorphic or all-revolute) coordinates
11
End-Effector Configuration

12
Types of Robotic Arm

13
Position Representation

14
ENT372ROBOTICS
Forward and Inverse Kinematics: Position

(1) Cartesian – Gantry, Rectangular

Forward Kinematics
1 0 0 Px 
0 1 0 P 
R
PT = T cart = y
0 0 1 Pz 
 
0 0 0 1 

15
ENT372ROBOTICS
Forward and Inverse Kinematics: Position

(1) Cartesian – Gantry, Rectangular

Inverse Kinematics

Given the desired position as [a b c]T

1 0 0 Px 
0 1 0 P 
y
R
T = Tcart =
0 0 1 Pz 
P

0 0 0 1
 
Thus the position of P is corresponded to
desired Position, i.e., Px=a, Py=b and Pz=c.
16
Cartesian (gantry, rectangular) coordinates

Three linear movements


along the x, y and z axes
in this type of robot all
actuators are linear
Cartesian (gantry, rectangular) coordinates
ENT372ROBOTICS
Forward and Inverse Kinematics: Position

(2) Cylindrical

 2 Linear translations and 1 rotation


• translation of r along the x-axis
• rotation of  about the z-axis
• translation of l along the z-axis

Forward Kinematics
R
PT = Tcyl (r,,l) = Trans(0,0, l)Rot(z,)Trans(r,0,0)

C − S 0 rC
 S C 0 rS
R
PT = Tcyl =
 0 0 1 l 
 
 0 0 0 1 
17
Cylindrical Coordinates
A cylindrical coordinates system include two linear
translations and one rotation. The sequence is a translation
of r along the x axis, a rotation of α about the z axis and a
translation of l along the z axis.
Forward and Inverse Kinematics: Position
ENT372ROBOTICS
Forward and Inverse Kinematics: Position
Inverse Kinematics
(2) Cylindrical Due to the solution of position only, we can
remove the rotational part by

Tcyl (r,,l)  Rot(z,-)


C − S 0 rC C(−) − S (−) 0 0
 S C 0 rS  S(−) 
 C(−) 0 0
= 
 0 0 1 l   0 0 1 0
   
 0 0 0 1   0 0 0 1
1 0 0 rC
0 1 0 rS
= 
0 0 1 l 
 
0 0 0 1 

Thus, if given the required position as [a b c]T


a = rC ®
b = rS®
c=l
18
ENT372ROBOTICS
Forward and Inverse Kinematics: Position

 1 Linear translation and 2 rotations


(3) Spherical • translation of r along the z-axis
• rotation of  about the y-axis
• rotation of  about the z-axis

Forward Kinematics

19
ENT372ROBOTICS
Forward and Inverse Kinematics: Position

(3) Spherical

 1 Linear translation and 2 rotations


• translation of r along the z-axis
• rotation of  about the y-axis
• rotation of  about the z-axis

Forward Kinematics
R
T =T (r,,l) = Rot(z,)Rot( y,)Trans(0,0, r)
P sph

CC − S SC rSC


C S C SS rS S
R
= Tsph = 
PT  − S 0 C rC 
 
 0 0 0 1 

19
ENT372ROBOTICS
Forward and Inverse Kinematics: Position

(3) Spherical CC − S SC rSC


C S C SS rS S
R
= Tsph = 
PT  − S 0 C rC 
 
 0 0 0 1 

Inverse Kinematics
Thus, if given the required position as [a b c]T
a = r S β ¢C g
b = r S β ¢S g
c = rC β

𝑏 𝑏
tan 𝛾 = , then 𝛾 = tan −1 . 2 values of 𝛾 exist
𝑎 𝑎
Remaining values can be found by replacing back
 to the equations.
20
ENT372ROBOTICS
Forward and Inverse Kinematics: Position

(4) Articulated

 3 rotations -> Denavit-Hartenberg


representation

21
ENT372ROBOTICS
Forward and Inverse Kinematics: Orientation

22
Forward and Inverse Kinematics: Orientation

ROBOTICS
ENT372
• Three representations
• Roll, Pitch, Yaw (RPY)
angles
• Euler angles
• Articulated angles

23
Forward and Inverse Kinematics: Orientation

ROBOTICS
ENT372
• Fixed Angles (Roll, Pitch and
Yaw (RPY))
• The rotation take place at the fixed
frame
• Roll: Rotation around 𝑥-axis
• Pitch: Rotation around 𝑦-axis
• Yaw: Rotation around 𝑧-axis 24
ENT372ROBOTICS
Forward and Inverse Kinematics: Orientation

X-Y-Z Fixed Angles

If given a rotation matrix as below, how to find the angles (,,)?

25
Forward and Inverse Kinematics: Orientation

ROBOTICS
ENT372
• Euler Angles
• The rotation take place at current rotation frame

26
Forward and Inverse Kinematics: Orientation

ROBOTICS
ENT372
Z-Y-X Euler Angles

27
ENT372ROBOTICS
Forward and Inverse Kinematics: Orientation

The relation of Fixed Angles and Euler Angles

XYZ Fixed Angles

𝑅𝑋𝑌𝑍 𝛾, 𝛽, 𝛼 = 𝑅𝑧 𝛼 𝑅𝑦 𝛽 𝑅𝑥(𝛾)

ZYX Euler Angles

𝑅𝑍𝑌𝑋 𝛼, 𝛽, 𝛾 = 𝑅𝑧 𝛼 𝑅𝑦 𝛽 𝑅𝑥(𝛾)

28
ENT372ROBOTICS
Forward and Inverse Kinematics: Orientation

• Roll, Pitch, Yaw (RPY) angles TEXTBOOK

Roll:
Rotation of a about z-axis of
the moving frame

Pitch:
Rotation of o about y-axis of
the moving frame

Yaw:
Rotation of n about x-axis of
the moving frame

29
Forward and Inverse Kinematics: Orientation

• Euler
angles
• Rotation of  about z-axis of
the moving frame

• Rotation of  about y-axis of


the moving frame

• Rotation of  about z-axis of


the moving frame

30

You might also like