0% found this document useful (0 votes)
20 views

Rob Lect2

Uploaded by

Ahmed Elkhateeb
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Rob Lect2

Uploaded by

Ahmed Elkhateeb
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

Robotics

Presenter: Gamal Abdelnasser

Dr. Omar Salah Eldin Mahmoud


1 5/12/2024
Outline
➢ Introduction to Robot Kinematics

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

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

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)
  

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

Representation of a point in space

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

– This is a rotation matrix

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

 sin det R10  cos  

• The determinant of a rotation matrix is always ±1

5/12/2024 10
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 xˆ1  yˆ 0 
 xˆ1  zˆ0 zˆ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

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 ,

Now the combination of the two rotations is:


 
R = R y , R y , − Rz , 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) 

R XYZ = Rz, Ry , R x,


c − s 0  c 0 s  1 0 0 
 
= s c 0  0 1 0  0 c − s 
 0 0 1 − s 0 c  0 s c 
c c − s c + c s s s s + c s c 
 
= s c c c + s s s − c s + s s c 
 − s c s c c 
 

5/12/2024 24
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 
H2 = 
1

 0 1

– Now the point p2 can be represented in frame o0: P 0 = H10H 21P 2


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

You might also like