Rob Lect2
Rob Lect2
2 5/12/2024
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
5/12/2024 3
Introduction to Robot Kinematics
Basic joints
Revolute Joint
1 DOF ( Variable - Ɵ)
Prismatic Joint
1 DOF (linear) (Variables - d)
5/12/2024 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
5/12/2024 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)
5/12/2024 6
Introduction to Robot Kinematics
Quick Math Review
A point P in space :
3 coordinates relative to a reference frame
^ ^ ^
P = a x i + by j + c z k
5/12/2024 7
Introduction to Robot Kinematics
Rotations
• 2D rotations
– Representing one coordinate frame in terms of another
R10 = x10 y 10
– Where the unit vectors are defined as:
cos 0 − sin
x10 = xˆ 0 ,
1 y = ˆ
y 0
sin cos
cos − sin
R10 =
sin cos
5/12/2024 8
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
= = R10 ( )
T
cos − sin
− sin cos
R10 =
sin cos
• Or, another interpretation uses odd/even properties:
cos (− ) − sin(− )
R01 =
sin(− ) cos (− )
cos sin
= = R10 ( )
T
− sin cos
5/12/2024 9
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
5/12/2024 10
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
5/12/2024 11
Introduction to Robot Kinematics
Example
5/12/2024 12
Introduction to Robot Kinematics
Rotational transformations
• Now assume p is a fixed point on the rigid object with fixed coordinate frame
o1 p1 xˆ 0
The point p can be represented in the 1
p 0
= p ˆ
y 0
frame o0 (p0) by the projection onto
p zˆ0
1
the base frame
(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
u = xˆ1 yˆ 0 yˆ1 yˆ 0 zˆ1 yˆ 0 v = R10 p1
p = v
1
xˆ1 zˆ0 yˆ1 zˆ0 zˆ1 zˆ0 w
w
5/12/2024 13
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
5/12/2024 14
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
5/12/2024 15
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 p 0 = R10R21 p 2 R20 = R10R21
p 0 = R20 p 2
• This defines the composition law for successive rotations about the current
reference frame: post-multiplication
5/12/2024 16
Introduction to Robot Kinematics
Rotations
• Ex: R represents rotation about the current y-axis by followed by about
the current z-axis
R = Ry , Rz,
cos 0 sin cos − sin 0 cos cos − cos sin sin
= 0 1 0 sin cos 0 = sin cos 0
− sin 0 cos 0 0 1 − sin cos sin sin cos
5/12/2024 17
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
5/12/2024 18
Introduction to Robot Kinematics
Rotations
• Ex: we want a rotation matrix R that is a composition of about y0 (Ry,) and
then about Z0 (RZ,)
the second rotation needs to be projected back to the initial fixed frame
R20 = (R y , ) Rz , R y ,
−1
= R y , − Rz , R y ,
5/12/2024 19
Introduction to Robot Kinematics
Example
5/12/2024 20
Introduction to Robot Kinematics
Example
5/12/2024 21
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
5/12/2024 22
Introduction to Robot Kinematics
Euler angles
Rotation by about the z-axis, followed by about the current y-axis, then
about the current z-axis
c − s 0 c 0 s c − s 0
RZYZ = Rz, Ry , Rz, = s c 0 0 1 0 s c 0
0 0 1 − s 0 c 0 0 1
c c c − s s − c c s − s c c s
= s c c + c s − s c s + c c s s
− s c s s c
5/12/2024 23
Introduction to Robot Kinematics
Roll, Pitch, Yaw angles
Three consecutive rotations about the fixed principal axes:
• Yaw (x0) , pitch (y0) , roll (z0)
5/12/2024 24
Introduction to Robot Kinematics
Homogeneous transforms
−1 RT − RT d
H =
0 1
5/12/2024 25
Introduction to Robot Kinematics
Basic transforms
– Three pure translation, three pure rotation
1 0 0 a 1 0 0 0
0 1 0 0 0 c − s 0
Transx ,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
Transy ,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 1 0 0 s c 0 0
Transz,c = Rot z, =
0 0 1 c 0 0 1 0
0 0 0 1 0 0 0 1
5/12/2024 26
Introduction to Robot Kinematics
Example
1 0 0 0
0 c − s 0
Rot x , =
0 s c 0
0 0 0 1
c 0 s 0
0 1 0 0
Rot y , =
− s 0 c 0
0 0 0 1
c − s 0 0
s c 0 0
Rot z, =
0 0 1 0
0 0 0 1
5/12/2024 27
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 0 1 0 0 3 0 − 1 0 0 0 c − s 0
0 =
1 0 1 0 1 0 0 1 0 0 0 Rot x ,
0 s 0
=
c
0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1
0 0 0 1 0 0 0 1 0 0 0 1 c 0 s 0
0 0
1 − 1 0 3
Rot y , =
1 0
1 0 0 1 − s 0 c 0
=
0 0 1 0 0 0 0 1
c − s 0 0
0 0 0 1
s c 0 0
Rot z, =
0 0 1 0
0 0 0 1
5/12/2024 28
Any questions or
suggestions?!