0% found this document useful (0 votes)
54 views33 pages

Robotics: Dr. Omar Salah Eldin Mahmoud

The document discusses robot kinematics and provides examples using the PUMA 560 robot. It introduces key concepts such as revolute and prismatic joints, forward and inverse kinematics, rotation matrices, and representing robot positions using coordinate frames and transformations between frames. Matrix math formulas are also reviewed for multiplication, addition, and rotations.

Uploaded by

darthvader909
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views33 pages

Robotics: Dr. Omar Salah Eldin Mahmoud

The document discusses robot kinematics and provides examples using the PUMA 560 robot. It introduces key concepts such as revolute and prismatic joints, forward and inverse kinematics, rotation matrices, and representing robot positions using coordinate frames and transformations between frames. Matrix math formulas are also reviewed for multiplication, addition, and rotations.

Uploaded by

darthvader909
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 33

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 position of any point


(i.e. it’s (x, y, z) coordinates

Inverse Kinematics (position to angles)


What you are given: The length of each link
The position of some point on the robot

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

a b   e f  ae  bg  af  bh


c d    g  
h  ce  dg  cf  dh
  

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

Representation of a point in space

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

• When representing a point p, we need to specify a coordinate frame


With respect to o0: 5
p   0
With respect to o1: 6 

 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 

– This is a rotation matrix

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

• Or, another interpretation uses odd/even properties:


cos    sin  
R01   
 sin   cos   
 cos sin 

cos 
 R 0
 T

 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

 sin det R10  cos 

• The determinant of a rotation matrix is always ±1

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:

 xˆ1  xˆ0 yˆ1  xˆ0 zˆ1  xˆ0 


R10   xˆ1  yˆ 0 yˆ1  yˆ 0 zˆ1  yˆ 0   SO3
 xˆ1  zˆ0 yˆ1  zˆ0 zˆ1  zˆ0 

• 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

Now the combination of the two rotations is:


 
R  R y ,f R y , f Rz , 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

R XYZ  Rz,f Ry , R x,y


cf  sf 0  c 0 s  1 0 0 
 
 sf cf 0  0 1 0  0 cy  sy 
 0 0 1  s 0 c  0 sy cy 
cf c  sf cy  cf s sy sf sy  cf s cy 
 
 sf c cf cy  sf s sy  cf sy  sf s cy 
  s c sy c cy 
 

10/26/2019 28
Introduction to Robot Kinematics
Homogeneous transforms

• We can represent rigid motions (rotations and translations) as matrix


multiplication
– Define: R10 d10 
H 
0
1 
0 1
R21 d 21 
H 
1
2 
 0 1

– Now the point p2 can be represented in frame o0: P 0  H10H21P 2


– Inverse 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

You might also like