You are on page 1of 30

Jacobians:

Velocities and Static Force

1
Kinematics Relations - Joint & Cartesian Spaces

 A robot is often used to manipulate object attached to its tip (end


effector).
 The location of the robot tip may be specified using one of the
following descriptions:

 Joint Space
 1  {N}
 
  2

 
 N 

 Cartesian Space

 R
0 0
PN   
 0 PN 
X  0 
T 
 
0 N
N 
 0 1   rN 
2
Kinematics Relations – Forward & Inverse

 The robot kinematic equations relate the two description of the


robot tip location

X  FK ( )
 1 
 
  2  
 0 PN 
X  0 

 
 
 rN 
 N 

  IK ( X )
Tip Location in Tip Location in
Joint Space Cartesian Space

3
Kinematics Relations – Forward & Inverse

 vx 
 1  v 
   y
d 
  [ ]   2  d  
 v  v 
X  [ X ]   N    z 
dt 
 
dt  
  N   x 
 N   y 
 
 z 
Tip Velocity in Tip velocity in
Joint Space Cartesian Space

4
Jacobian Matrix - Introduction

 The Jacobian is a multi dimensional form of the derivative.


 Suppose that for example we have 6 functions, each of which is a
function of 6 independent variables

y1  f1 ( x1 , x2 , x3 , x4 , x5 , x6 )
y2  f 2 ( x1 , x2 , x3 , x4 , x5 , x6 )

y6  f 6 ( x1 , x2 , x3 , x4 , x5 , x6 )

 We may also use a vector notation to write these equations as

Y  F(X )

5
Jacobian Matrix - Introduction
 If we wish to calculate the differential of yi as a function of the
differential xi we use the chain rule to get

f1 f f
y1  x1  1 x2    1 x6
x1 x2 x6
f 2 f f
y 2  x1  2 x2    2 x6
x1 x2 x6

f 6 f f
y 6  x1  6 x2    6 x6
x1 x2 x6

 Which again might be written more simply using a vector notation as

F
Y  X
X
6
Jacobian Matrix - Introduction
 The 6x6 matrix of partial derivative is defined as the Jacobian
matrix
F
Y  X  J ( X )X
X

 By dividing both sides by the differential time element, we can think


of the Jacobian as mapping velocities in X to those in Y

Y  J ( X ) X

 Note that the Jacobian is time varying linear transformation

7
Jacobian Matrix - Introduction

 In the field of robotics the


Jacobian matrix describe the
relationship between the joint
angle rates (  N ) and the
translation and rotation velocities
of the end effector ( x  ). This
relationship is given by:

x  J  

  J  1 x

8
Jacobian Matrix - Introduction
 This expression can be expanded to:

 x     1 
 y     
     2 
 z   J    
   
 x    
 y    
     
 z     N 
6x1 6xN Nx1

 Where:
 x is a 6x1 vector of the end effector linear and angular velocities
 J   is a 6xN Jacobian matrix
  N is a Nx1 vector of the manipulator joint velocities
 N is the number of joints
9
Motion of the Link of a Robot
• In considering the motion of a robot link we will always use link
frame {0} as the reference.

Where: vi- is the linear velocity of the origin of link frame (i)
with respect to frame {0} (Computed AND Represented)
 i - is the angular velocity of the origin of link frame (i)
with respect to frame {0} (Computed AND Represented)

10
Velocity of Adjacent Links – Summary
 Angular Velocity
0 - Prismatic Joint

 0 
i 1
i 1 i i1Rii   0 
 
i 1 

 Linear Velocity
0 - Revolute Joint

 0 
i 1
vi 1  i i1R  ii  i Pi 1  i vi    0 
 di 1 

11
Angular and Linear Velocities – 2links Robot - Example
i j k
  P  x y  z  i ( y Pz   z Py )  j ( x Pz   z Px )  k ( x Py   y Px )
Px Py Pz

c1  s1 0 0 1 0 0 l 2
 s1 c1  0 1 0 0 
 3T  
0 0 2
1T 
0 
0 0 1 0 0 0 1 0
   
0 0 0 1 0 0 0 1

c 2  s 2 0 l1
 s2 c2 0 0 
2T 
1 
0 0 1 0
 
12
0 0 0 1
Angular and Linear Velocities – 2links Robot - Example
 0 
i 1
i 1 i i1Rii   0 
i 1 
 For i=0
 0   c1 s1 0 0  0   0 
1
1 01R 00   0    s1 c1 0 0   0    0 
1   0 0 1 0 1  1 
 For i= 1

 0   c2 s 2 0  0   0   0 
2
2  12 R 11   0     s 2 c 2 0   0    0    0 
 2   0 0 1  1   2  1   2 

13
Angular and Linear Velocities – 2links Robot - Example
For i=2
1 0 0   0   0 
3
3  23 R 22  0  0 1 0   0    0 
0 0 1  1   2  1   2 

 0 
i 1
vi 1  i i1R  ii  i Pi 1  i vi    0 
 di 1 
For i=0

 c1 s1 0  0 0 0  0


v1  01R00 0 P1  0v0    s1 c1 0  0  0  0   0
1  
         
 0 0 1  0 0 0  0
14
Angular and Linear Velocities – 2links Robot - Example
For i=1
 c 2 s 2 0    0  l1 0  
 
2
v2  12 R  11  1P2  1v1    s 2 c 2 0    0    0   0  
 0 0 1   1   0  0  
 c 2 s 2 0   0  l1s 21 
 
   s 2 c 2 0  l11   l1c 21 
 0 0 1   0   0 

For i=2
1 0 0    0  l 2  l1s 21  
  
3
v3  23 R  22  2 P3  2 v2   0 1 0    0    0   l1c 21  
0 0 1   1   2   0   0  
 

15
Angular and Linear Velocities – 2links Robot - Example
 c1  s1 0  c 2  s 2 0  c1c 2  s1s 2 c1s 2  s1c2 0 
 c1 0  s 2 c 2 0   s1c 2  c1s 2  s1s 2  c1c 2 0 
2 R   s1
0
   
 0 0 1   0 0 1   0 0 1 
 c12  s12 0
  s12 c12 0  30 R
 
 0 0 1 

 c12  s12 0  l1s 21 


 
0 0 3 


 
v3  3 R  v3  s12 c12 0 l1c 21  l 2 1   2  
 0 0 1   0

 

16
x  J  

1 
  
 2 

17
Angular and Linear Velocities - 3R Robot -
Example
 For the manipulator shown in the figure, compute the angular and
linear velocity of the “tool” frame relative to the base frame
expressed in the “tool” frame (that is, calculate 4 and 4 v4 ).
4
Angular and Linear Velocities - 3R Robot -
Example
 Frame attachment
Angular and Linear Velocities - 3R Robot -
Example
 DH Parameters

i  i 1 ai 1 di i
1 0 0 0 1
2 90 L1 0 2
3 0 L2 0 3
4 0 L3 0 0
Angular and Linear Velocities - 3R Robot -
Example
 From the DH parameter table, we can specify the homogeneous
transform matrix for each adjacent link pair:

 c i  s i 0 ai 1  c1  s1 0 0
 s c c  c   s  s d   s1 c1 0 0
i 1
iT 
 i i 1 i i 1 i 1 i 1 i 
1T 
0  
 s i si 1 c i si 1 ci 1 ci 1d  0 0 1 0
   
 0 0 0 1  0 0 0 1

c2  s 2 0 L1 1 0 0 L3


c3  s 3 0 L 2 0
0  
 s3 c3 0 0
0 0
0 1 0 1
2T 
1   4T 
3  
 s2 c2 0 0 3T 
2   0 0 1 0
  0 0 1 0  
 0 0 0 1    0 0 0 1
0 0 0 1
 Compute the angular velocity of the end effector frame relative to the
base frame expressed at the end effector frame.

 0 
i 1
i 1 i i1Rii   0 
 
i 1 

 For i=0

 0   c1 s1 0 0  0   0 
1
1 01R 00   0    s1 c1 0 0   0    0 
        
1   0 0 1 0 1  1 

22
 For i=1
 0   c2 0 s 2  0   0   s 21 
 
2
2 12R11   0    s 2 0 c 2  0    0   c 21 
2   0  1 0  1  2   2 
 For i=2

 0   c3 s3 0  s 21   0   s 231 
          
3
3  2 R  2  0   s3 c3 0 c21   0   c231 
3 2
     
3   0 0 1  2  3  2  3 
 For i=3
0 1 0 0  s 231  0  s 231 
           
4
4 3 R 3  0  0 1 0  c231   0   c231 
4 3
     
 Note 0 0 0 1 2  3  0 2  3 

23 3  4 4
3
 Compute the linear velocity of the end effector frame relative to
the base frame expressed at the end effector frame.
 Note that the term involving the prismatic joint has been dropped
from the equation (it is equal to zero).

0
 0 
i 1
vi 1 i i1Ri i Pi 1 ivi    0 
 
di 1 

24
 For i=0

 c1 s1 0  0 0 0  0


v1  01R00 0 P1  0v0    s1 c1 0  0  0  0   0
1  
         
 0 0 1  0 0 0  0
 For i=1

 c2 0 s 2  0   L1 0   0 
v2 12R111P2 1v1   s 2 0 c 2  0    0   0    0 
2  

 0  1 0  1   0  0   L11 

25
 For i=3
 c3 s3 0  s 21   L 2  0  
      
3
v3  2 R 2  P3  v2    s3 c30 0 c 21    0    0  
3 2 2 2   
 0 0 1  2   0   L11  

 c3 s 3 0    0   L 2s32 
  s3 c3 0 

L 21     
  L 2c 3 2 
 0 0 1  L 2c 21  L11   ( L1  L 2c 2)1 

For i=4
1 0 0  s 231   L3  L 2s32 
   
4
v4  34R33 3 P4  3v3   0 1 0  c 231    0    L 2c32 
0 0 1 2  3   0  ( L1  L 2c 2)1  
 
 L 2s32 
   
  ( L 2c3  L3) 2  L3 3 
( L1  L 2c 2  L3c 23)1 
26  
Angular and Linear Velocities - 3R Robot -
Example

v4  04R 14 v4  04RT 4 v4  40R 4 v4

4  04R 14 4  04RT 4 4  40R 4 4

27
Jacobian: Velocity propagation
 Therefore the recursive expressions for the adjacent joint linear and
angular velocities can be used to determine the Jacobian in the end
effector frame
N
X  N J  

 This equation can be expanded to:

1
N
 x 
 y   
  N
  2
 
 z   vN  
  
N
N 
X      N  J  
   
  x  N     
 y   
   
 z   N 
28
Jacobian - 3R - Example
 The linear angular velocities of the end effector (N=4)
 L2 s32   s 231 
   
4
v4   ( L2c3  L3)2  L33  4
4   c231 
(  L1  L2c2  L3c23)1  2  3 
   

 L 2 s32 
4
 x 
 y     L3 
   ( L 2c 3  L 3) 2 3 

4 
 z   4 v4  ( L1  L 2c 2  L3c 23)1 
X     4    
 
 x   4   s 231 
 y   c 231 
   
  z   
 2  3 

29
Jacobian - 3R - Example
Jacobian matrix is expressed in frame {4}

4
X  4J  
4 4
 x   0 L 2 s3 0
 y   0 L 2c 3  L 3 L 3
    1 
 z   L1  L 2c 2  L3c 23 0 0   
     2 
 x   s 23 0 0   
 y   0  
3
c 23 0
   
  z   0 1 1 

 The equations for


N
v N and N  N are always a linear combination
of the joint velocities, so they can always be used to find the 6xN
Jacobian matrix ( N J   ) for any robot manipulator.
30