Download as pdf or txt
Download as pdf or txt
You are on page 1of 28

CHAPTER 3: Jacobians: Velocities and Static Forces

Introduction

Expand our consideration of robot manipulators beyond static-


positioning problem:
– Examine notions of linear and angular velocity of a rigid body and use
concepts to analyze motion of manipulator.
– Consider forces acting on a rigid body, study application of static forces
with manipulator.

Study of both velocities and static forces leads to a matrix entity called
Jacobin of manipulator.
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.1 Velocity of rigid bodies
1. Notation for Time-Varying Position and Orientation
• Differentiation of position vectors
d B B
Q(t  t )  BQ(t )
VQ 
B
Q  lim
dt t 0 t
– Velocity of position vector can be thought of as linear velocity of point
in space represented by position vector.
– It is important to indicate frame in which vector is differentiated.
– Velocity vector can be described in terms of any frame.
d B
( VQ )  A (
A B
Q )  BA R BVQ
dt
• Angular velocity vector
ΩB : Describes rotation of {B} relative to {A}. Direction of ΩB indicates
A A

instantaneous axis of rotation of {B} relative to {A}, magnitude indicates


speed of rotation. Angular velocity vector may be expressed in any
coordinate system.
( ΩB )  CA R AΩB
C A
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.1 Velocity of rigid bodies
Transformation of free vector:
– Line vector: dependent on its line of action, along with direction and
magnitude, for causing its effects.
– Free vector: may be positioned anywhere in space without loss or
change of meaning, provided that magnitude and direction are
preserved.

Only rotation matrix relating two systems is used in transforming. Relative


locations of origins do not enter into calculation.
A
N  BA R B N ; V  BA R BV
A

Equality and equivalence of vectors.


CHAPTER 3: Jacobians: Velocities and Static Forces
§3.1 Velocity of rigid bodies

2. Velocity of Rigid Bodies


• Linear velocity
A A
{B} attached to rigid body, {A} is fixed: { B R, PBORG }
Assume that orientation is not changing with time, motion of point Q
A B
relative to {A} is due to PBORG or Q changing in time.

A
VQ  AVBORG  BA R BVQ

• Rotational velocity
• Two frames with coincident origins and zero linear relative velocity.
• Orientation of {B} with respect to {A} is
changing in time, ΩB .
A

• Vector Q is constant, BVQ  0 .


How does a vector, BQ , change with time as
viewed from {A}?
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.1 Velocity of rigid bodies

Intuitive method: Figure out both direction and magnitude of change in


vector as viewed form {A} for two instants of time.
Differential change Q must be perpendicular to both ΩB and Q .
A A

Q  ( AQ sin  )( AΩB t )  A
VQ  AΩB  AQ
 x   k x 
   
Ω   y    k y    Kˆ
If vector Q also change with respect to {B}:
   k  
 z  z 

VQ  A ( BVQ )  AΩB  AQ  BA R BVQ  AΩB  BA R BQ


A

• Simultaneous linear and rotational velocity


Expand to case where origins are not
coincident.
VQ  AVBORG  BA R BVQ  AΩB  BA R BQ
A
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.1 Velocity of rigid bodies

• More on Angular Velocity


1) Property of derivative of orthonormal matrix
RRT  I n  RRT  RRT  RRT  ( RRT )T  0n
S  RRT  S  S T  0n

2) Skew-symmetric matrix and vector cross-product

 0  z y   x 
   
S   z 0   x  , Ω   y   SP  Ω  P  any vector 
  y x 0   
  z

3) Velocity of point due to rotating reference frame


Fixed vector B P unchanging w.r.t {B}. If {B} is rotating, A P will be
changing.
A
P  AVP  BA R B P  BA R BA R1 A P  BAS A P  AΩB  A P
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.1 Velocity of rigid bodies

4) Physical insight concerning angular-velocity vector


Derive Ω by direct differentiation of rotation matrix:
R(t  t )  R(t ) R (  )  I 3 R (  )  I 3
R  lim  lim( Kˆ R(t ))  lim( Kˆ ) R( t )
t  0 t  t  0 t  t  0 t

 k x k x v  c k x k y v   k z s  k x k z v   k y s   
 
RKˆ (  )   k x k y v  k z s k y k y v   c   k y k z v   k x s   
 k x k z v  k y s k y k z v   k x s   k z k z v  c 

 1  k z  k y  
sin(  )    
  RKˆ (  )   k z  1  k x  
cos(  )  1  k y  k x  1 

 0 k z  k y  
 
 k z  0 k x  
 0 k z  k y    0  z y 
 k y  k x  0     
R  lim( ) R(t )   k z  0 k x   R(t )  RR 1    z 0  x 
t 0 t
 k y  k x  0    y x 0 

CHAPTER 3: Jacobians: Velocities and Static Forces
§3.2 Motion of links of robot

1. Velocity propagation from link to link


Manipulator is a chain of bodies, each one capable of motion relative to
its neighbors. Compute velocity of each link in order, starting from base.
Velocity of link i+1 will be that of link i, plus new velocity components were
added by joint i+1.

2. Rotational velocity
Rotational velocities can be added when both ω are written with respect
to same frame.
i
ωi 1  i ωi  i 1i R i 1 i 1Zˆ i 1 , ωi 1  i i1R i ωi   i 1 i 1 Zˆ i 1
i 1

3. Linear velocity
Linear velocity of origin of {i+1} is same as that of origin of {i} plus a new
component caused by rotational velocity of link i.
i 1
i
vi 1  i vi  i ωi  i Pi 1 , vi 1  i i1R( i vi  i ωi  i Pi 1 )
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.2 Motion of links of robot

Velocity propagation from link to link:


For revolute joint: i 1
ω  i 1R i ω   i 1 i 1 Zˆ
i 1 i i i 1
i 1
vi 1  i i1R( i vi  i ωi  i Pi 1 )

For prismatic joint: i 1


ωi 1  i 1
R i ωi
i

i 1
vi 1  i 1
i R( i vi  i ωi  i Pi 1 )  di 1 i 1 Zˆ i 1

Applying these equations successively from link to link, we can compute:

vN  N0 R N vN , ωN  N0 R N ωN

E.g.: Two-link manipulator. 0


ω0  0 , 0
v0  0
Link transformations:
 c1  s1 0 0  c2  s2 0 l1  1 0 0 l2 
  0
 s1 c1 0 0
s c2 0 0 1 0 0  c12  s12 0 
1T 
0 1
T   2 
3T 
2    
0 1 0 0 0 1 0 3 R  1 R 2 R 3 R   s12
0 0 1 2
0
2
0 0 1 0  c12 0
      0 0 1 
0 0 0 1 0 0 0 1 0 0 0 1 
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.2 Motion of links of robot
0  0
 
1
ω1  01R 0 ω0   1 1 Zˆ1  0  , 1
v1  R( v0  ω0  P1 )  0
1 0 0 0
0  
  0
 1

 c2 s2 0  0   0   0 
     
ω2  12 R 1ω1  2 2 Zˆ 2    s2 c2 0 0   2 2 Zˆ 2   0 ω3  23 R 2 ω2   3 3 Zˆ 3  2 ω2   0
3

2
  
 0 0 1 1         
 1 2  1 2

 c2 s 2 0 0  l1   c2 s 2 0 0  l1s21 
        
2
v2  12 R( 1v1  1ω1  1P2 )    s2 c2 0 {0   0 }    s2 c2 0  l11   l1c21 
 
 0 0 1    0   0 0 1 0   0 
   1     

l1s21   0  l2   l1s21 


       
3
v3  23 R( 2 v2  2 ω2  2 P3 )  23 R( l1c21    0 
   0 )   l c 
1 2 1  l2 (1   2 
)
 0      0   
   1 2    
0

 c12  s12 0   l1s21   l1s11  l2 s12 (1  2 ) 


     
0
v3   s12 c12 0 l1c21  l2 (1  2 )    l1c11  l2c12 (1  2 ) 
0
 0 1   0   0 
   
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.3 Jacobians

1. Definition of Jacobian: multidimensional form of derivative.


Six functions, each of which is a function of six independent variables:
f1 f f1
 y1   x1  1  x2    x6
x1 x2 x6
y1  f1 ( x1 , x2 , x3 , x4 , x5 , x6 )
f 2 f f 2 F
y2  f 2 ( x1 , x2 , x3 , x4 , x5 , x6 )  y2   x1  2  x2    x6 Y   X  J ( X ) X
x1 x2 x6 X
Y  J(X )X
y6  f 6 ( x1 , x2 , x3 , x4 , x5 , x6 ) f 6 f f 6
 y6   x1  6  x2    x6
x1 x2 x6

Jacobian: 6  6 matrix of partial derivatives, function of xi .

At any particular instant, X has a certain value, and J ( X ) is a linear


transformation. At each new time instant, X has changed, so has linear
transformation.
Jacobians are time-varying linear transformations.
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.3 Jacobians

2. Used in field of robotics


Jacobians relate joint velocities to Cartesian velocities of tip of arm:
0
v  0J (Θ)Θ

– Leading superscript to indicate in which frame resulting Cartesian


velocity is expressed.
– For any given configuration of manipulator, joint rates are related to
velocity of tip in a linear fashion, yet this is only an instantaneous
relationship.

For general case of a six-jointed robot, Jacobian is 6×6. Jacobians of


any dimension can be defined.
• Number of rows equals number of DOFs in Cartesian space being
considered.
• Number of columns is equal to number of joints of manipulator.
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.3 Jacobians

E.g.: two link arm, 2×2 Jacobian relates joint rates to end-effector velocity.

 l1s21 
   l1s2 0
3
v3  l1c21  l2 (1   2 )   3
J (Θ )  
  l1c2  l2 l2 
0
 
 l1s11  l2 s12 (1   2 ) 
   l s  l s  l2 s12 
0
v3   l1c11  l2c12 (1   2 )   0 J (Θ)   1 1 2 12 
   l1c1  l2 c12 l2 c12 
0
 
3. Jacobian computation
1) Directly differentiating kinematic equations. No orientation vector for
angular velocity.
 c123  s123 0 l1c1  l2c12 
s c123 0 l1s1  l2 s12  x  l1c1  l2c12  x   l1s1  l2 s12  l2 s12  1 
WT 
B  123   y   l c  l c  
0 0 1 0  y  l s
1 1  l s
2 12    1 1 2 12 l 2 
2 12  
c
 
0 0 0 1 
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.3 Jacobians

2) Cross-product method (Whitney, 1972)


End-effecter velocity is given by a linear combination of Jacobian
column vectors weighted by individual joint velocities.

vE  J11  J 22   J nn

 v   zˆi  pn   0 zˆi  ( 0i R i pn )  0 zˆ1  1 p60 zˆ2  2 p60 zˆ6  6 p60 


0 i 0 0 0

 ω   0  i    i  J ii J  0
0 0

   zˆi  
0
zˆi   zˆ1 0
zˆ2 0
zˆ6 

4. Changing a Jacobian’s frame of reference


 Bv  B  Av   BA R 0   B v 
 B   v  J (Θ)Θ A   
B
A B 
 ω ω
   0 B R   ω

 Av   BA R 0  B  BA R 0  B
A    A 
J (Θ)Θ J (Θ )   J (Θ )
A
A 
 ω  0 B R  0 B R 
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.3 Jacobians

5. Singularities
If matrix is nonsingular, can invert it to calculate joint rates from given
Cartesian velocities (unique): Θ  J 1 (Θ)v
Most manipulators have values of Θ where Jacobian becomes singular.
Such locations are called singularities of mechanism. All manipulators have
singularities at boundary of workspace, and most have loci of singularities
inside workspace.

1) Workspace-boundary singularities
Occur when manipulator is fully stretched out or folded
back on itself in such a way that end-effector is at or very
near boundary of workspace.
2) Workspace-interior singularities
Occur away from workspace boundary, generally
are caused by a lining up of two or more joint axes.
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.3 Jacobians

– When manipulator is in a singular configuration, it has lost one or more


DOF (as viewed from Cartesian space). Means that there is some
direction in Cartesian space along which it is impossible to move hand
of robot, no matter what joint rates are selected.
– At a singular point, inverse Jacobian blows up. Results in joint rates
approaching infinity as singularity is approached.

l1s2 0
E.g.: singularities of two link arm. DET [ J (Θ)] 
3
 l1l2 s2  0
l1c2  l2 l2

A singularity exists when  2 is 0 or 180 degrees.


CHAPTER 3: Jacobians: Velocities and Static Forces
§3.3 Jacobians

E.g.: two link robot, moving its end-effector along X̂ axis at 1.0m/s.
Inverse of Jacobian written in {0}:

1 1  l2c12 l2 s12 
0
J (Θ)   l c l c
l1l2 s2  1 1 2 12  l1s1  l2 s12 

1  1  l2c12 l2 s12  1  c12 c1 c


   l c l c    , 2    12
2  l1l2 s2  l1s1  l2 s12  0
1
 1 1 2 12 l1s2 l2 s2 l1s2

As arm stretches out toward 2 = 0 , both joint rates goto infinity.


CHAPTER 3: Jacobians: Velocities and Static Forces
§3.3 Jacobians

E.g.: PUMA 560, two examples of singularities.


• when  3 is near -90 degrees, links 2 and 3 are stretched out.
• whenever 5 = 0 , Joint 4 and 6 line up, both of their actions would result
in same end-effector motion, so it is as if a DOF has been lost.
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.4 Static Force in Manipulators

1. Static Force in Manipulators


Consider how forces and moments propagate from one link to next.
– Pushing on something in environment with chain’s free end.
– Supporting a load at hand.
Solve for joint torques that must be acting to keep system in static
equilibrium.
– Lock all joints so that manipulator becomes a structure.
– Write a force-moment balance relationship in terms of link frame.
– Compute what static torque must be acting about joint axis.

Define special symbols for force and torque exerted by a neighbor link
(exclude gravity force):

fi  force exerted on link i by link i-1


ni  torque exerted on link i by link i-1
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.4 Static Force in Manipulators
Resultant force and moment acting on individual joint, comprising
constraint force and moment as well as torque generated by actuator.
Force-moment balance: i
fi  i fi 1  0
i
ni  i ni 1  i Pi 1  i fi 1  0

Calculate force and moment from last link down to base, lead to result
for static force propagation from link to link.
i
fi  i fi 1 i
fi  i 1
i
R i 1 fi 1
i
ni  i ni 1  i Pi 1  i fi 1
i
ni  i 1
i
R i 1ni 1  i Pi 1  i fi

All components of force and moment vectors are resisted by structure of


mechanism itself, except for torque about joint axis.

τi  i niT i Zˆ i

Positive direction of joint torque as direction which would tend to move


joint in direction of increasing joint angle.
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.4 Static Force in Manipulators
3
E.g.: two-link manipulator is applying a force vector F with its end-effector.
 c1  s1 0   c2  s2 0  1 0 0  fx  0
   
1 R   s1
0
c1 0  1 
2 R   s2 c2 0
  1 0
3 R  0
2 3
f3   f y  , 3
n3  0
  
0 0 1  0 0 1  0 0 1   0  0
  
 fx   f x  0 
     
2
f2  32 R 3 f3   f y  , 2 n2  32 R 3n3  2 P3  2 f2  l2 Xˆ 2   f y   0 
0  0  l2 f y 
 c2  s2 0  f x   c2 f x  s2 f y 
   
1
f1  21R 2 f2   s2 c2 0  f y    s2 f x  c2 f y 
 
 0 0 1 0   0 

0   0 
   
1
n1  21R 2 n2  1P2  1 f1  0   l1 Xˆ 1  1 f1   0 
l2 f y  l1s2 f x  l1c2 f y  l2 f y 

 1  l1s2 f x  l1c2 f y  l2 f y  1  l1s2 l1c2  l2   f x 


   0  
l2   f y 
 2  l2 f y  2 
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.4 Static Force in Manipulators

2. Jacobians in force domain


Forces act on a mechanism, work is done if mechanism moves through a
displacement.
Principle of virtual work (1764): make statements about static case by
allowing amount of this displacement to go to an infinitesimal.
Virtual displacements are different from actual displacements, they only
satisfy geometric constraints and do not have to meet other laws of motion.
Work has units of energy, it must be same measured in any set of
generalized coordinates.
Equate work done in Cartesian terms with work done in joint-space terms:

F  x  τ Θ  F T x  τ T Θ

 x  J Θ  F T J Θ  τ T  Θ  F T J  τ T  τ  JTF

Jacobian maps Cartesian forces acting at hand into equivalent joint


torques.
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.4 Static Force in Manipulators

When Jacobian loses full rank, there are certain directions in which end-
effector can not exert static force even if desired. That is, if Jacobian is
singular, F could be increased or decreased in certain directions without
effect on value calculated for  .

This also means that, near singular configurations, mechanical


advantage tends toward infinity, such that, with small joint torques, large
forces could be generated at end-effector.

Singularities manifest themselves in force domain as well as in position


domain.
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.5 Cartesian Transformation

Think in terms of 6 1 representations of general velocity and general


force vectors:
v  F 
v  , F  
ω N 

6  6 transformations that map these quantities from one frame to another.


i 1
ωi 1  i i1R i ωi   i 1 i 1 Zˆ i 1
i 1
vi 1  i i1R( i vi  i ωi  i Pi 1 )

In kinematic domain, if two frames are rigidly connected (  i 1  0 ) :

 B vB   AB R  AB R A PBORG    A v A 
B    A   vB  BATv Av A
B
B
 ωB   0 AR   ωA 
 0  pz py 
 
 A v A   BA R A
PBORG  BA R   vB 
B P    pz 0  px 
A   B   vA  T v
A A B
p px 0 
 y
A B v B
 ωA   0 BR   ωB 
CHAPTER 3: Jacobians: Velocities and Static Forces
§3.5 Cartesian Transformation

In force domain: i
fi  i 1
i
R i 1 fi 1
i
ni  i 1
i
R i 1ni 1  i Pi 1  i fi

 A FA   A
BR 0   FB 
B

A   A   FA  ABTf B FB
A
A B
 N A   PBORG  B R
A
B R  B
N

Velocity and force transformations are similar to Jacobians in that they


relate velocities and forces in different coordinate system:
A
T  ABTvT
B f

E.g.: end-effector holding a tool with a


force sensing wrist.
T
FT  TST f S FS
 T
SR 0 
T
Tf   T 
 PSORG  S R
S T T
S R
CHAPTER 3: Jacobians: Velocities and Static Forces
Problem
1. Forward kinematics of a 3R planar manipulator are given by

px  l1 cos 1  l2 cos(1   2 )  l3 cos(1   2  3 )


p y  l1 sin 1  l2 sin(1  2 )  l3 sin(1  2  3 )
  1   2  3

where l1 , l2 , l3 are (constant) link lengths and i (t ) are joint variables.


Determine Jacobian matrix of this system and find any singularities. What
interpretation can be given to these singularities?

2. Homogenous transformation matrix for a robot manipulator is given by


expression
cos 1 cos 3  cos 1 sin 3 sin 1 ( d 2  l3 )sin 1 
sin  cos   sin 1 sin 3  cos 1  (d 2  l3 ) cos 1 
ET 
0  1 3 
  sin 3 cos 3 0 0 
 
 0 0 0 1 
CHAPTER 3: Jacobians: Velocities and Static Forces
Problem

where l3 is (constant) link length and joint variables are 1 (t ),3 (t ) and d 2 (t ) .
a) Extract forward kinematic equations and then compute general form of
Jacobian, assuming we are interested in all 3 positions and all 3 orientations
measured using Euler angles.
b) Now assume we are only interested in position p x and Euler rotation
angles  and  . Find Jacobian matrix associated with these end-effector
variables and find singularities.

3. A robotic manipulator has three revolute joints, but for a certain period of
its operation, one is only interested in end-effector’s linear position
px , p y . During this period:
a) What is dimension of Jacobian matrix?
b) What is the maximal rank of Jacobian matrix?
CHAPTER 3: Jacobians: Velocities and Static Forces
Problem

c) How might one find joint velocities corresponding to a desired end-


effector velocity? Are these velocities unique?
d) For several seconds, it is desired that end-effector velocity is at rest. Are
joint velocities zero at this point?
e) Using terminology introduced in course, what term describes this
manipulator?

You might also like