Chapter
j'
speedsofeachandeveryjoint'atanyinstant,suchthatthetotalmotioncausedby
frame. In this section, we will first study
rhe robot will f..q*l to ih". d.rir.d sp!"d of the
the difterenrial motions of
mechanism' Finally, we
of
frame. Then, we will study the differential motions
robot
a.
o Differential
o Differential
. pin.r."it1
translations
rotations
transformations (combinations of translations and rotations)
Example 3.2
0.03) units' Find
A frame B has rranslated a differential amoqnt of Trans(\'01,0.05,
its new location and orientation'
io.zoz
o 1
0.707 sl
o 4l
I
B:l^^^
 0.707 0 0.707
I o o o
Solution:
I
I
1.]
orientation of the
Since the differential motion is only a translation,.the
frameshouldnotbeaft.ected.Thenewlocationoftheframeis:
5l
0 .707 0
0 0.707
o.o1l
00
f
lo.tot
i1
4l_ 010
10 o.osl I o 10
nl 707 0
": [: 01 o.o3 lx lo.zoz 0 0.707 1l lo 00,0
1i I o 00
L
lo 00
0.707
0.707
5.01l
4.0s
I
e.03
1l
I
"..
sin6x: 6x (inradians)
cosdx: 1
62.
f r n ^., nr
ft o o ol
t',{*,a*):f!
,,,,
?'J Sl
u,Il,^,,,,,u,): I
lo; ;;i
121
,
y,
andz_axes
r ir da 0 0l
IlSi?J'*'e'*r:1';
t;il
Q'11)
o
ll
? so ol
o or
or, Sl
ao4n'an):1f,
:'iSl
l1
fr 6a
;,
;" Jf,o'1''o,l:lou, i I If,^,,r,u,,:/i
looorJ
l;';;il
Lo,oo,l
Q'12)
,r^,,.^ L
of unit vectors. a.. :.::otrythe;&:ve!aiestablishedpreviouslyaboutthemagnirude
differentialva".rr"*,.fll]:'l^t1'+ (a)l 1'.However, as you
Notice that
., ,..;;;;;
l,.i:id.,:g;.Gr,#:?:'"",:T,;#ri:.T:,5il*.:y*H#1.#trf;
drtterentials
such as (6x)", the magnitude
if ,h.,r..tor;;;#;.:eptabre. ::1*;;
As we have alreadv.seen, if
the"o.a..lr,rrripri.*i"".i*"rji.r.*r"nges,
change as wen. fir._l.r"..,
rhe resulr
will
Rot(y,6y)Rot(x, tx)
i; "*" i*i."ri;"lr.J".i'ng
**il,;#ffiffi";TffJilf;
I[;if,f}' ;lilt*;?il
fj,;'!il ff
;j il:l+r{ ?ll
,i.
f:k:;)ilQ;i;'i
^oof ro_tarions,
other combinations
1,,,r,;;1;;;(;,;;j: rhe same is true ror
ln.t,rang amrJ,r,rii,;;il;r;"rt
You may remember r.o y."ur;;;"t?ri...."urse
the e_axis.
thatlargeangle rorarions
dift'erent axes are not iommutative,
abour
and therefore, cannot b. add.a
For example' as we
in different orders.
r.."].ar"" rorare an object 90" about the
followed by a 90" rota1L1
1?:: abo.rr it . rorr,
r_axis,
irr. ,o.rrr.n iu
order. However. velocities are
rr you reverse rhe
.o__or"rirre.and
{:*it
drscussion
#.,;e;.,
122
Chapter 3. Dffirenilal
Moilons and Velocities
Figure
3.5 Differe
about a generai
axis 4.
wirr be unimportanr
same is
rrnce velociries
r*. h;;i: ,::::::""
are
in faadifferential
modons divided
by time, the
3.6.3 Differential
Rotation about
t a^"t"ral Axis q
Based on rhe
above, since
rhe o.o
Ro
G,
dx ;//
,j
;" :ll ',, j
/:
Lo o e
/o
t]lo e i
Rot(q,d0)
po71*,dx)Rot(y,6y)Rot(2,u.)
.
!{.
:[ +
3x
l5l
Example g.g
#"jfijTilffYiJ;l"jlsiT#rT,1
[o
ol
ol
o
/
1J
bv smarl rorations
abour the
Q.14
tocities
j.6
solution:
t23
6y ol I r _0.02 0.05
I r 62
1
ol 1o'oz
0.1
Rot(a,dil:l\
",lu, 6x 6x
1. ol:lo.os G1 ,1
ol
o o 1J I o
lo
il
Note that the lengths of the three directional unit vectors are 1.001, 1.005, and
1.006, respectively. If we assume that 0.1 radians (about 5.7") is small (differential),
these values are acceptably close to 1. Otherwise, we should use smaller values
for
differential angles.
re, the
is not
[f + dT] :
NSUme
tations
s).
,d as:
or
[af1
where
lis
dl)ltTl
dy, dz) Rot(q, d0) _ 4[f]
Idrl : taltrl
f\l :
where
(3.1s)
as:
Rot(q, de)
4
(3.15)
[A] (or simply A) is called dfferential operator.It is the product of difterential rranslations
and rotations, minus a unit matrix. Multiplying a frame by the difierential operator
[A]
will yield the change in the frame. The differential operator can be found by multiplyinj
the matrices and subtracring the unit matrix,
A,
Rot(q, d0)
as
foltws:
 62 6y ol [r
[t o o a*11 3z
1,
ol
0" o ol
1 o ol
o I ol
6x
lo
6x
1
l; o; o? '/.ll
ol.lo
6y
1JL o o 0 1l
o 0 ]j
lo
(3.1,4)
f o 62
0
A 6=
Lo
6y
dr
6x
lrr
L0 0
o
(3.17j
d*1
dyl
,;)
As you can see, the differential operator is not a transformation matrix, or a frame. It
follow the required format lither; it rs only an operator, and it yields the changes
in a frame.
does not
Chapter
124
j'
ExamPle 3.4
Writethedifferentialoperatormatrixforthefollowingdifferentialtransformations:
:
6I: 0'04' 6z: 0'06radians'
dx: 0.05, dy:0'03,"il:_.o'otunitsanddx O'02'
Equatio n (3'77)'we get:
Substituting the given values into
Solution:
ExamPle 3.5
Findtheeffectofadift.erentialrotationof0.lradabouttheyaxisfollowedbya
on the given frame B.
differential translation of [0.1, 0, 0.2]
o 1 tol
[o
u:loIt o1oo s3l
[o o o 1l
l
Solution:Aswesawbefore,thechangeintheframecanbefoundbypre"1tiplv'1q
and
Substituting the given information
the frame with the d;tr;;;rtrl op.ri'ror.
multiplying the matrices, we will get:
For dx
ldBl:
0.1'
[Al[n1
u)",A
I
 "t
dz
:0.2,
6x
: 0,
6Y
: 0'1, 6z:0
: l0
 0.1
L0
s s +lli
Diff"t"ttti"l
l9
;l il:Ls
o:t
0.1
s
0.4
0lI
=0.s
0l
ThematrixdTinEquations(3.15)and(316)representsthechangesinaframeasaresult
are:
oiAf.r.n lal motions' The elements of this matrix
dT:
I dnI On,
I on,
do* da,
OO"f
Lo o o ol
(3.18)
d Velocities
formations:
06radians.
r25
The dBrnatrix inExample 3.5 represents the change in the frame B, as shown
in Equation
(3'18)' Therefore, each element ofth. matrix represents the change
in the coresp;"di";
element of the frame. As an example, this
.im that the frarrie moved a differential
amount of 0.4 units along the xaxis, zero along the yaxis, and a differential
amount of
0'8 along the eaxis. It also rotated such that tiere was no change in its nvector, there
was a change ofo.1 in the o, component ofthe ovector, and,
ot".rg. of 0.1 inthe a=
component of the avector.
The new location and orientation of the frame after the difterential motions
can be
found by adding the change ro the frame:
Tn*:
llowed by
dT
Tal
(3,1e)
Exarnple 3.6
Find the location and the orientation of frame B ofExample 3.5 after
the move.
Solution: The new location and orientation ofthe frame can be found by adding the
changes to the original values The result is:
Br*:
multiplying
cmation and
o.4J
l'l'l
I
Borisinat
ilB
01
00
= lo 10
lo 00
fl
ll.ll
0.1 0
00
0 0.1
00
'))
0.1
;)
I
Differential Changes between Frames
The difterential operator A in Equation (3.16).represents a diSerenrial operator
relacive to
the fixed reference frame and is technically uA. ilowever, it'is possible
to d.fi";
;;;;
diffe':ntial operator, this time relative to the currenr frame itsil4 that will enable
us ro
calculate the same changes in the frame. Since the differenrial operaror
t.il;.;;
ri;
frame (7A) is relative to^"..rr..rrt
to
find
the
changes
in
th!
frame
we
posrmusr
multipiy the frame by TA 1as we did!ame,
in chapter 2).Ther.r",rlt *iil b.;;#;,il;il;;
operations represent the same changes in the frame. Then:
[dr]:
[a][7]
+l l;
0.1
: [rl'a]
lr'l lrll'al
+ ['a] : lr1l1n1Jr1
(3.20)
as
126
Chapter
t"
ny nz p
"l
oy oz
L0
oo
t
T': lo'
[T1][A]tTl
n, o, a, p matrix, we get:
fo 32 6y
u:
0
d*f
dvl
o o
drl
t^
p.ol I ano
lo, ay az p'al
dx
A: I
6x
0
aY

1j
I o
an
L0
26. ,6y
Io o o
o_l
r dxf
(3.21)
rdzl
oJ
'dx: 6.n
1676.o
rdz: b.a
rdx:n.[6xp+d]
'dy:o.[6xprd]
rd.:a.[6xp+d]
See
(z'>ct
Example g.Z
Find 8A for Example 3.5.
SolFtion: 'we have the following vectors from the given
information. we will
substitute these values into Equatii n (3.22)
and will calculare ,r..,o.r"bd ;;; ;6.
n:[0,1,0] o:[0,0,1]
6: [0,0.1,0] 6: [0.1,0,0.2]
6xp
a:[1,0,0J p:[10,5,3]
[0.3,0,
1]
[0.1,0,
0.2]:
10
6xp
thus
* d:
:n'
udy :o.
Bdz :a.
Bdx
[0.3,0,
1J+
[0.4,0, _0.8]
Bdx: b.n
its
Hand Frame
127
Q,2I)
: [0,0.8,0.4] and
"a
n5
[0.1,0,0]
[o o o1 ol
0
I3 ol,
L0 o o
;"'I
o_l
As you see, these values for BA are not the same as A. However,
postmultiplying the B.
Example 3.8
calculate BA of Example 3.7 directly from the differential operator.
lual
[B1][a][B]
fo
lo
Ir
Lo
f0
l0
lo
Lo
10 5
013
0010
00
00
0 0.1
0.1 0
00
as
ll,
I l ;l
as:
l;
01
00
10
00
10.l
sl
3l
1J
0.8
0.4
0
it
in Example 3.7.
accomplishes the differential motions. We will leam how the robot's movements are
translated into the frame changes at the hand.
The frame we discussed previously may be any frame, including the hand frame of a
robot. dTdescribes the changes in the compon.nir of the n, o, u, lr..rors. If the frame
were the hand frame of the robot, we would need to find oui how the differential
motions of the joints of the robot relate to difterenrial morions of the hand frame, and
specifically, to dT. Of course, this relationship is a funcfion of the robot's configuration
and design, but also a function ofits instantaneous location and orientation. For elxample,
the simple revolute robot and the Stanford Arm of Chapter 2 would .equire rlery
differentjoint velocities for similar hand velocities since their configurations are different.
r28
Chapter
3. Dffirential
However, for either robot, whether the arm is completely extended or not, and
is pointed upward or downward, we would rr..d rr.ry di{lerentjoint
velocities
in order to achieve the same hand velocity. Of course, as we discuss"ed before, the
Jacobian of the robot will create this link berr,veen the joint movements and the hand
movement as:
whether it
dx
d0t
dy
doz
dz
6x
Robot
Jacobian
doz
do+
6y
dos
6z
doo
or
3. 10
(3.10)
IDI  ullDrl
(3.23)
lr,]:l?'triiiil:ii,f7r]
Taking the derivative of p* will yield:
Sl;.a3
S2a2]d02
r43
hoblems
ocities
ru can
,il"tly,
:
1.
three
'd9y as
Paul, Richard P', "Robot Manipulators' Mathematics, Programming, and Control," The MiT
Press,1981.
V.
NY,
VI.
1986.
Siciliano, "Modeling
Sciavicco, Lorenzo,
B'
McGrawHill, NY.
1996'
ions, if
conffol
rol
the
ry have
lare any
ints?
3.1.
what
is
the
effectofadifferentialrotationof0.15radiansaboutthezaxis,followedbyadifferentialtranslarionof
location of the hand'
[0.1, 0.1, 0.3]? Find the new
t00121
p;
..
rH
pu may
ie, these
lrotions
3.2.
lr?Bil
o o 1l
lo
Posluon
o o sl
ft
lo o 1 3l
of
the
are
Gr.
joint
a
robot.
ove.1n
uauons
0 0.1
0
0.1
).rdt:
T:1" 1 n sl
"l
0.1 0
,0 0
rl
o
o
lo
0
0
0
.0.5
0.s1
0l
33.Supposethefollowingframewassubjectedtoadifferentialtranslationofd':700.5]unitsanda
differential rotation of 3 : [0 0'1 0]'
'What the differential operator relative to the reference frame?
is
(a)
(b) What is the differential operator relativ to the &ame '4?
[o o 1 lol
robot in
of
le of
o."i[ 0.6 I
A
I'rsll
144
3. Dffirential
3.4. The inicial location and orientation of a robot's hand are given by T1,
orientarion after a change are given by 72.
Chapter
(a) Find a transformation matrix Q that will accomplish this transform (in the (Jniverse frame).
@) Assuming the change is small, find a differential operator A that will do rhe same.
(c) By inspection, find a di{ferential translation and a differential rotation that constitute this operator.
lr o o 5l
I t o 0.1 4.81
o
3l
o
,rl
r
r:19
'tlo r o 6l r,:lor
'2lo I r
o 6.21
L0 0
0 1J
L0 0 0
1J
3.5. The hand frame of a robot and the corresponding Jacobian are given. For the given differenc:
changes of the joints, compute the change in the hand frame, its new locat ion, and corresponding
1ot fj. 3 ? 3 3
t, r^r:l9
[o 1 o
t:119
:l
'"lo o t ol
lo o
o 1l
S]
lo 'li 9o 9o 9l 9lol
lj, 3 3 ; 3 ?l
0
0.1
De: 0.1
0.2
0.2
0
frames describe the old (71) and new (72) positions and orientations of the end.j:
!, relatingto rtdz, Tr6x, Tr3z, is also gir;_
Find values ofjoint differential motions ds1, d02, dfu of the robot that caused the qiven frame char+
''
:
f
";''
t,, ?'] ": l: ? il
'':
; : l i] 14,
frames describe the old (71) and new (72) positions and orientations of the end
r:
3DOF robot. The correspondingJacobian, relating to dz, 3x,62, is also given. Find values ofierlr
dilferential motions ds1, d02, dfu of the robot that caused the given frame change.
'':[; :ll]
':ll;,' :"1"t,1':i: ? ll
3.8. A
camera is attached to the hand frarne T of a robot as given. The corresponding inverseJacob:' rthe robot at this location is also given. The robot makes a differential motion, as a result ofwhic': :
change in rhe frame dT is recorded as given.
(a)
Find the new location of the camera after the di{ferential motion.
Find the joint differential motion values associated with this move.
Problems
745
motic
measuredrerative,.{i.";i;;;;"""il13..iilif.ffi
:i?f i;1TijT;T;i:;*r,"
l;3_iiiil
,:f;
oTsj
iq:i
':13s;'J "':/i ';'3 3?s/ dr:lto^*q01
oo3
;
e
'
3'9' A
l?
Stistl
camera is attachedto
the hand ftame T
the robot relative to
the
a".
of
arobot
as
o^o?r
1301 31J
given.
The co:
inverseJacbbian of
,rrtrl".*;; * also given. rrr".ouor
",
llsponding
a differen'lia'1
rir;;;;;'
;H', ;:'""'Ti::::Jili:".,Tffi*H*:;":"
fqlo:r ., ,:l:,
l: I oooor
': ro
/i oi io tl
',' r' s i ;/
rJ
l? ; s ; I l/
l10.
7,, o.^r^. :The hand fiame
ro cati
on
frame described
of
*r".,3niJ,l#l
o _0.1
o.t l
o.o2 o o.osl
ar:l o _0.1
o _o.s
I o
9 o o
L
oJ
I
,:
:: ;, f
as;
rHD
{")
 o.oz
fiig
relative to this
10.05
3_"33s1
li
*:l;fele3t
."r,:19
'02
o o o ol
_',
3
:l
[o o
l
o ;]
;,
3 ?J
l;
L1 o o o o il
Sl
l_: J:
is
j,]:
146
J'
u'tupter
Difr
(c) Find the new
locrti^ ^r,L frame
.
,
.
afre*
drrer the dtflerential
(d) Find n"*
modon.
how much th^ A:rr.^,:""
Fram.
ntK
,',.loiillTij.:
::::"t
(given
a r" Tli3:*,ff::::TJons
"uo,..),r'ouia have.b.een, irmeasured
same
new location
3 i ;/ ,':l:
l;
ro 0 0 ;l
3:
/i ;'
Iro u
Lr
3.l2.Ca1culatethe\J
(c).
ierative
;' 3 s sl
3 J si
o o o ll
of theJacobian
for the revolute
ror
revolure rob
rohot nrn_.^..,_
el._^_. of
:*"":'"u
element
^".:theJacobian
for
J'lJ.
3,13. Calculate
6"1.ur"te the
rrrzr ;lement
the ToJ..
3.14. Using.nrrrrrorr'tu
in part
f: o e oool
'fo 1 o 3l
.:
as
Motions and
the..r.orurJ;;;::;:ffffir:;r?
:nff
.q ua on s ro,
.^.il.T *,: *
;;;
r.,J,rol*.*,ffi
cvlindrical .*"rl"ffijit1"::f:":l,l
,.tt. t,.,, rn*""',r.6)
".
.r;r+;*^,
'f ."fffl
",r,. ..,ir,p "il ":J
#
T.:
;?i.$fj***ii
fi
,Y;;,?"::ff
I
r.tu.o.".r'"in.ri.uoot,thethreejor.,rr,.,o.,1,lfhericat;;;;#J;J:t:Tf"ffi::":tJ'#i;
d
"
components of
the velociry
r:0.'l.in/se"
"ffiT:
* ;;;ilrff:.are
i,nnF
r
15in, a
30.,,
given for a corresponding
location. Find the
r:2in/sec,.f :
tr'
:,Q'p
thre
0.05 rad./sec,
0.1nd/sec,
i, = o'1'
rad/sec, vr:: 20
)1 in, f : 60o,
robot, the il;;r;
)/ : 30o.
veloc''
componenb
glven
""::,:,_=
for
#:i,Tihreejoint
a corresponding
re velociry .drh;;;;Hare
location. Find the
"u
three
3'18' For
a sphericai
i: I unirl"op
tnitlsec' l):
 l, rad'/sec' i'
3.19. For a cyrindricar
l'radlsec.
r:
5 uni
jj*{#..11",,".".."
;H:'T#;?..1,,0.11;it'H:'ff:."r"n':.',*f
vLruLraes $rat
"^! :i"..,H
will
generate
320. For
y:3in/sec'i:5inlsec' q:45o'
"
,0n"r..1..:1inlsec'
' =*'otn,l:25inL.
,*]',,*'l;:T: ::fi',.:Til:.::ii"",l"f:iy.nll"
nree joint velociries
verociry
li:o riame are siven ror
rhat w'r
*."..rr. *. ilJ* n*o
i : 5 in,/sec. y : 9 in/sec, :6inlsec,
iilsnolain,
rrame
f :60o, y:20in,)/:30o.