Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
27 views118 pages

CH 05

Chapter Five discusses differential motions and velocities in robotics, focusing on the relationship between differential motions of frames and robots. It introduces the concept of the Jacobian, which represents the configuration of a mechanism and relates joint differential motions to the resulting motion. The chapter also distinguishes between differential and large-scale motions, emphasizing their continuous versus singular nature.

Uploaded by

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

CH 05

Chapter Five discusses differential motions and velocities in robotics, focusing on the relationship between differential motions of frames and robots. It introduces the concept of the Jacobian, which represents the configuration of a mechanism and relates joint differential motions to the resulting motion. The chapter also distinguishes between differential and large-scale motions, emphasizing their continuous versus singular nature.

Uploaded by

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

CHAPTER FIVE

DIFFERENTIAL MOTIONS AND


VELOCITIES

ECE-141 Introduction to Robotics 1


Introduction to Robotics: Analysis, Control, Applications, Third Edition.
Saeed B. Niku.
© 2020 John Wiley & Sons Ltd. Publishe

This solution manual may not be copied, posted, made available to students,
placed on any outlet, any other electronic media system, and the Internet
without prior expressed consent of the copyright owner.
This material may not be used except in conjunction with the “Introduction to
Robotics: Analysis, Control, Applications”

ECE-141 Introduction to Robotics 2


Introduction

 Differential motions, divided by differential time intervals,


constitute velocity relationships.
 We cover :
 Differential motions of frames
 Differential motions of robots
 Relationship between the above

ECE-141 Introduction to Robotics 3


Differential Motions of a 2-DOF Mechanism

 A mechanism and its velocity diagram


v B v A  v B / A
. . .
l1 1 [ to l1 ]  l2 (1   2 )[ to l2 ]
. . . . . .
 l1 1 sin 1i  l1 1 cos 1 j  l2 (1   2 ) sin(1   2 )i  l2 (1   2 ) cos(1   2 ) j
y

B
y

l2
VB/A

2
l1 VA
A VB

o 1 x x

(a) (b)
ECE-141 Introduction to Robotics 4
Differential Motions

 In matrix form we get:

 vBx   .
  l1 sin 1  l2 sin(1   2 )  l2 sin(1   2 )   1 
    .
 vBy  l
 1 cos   l cos(   ) l cos(   )
2 
2 
1 2 1 2 2 1

 Differential motions are the product of the Jacobian and


the joint differential motions

ECE-141 Introduction to Robotics 5


Differential Motions

 The same relationship can be derived from direct


differentiation:
 xB l1 cos 1  l2 cos(1   2 )

 yB l1 sin 1  l2 sin(1   2 )
dxB  l1 sin 1d1  l2 sin(1   2 )(d1  d 2 )

dyB l1 cos 1d1  l2 cos(1   2 )(d1  d 2 )
 dxB    l1 sin 1  l2 sin(1   2 )  l2 sin(1   2 )   d1 
 dy   l cos   l cos(   ) l cos(   )   d 
 B  1 1 2 1 2 2 1 2   2

Differential Jacobian Differential


motion of B ECE-141 Introduction to Robotics motion of joints 6
The meaning of a Jacobian

 A representation of the configuration of the mechanism


Resulting
motion
B

Re
m sulti
ot ng
io
A n
B
1

Resultin
motion
g
o o o
A B A
1 1

ECE-141 Introduction to Robotics 7


What is the Jacobian
 For an equation in the form of
yi  fi ( x1 , x2 , x3 ,..., x j )
 The derivatives are:
 f1 f1 f1
 y 
 1 x 1 x  x   x 2  L   xj
x j
 1 2

 f 2 f 2 f 2
 y2   x1   x2  L   xj
 x1 x2 x j
M

 f i f i f i
 y 
 i x 1 x  x   x2  L   xj
 1 2 x j
ECE-141 Introduction to Robotics 8
Jacobian
 This can be rearranged into:

 f1 f1 f1 


  y1   x    x1 
  x2 x j  
 1 
   f 2  
  y2   K K K    x2   fi 
   x1   or  yi      x j 
   M    x j 
 M    M
   fi fi   
  yi   x
 x1
 x j   j 

ECE-141 Introduction to Robotics 9


Robot’s Jacobian
 For a robot, we get:

 dx     d1 
 dy     d 
     2
 dz   Robot   d3 
     or  D   J  D 
  x   Jacobian   d 4 
 y    d5 
    
 z    d 6 

ECE-141 Introduction to Robotics 10


Differential versus Large-Scale Motions

 Large scale motions happen once; differential motions


happen continuously.
 The final consequences are different.

l

B C

l
l A 

ECE-141 Introduction to Robotics 11


Differential Motions of a Frame versus a Robot

 A frame may move by any means, including as a result of


the motions of a robot arm when the frame is attached to
the end effector.
 We will study the differential motions of a frame and of a
robot separately, then combine them together.

z z
z
o' Hand differential
o n' o'
a' motions a' o n'
a n a n

Joint differential bot


Ro
motions

x y x y x
y
ECE-141 Introduction to Robotics 12
Differential Motions of a Frame

 Differential motions of a frame can be divided into the


following:
 Differential translations
 Differential rotations
 Differential transformations (combinations of translations
and rotations)

ECE-141 Introduction to Robotics 13


Differential Translations

 The translation of a frame at differential values or


Trans(dx,dy,dz). This means the frame has moved a
differential amount along the x-, y-, and z-axes.

ECE-141 Introduction to Robotics 14


Differential Rotations about Reference Axes

 Small rotations of the frame, represented by


Rot (q, d )
 Differential rotations about the x-, y-, and z-
axes are defined by  x,  y ,  z.

ECE-141 Introduction to Robotics 15


Differential trigonometric functions

 We use the following relationships:

sin  x  x (in radians)


cos  x 1

ECE-141 Introduction to Robotics 16


Differential Rotations about Reference Axes

1 0 0 0 1 0 0 0
0 1   x 0 0 1  n 0
Rot ( x,  x )    Rot ( n,  n)   
0 x 1 0 0 n 1 0
   
0 0 0 1 0 0 0 1

 1 0  y 0  1 0 o 0
 0 1 0 0  0 1 0 0
Rot ( y ,  y )    Rot (o,  o)   
y 0 1 0  o 0 1 0
   
 0 0 0 1  0 0 0 1

 1 z 0 0  1 a 0 0
 z 1 0 0  a 1 0 0
Rot ( z ,  z )    Rot ( a ,  a )   
0 0 1 0 0 0 1 0
   
0 0 0 1 0 0 0 1
ECE-141 Introduction to Robotics 17
Multiple Differential Rotations about Reference
Axes

 Multiple differential rotations:


 Results are order-dependent
 If higher-order differentials are eliminated, the results are the same.

1 0 0 0  1 0 y 0  1 0 y 0
 
0 1   x 0  0 1 0 0    x y 1   x 0 
Rot ( x,  x) Rot ( y,  y )   
0  x 1 0    y 0 1 0     y  x 1 0 
   
0 0 0 1  0 0 0 1  0 0 0 1 

 1 0  y 0  1 0 0 0  1  x y  y 0
 
 0 1 0 0  0 1   x 0   0 1 x 0 
Rot ( y,  y ) Rot ( x,  x)   
 y 0 1 0  0  x 1 0     y  x 1 0 
  
 0 0 0 1  0 0 0 1   0 0 0 1 
ECE-141 Introduction to Robotics 18
Differential Rotations about a General Axis q

 Based on the previous slide, the order does not matter:


(d )q ( x)i  ( y ) j  ( z )k
Rot (q, d ) Rot ( x,  x) Rot ( y,  y ) Rot ( z ,  z )
1 0 0 0  1 0  y 0  1   z 0 0
 0 1   x 0  0 1 0 0   z 1 0 0
    
0  x 1 0    y 0 1 0  0 0 1 0
    
 0 0 0 1   0 0 0 1  0 0 0 1
 1 z  y 0 z

  x y   z   x y z  1   x 0  z q

  d
   y   x z  x   y z 1 0
  y
 0 0 0 1 
x
y
ECE-141 Introduction to Robotics x 19
Differential Rotations about a General Axis q

 Eliminating the higher-order differentials we get:

Rot (q, d ) Rot ( x,  x) Rot ( y,  y ) Rot ( z ,  z ) 


 1 z y 0
 z 1 x 0
 
 y  x 1 0
 
 0 0 0 1

ECE-141 Introduction to Robotics 20


Differential Rotations of a Frame

 Assume we may have differential translation and rotations.


 dT is the change in a frame. Therefore:

T  dT  [Trans(dx, dy, dz ) Rot (q, d )]T 


or  dT  [Trans (dx, dy, dz ) Rot (q, d )  I ] T 

 dT    T 
where    [Trans (dx, dy, dz ) Rot (q, d )  I ]

ECE-141 Introduction to Robotics 21


Differential Operator

 Differential Operator can be derived.


 It is NOT a frame or transformation matrix and it does not
follow the same requirements.

 0   z  y dx 
 z 0   x dy 
  
 y x 0 dz 
 
 0 0 0 0

ECE-141 Introduction to Robotics 22


The Differential Change

 Represents the changes in each of the elements in the


matrix representation of a frame.
 dnx dox dax dpx 
 dn do y da y dp y 
dT  y
 dnz doz daz dpz 
 
 0 0 0 0 
 The new frame is:
Tnew dT  Told

ECE-141 Introduction to Robotics 23


Differential Changes between Frames

 A differential change can be relative to the reference


frame or the current frame:

         
dT   T  T  T

T    T  T      
1 1
 T  T

   T    T   
T 1
 0  T z T
y T
dx 
 T 
 z 0  x
T T
dy 
  T y T
x 0 T
dz 
 
 0 0 0 0 
ECE-141 Introduction to Robotics 24
Differential Changes between Frames

 Differential change can be can be calculated directly, or


from:
T
 x δ n
T
 y δ o
T
 z δ a
T
d x n [δ p  d]
T
d y o [δ p  d]
T
d z a [δ p  d]
ECE-141 Introduction to Robotics 25
Differential Motions of a Robot and Its Hand
Frame

 The differential motions of the robot can be expressed by:

 dx     d1 
 dy     d 
     2
 dz   Robot   d3 
     or  D   J  D 
  x   Jacobian   d 4 
 y    d 5 
    
 z    d 6 

ECE-141 Introduction to Robotics 26


Differential Motions of a Robot and Its Hand
Frame

 Use the previous equation to relate the robot joint


differential motions to the end-effector motions,
 Use the data in D to form  .
 Calculate dT.
 Calculate the new position and orientation of the end-
effector
 Repeat.

ECE-141 Introduction to Robotics 27


Calculation of the Jacobian

 Direct derivation is possible for position equations, but not


practical for orientation.
 Indirect derivation, especially relative to the current frame
is easier and more practical.
 For:  T6 d x   T6 J11 T6 J12 . . . T6 J16   d1 
 T6   T6  
 d y   J 21
T6
J 22 . . . T6
J 26   d 2 
 T6 d z   T6 J 31 . . . . T6
J 36   . 
 T6   T6 T6  
  x   J 41 . . . . J 46   . 
 T6   T6 J . . . . T6
J 56   . 
 T y   T 51  
 6 z   6 J 61 . . . . T6
J 66   d 6 
ECE-141 Introduction to Robotics 28
Calculation of the Jacobian: Cont.

 If joint i under consideration is a revolute


joint:
T6
J1i ( nx p y  n y px )
T6
J 2i ( ox p y  o y px )
T6
J 3i ( ax p y  a y px )
T6
J 4i nz
T6
J 5i oz
T6
J 6i az
ECE-141 Introduction to Robotics 29
Calculation of the Jacobian: Cont.

 If joint i under consideration is a prismatic


joint: T6
J1i nz
T6
J 2i oz
T6
J 3i az
T6
J 4i 0
T6
J 5i 0
T6
J 6i 0
ECE-141 Introduction to Robotics 30
Calculation of the Jacobian: Cont.

 Where the information comes from:

For column 1, use oT6  A1 A2 A3 A4 A5 A6


For column 2, use 1T6  A2 A3 A4 A5 A6
For column 3, use 2T6  A3 A4 A5 A6
For column 4, use 3T6  A4 A5 A6
For column 5, use 4T6  A5 A6
For column 6, use 5T6  A6

ECE-141 Introduction to Robotics 31


Inverse Jacobian

 Inverse Jacobian is the real objective

 D   J  D 
 J  1   D   J  1   J  D 

 D   J  1   D 
 And similarly

 T6 J  1   T6 D   T6 J  1   T6 J   D 
T6  1
D  J   D 
   T6

ECE-141 Introduction to Robotics 32


Calculation of Inverse Jacobian

 Can be calculated from the Jacobian, but impractical for a


6 by 6 large matrix.
 Can be derived directly from the forward kinematic
equations instead.

ECE-141 Introduction to Robotics 33


Derivation of the Inverse Jacobian

 Example: 6-axis robot first joint:


px S1  p y C1 0
 py 
1
1 tan   and 1 1  180
 px 

px S1  p y C1
dpx S1  px C1d1 dp y C1  p y S1d1
d1 ( px C1  p y S1 )  dpx S1  dp y C1
 dpx S1  dp y C1
d1 
( px C1  p y S1 )
ECE-141 Introduction to Robotics 34
Derivation of the Inverse Jacobian: Cont.

 Similarly:
S 234 (C1ax  S1a y ) C234 az
C234 (d 2  d3  d 4 )(C1ax  S1a y )  S 234 [ a x S1d1  C1da x  a yC1d1  S1da y ]
 S234 (d 2  d3  d 4 )az  C234 daz

S 234 [ax S1d1  C1dax  a y C1d1  S1da y ]  C234da z


( d 2  d 3  d 4 ) 
C234 (C1ax  S1a y )  S 234 a z

ECE-141 Introduction to Robotics 35


Derivation of the Inverse Jacobian: Cont.

 and:
2a2 a3C3 ( pxC1  p y S1  C234 a4 ) 2  ( p z  S 234a4 ) 2  a22  a32

 2a2 a3 S3d3 2( pxC1  p y S1  C234 a4 )


[C1dpx  px S1d1  S1dp y  p y C1d1  a4 S 234 (d 2  d3  d 4 )]
 2( pz  S 234 a4 )[dpz  a4C234 (d 2  d3  d 4 )]

ECE-141 Introduction to Robotics 36


Derivation of the Inverse Jacobian: Cont.

 and similarly, equations for the remaining can be derived,


including:

S6  S 234 (C1nx  S1n y )  C234 nz

C6 d 6  C234 (C1nx  S1n y )(d 2  d3  d 4 )


 S 234 ( S1nx d1  C1dnx  C1n y d1  S1dn y )
 S 234 nz (d 2  d3  d 4 )  C234 dnz

ECE-141 Introduction to Robotics 37


Derivation of the Inverse Jacobian: Cont.

 These equations may be used to control the differential


motions of the robot.

ECE-141 Introduction to Robotics 38


Calculation of Jacobian with screw-based
mechanics

 Same principles apply. The meaning and the use of


Jacobians is similar in screw-based mechanics. The
derivation is different. ŝ 3

ŝ4
ŝ2

S3 S4 z
ŝ1

S2
x
Fixed
base

S1 y

ECE-141 Introduction to Robotics 39


Cont.

 Denoting the Jacobian of the robot as J, we write:


  
 v  J   D
 
 

  is the vector of angular velocities of the end effector


with respect to the reference frame, v is the vector of
linear velocities of the end effector with respect to the
reference frame, and  D   is the angular velocities of the
joints

ECE-141 Introduction to Robotics 40


Cont.

ECE-141 Introduction to Robotics 41


Cont.

ECE-141 Introduction to Robotics 42


Process of calculating the Jacobian

ECE-141 Introduction to Robotics 43


Cont.

ECE-141 Introduction to Robotics 44


Cont.

ECE-141 Introduction to Robotics 45


Example

 Intermediate reference frame at z4 (s5)

zU zn

ŝ1 ŝ5
a4
a2 ŝ3 a3 ŝ6
ŝ2 xU xn
ŝ4

ECE-141 Introduction to Robotics 46


Joint 5:

ECE-141 Introduction to Robotics 47


Joint 6:

ECE-141 Introduction to Robotics 48


Joint 4:

ECE-141 Introduction to Robotics 49


Joint 3:

ECE-141 Introduction to Robotics 50


Joint 2:

ECE-141 Introduction to Robotics 51


Joint 1:

ECE-141 Introduction to Robotics 52


Jacobian:
 S234 0 0 0 0 S5 
 0 1 1 1 0  C5 
 
5
 C234 0 0 0 1 0 
j  
 0 a2 S34  a3S4 a3 S 4 0 0 0 
 a2C2  a3C23  a4C234 0 0 0 0 0 
 
 0 a2C34  a3C4  a4 a3C4  a4 a4 0 0 
5
x S2341  S56
5
 y  
2   3   4  C5 6
5
z C2341  5
5
v x a2 S34
2  a3 S 4 ( 2   3 )
5
v y ( a2C2  a3C23  a4C234 )1
5
v z ( a2C34  a3C4  a4 )
2  ( a3C4  a4 ) 3  a45

ECE-141 Introduction to Robotics 53


Inverse Jacobian

 Inverting the matrix is too involved.


 Direct differentiation is easier and quicker.

ECE-141 Introduction to Robotics 54


Jacobian of parallel robots

ECE-141 Introduction to Robotics 55


Cont.

ECE-141 Introduction to Robotics 56


Example: Jacobian of 6-6 Stewart platform

 We write 6 loop equations and differentiate


them to form the Jacobian as follows
P  bi ai  d i for i 1 6 B3
B4 d̂1
B2
P b1
P  b bi d i +di d i B5

B6
B1

A3
P
A4 A2
zo d1
yo
O a1
xo
A5 A1

A6
ECE-141 Introduction to Robotics 57
Notes:

ECE-141 Introduction to Robotics 58


Derivation:

ECE-141 Introduction to Robotics 59


CHAPTER FIVE
DIFFERENTIAL MOTIONS AND
VELOCITIES
Dr. Sohail Khan

ECE-141 Introduction to Robotics 60


Introduction to Robotics: Analysis, Control, Applications, Third Edition.
Saeed B. Niku.
© 2020 John Wiley & Sons Ltd. Publishe

This solution manual may not be copied, posted, made available to students,
placed on any outlet, any other electronic media system, and the Internet
without prior expressed consent of the copyright owner.
This material may not be used except in conjunction with the “Introduction to
Robotics: Analysis, Control, Applications”

ECE-141 Introduction to Robotics 61


Introduction

 Differential motions, divided by differential time intervals,


constitute velocity relationships.
 We cover :
 Differential motions of frames
 Differential motions of robots
 Relationship between the above

ECE-141 Introduction to Robotics 62


Differential Motions of a 2-DOF Mechanism

 A mechanism and its velocity diagram


v B v A  v B / A
. . .
l1 1 [ to l1 ]  l2 (1   2 )[ to l2 ]
. . . . . .
 l1 1 sin 1i  l1 1 cos 1 j  l2 (1   2 ) sin(1   2 )i  l2 (1   2 ) cos(1   2 ) j
y

B
y

l2
VB/A

2
l1 VA
A VB

o 1 x x

(a) (b)
ECE-141 Introduction to Robotics 63
Differential Motions

 In matrix form we get:

 vBx   .
  l1 sin 1  l2 sin(1   2 )  l2 sin(1   2 )   1 
    .
 vBy  l
 1 cos   l cos(   ) l cos(   )
2 
2 
1 2 1 2 2 1

 Differential motions are the product of the Jacobian and


the joint differential motions

ECE-141 Introduction to Robotics 64


Differential Motions

 The same relationship can be derived from direct


differentiation:
 xB l1 cos 1  l2 cos(1   2 )

 yB l1 sin 1  l2 sin(1   2 )
dxB  l1 sin 1d1  l2 sin(1   2 )(d1  d 2 )

dyB l1 cos 1d1  l2 cos(1   2 )(d1  d 2 )
 dxB    l1 sin 1  l2 sin(1   2 )  l2 sin(1   2 )   d1 
 dy   l cos   l cos(   ) l cos(   )   d 
 B  1 1 2 1 2 2 1 2   2

Differential Jacobian Differential


motion of B ECE-141 Introduction to Robotics motion of joints65
The meaning of a Jacobian

 A representation of the configuration of the mechanism


Resulting
motion
B

Re
m sulti
ot ng
io
A n
B
1

Resultin
motion
g
o o o
A B A
1 1

ECE-141 Introduction to Robotics 66


What is the Jacobian
 For an equation in the form of
yi  fi ( x1 , x2 , x3 ,..., x j )
 The derivatives are:
 f1 f1 f1
 y 
 1 x 1 x  x   x 2  L   xj
x j
 1 2

 f 2 f 2 f 2
 y2   x1   x2  L   xj
 x1 x2 x j
M

 f i f i f i
 y 
 i x 1 x  x   x2  L   xj
 1 2 x j
ECE-141 Introduction to Robotics 67
Jacobian
 This can be rearranged into:

 f1 f1 f1 


  y1   x    x1 
  x2 x j  
 1 
   f 2  
  y2   K K K    x2   fi 
   x1   or  yi      x j 
   M    x j 
 M    M
   fi fi   
  yi   x
 x1
 x j   j 

ECE-141 Introduction to Robotics 68


Robot’s Jacobian
 For a robot, we get:

 dx     d1 
 dy     d 
     2
 dz   Robot   d3 
     or  D   J  D 
  x   Jacobian   d 4 
 y    d5 
    
 z    d 6 

ECE-141 Introduction to Robotics 69


Differential versus Large-Scale Motions

 Large scale motions happen once; differential motions


happen continuously.
 The final consequences are different.

l

B C

l
l A 

ECE-141 Introduction to Robotics 70


Differential Motions of a Frame versus a Robot

 A frame may move by any means, including as a result of


the motions of a robot arm when the frame is attached to
the end effector.
 We will study the differential motions of a frame and of a
robot separately, then combine them together.

z z
z
o' Hand differential
o n' o'
a' motions a' o n'
a n a n

Joint differential bot


Ro
motions

x y x y x
y
ECE-141 Introduction to Robotics 71
Differential Motions of a Frame

 Differential motions of a frame can be divided into the


following:
 Differential translations
 Differential rotations
 Differential transformations (combinations of translations
and rotations)

ECE-141 Introduction to Robotics 72


Differential Translations

 The translation of a frame at differential values or


Trans(dx,dy,dz). This means the frame has moved a
differential amount along the x-, y-, and z-axes.

ECE-141 Introduction to Robotics 73


Differential Rotations about Reference Axes

 Small rotations of the frame, represented by


Rot (q, d )
 Differential rotations about the x-, y-, and z-
axes are defined by  x,  y ,  z.

ECE-141 Introduction to Robotics 74


Differential trigonometric functions

 We use the following relationships:

sin  x  x (in radians)


cos  x 1

ECE-141 Introduction to Robotics 75


Differential Rotations about Reference Axes

1 0 0 0 1 0 0 0
0 1   x 0 0 1  n 0
Rot ( x,  x )    Rot ( n,  n)   
0 x 1 0 0 n 1 0
   
0 0 0 1 0 0 0 1

 1 0  y 0  1 0 o 0
 0 1 0 0  0 1 0 0
Rot ( y ,  y )    Rot (o,  o)   
y 0 1 0  o 0 1 0
   
 0 0 0 1  0 0 0 1

 1 z 0 0  1 a 0 0
 z 1 0 0  a 1 0 0
Rot ( z ,  z )    Rot ( a ,  a )   
0 0 1 0 0 0 1 0
   
0 0 0 1 0 0 0 1
ECE-141 Introduction to Robotics 76
Multiple Differential Rotations about Reference
Axes

 Multiple differential rotations:


 Results are order-dependent
 If higher-order differentials are eliminated, the results are the same.

1 0 0 0  1 0 y 0  1 0 y 0
 
0 1   x 0  0 1 0 0    x y 1   x 0 
Rot ( x,  x) Rot ( y,  y )   
0  x 1 0    y 0 1 0     y  x 1 0 
   
0 0 0 1  0 0 0 1  0 0 0 1 

 1 0  y 0  1 0 0 0  1  x y  y 0
 
 0 1 0 0  0 1   x 0   0 1 x 0 
Rot ( y,  y ) Rot ( x,  x)   
 y 0 1 0  0  x 1 0     y  x 1 0 
  
 0 0 0 1  0 0 0 1   0 0 0 1 
ECE-141 Introduction to Robotics 77
Differential Rotations about a General Axis q

 Based on the previous slide, the order does not matter:


(d )q ( x)i  ( y ) j  ( z )k
Rot (q, d ) Rot ( x,  x) Rot ( y,  y ) Rot ( z ,  z )
1 0 0 0  1 0  y 0  1   z 0 0
 0 1   x 0  0 1 0 0   z 1 0 0
    
0  x 1 0    y 0 1 0  0 0 1 0
    
 0 0 0 1   0 0 0 1  0 0 0 1
 1 z  y 0 z

  x y   z   x y z  1   x 0  z q

  d
   y   x z  x   y z 1 0
  y
 0 0 0 1 
x
y
ECE-141 Introduction to Robotics x 78
Differential Rotations about a General Axis q

 Eliminating the higher-order differentials we get:

Rot (q, d ) Rot ( x,  x) Rot ( y,  y ) Rot ( z ,  z ) 


 1 z y 0
 z 1 x 0
 
 y  x 1 0
 
 0 0 0 1

ECE-141 Introduction to Robotics 79


Differential Rotations of a Frame

 Assume we may have differential translation and rotations.


 dT is the change in a frame. Therefore:

T  dT  [Trans(dx, dy, dz ) Rot (q, d )]T 


or  dT  [Trans (dx, dy, dz ) Rot (q, d )  I ] T 

 dT    T 
where    [Trans (dx, dy, dz ) Rot (q, d )  I ]

ECE-141 Introduction to Robotics 80


Differential Operator

 Differential Operator can be derived.


 It is NOT a frame or transformation matrix and it does not
follow the same requirements.

 0   z  y dx 
 z 0   x dy 
  
 y x 0 dz 
 
 0 0 0 0

ECE-141 Introduction to Robotics 81


The Differential Change

 Represents the changes in each of the elements in the


matrix representation of a frame.
 dnx dox dax dpx 
 dn do y da y dp y 
dT  y
 dnz doz daz dpz 
 
 0 0 0 0 
 The new frame is:
Tnew dT  Told

ECE-141 Introduction to Robotics 82


Differential Changes between Frames

 A differential change can be relative to the reference


frame or the current frame:

         
dT   T  T  T

T    T  T      
1 1
 T  T

   T    T   
T 1
 0  T z T
y T
dx 
 T 
 z 0  x
T T
dy 
  T y T
x 0 T
dz 
 
 0 0 0 0 
ECE-141 Introduction to Robotics 83
Differential Changes between Frames

 Differential change can be can be calculated directly, or


from:
T
 x δ n
T
 y δ o
T
 z δ a
T
d x n [δ p  d]
T
d y o [δ p  d]
T
d z a [δ p  d]
ECE-141 Introduction to Robotics 84
Differential Motions of a Robot and Its Hand
Frame

 The differential motions of the robot can be expressed by:

 dx     d1 
 dy     d 
     2
 dz   Robot   d3 
     or  D   J  D 
  x   Jacobian   d 4 
 y    d 5 
    
 z    d 6 

ECE-141 Introduction to Robotics 85


Differential Motions of a Robot and Its Hand
Frame

 Use the previous equation to relate the robot joint


differential motions to the end-effector motions,
 Use the data in D to form  .
 Calculate dT.
 Calculate the new position and orientation of the end-
effector
 Repeat.

ECE-141 Introduction to Robotics 86


Calculation of the Jacobian

 Direct derivation is possible for position equations, but not


practical for orientation.
 Indirect derivation, especially relative to the current frame
is easier and more practical.
 For:  T6 d x   T6 J11 T6 J12 . . . T6 J16   d1 
 T6   T6  
 d y   J 21
T6
J 22 . . . T6
J 26   d 2 
 T6 d z   T6 J 31 . . . . T6
J 36   . 
 T6   T6 T6  
  x   J 41 . . . . J 46   . 
 T6   T6 J . . . . T6
J 56   . 
 T y   T 51  
 6 z   6 J 61 . . . . T6
J 66   d 6 
ECE-141 Introduction to Robotics 87
Calculation of the Jacobian: Cont.

 If joint i under consideration is a revolute


joint:
T6
J1i ( nx p y  n y px )
T6
J 2i ( ox p y  o y px )
T6
J 3i ( ax p y  a y px )
T6
J 4i nz
T6
J 5i oz
T6
J 6i az
ECE-141 Introduction to Robotics 88
Calculation of the Jacobian: Cont.

 If joint i under consideration is a prismatic


joint: T6
J1i nz
T6
J 2i oz
T6
J 3i az
T6
J 4i 0
T6
J 5i 0
T6
J 6i 0
ECE-141 Introduction to Robotics 89
Calculation of the Jacobian: Cont.

 Where the information comes from:

For column 1, use oT6  A1 A2 A3 A4 A5 A6


For column 2, use 1T6  A2 A3 A4 A5 A6
For column 3, use 2T6  A3 A4 A5 A6
For column 4, use 3T6  A4 A5 A6
For column 5, use 4T6  A5 A6
For column 6, use 5T6  A6

ECE-141 Introduction to Robotics 90


Inverse Jacobian

 Inverse Jacobian is the real objective

 D   J  D 
 J  1   D   J  1   J  D 

 D   J  1   D 
 And similarly

 T6 J  1   T6 D   T6 J  1   T6 J   D 
T6  1
D  J   D 
   T6

ECE-141 Introduction to Robotics 91


Calculation of Inverse Jacobian

 Can be calculated from the Jacobian, but impractical for a


6 by 6 large matrix.
 Can be derived directly from the forward kinematic
equations instead.

ECE-141 Introduction to Robotics 92


Derivation of the Inverse Jacobian

 Example: 6-axis robot first joint:


px S1  p y C1 0
 py 
1
1 tan   and 1 1  180
 px 

px S1  p y C1
dpx S1  px C1d1 dp y C1  p y S1d1
d1 ( px C1  p y S1 )  dpx S1  dp y C1
 dpx S1  dp y C1
d1 
( px C1  p y S1 )
ECE-141 Introduction to Robotics 93
Derivation of the Inverse Jacobian: Cont.

 Similarly:
S 234 (C1ax  S1a y ) C234 az
C234 (d 2  d3  d 4 )(C1ax  S1a y )  S 234 [ a x S1d1  C1da x  a yC1d1  S1da y ]
 S234 (d 2  d3  d 4 )az  C234 daz

S 234 [ax S1d1  C1dax  a y C1d1  S1da y ]  C234da z


( d 2  d 3  d 4 ) 
C234 (C1ax  S1a y )  S 234 a z

ECE-141 Introduction to Robotics 94


Derivation of the Inverse Jacobian: Cont.

 and:
2a2 a3C3 ( pxC1  p y S1  C234 a4 ) 2  ( p z  S 234a4 ) 2  a22  a32

 2a2 a3 S3d3 2( pxC1  p y S1  C234 a4 )


[C1dpx  px S1d1  S1dp y  p y C1d1  a4 S 234 (d 2  d3  d 4 )]
 2( pz  S 234 a4 )[dpz  a4C234 (d 2  d3  d 4 )]

ECE-141 Introduction to Robotics 95


Derivation of the Inverse Jacobian: Cont.

 and similarly, equations for the remaining can be derived,


including:

S6  S 234 (C1nx  S1n y )  C234 nz

C6 d 6  C234 (C1nx  S1n y )(d 2  d3  d 4 )


 S 234 ( S1nx d1  C1dnx  C1n y d1  S1dn y )
 S 234 nz (d 2  d3  d 4 )  C234 dnz

ECE-141 Introduction to Robotics 96


Derivation of the Inverse Jacobian: Cont.

 These equations may be used to control the differential


motions of the robot.

ECE-141 Introduction to Robotics 97


Calculation of Jacobian with screw-based
mechanics

 Same principles apply. The meaning and the use of


Jacobians is similar in screw-based mechanics. The
derivation is different. ŝ 3

ŝ4
ŝ2

S3 S4 z
ŝ1

S2
x
Fixed
base

S1 y

ECE-141 Introduction to Robotics 98


Cont.

 Denoting the Jacobian of the robot as J, we write:


  
 v  J   D
 
 

  is the vector of angular velocities of the end effector


with respect to the reference frame, v is the vector of
linear velocities of the end effector with respect to the
reference frame, and  D   is the angular velocities of the
joints

ECE-141 Introduction to Robotics 99


Cont.

ECE-141 Introduction to Robotics 100


Cont.

ECE-141 Introduction to Robotics 101


Process of calculating the Jacobian

ECE-141 Introduction to Robotics 102


Cont.

ECE-141 Introduction to Robotics 103


Cont.

ECE-141 Introduction to Robotics 104


Example

 Intermediate reference frame at z4 (s5)

zU zn

ŝ1 ŝ5
a4
a2 ŝ3 a3 ŝ6
ŝ2 xU xn
ŝ4

ECE-141 Introduction to Robotics 105


Joint 5:

ECE-141 Introduction to Robotics 106


Joint 6:

ECE-141 Introduction to Robotics 107


Joint 4:

ECE-141 Introduction to Robotics 108


Joint 3:

ECE-141 Introduction to Robotics 109


Joint 2:

ECE-141 Introduction to Robotics 110


Joint 1:

ECE-141 Introduction to Robotics 111


Jacobian:
 S234 0 0 0 0 S5 
 0 1 1 1 0  C5 
 
5
 C234 0 0 0 1 0 
j  
 0 a2 S34  a3S4 a3 S 4 0 0 0 
 a2C2  a3C23  a4C234 0 0 0 0 0 
 
 0 a2C34  a3C4  a4 a3C4  a4 a4 0 0 
5
x S2341  S56
5
 y  
2   3   4  C5 6
5
z C2341  5
5
v x a2 S34
2  a3 S 4 ( 2   3 )
5
v y ( a2C2  a3C23  a4C234 )1
5
v z ( a2C34  a3C4  a4 )
2  ( a3C4  a4 ) 3  a45

ECE-141 Introduction to Robotics 112


Inverse Jacobian

 Inverting the matrix is too involved.


 Direct differentiation is easier and quicker.

ECE-141 Introduction to Robotics 113


Jacobian of parallel robots

ECE-141 Introduction to Robotics 114


Cont.

ECE-141 Introduction to Robotics 115


Example: Jacobian of 6-6 Stewart platform

 We write 6 loop equations and differentiate


them to form the Jacobian as follows
P  bi ai  d i for i 1 6 B3
B4 d̂1
B2
P b1
P  b bi d i +di d i B5

B6
B1

A3
P
A4 A2
zo d1
yo
O a1
xo
A5 A1

A6
ECE-141 Introduction to Robotics 116
Notes:

ECE-141 Introduction to Robotics 117


Derivation:

ECE-141 Introduction to Robotics 118

You might also like