J 1

advertisement
PROPERTIES OF THE JACOBIAN
θ2
L1
L2
Link 2
y
Link 1
θ1
x
Link 0
 x e
 
J 1
 y e
 1
x e 
ve   
 y e
L1Cos1  L2Cos2  x e (1 , 2 )
L1Sin 1  L2Sin 2  ye (1 , 2 )
dx  J dq
 dx e 
 d1 



dx  
, dq  

 d2 
 dy e 
x e 
2 
 J   L1Sin 1
y e 
 L Cos
1
1


2 
dx e
dq
J
dt
dt
, or
 L 2Sin 2 
L 2Cos2 
v e  J q
The Jacobian plays an important role in the analysis, design and control of
robotic systems. The Jacobian can be expressed by its two coulmns
J  J1 , J 2 , J1 and J 2  2 x1
Then the velocity relation is given as follows
v e  J1  1  J 2  2
The first term on the right-hand side accounts for the end-effecter velocity
induced by the first joint only, while the second term represents the
velocity resulting from the second joint motion only. The resultant endeffecter velocity is given by the vectorial sum of the two. Each vector of
the Jacobian matrix represents the end-effecter velocity generated by the
corresponding joint moving at a unit velocity when all other joints are
immobilized.
Figure illustrates the column vectors J1 and J2 of the 2 dof robot arm in the
two dimensional space. Vector J2, given by the second column of the
Jacobian matrix, points in the direction perpendicular to link 2. Note, however,
that vector J1 is not perpendicular to link 1 but is perpendicular to line OE, the
line from joint 1 to the endpoint E.
θ2
L1
J1
L2
J2
Link 2
y
Link 1
E
θ1
x
Link 0
 L1Sin 1  L 2Sin 2 
J

 L1Cos1 L 2Cos2 
J1 represents the endpoint velocity induced by joint 1 when joint 2 is
immobilized. In other words, links 1 and 2 are rigidly connected, becoming a
single rigid body of link length OE, and J1 is the tip velocity of the link OE.
In general, each column vector of the Jacobian represents the end-effecter
velocity and angular velocity generated by the individual joint velocity while all
other joints are immobilized. Let p be the end-effecter velocity and angular
velocity, or the end-effecter velocity for short, and Ji be the i-th column of the
Jacobian. The end-effecter velocity is given by a linear combination of the
Jacobian column vectors weighted by the individual joint velocities.
p  J1. q 1  ...  J n . q n
where n is the number of active joints. The geometric interpretation of
the column vectors is that J1 is the end-effecter velocity and angular
velocity when all the joints other than joint i are immobilized and only
the i-th joint is moving at a unit velocity.
Remember that the end-effecter velocity is given by the linear combination
of the Jacobian column vectors J1 and J2. Therefore, the resultant endeffecter velocity varies depending on the direction and magnitude of the
Jacobian column vectors J1 and J2 spanning the two dimensional space. If
the two vectors point in different directions, the whole two-dimensional
space is covered with the linear combination of the two vectors. That is,
the end-effecter can be moved in an arbitrary direction with an arbitrary
velocity. On the other hand, the two Jacobian column vectors are aligned,
the end-effecter cannot be moved in an arbitrary direction. This may
happen for particular arm postures where the two links are fully contracted
or extended. These arm configurations are referred to as singular
configurations. Accordingly, the Jacobian matrix becomes singular at
these positions. Using the determinant of a matrix, this condition is
expressed as
det J  0
 L1Sin 1  L 2Sin 2 
J

 L1Cos1 L 2Cos2 
The vectors J1 and J2 points to same direction if θ1=θ2 and if θ2=180+θ1
 L2Sin (180  1 )  L2Sin 1
L2Cos(180  1 )  L2Cos1
Non-Singular
J1
J1 y
θ2=θ1+180°
J2
Singular
J2
θ2
J2
Singular
J1
θ1
θ1
x
Non-Singular
J1
J1 y
θ2=θ1+180°
J2
J2
Singular
θ2
J2
Singular
J1
θ1
θ1
Robot manipulator is singular
at its workspace boundaries.
x
TRANSFORMATIONS
Description of a position:
Once a coordinate system is established we can locate any point in the universe
with a 3x1 position vector. Because we will often define many coordinate
systems in addition to the universe coordinate system, vectors must be tagged
with information identifying which coordinate system they are defined within.
{A}
ZA
AP
YA
p x 


A
P  p y 
 p z 
XA
The position vectors are written with a leading superscript indicating the
coordinate system to which they are referenced, for example, AP. This means
that the components of AP have numerical values which indicate distances along
the axes of {A}. Each of these distances along an axis can be thought of as the
result of projecting the vector onto the corresponding axis.
Description of an orientation:
Often it is necessary not only to represent a point in space, but also to describe
the orientation of a body in space. For example, if vector AP locates the point
directly between the finger tips of a manipulator hand, the complete location of
the hand is still not specified until its orientation is also given. Assuming that the
manipulator has a sufficient number of joints the hand could be oriented
arbitrarily while keeping the finger tips at the same position in space. In order to
describe the orientation of a body we will attach a coordinate system to the body
and then give a description of this coordinate system relative to the reference
system. In the figure given below, coordinate system {B} has been attached to
the body in a known way. A description of {B} relative to {A} now suffices to give
the orientation of the body.
End effecter
{B}
{A}
AP
ZB
Thus, positions of points are described with vectors and orientations of
bodies are described with an attached coordinate system. One want to
describe the body-attached coordinate system, {B}, is to write the unit
vectors of its three principal axes in terms of the coordinate system {A}.
We denote the unit vectors giving the principle directions of coordinate
system {B} as XB, YB, and ZB. When written in terms of coordinate system
{A} they are called AXB, AYB, and AZB. It will be convenient if we stack these
three unit vectors together as the columns of a 3x3 matrix, in the order AXB,
AY , AZ . We will call this matrix a rotation matrix, and because this
B
B
particular rotation matrix describes {B} relative to {A}, we name it with the
notation ARB.
A
RB 

A
XB
A
YB
 r11 r12
A
ZB  r21 r22
r31 r32

r13 
r23 
r33 
Description of a frame:
The information needed to completely specify the whereabouts of the
manipulator hand (end-effecter) is a position and an orientation. The point on
the body whose position we describe could be choosen arbitrarily, however:
For convenience, the point whose position we will describe is choosen as the
origin of the body-attached frame. The situation of a position and an
orientation pair arises so often in robotics that we define an entity called a
frame which is a set of four vectors giving position and orientation information.
For example, in the figure given two slides before, one vector locates the
finger tip position and three more describe its orientation. Equivalently the
description of a frame can be thought of as a position vector and a rotation
matrix. Note that a frame is a coordinate system, where in addition to the
orientation we give a position vector which locates its origin relative to some
other imbedding frame. For example, frame {B} is described by ARB and APBorg ,
where APBorg is the vector which locates the origin of the frame {B}:
B  A R B , A PBorg 
MAPPING INVOLVING GENERAL FRAMES:
Very often we know the description of a vector with respect to some frame,
{B}, and we would like to know its description with respect to another frame
{A}. Here the origin of frame {B} is not coincident with that of frame {A} but
has a general vector offset. The vector that locates {B}’s origin is called APBorg.
Also {B} is rotated with respect to {A} as described by ARB. Given BP, we wish
to compute AP as in the figure.
ZB
{B}
{A} ZA
AP
Borg
BP
XB
AP
YA
YB
XA
A
P R B P PBorg
A
B
A
Above equation describes a general transformation mapping of a vector from
its description in one frame to a description in a second frame.
The form of the above equation is not as appealing as the conceptual form,
A
P A TB B P
That is, we would like to think of a mapping from one frame to another as
an operator in matrix form. This aids in writing compact equations as well
as beaing conceptually clear. In order to write the mapping equations in
compact form, we define 4x4 matrix operator, and use 4x1 position
cevtors, so that above equation has the structure.
 A P 
 
 1  0
A
A
RB
0
0
PBorg   B P
 
1  1 
That is,
A “1” is added as the last element of the 4x1 vectors.
A row “[0 0 0 1]” is added as the last row of the 4x4 matrix.
The 4x4 matrix is called a Homegeneous transform. It can be regarded purely
as a construction used to cast the rotation and translation of the general
transform into a single matrix form.
Example:
Figure shows a frame {B} which is rotated relative to frame {A} about Z by 30
degrees, and translated 10 units in XA, and 5 units in YA. Find AP where
BP=[3.0
7.0 0.0]T.
YB
YA
AP
AP
Borg
XA
P
BP
XB
0.866  0.5 0.000 10.0
 0.5 0.866 0.000 5.0 
A

TB  
 0.0
0.0 1.000 0.0 


0
0
0
1


3.0
Given: B P  7.0
 
0.0
 9.098 
B


A
A
P TB P  12.562
 0.000 
COMPOUND TRANSFORMATIONS:
In the figure , we have CP and wish to find AP. Frame {C} is known relative
to frame {B}, and frame {B} is known relative to frame {A}. We can
transform CP into BP as
B
P  B TC C P
And then transform
A
BP
into
AP
{C}
as
P A TB B P
CP
Combining these equations
A
P  A TB B TC C P
A
TC  TB TC
A
B
P
{B}
ZB
AP
{A}
YB
ZA
YA
XB
XA
Compound frames: each is known relative to perevious

A
TC  
0
A
B
A
RB RC
0
0
R B PCorg  PBorg 

1

B
A
Inverting a Transform:
B
Rotation matrix is orthogonal, thus
1
RA  RB  RB
A
A
T
If ATB transforms the frame {A} into frame {B}, the inverse transform can be
written as

B
TA  
0
A
RB
0
 RB
T
A
0
PBorg 

1

T A
Example:
A frame {B} which is rotated relative to frame {A} about Z by 30 degrees, and
translated 4 units in XA, and 3 units in YA. Thus we have a description pf ATB. Find
BT .
A
 0.866  0.500 0.000 4.0
0.5000 0.866 0.000 3.0
A

TB  
 0.000
0.000 1.000 0.0


0
0
0
1


0.500 0.000  4.964
 0.866
 0.5000 0.866 0.000  0.598
B

TA  
 0.000
0.000 1.000
0.0 


0
0
0
1


Example:
Find
AP
for given
MATLAB CODE
CP.
clc
clear
teta1=30*pi/180;
rot1=[cos(teta1),-sin(teta1),0
sin(teta1),cos(teta1),0
0,0,1]
p1=[40;30;0];
T1=[rot1,p1]; %Trans. matrix B A
T1=[T1;[0,0,0,1]];
CP
yA
40
teta2=40*pi/180;
rot2=[cos(teta2),-sin(teta2),0
sin(teta2),cos(teta2),0
0,0,1]
p2=[50;30;0];
T2=[rot2,p2]; %Trans. matrix C B
T2=[T2;[0,0,0,1]];
AP
y
30
30
30
50
30
30
40
xA
CP=[30;30;0;1]
T=T1*T2
AP=T*CP
CP=inv(T)*AP
Result:
AP
x
 A PX   50.3711 
A   

119
.
4321
P

 Y 
*** Sketch via SolidWorks ***
Robot Kinematics:
A Matrices
For given values of the joint variables, it is important to be able to specify the
locations of the links with respect to each other. This is accomplished by using
the manipulator kinematic equations.
We may associate with each link i a coordinate frame (xi, yi, zi) fixed to that
link. A standard and consistent paradigm for so doing is the DenavitHartenberg (D-H) representation. The frame attached to link 0 (the base of the
manipulator) is called the base frame or inertial frame. The relation between
coordinate frame i-1 and coordinate frame i is given by the transformation
matrix.
Zi-1
Zi-2
θi+1
θi
θi-1
Link i-1
zi
Link i
xi-1
xi
αi
Denavit-Hartenberg Frame Assignment
The link parameters αi, the twist of the link i and ai the length of link i. The joint
parameters are the joint angle θi and the joint offset di.
A commonly used convention for selecting frames of reference in robotic
applications is the Denavit-Hartenberg, or D-H convention. In this convention,
each homogenous transformation Ai is represented as a product of four basic
transformation.
Ai  Rot z,i Trans z,di Trans x,ai Rot x,i
ci
s
Ai   i
0

0
 s i
ci
0
0
0 0 1 0
0 0 0 1
1 0  0 0

0 1  0 0
0 0  1
0 0  0
1 d i  0

0 1  0
0 0 a i  1 0
1 0 0  0 ci
0 1 0  0 s  i

0 0 1  0 0
cos i  cos  i sin i sin  i sin i a i cos i 
 sin  cos  cos   sin  cos  a sin  
i
i
i
i
i
i
i
Ai  
 0
sin  i
cos  i
di 


0
0
0
1


0
 s i
ci
0
0
0
0

1
The A matrix Ai is a function of anly a single variable, namely the joint variable
θi or di, since all the other parameters in Ai, are fixed for a specific joint.
The A matrix is a homegeneous transformation matrix of the form
R i
Ai  
0
Pi 
1 
where Ri is a rotation matrix an pi is a translation vector. Thus if ir is a point
described with respect to the coordinate frame link i, the same point has
coordinates i-1r with respect to the frame of link i-1 given by
i 1
r  Ai i r
Arm T Matrix:
To obtain the coordinates of a point in terms of the base (i.e., link 0) frame, we
may use the matrices
Ti  A1 A2    Ai ,
Then, given the coordinates ir of a point expressed in the frame attached to
link i, the coordinates of the same point in the base frame are given by
0
r  Ti r
i
We call Ti a kinematic chain of transformations. We define the arm T matrix as
T  Tn  A1    An ,
with n the number of links in the manipulator. Then, if nr are the coordinates of
a point referred to the last link, the base coordinates of the point are
0
rT r
n
Example: Two-link planar RR arm (Planar Elbow Manipulator)
y2
a2
x2
θ2
a2
θ2
y1
a1
θ1
y0
Arm schematic
z2
x1
a1
θ1
z1
x0
z0
Link
1
2
ai
a1
a2
D-H coordinate frames
αi
0
0
di
0
0
θi
θ1
θ2
cos 1
 sin 
1
A1  
 0

 0
 sin 1 0 a1 cos 1 
cos 1 0 a1 sin 1 
0
1
0 

0
0
1 
cos  2
 sin 
2
A2  
 0

 0
The arm T matrix is given by
c12
-s12
cos1  2   sin 1  2 
 sin     cos   
1
2
1
2
T  A1A 2  

0
0

0
0

 sin  2
cos 2
0
0
0 a 2 cos  2 
0 a 2 sin  2 
1
0 

0
1

0 a1 cos 1  a 2 cos1   2 
0 a1 sin 1  a 2 sin 1  2  

1
0

0
1

This represents the kinematic solution, which converts the joint variable
coordinates (θ1, θ2) into the base-frame Cartesian coordinates of the end of
the arm.
The origin O2 of frame 2 in terms of base coordinates is located at
p  a1 cos 1  a 2 cos1  2  a1 sin 1  a 2 sin 1  2  0 T
a1=1 m, a2=0.5 m, θ1=30°, θ2=60°
A1=
A2=
T=A1*A2=
cos90  sin 90
 sin 90 cos90

 0
0

0
 0
0 1* cos 30  0.5 * cos90
0 1* sin 30  0.5 * sin 90 

1
0

0
1

Example: Three-Link Cylindirical Manipulator
Link Parameters
d1
Link
1
2
3
ai
0
0
0
αi
0
-90
0
di
d1
d2
d3
θi
θ1
0
0
c1  s1
s
c1
A1   1
0
0

0
0
0 0
0 0 
1 d1 

0 1
1 0
0 0
A2  
0  1

0 0
0 0
1 0 
0 d2 

0 1
1
0
A3  
0

0
0 0 0
1 0 0 
0 1 d3 

0 0 1
c1 0  s1  s1d 3 
s

0
c
c
d
1
1 3 
T30  T  A1A 2 A 3   1
 0  1 0 d1  d 2 


0
1 
0 0
SCARA MANIPULATOR:
a1
a2
d4
Link
ai
αi
di
θi
1
a1
0
0
θ1
2
a2
180
0
θ2
3
0
0
d3
0
4
0
0
d4
θ4
c1  s1
s
c1
A1   1
0
0

0
0
c 4
s
A4   4
0

0
 s4
c4
0
0
0 a1c1 
c 2
s
0 a1s1 
A2   2
0
1 0 


0 1 
0
0 0
0 0 
1 d4 

0 1
s2
 c2
0
0
0 a 2c 2 
0 a 2s 2 
1
0 

0
1 
1
0
A3  
0

0
0 0 0
1 0 0 
0 1 d3 

0 0 1
The forward kinematic equations are given
by
c12c 4  s12s 4
s c  c s
0
T4  A1A 2 A 3A 4   12 4 12 4

0

0

 c12s 4  s12c 4
 s12s 4  c12c 4
0
0
0 a1c1  a 2c12 
0 a1s1  a 2s12 
 1  d3  d 4 

0
1

INVERSE KINEMATICS
The problem of inverse kinematics is described as finding the joint variables in
terms of the end-effecter position and orientation. The inverse kinematics
problem, in general, is more difficult problem than the forward kinematics.
GENERAL INVERSE KINEMATICS PROBLEM
INVERSE POSITION KINEMATICS
INVERSE ORIENTATION KINEMATICS
INVERSE POSITION: For the common kinematic arrangements that we
consider, we can use a geometric approach to find the joint variables q1, q2,
…, qn corresponding to given end effecter position.
ELBOW MANIPULATOR:
Position of end effecter
xc, yc, zc
d0
1  A tan( x c , yc )
1    A tan( x c , yc )
or
a3
z
a2

θ3
s
θ2
r
s=zc-d0, r  x c2  yc2
z  r s
z 2  a 2 2  a 32  2a 2a 3 cos(  3 )
2
2
2
z 2  a 2 2  a 32  2a 2a 3 cos 3
z 2  a 2 2  a 32  2a 2a 3 cos 3
z 2  a 2 2  a 32
cos 3 
D
2a 2a 3
3  cos 1 (D)
sin 3   1  D2  E
1 
E
3  tan    A tan( D, E)
D
a 3 sin 3
tan  
a 2  a 3 cos 3
s
tan(    2 ) 
r
2  A tan( r, s)  A tan( a 2  a 3 cos 3 , a 3 sin 3 )
Statics:
Figure 1. Free body diagram of the i-th link. (Asada, H.H.)
The force fi-1,i and moment Ni-1,i are called the coupling force and moment
between the adjacent links i and i-1.
f i 1,i  f i ,i 1  m i g  0, i  1,..., n
The balance of linear forces
N i 1,i  N i ,i 1  (ri 1,i  ri ,Ci )  f i 1,i  (ri ,Ci )  (f i ,i 1 )  0, i  1,..., n
ENERGY METHOD AND EQUIVALENT JOINT TORQUES
A functional relationship between the joint torques and the endpoint force,
which will be needed for accommodating interactions between the endeffecter and the environment, can be obtained.
Such a functional
relationship may be obtained by solving the simultaneous equations derived
from the free body diagram. However, we will use a different methodology,
which will give an explicit formula relating the joint torques to the endpoint
force without solving simultaneous equations. The methodology we will use
is the energy method, sometimes referred to as the indirect method.
Since the simultaneous equations based on the balance of forces and
moments are complex and difficult to solve, we will find that the energy
method is the ideal choice when dealing with complex robotic systems.
In the energy method, we describe a system with respect to energy and
work. Therefore, terms associated with forces and moments that do not
produce, store, or dissipate energy are eliminated in its basic formula.
In the free body diagram, many components of the forces and moments are so
called “constraint forces and moments” merely joining adjacent links together.
Therefore, constraint forces and moments do not participate in energy
formulation. This significantly reduces the number of terms and, more
importantly, will provide an explicit formula relating the joint torques to the
endpoint force.
To apply energy method, two preliminary formulations must be performed. One
is to seperate the net force or moment generating energy from the constraint
forces and moments irrelevant to energy. Second, we need to find independent
displacement variables that are geometrically admissible satisfying kinematic
relations among the links.
Figure 2 shows the actuator torques and the coupling forces and moments
acting at adjacent joints. The coupling force fi-1,i and moment Ni-1,i are the
resultant force and moment acting on the individual joint, comprising the
constraint force and moment as well as the torque generated by the actuator.
Let bi-1 be the 3x1 unit vector pointing in the direction of joint axis i, as
shown in the figure. If the i-th joint is a revolute joint, the actuator
generates joint torque i about the joint axis. Therefore, the joint torque
generated by the actuator is one component of the coupling moment Ni-1,i
along the direction of the joint axis:
i  b
T
i 1
 Ni 1,i
For prismatic joint, such as the (i+1)st joint illustrated in Figure 2, the actuator
generates a linear force in the direction of the joint axis. Therefore, it is the
component of the linear coupling force fi-1,i projected onto the joint axis.
i  b
T
i 1
 Fi 1,i
Note that, although we use the same notation as that of a revolute joint, the
scalar quantity i has the unit of a linear force for a prismatic joint. To unify
the notation we use i for both types of joints, and call it a joint torque
regardless the type of joint.
Figure 2. Joint torques as components of coupling force and moment.
(Asada, H.H.)
We combine all the joint torques from joint 1 through joint n to define
the nx1 joint torque vector:
  1
2  n 
T
The joint torque vector collectively represents all the actuators’ torque
inputs to the linkage system. Note that all the other components of the
coupling force and moment are borne by the mechanical structure of the
joint. Therefore, the constraint forces and moments irrelevant to energy
formula have been seperated from the net energy inputs to the linkage
system.
In the free body diagram, the individual links are disjointed, leaving the
constraint forces and moments at both sides of the link. The freed links
are allowed to move in any direction. In the energy formulation, we
describe the link motion using independent variables alone. Remember
that in a serial link open kinematic chain joint coordinates q=(q1 … qn)T
are a complete and independent set of generalized coordinates that
uniquely locate the linkage system with independent variables.
Therefore, these variables conform to the geometric and kinematic
constraints. We use these joint coordinates in the energy-based
formulation.
The explicit relationship between the n joint torques and the endpoint
force F is given by the following theorem:
Theorem: Consider an n degree-of-freedom, serial link robot having no
friction at the joints. The joint torques  Є Rnx1 that are required for
bearing an arbitrary endpoint force F Є R6x1 are given by
  J F
T
where J is the 6xn Jacobian matrix relating infinitesimal joint
displacements dq to infinitesimal end-effecter displacements dp:
dp  J  dq
Note that the joint torques in the above expression do not account for gravity and
friction. They are net torques that balances the endpoint force and moment. We call 
the equivalent joint torques associated with the endpoint force F.
Proof:
We prove the theorem by using the Principle of Virtual Work. Consider virtual
displacements at individual joints, δq=(δq1,…,δqn)T, and at the end-effecter,
δp=(δxeT,δφeT)T, as shown in Figure 3. Virtual displacements are arbitrary infinitesimal
displacements of a mechanical system that conform to the geometric constraints of the
system. Virtual displacements are different from actual displacements, in that they must
only satisfy geometric constraints and do not have to meet other laws of motion. To
distinguish the virtual displacements from the actual displacements, we use the Greek
letter δ rather than the roman d.
Figure 3. Virtual displacements of the
end effecter and individual joints.
We assume that joint torques =(1 2 … n)T and endpoint force and moment, -F, act on
the serial linkage system, while the joints and the end-effecter are moved in the
directions geometrically admissible. Then, the virtual work done by the forces and
moments is given by
Work  1  q1  2  q 2      n  q n  f n ,n 1  x e  N n ,n 1  e
T
T
Work  T q  FT p
According to the principle of virtual work, the linkage system is in equilibrium if, and
only if, the virtual work δWork vanishes for arbitrary virtual displacements that
conform to geometric constraints. Note that the virtual displacements δq and δp are not
independent, but are related by the Jacobian matrix. The kinematic structure of the
robot mechanism dictates that the virtual displacements δp is completely dependent
upon the virtual displacements of the joints δq. Substituting dp=J.dq into Virtual Work
expression


T
Work   q  F J  q    J F  q
T
T
T
Note that, the vector of the virtual displacements δq consists of all independent
variables, since the joint coordinates of an open kinematic chain are generalized
coordinates that are complete and independent. Therefore, for the above virtual work to
vanish for arbitrary virtual displacements we must have
J F
T
The above theorem has broad applications in robot mechanics, design and control.
Example: Figure 4 shows a two-dof
articulated robot having the same link
dimensions. The robot is interacting with
the environment surface in a horizontal
plane. Obtain the equivalent joint torques
=(1,2)T needed for pushing the surface
with an endpoint force of F=(Fx,Fy)T.
Assume no friction.
The Jacobian matrix relating the end-effecter coordinates xe and ye to the joint
displacements θ1 and θ2 has been obtained in the previous week:
 L1 sin 1  L 2 sin( 1  2 )  L1 sin( 1  2 )
J

L
cos


L
cos(



)
L
cos(



)
1
2
1
2
2
1
2 
 1
From the theorem =JT.F, the equivalent joint torques are obtained by simply taking
the transpose of the Jacobian matrix.
 1   L1 sin 1  L 2 sin( 1  2 ) L1 cos 1  L 2 cos(1  2 )  Fx 
   
  

 L 2 sin( 1  2 )
L 2 cos(1  2 )
 2  
  Fy 
1   L1 sin 1  L2 sin( 1  2 )  Fx  L1 cos 1  L 2 cos(1  2 )  Fy
 2  L 2 sin( 1   2 ) Fx  L 2 cos(1  2 ) Fy
(Nm)
(Nm)
2 θ2
L1
 L1Sin 1  L 2Sin 2 
J

 L1Cos1 L 2Cos2 
L2
Fx
Link 2
y
1
θ1
J F
T
Link 1
Fy
x
Link 0
 1    L1 sin 1
   
 2   L 2 sin 2
L1 cos 1   Fx 
  

L 2 cos 2   Fy 
1  L1 sin 1 Fx  L1 cos 1 Fy
(Nm)
 2  L 2 sin  2 Fx  L 2 cos  2 Fy
(Nm)
- MATLAB CODE clc
clear
%Robot Statics
L1=0.9;
L2=0.5;
teta1=45*pi/180;
teta2=30*pi/180;
g=9.81; %Gravity
F=[0;5*g];
J=[-L1*sin(teta1),-L2*sin(teta2);L1*cos(teta1),L2*cos(teta2)];
T=J'*F;
display ('*** Joint Torques (Nm) ***')
T
Results:
*** Joint Torques (Nm) ***
T=
31.2152
21.2393
2
1
5*g (N)
FREE BODY DIAGRAM
F
F
Fy
Fx
2
Link 2
L2
2
A
M  0
x
0
A  Fx
y
0
B  Fy
 2  Fx L 2 sin  2  Fy L 2 cos  2  0
B
A
1
1  A L1 sin 1  B L1 cos 1  0
Link 1
L1
1
A'
B'
 1   L1 sin 1
 
2  L 2 sin 2
M  0
B
1  Fx L1 sin 1  Fy L1 cos 1  0
1  L1 sin 1Fx  L1 cos 1Fy
 2  L 2 sin  2 Fx  L 2 cos  2 Fy
 L1 cos 1  Fx  The sign of the torques is
  reverse since they are

 L 2 cos 2  Fy  reaction torques.
Download