Professional Documents
Culture Documents
x e dx e dq
ve J , or v e J q
y e dt dt
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
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 end-
effecter 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.
J1
θ2
L2 J2
L1
y Link 2
E
Link 1
θ1
x
L1Sin 1 L 2Sin 2
Link 0
J
L1Cos1 L 2Cos2
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.
p J1. q 1 ... J n . q n
det J 0
L1Sin 1 L 2Sin 2
J
L1Cos1 L 2Cos2
The vectors J1 and J2 points to same direction if θ1=θ2 and if θ2=180+θ1
J2
θ1
Singular
θ1
J1 x
Non-Singular J1
J1 y J2
θ2=θ1+180° J2 Singular
θ2
J2
θ1
Singular
θ1
J1 x
YA 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}.
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
XB BP
AP
Borg
AP
YB
YA
XA
A
P R B P PBorg
A B A
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 A
RB A
PBorg B P
1 0 0 0 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.
9.098
A A B
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 P
And then transform BP into AP as {C}
A
P A TB B P CP
XB
YA
XA
Compound frames: each is known relative to perevious
A B
RB RC A
R B PCorg PBorg
B A
A
TC
0 0 0 1
Inverting a Transform:
1
RA RB RB
B A A T
Rotation matrix is orthogonal, thus
If ATB transforms the frame {A} into frame {B}, the inverse transform can be
written as
A
RB
T
RB A
PBorg
T A
B
TA
0 0 0 1
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
teta2=40*pi/180;
y
rot2=[cos(teta2),-sin(teta2),0
AP
sin(teta2),cos(teta2),0
30 50 0,0,1]
p2=[50;30;0];
30 T2=[rot2,p2]; %Trans. matrix C B
30 T2=[T2;[0,0,0,1]];
CP=[30;30;0;1]
T=T1*T2
AP=T*CP
CP=inv(T)*AP
40 xA
Result:
A PX 50.3711
A
AP
x
Y
P 119 .4321
*** 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 Denavit-
Hartenberg (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
θi+1
Zi-1 xi
Zi-2 θi
θi-1
Link i
xi-1
Link i-1
αi
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.
ci si 0 0 1 0 0 0 1 0 0 a i 1 0 0 0
s ci 0 0 0 1 0 0 0 1 0 0 0 ci s i 0
Ai i
0 0 1 0 0 0 1 d i 0 0 1 0 0 s i ci 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
0 sin i cos i di
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.
R i Pi
Ai
0 1
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
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
rT r n
Example: Two-link planar RR arm (Planar Elbow Manipulator)
x2
y2
a2 θ2
a2 z2
a1 y1 θ2
x1
θ1 y0
a1
Arm schematic
θ1 z1
x0
z0
D-H coordinate frames
Link ai αi di θi
1 a1 0 0 θ1
2 a2 0 0 θ2
cos 1 sin 1 0 a1 cos 1 cos 2 sin 2 0 a 2 cos 2
sin cos 1 0 a1 sin 1 sin cos 2 0 a 2 sin 2
A1 1
A2 2
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
0 0 1 0
0 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.
A1=
A2=
T=A1*A2=
Link Parameters
Link ai αi di θi
d1
1 0 0 d1 θ1
2 0 -90 d2 0
3 0 0 d3 0
c1 s1 0 0 1 0 0 0 1 0 0 0
s c1 0 0 0 0 1 0 0 1 0 0
A1 1 A2 A3
0 0 1 d1 0 1 0 d2 0 0 1 d3
0 0 0 1 0 0 0 1 0 0 0 1
c1 0 s1 s1d 3
s 0 c c d
T30 T A1A 2 A 3 1 1 1 3
0 1 0 d1 d 2
0 0 0 1
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 0 a1c1 c 2 s2 0 a 2c 2 1 0 0 0
s c1 0 a1s1 s c2 0 a 2s 2 0 1 0 0
A1 1 A2 2 A3
0 0 1 0 0 0 1 0 0 0 1 d3
0 0 0 1 0 0 0 1 0 0 0 1
c 4 s4 0 0
s c4 0 0 The forward kinematic equations are given
A4 4 by
0 0 1 d4
0 0 0 1
d0
1 A tan( x c , yc ) or 1 A tan( x c , yc )
s=zc-d0, r x c2 yc2
a3 z r s
2 2 2
z θ3
z 2 a 2 2 a 32 2a 2a 3 cos( 3 )
a2 s
θ2 z 2 a 2 2 a 32 2a 2a 3 cos 3
r
z 2 a 2 2 a 32 2a 2a 3 cos 3
z 2 a 2 2 a 32
cos 3 D 3 cos 1 (D)
2a 2a 3
sin 3 1 D2 E
E 1
3 tan A tan( D, E)
D
a 3 sin 3
tan
a 2 a 3 cos 3
2 A tan( r, s) A tan( a 2 a 3 cos 3 , a 3 sin 3 )
s
tan( 2 )
r
Statics:
A functional relationship between the joint torques and the endpoint force,
which will be needed for accommodating interactions between the end-
effecter 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.
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 Ni 1,i
T
i 1
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 Fi 1,i
T
i 1
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:
J F T
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.
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
Work q F J q J F q
T 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.
From the theorem =JT.F, the equivalent joint torques are obtained by simply taking
the transpose of the Jacobian matrix.
1 Link 1
θ1 Fy J F T
Link 0
1 L1 sin 1 L1 cos 1 Fx
2 L 2 sin 2 L 2 cos 2 Fy
1 L1 sin 1 Fx L1 cos 1 Fy (Nm)
2 Link 2 F y 0 B Fy
L2
A 2 M 0 2 Fx L 2 sin 2 Fy L 2 cos 2 0
A M 0
1 A L1 sin 1 B L1 cos 1 0
1 L1
Link 1
B 1 Fx L1 sin 1 Fy L1 cos 1 0
A' 1
1 L1 sin 1Fx L1 cos 1Fy
2 L 2 sin 2 Fx L 2 cos 2 Fy
B'
1 L1 sin 1 L1 cos 1 Fx The sign of the torques is
reverse since they are
2 L 2 sin 2 L 2 cos 2 Fy reaction torques.