Robotics: Dr. Omar Salah Eldin Mahmoud
Robotics: Dr. Omar Salah Eldin Mahmoud
1 10/26/2019
Outline
Introduction to Robot Kinematics
2 10/26/2019
Introduction to Robot Kinematics
Example - The PUMA 560
2
3
4
1
There are two more
joints on the end
effector (the gripper)
The PUMA 560 has SIX revolute joints
A revolute joint has ONE degree of freedom ( 1 DOF) that is
defined by its angle
10/26/2019 3
Introduction to Robot Kinematics
Basic joints
Revolute Joint
1 DOF ( Variable - Ɵ)
Prismatic Joint
1 DOF (linear) (Variables - d)
10/26/2019 4
Introduction to Robot Kinematics
We are interested in two kinematics topics
Forward Kinematics (angles to position)
What you are given: The length of each link
The angle of each joint
What you can find: The angles of each joint needed to obtain
that position
10/26/2019 5
Introduction to Robot Kinematics
Quick Math Review
Matrix Multiplication:
An (m x n) matrix A and an (n x p) matrix B, can be multiplied since
the number of columns of A is equal to the number of rows of B.
Non-Commutative Multiplication
AB is NOT equal to BA
Matrix Addition:
a b e f a e b f
c d g
h c g d h
10/26/2019 6
Introduction to Robot Kinematics
Quick Math Review
Dot Product: a x
a
Geometric Representation: y
b x
A B A B cosθ A b
θ y
Matrix Representation: B
a x b x
A B a xb x a y b y
a y b y
Unit Vector
Vector in the direction of a chosen vector but whose magnitude is 1.
B
uB
B B
10/26/2019 uB 7
Introduction to Robot Kinematics
Quick Math Review
A point P in space :
3 coordinates relative to a reference frame
^ ^ ^
P ax i by j cz k
10/26/2019 8
Introduction to Robot Kinematics
Representing position
• Definition: coordinate frame
A set n of orthonormal basis vectors spanning Rn
For example, 1 0 0
iˆ 0, ˆj 1, kˆ 0
0 0 1
2.8
p1
4.2
10/26/2019 9
Introduction to Robot Kinematics
Rotations
• 2D rotations
– Representing one coordinate frame in terms of another
R10 x10 y10
– Where the unit vectors are defined as:
cos sin
R10
sin cos
10/26/2019 10
Introduction to Robot Kinematics
Rotations
• Rotation matrices as projections
– Projecting the axes of from o1 onto the axes of frame o0
xˆ1 xˆ 0 0 yˆ1 xˆ 0
x
0
, y 1 ˆ ˆ
ˆ ˆ y1 y 0
1
1 0
x y
xˆ1 xˆ 0 yˆ1 xˆ 0
R
0
xˆ1 yˆ 0 yˆ1 yˆ 0
1
xˆ1 xˆ 0 cos yˆ1 xˆ 0 cos
2
xˆ yˆ
cos yˆ1 yˆ 0 cos
1 0 2
cos sin
sin cos
10/26/2019 11
Introduction to Robot Kinematics
Properties of rotation matrices
• Inverse rotations:
xˆ xˆ yˆ 0 xˆ1
R01 0 1
xˆ 0 yˆ1 yˆ 0 yˆ1
ˆ
x 0
ˆ
x 1 cos yˆ 0 xˆ 1 cos
2
xˆ yˆ cos yˆ 0 yˆ1 cos
0 1
2
cos sin
R 0 T
sin cos
1
sin
1
10/26/2019 12
Introduction to Robot Kinematics
Properties of rotation matrices
• Inverse of a rotation matrix:
1
xˆ1 xˆ 0 yˆ1 xˆ 0
R
0 1
xˆ1 yˆ 0 yˆ1 yˆ 0
1
1
xˆ1 xˆ 0 cos yˆ1 xˆ 0 cos
2
xˆ yˆ cos yˆ1 yˆ 0 cos
1 0 2
1
cos sin cos sin
cos
1
sin R10
T
10/26/2019 13
Introduction to Robot Kinematics
Properties of rotation matrices
10/26/2019 14
Introduction to Robot Kinematics
3D rotations
• General 3D rotation:
• Special cases
Basic rotation matrices
1 0 0
R x , 0 cos sin
0 sin cos
cos 0 sin cos sin 0
Ry , 0 1 0 Rz , sin cos 0
sin 0 cos 0 0 1
10/26/2019 15
Introduction to Robot Kinematics
Example
10/26/2019 16
Introduction to Robot Kinematics
Rotational transformations
• Now assume p is a fixed point on the rigid object with fixed coordinate frame
o1
The point p can be represented in the
frame o0 (p0) again by the projection onto p1 xˆ 0
the base frame p 0 p1 yˆ 0
p1 zˆ0
uxˆ1 vyˆ1 wzˆ1 xˆ 0
uxˆ1 vyˆ1 wzˆ1 yˆ 0
uxˆ1 vyˆ1 wzˆ1 zˆ0
uxˆ1 xˆ 0 vyˆ1 xˆ 0 wzˆ1 xˆ 0
uxˆ1 yˆ 0 vyˆ1 yˆ 0 wzˆ1 yˆ 0
uxˆ1 zˆ0 vyˆ1 zˆ0 wzˆ1 zˆ0
xˆ1 xˆ 0 yˆ1 xˆ 0 zˆ1 xˆ 0 u
xˆ1 yˆ 0 yˆ1 yˆ 0 zˆ1 yˆ 0 v R10 p1
u xˆ1 zˆ0 yˆ1 zˆ0 zˆ1 zˆ0 w
p v
1
w
10/26/2019 17
Introduction to Robot Kinematics
Rotating a vector
• Another interpretation of a rotation matrix:
Rotating a vector about an axis in a fixed frame
Ex: rotate v0 about y0 by /2
0
v 0 1
1
v 1 Ry , / 2v 0
cos 0 sin 0
0 1 0 1
sin 0 cos / 2 1
0 0 1 0 1
0 1 0 1 1
1 0 0 1 0
10/26/2019 18
Introduction to Robot Kinematics
Rotation matrix summary
• Three interpretations for the role of rotation matrix:
1. Representing the coordinates of a point in two different frames
2. Orientation of a transformed coordinate frame with respect to a fixed
frame
3. Rotating vectors in the same coordinate frame
10/26/2019 19
Introduction to Robot Kinematics
Compositions of rotations
• w/ respect to the current frame
Ex: three frames o0, o1, o2
p 0 R10 p1
p1 R21 p 2 p0 R10R21p2 R20 R10R21
p 0 R20 p 2
• This defines the composition law for successive rotations about the current
reference frame: post-multiplication
10/26/2019 20
Introduction to Robot Kinematics
Rotations
• Ex: R represents rotation about the current y-axis by f followed by about
the current z-axis
R Ry ,f Rz,
cos f 0 sinf cos sin 0 cos f cos cos f sin sinf
0 1 0 sin cos 0 sin cos 0
sinf 0 cos f 0 0 1 sinf cos sinf sin cos f
10/26/2019 21
Introduction to Robot Kinematics
Rotations
• w/ respect to a fixed reference frame (o0)
Let the rotation between two frames o0 and o1 be defined by R10
Let R be a desired rotation w/ respect to the fixed frame o0
Using the definition of a similarity transform, we have:
R20 R10 R10
1
RR10 RR10
• This defines the composition law for successive rotations about a fixed
reference frame: pre-multiplication
10/26/2019 22
Introduction to Robot Kinematics
Rotations
• Ex: we want a rotation matrix R that is a composition of f about y0 (Ry,f) and
then about Z0 (RZ,)
the second rotation needs to be projected back to the initial fixed frame
R20 R y ,f Rz , R y ,
1
R y , f Rz , R y ,f
10/26/2019 23
Introduction to Robot Kinematics
Example
10/26/2019 24
Introduction to Robot Kinematics
Example
10/26/2019 25
Introduction to Robot Kinematics
Parameterizing rotations
• There are three parameters that need to be specified to create arbitrary rigid
body rotations
We will describe three such parameterizations:
1. Euler angles
2. Roll, Pitch, Yaw angles
10/26/2019 26
Introduction to Robot Kinematics
Euler angles
Rotation by f about the z-axis, followed by about the current y-axis, then
y about the current z-axis
cf sf 0 c 0 s cy sy 0
RZYZ Rz,f Ry , Rz,y sf cf 0 0 1 0 sy cy 0
0 0 1 s 0 c 0 0 1
cf c cy sf sy cf c sy sf cy cf s
sf c cy cf sy sf c sy cf cy sf s
s cy s sy c
10/26/2019 27
Introduction to Robot Kinematics
Roll, Pitch, Yaw angles
Three consecutive rotations about the fixed principal axes:
• Yaw (x0) y, pitch (y0) , roll (z0) f
10/26/2019 28
Introduction to Robot Kinematics
Homogeneous transforms
1 RT RT d
H
0 1
10/26/2019 29
Introduction to Robot Kinematics
Basic transforms
– Three pure translation, three pure rotation
1 0 0 a 1 0 0 0
0 0 c 0
1 0 0 s
Trans x ,a Rot x ,
0 0 1 0 0 s c 0
0 0 0 1 0 0 0 1
1 0 0 0 c 0 s 0
0 1 0 b 0 1 0 0
Trans y ,b Rot y ,
0 0 1 0 s 0 c 0
0 0 0 1 0 0 0 1
1 0 0 0 c s 0 0
0 s 0
1 0 0 c 0
Trans z,c Rot z,
0 0 1 c 0 0 1 0
0 0 0 1 0 0 0 1
10/26/2019 30
Introduction to Robot Kinematics
Example
10/26/2019 31
Introduction to Robot Kinematics
Example
• Compute the homogeneous transformation representing a translation of
3 units along the x-axis followed by a rotation of /2 about the current z-
axis followed by a translation of 1 unit along the fixed y-axis
T Ty ,1Tx ,3Tz, / 2
1 0 0 0 1 0 0 3 0 1 0 0
0 1 0 1 0 1 0 0 1 0 0 0
0 0 1 0 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
1 1 0 3
1 0 0 1
0 0 1 0
0 0 0 1
10/26/2019 32
10/26/2019 25