0% found this document useful (0 votes)
329 views9 pages

Chapter 5 PDF

This document discusses Jacobians, which relate joint velocities/torques to velocities/forces at the end-effector for robotic manipulators. It provides examples of deriving the Jacobian three different ways for a 3 degree-of-freedom manipulator: 1) direct differentiation of kinematic equations, 2) velocity propagation from base to tip, and 3) static force propagation from tip to base. It also gives the transformation to map joint torques to end-effector forces for a 2-link manipulator.

Uploaded by

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

Chapter 5 PDF

This document discusses Jacobians, which relate joint velocities/torques to velocities/forces at the end-effector for robotic manipulators. It provides examples of deriving the Jacobian three different ways for a 3 degree-of-freedom manipulator: 1) direct differentiation of kinematic equations, 2) velocity propagation from base to tip, and 3) static force propagation from tip to base. It also gives the transformation to map joint torques to end-effector forces for a 2-link manipulator.

Uploaded by

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

Chapter 5. Jacobians: velocities and static forces.

Page 36

CHAPTER 5. JACOBIANS: VELOCITIES AND STATIC FORCES

5.1 Repeat Example 5.3 using the Jacobian written in frame {0}. Are the results
the same as those of Example 5.3?

c12 − s12 0 c1 L1 
s c12 0 s1 L1 
2T = 1T ⋅ 2 T =
0 0 1  12
0 0 1 0 
 
0 0 0 1 
c12 − s12 0 c1 L1   L2  c12 L2 + c1 L1 
s c12 0 s1 L1   0   s12 L2 + s1 L1 
0
P3ORG = 02T ⋅ 2 P3ORG =  12 ⋅ =
0 0 1 0  0   0 
     
0 0 0 1  1  1 
0
v3 = 0 P3ORG = 0 J ⋅ θ
( − s L − s1 L1 )θ1 − s12 L2θ2   − s12 L2 − s1 L1 − s12 L2  θ1 
0
v3 =  12 2 = ⋅ 
    c12 L2  θ2 
 ( c12 L2 + c1 L1 )θ 1 + c12 L2θ 2   c12 L2 + c1 L1

5.2 ,5.3 Find the Jacobian of the manipulator with three degrees of freedom from
Exercise 3 of Chapter 3. Write it in terms of a frame {4} located at the tip of the
hand with the same orientation as frame {3}. Derive the Jacobian in three
different ways: velocity propagation from base to tip, static force propagation
from tip to base, and by direct differentiation of the kinematic equations.

1. Direct differentiation of the kinematic equations


c1 c 23 − c1 s 23 s1 c1 c 2 L2 + L1 c1 
s c − s1 s 23 − c1 s1 c 2 L2 + L1 s1 
3T =
0  1 23
 s 23 c 23 0 s 2 L2 
 
 0 0 0 1 
 L3  c1c 2 L2 + L1 c1 + c1c 23 L3 
 0  s c L + L s + s c L 
0
P4 ORG = 03T ⋅3 P4 ORG = 03T ⋅   =  1 2 2 1 1 1 23 3 

0  s 2 L2 + s 23 L3 
   
1  1 

a. r./6.11.2003 1:30 /d:\my_files\2601050 robotics and teleoperation\year 2003-04\craig_book\robot_book_3.doc

Albert Raneda Tampere University of Technology


Chapter 5. Jacobians: velocities and static forces. Page 37

Taking the partial derivatives :


 − s1 c 2 L2 − s1 L1 − s1 c 23 L3 − c1 s 2 L2 − c1 s 23 L3 − c1 s 23 L3 
0
J =  c1 c 2 L2 + c1 L1 + c1 c 23 L3 − s1 s 2 L2 − s1 s 23 L3 − s1 s 23 L3 
 0 c 2 L2 + c 23 L3 c 23 L3 
 0 s 3 L2 0
4 4 
J= R J = 
0
0 c3 L2 + L3 L3 
0

− L1 − L2 c 2 − L3 c 23 0 0 

2. Velocity propagation from base to tip


0  0 
1
w1 = 01R 0 w0 +  0  =  0 
θ1  θ1 
0 
1
v1 = 0 
0 
 0   s 2θ1 
 
2
w2 = 12 R 1w1 +  0  = c 2θ1 
θ2   θ2 

 0 
2
v 2 = R( v1 + w1 × P2 ) =  0 
2
1
1 1 1

 − L1θ1 
 0   s 23θ1 
 
3
w3 = 23 R 2 w2 +  0  =  c 23θ1 
θ3  θ2 + θ3 
 L2 s 3θ2 
 
3
v3 = 23 R( 2v 2 + 2 w2 × 2 P3 ) =  L2 c3θ2 
 − L2 c 2θ1 − L1θ1 
 
4
w4 = 3 w3
 L2 s 3θ2 
 
4
v4 = 34 R( 3v3 + 3 w3 × 3 P4 ) =  ( L2 c3 + L3 )θ2 + L3θ3 
( − L2 c 2 − L1 − L3 c 23 )θ1 
 
Grouping terms :
 0 s 3 L2 0
4 
J = 0 c3 L2 + L3 L3 
− L1 − L2 c 2 − L3 c 23 0 0 

a. r./6.11.2003 1:30 /d:\my_files\2601050 robotics and teleoperation\year 2003-04\craig_book\robot_book_3.doc

Albert Raneda Tampere University of Technology


Chapter 5. Jacobians: velocities and static forces. Page 38

3. Static force propagation from tip to base

 fx 
 
3
f3 = f
 y
 fz 
 

 L3   f x   0 
     
3
n3 = 0 × f
   y
=  − L3 f z 
  L f 
0   
 fz   3 y 
c 3 f x − s3 f y 

2
f2 = R f3 =
2
3
3
s
 3
f x − c 3 f y 

 fz 

 s 3 L3 f z 
 
2
n 2 = R n 3 + P3 × f 2 =
2
3
3 2 2
 − c 3 L3 f z − L2 f z 
L
 3 f y + s 3 L2 f x + c 3 L 2 f y 
c 23 f x − s 23 f y 
 
1
f1 = R f2 =
1
2
2
 − fz 
s
 23
f x + c 23 f y 
 s 23 L3 f z + s 2 L2 f z 

1
n1 = R n 2 + P2 × f 1 =
1
2
2 1 1

− L3 f y − L2 s 3 f x − c 3 L2 f − s 23 L1 f x − c 23 L1 f x 

 − c 23 L3 f z − L1 f z 

τ 1 = ( − L2 c 2 − L3 c 23 − L1 ) f z
τ 2 = ( L 2 c 3 + L3 ) f y + L 2 s 3 f x
τ 3 = L3 f y
 0 0 − L2 c 2 − L3 c 23 − L1   f x 
  
4
τ= L s
 2 3
L 2 c 3 + L3 0 f
 y 

 0 L3 0 
  fz 
 0 0 − L2 c 2 − L3 c 23 − L1 
 
4
J =
T
L s
 2 3
L 2 c 3 + L3 0 

 0 L3 0 

5.10 For the two-Iink manipulator of Example 5.2 give the transformation
which would map joint torques into a 2 x 1 force vector, 3F, at the hand.

a. r./6.11.2003 1:30 /d:\my_files\2601050 robotics and teleoperation\year 2003-04\craig_book\robot_book_3.doc

Albert Raneda Tampere University of Technology


Chapter 5. Jacobians: velocities and static forces. Page 39

τ = 3J T ⋅3 F
3
F =( 3J T ) −1 ⋅ τ
 L1 s 2 0
3
J = 
 L1 c 2 + L2 L2 
 L s L1 c 2 + L2 
J = 1 2
3 T

 0 L2 
1 L − L1 c 2 − L2 
( 3J T ) −1 = ⋅ 2 
L1 L2 s 2 0 L1 s 2 

5.11 Given ABT , if the velocity vector at the origin of {A} is A v , find the 6 x 1

velocity vector with reference point the origin of {B}.

 B v B   AB R − BA R APBORG x   A v A 
B  =  B ⋅A 
 B 
w 0 A R   wA 
 B vB 
 B  = [3.58 − 7.92 − 17.14 1.93 0.51 0 ]
T

 wB 

5.12 For the three-link manipulator of Exercise 3.3, give a set of joint angles for
which the manipulator is at a workspace boundary singularity, and another set
of angles for which the manipulator is at a workspace interior singularity.

 0 L2 s 3 0
4
J =  0 L3 + L2 c3 L3 
 − L2 c 2 − L3 c 23 − L1 0 0 
4
J = (− L2 c 2 − L3 c 23 − L1 )L2 L3 s 3 = 0

s 3 = 0 ⇒ θ 3 = 0 orθ 3 = 180 → Boundary singularity


 L − L2 
L2 c 2 + L3 c 23 + L1 = 0 ⇒ θ 2 = 0 and θ 3 = a cos 1  → Interior singularity
 L3 

a. r./6.11.2003 1:30 /d:\my_files\2601050 robotics and teleoperation\year 2003-04\craig_book\robot_book_3.doc

Albert Raneda Tampere University of Technology


Chapter 5. Jacobians: velocities and static forces. Page 40

5.13 A certain two-link manipulator has the following Jacobian 0 J ( θ ) . Ignoring

gravity, what are the joint torques required in order that the manipulator apply
a static force vector 0 F = 10 X̂ 0 .

− L1 s1 − L2 s12 L1 c1 + L2 c12  10  − 10 L1 s1 − 10 L2 s12 


τ = 0 J T ⋅0 F =  ⋅ 0  =  
 − L2 s12 L2 c12     − 10 L2 s12 

5.15 Give the 3 x 3 Jacobian which calculates linear velocity of the tool tip from
the three joint rates for the manipulator of Example 3.4 in Chapter 3. Give the
Jacobian in frame {0}.

 c1 c 3 − c1 s 3 s1 s 1 ( L2 + d 2 ) 
s c − s1 s 3 − c1 − c1 ( L2 + d 2 )
0
T =  1 3
3
 s3 c3 0 0 
 
 0 0 0 1 
 0   s 1 ( L 2 + d 2 + L3 ) 
 0  − c ( L + d + L )
0
Ptip = 3T ⋅ Ptip = 3T ⋅   =  1 2
0 3 0 2 3 

 L3   0 
   
1  1 
Taking the partial derivatives :
c ( L + d 2 + L3 ) s1 0
0
J = 1 2
 s1 ( L2 + d 2 + L3 ) − c1 0 

5.18 The kinematics of a 3R robot are given by 03T . Find 0 J ( θ ) which, when

multiplied by the joint velocity vector, gives the linear velocity of the origin of
frame {3} relative to frame {0}.

 c1c23 −c1s23 s1 L2 c1c2 + L1c1 


s c − s1 s23 −c1 L2 s1c2 + L1 s1 
0
T =  1 23
3
 s23 c23 0 L2 s2 
 
 0 0 0 1 

a. r./6.11.2003 1:30 /d:\my_files\2601050 robotics and teleoperation\year 2003-04\craig_book\robot_book_3.doc

Albert Raneda Tampere University of Technology


Chapter 5. Jacobians: velocities and static forces. Page 41

Taking the partial derivatives :


− L1 s1 − L2 s1 c 2 − L2 c 1 s 2 0
0
J =  L1 c1 + L2 c1 c 2 − L2 s 1 s 2 0 
 0 L2 c 2 0 

5.19 The position of the origin of link 2 for an RP manipulator is given by


0
P2 ORG . Give the 2 x 2 Jacobian that relates the two joint rates to the linear

velocity of the origin of frame {2}. Give a value of θ where the device is at a
singularity.

Taking the partial derivatives :


 − a s − d 2 c1 − s1 
0
J = 1 1
 a 1 c1 − d 2 s 1 c1 
0
J = − d 2 ( s12 + c12 ) = 0 → d 2 = 0 is at a singularity

Programming Exercise (Part 5)

1. Two frames, {A) and {B} are not moving relative to one another; that is, ABT is

constant. In the planar case, we define the velocity of frame {A} as A v A .

Write a routine which, given ABT and A v A computes B v B . Hint: This is the

planar analog of (5.100). Use a procedure heading something like:

Procedure Veltrans (VAR brela: frame; VAR vrela, vrelb: vec3) ;

where ’vrela’ is the velocity relative to frame {A}, or A v A , and ’vrelb’ is the

output of the routine (the velocity relative to frame {B}, or B v B ).


% VELTRANS
%
% Computes vb when we know va and that the frames
% {A} and {B} are not moving relative to one another.
%
% VELTRANS(brela, vrela), where vrela is the velocity relative to
% frame {A} and brela is 3x3 transformation matrix (2x2 rotation
% plus 2x1 translation and the last row [0 0 1])
%

a. r./6.11.2003 1:30 /d:\my_files\2601050 robotics and teleoperation\year 2003-04\craig_book\robot_book_3.doc

Albert Raneda Tampere University of Technology


Chapter 5. Jacobians: velocities and static forces. Page 42

% returns a (1x3) vector with the velocity of frame {B} in x, y and


% angular velocity of frame {B}

function vrelb = veltrans(brela, vrela);

va = [vrela(1) vrela(2) 0];


wa = [0 0 vrela(3)];

apborg = [brela(1,3) brela(2,3) 0];

% We eliminate the translation part of brela to


% convert brela in a rotation matrix

brela(1,3)=0;
brela(2,3)=0;

% We calculate arelb

arelb=inv(brela)

vrelb = arelb*(va + cross(wa,apborg))';


wb = arelb*wa';

vrelb(3) = wb(3);
% We have vrelb = [vbx vby wb]

2. Determine the 3 x 3 Jacobian of the 3-link planar manipulator (from Example


3.3). In order to derive the Jacobian you should use velocity propagation analysis
(as in Example 5.2) or static force analysis (as in Example 5.6). Hand in your
work showing how you derived the Jacobian.
Write a routine to compute the Jacobian in frame {3}, that is, 3
J ( θ ) , as a

function of the joint angles. Note that frame {3} is the standard link frame with
origin on the axis of joint 3. Use a procedure heading something like:

Procedure Jacobian(VAR theta: vec3; Var Jac: mat33);

The manipulator data are 11 = 12 = 0.5 meters.

% JACOBIAN
%
% Determines the Jacobian of the 3-link planar manipulator
% of example 3.3
%
% JACOBIAN(theta), where theta =[theta1 theta2 theta3] are
% the joint angles and are in degrees
%
% returns a (3x3) Jacobian in frame {3}

a. r./6.11.2003 1:30 /d:\my_files\2601050 robotics and teleoperation\year 2003-04\craig_book\robot_book_3.doc

Albert Raneda Tampere University of Technology


Chapter 5. Jacobians: velocities and static forces. Page 43

function jac = jacobian(theta);

s3 = sin(theta(3)*pi/180);
c3 = cos(theta(3)*pi/180);
s23 = sin(theta(2)*pi/180 + theta(3)*pi/180);
c23 = cos(theta(2)*pi/180 + theta(3)*pi/180);
l1 = 0.5;
l2 = 0.5;

jac = [ l1*s23 + l2*s3 l2*s3 0


l1*c23 + l2*c3 l2*c3 0
1 1 1];

3. A tool frame and a station frame are defined by the user for a certain task
as below (units are meters and degrees):

W
T T = [x y θ] = [ 0.1 0.2 30.0],
B
S T = [x y θ] = [0 0 0].

At a certain instant, the tool tip is at the position

T
S T = [x y θ] = [0.6 -0.3 45.0]

At the same instant, the joint rates (in deg/sec) are measured to be

[ ]
θ = θ 1 θ 2 θ 3 = [ 20.0 -10.0 12.0].

Calculate the linear and angular velocity of the tool tip relative to its own frame,
that is, T v T . If there is more than one possible answer calculate all possible

answers.

» goal = [0.6 -0.3 45];


» tool = [0.1 0.2 30];
» station = [0 0 0];
» current = [0 0 0];
» [near far flag] = solve(goal, tool, station, current)

near =

-83.6082 81.0663 17.5419

a. r./6.11.2003 1:30 /d:\my_files\2601050 robotics and teleoperation\year 2003-04\craig_book\robot_book_3.doc

Albert Raneda Tampere University of Technology


Chapter 5. Jacobians: velocities and static forces. Page 44

far =

-2.5419 -81.0663 98.6082

flag =

» jac_near = jacobian(near)

jac_near =

-0.9521 -0.4828 0
-0.0423 0.1301 0
1.0000 1.0000 1.0000

» thetasdot = [20 -10 12]';


» v_near = jac_near*thetasdot

v_near =

-14.2149
-2.1467
22.0000

» tvt_near = veltrans(utoi(tool),v_near)

tvt_near =

-16.0943
9.3536
22.0000

» jac_far = jacobian(far)

jac_far =

-0.9521 -0.4694 0
-0.0423 -0.1724 0
1.0000 1.0000 1.0000

» v_far = jac_far*thetasdot

v_far =

-14.3492
0.8776
22.0000

» tvt_far = veltrans(utoi(tool),v_far)

tvt_far =

-14.6985
12.0399
22.0000

a. r./6.11.2003 1:30 /d:\my_files\2601050 robotics and teleoperation\year 2003-04\craig_book\robot_book_3.doc

Albert Raneda Tampere University of Technology

You might also like