Beruflich Dokumente
Kultur Dokumente
Chapter 5
Robot Jacobian:
Computation and Use
Introduction
In this chapter we will define one of the most important matrices used in robotics: The Robot
Jacobian. This matrix allows us to do many interesting and very important things in robotics,
such as:
Forward Kinematics
q is the joint vector:
q1
q
q 2 q1 q2
qn
qn
p1
p p2 p1
p3
p2
p3
T (q)
j 1
j 1
j
R(q)
T (q j ) T
0
p(q)
1
(1)
Orientation of the wrist WRT robot base can be expressed through the
instantaneous vector of rotation k and angle of rotation :
k , arot ( R)
(2)
3
or through x-y-z Euler angles:
1
1 , 2 , 3 Exyz
( R)
T
(3)
1
k 2
3
Based on the above, we can represent forward kinematics in the form of the
following nonlinear mappings:
p1 f1 (q1 , q2 ,..., qn )
p2 f 2 (q1 , q2 ,..., qn )
p3 f3 (q1 , q2 ,..., qn )
1 g1 (q1 , q2 ,..., qn )
2 g 2 (q1 , q2 ,..., qn )
3 g3 (q1 , q2 ,..., qn )
Position
(4)
Orientation
p f (q )
g (q)
Position
Cartesian pose
Orientation
(5)
5
Mapping of joint velocities into Cartesian velocities can be obtained by
differentiating equations (4):
p1 v1
f1
f
f
q1 1 q2 ... 1 qn
q1
q2
qn
p2 v2
f 2
f
f
q1 2 q2 ... 2 qn
q1
q2
qn
p3 v3
f3
f
f
q1 3 q2 ... 3 qn
q1
q2
qn
(6)
1 1
g1
g
g
q1 1 q2 ... 1 qn
q1
q2
qn
2 2
g 2
g
g
q1 2 q2 ... 2 qn
q1
q2
qn
3 3
g3
g
g
q1 3 q2 ... 3 qn
q1
q2
qn
p v J1 q
J2 q
(7)
6
where:
f1
q1
f
J1 2
q1
f 3
q1
f1
q2
f 2
q2
f 3
q2
f1
qn
f 2
qn
f 3
qn
g1
q1
g
J2 2
q1
g3
q1
g1
q2
g 2
q2
g3
q2
g1
qn
g 2
qn
g3
qn
(8)
v
J (q) q
(9)
7
The equation (9) performs mapping of joint velocities q into Cartesian linear
velocity v and angular velocity . The inverse mapping is also possible:
v
qJ
1
where J
(10)
In order for the inverse Jacobian to exist, J must be a non-singular matrix, i.e.
det( J ) 0
The configuration
qs
(11)
for which
det( J (qs )) 0
(12)
4o
u.
e-6D
^/
Ep
F0
o eqt vvrt
co q
,d0
oN oF
N Z
'tl J'o{x*od
*trtp
TL
8,
fuff./ar 4(,,
c.o
^,
W{ N!,*
r{
1t
) * fr#q4.g#*" "'"q-{.u,h -4 f
i-i"
?--xiftur+
fu**-
-t{C",t*, f
-d{
e)
b{tu^&,c-'
*
*nrufAv))fr JfA
{r
pft*l+): [t-+-&,mtov)e*
(AY) =' AY e'$* {ey] =
A-t > o -1"{.*l^ A?+ o ,
/d,'CI^
y({+st)=
cq
{f
p(+not)-fft)
AY
AC
-*--
Af
dY
AI t< r(t)
\+ p (t) ir *nfriPvtw
ig
,{n ltm
&1.+p At
=,
ru(f)
hJ*
ht
t*rt
o
C-
Inu-
6Y
rt+o at
Yr+j
l+
nf
-+
urt)
\r.
,(v
YH,IL f
,rr,rd& irl,ea^Ji
^t
6,
fr)
NA
F. cu
&) f
6k),
t" = o.*,L
r"c+) x f O
ct)
\f=
lo i:
hJ
xP
4,o4
(Udtil
?Xc"A
-ffi
-A*;:
ffi#*-"
ut * 1,
c*tw*
4rrXnat+
t|'' \
tffi-*mrr1
*trt
faff w$tr
,"c(
+t
t4*n
/
/
talRtST
2j0i
dri'i,{ u,',S
i; _roi^J;u,n
W;
,l
p*,
era
. ut) \tu,
,d /Afi
,)
, /""d
fu-,t';
[(
{"i )
^*
.w_r.z__v!
S
or
c/
^olnr]6,
re
$
rx
A
V.tlar v&a
tte
Urar*^1 l*tlr"*U 4I= t^, ( irl"t
"
un = (gl
* ri = (ouu,)r ( r._a
{,}
=i]
"'
\l
'.
,0t =' 0d 2e
[i,*W . u]'e
4*Vn ec
1-r)1
tpJ,Lt?ne* 'i+-l*a
(t =
w
rn
]
L*-r
t
M
= zri
il;r
v
,i"ir^C
^,aT
04/"
rL
rh
,l
%;(oi{J*
='
5
{/r\
n)l
U'
/h^-]h-,
h
id c',qtqi6 ffiff*,1o;dr
ioo
zi)
{f,^-fJ
I
I
\
'c@
|I
(a)
*"'
{*
4Yl$''ru'*r
n
Jt
,* r ist"4*,
de
et
-J-\
ftl\AA t t 'Y
t1
,t
t4.
t"ru i
lqrl
: fax
f -*
3
,tst_\
{po-F}
/l
FJ LZi
a).,,
-l
,.\1
*tYo-pr.I o f {s,
**/*."r
f ^
J(h-l
tt
itn l#r
lr
I
,{
-[w[.rau
bf
-.} r
l---t= Jrllz
L
ftor
3),',
L{,^r
I ti.
r;$
*h*AA
I = lW'
ti ;)
l,'=
*" - [ur*(-*,
i
,^h
vt toC
*\1LV"
l#ih* oV ;-+hTM,,,
Ie*,
L*-
)n
,T il^l
A4,v
Y*, W*A
,r&tu't*d
,**, 0f4
**fF;$/tF
c-
r{ f,! lfi
=.
1= Lr'rilr',
1u',,n) ^
U
tfir!
3fl
C'*firy%
(il
^-J fs)
wt- \N,
(r
4rrtt
'{'\tf
l r-, ir'J
t-4
(u#{t %,*&{**
J rf, ..!'\iJAa'/u'tf,i.r-- 1or d/{
*\j
&
or.
*L-0,"t
aJ;
4,ttd hcn
1r'= #,7i,)
*tu*
q
.(,)
= irlf:
L?jl
Jr
U
'
Tn*
[*
';Q;Uhu* f6J
q.!,r<
$e*-rrue
rr -eA
.,--'l ,17
tott''tt:
d", -!Wt&!a-
#jrMiejd:
r.\
It
at ua;-a+ea { ' }
i
j
^J
d&.=
*.1' *
atd ,o.
:
^fh'
q"
"j
u*]t*"e
SO
* #a
,r"rr,S%
#d^tt"f
d*
ft
-1
Jt
*<
wiu^*;
f-TT"r$)]
f3l
a f"r f'awfi*jr
* g-r
t LYe4
t
,d
nfr
flri'a*-Jq"4*i#:
1re^co&tantt
fta *nal-
'1ai
p'oi es
t o,,e tt^64
(\akL,rtdt)
IU
rl
6'
Manipulator K inematics
The HT matrices for all frames, with respect to the base can be obtarned by multiplying the relative HT maffices:
fuO*/:tuD
LctA.i
Fpt
z*Tte-9
oF AoFPf On:e
c1 -51
oryt
LJ
ory-,
2t
s1
'c1
00
00
ctz
stz
ct at
st &t
s!2
ctz
00
00
(v
0
0
(4-r4)
?t,
ctz - stz
0r7 _
3r
stz
00
00
ct at
\et *
ctz
d,g
CtZ+ -512
oq4t
stz+
00
00
I cpa)
ctz+
dso
CLat*cpa2
Stet* spa2
77
CIg
4-23
s12 a2
&90
-=___--
tf
Example:
Consider the Jacobian for the AdeptOne Robot. The z andp vectors
can be extracted from the HT matrices presented in (4-I4): ozr
oz2
oz3
oz4 : e3 and:
-
[0-l
lorrrl
terct*a2cpl
op2op4o?tr,
l9 | ,
lot^tt
| , 'p3l"rs-r*
Lol
LoI
L dz-dzo I
opr-
whieh is giving:
ozr
oz2
x ('pn - opt) -
az sn
| -"ts1 -
at cr *Oaz cn
t-ezsnl
I or"r,
x ('pn - "pz)
LOJ
oz4x ("pn-
rz x ('pn - 'pg)
"pn) - (0, 0, 0)
- az sn',1,-o, sL2!,010 l1
&tct#a2q2 a2cr2
iO.O I t
-o-lr;olJ
-a4s1
oT
4ar
Fa
-+---+
1 j
%co
kou
inn
--
-:
-F
0-ll
o-fjoll
1 ,O:llJ
t
0\rS[vr0*.rC
\'
5-7
,\o tM
l,,,u1c,l'-
,,A^'ilufu'
\r"l*dt;q
(5-e)
Co'lt4/hM
qrdao;lrw
\6
Introduction to Robotics
4r
at Ct t a2 C12
00
11
StZ
eZ CtZ
00
00
10
01
(5- 10)
a and.
5-8
with a1
a,2
500 mm
,,
o,4-
(-snezQz, cr2azQzt 0,
or:
t-stzeznf
,,,azez - tol e2- t_g^l
mmtsec (s-il)
|
] Ltl
LTtl
t
tt)
,:
qz rad/sec
V, = (0,750,0) mm/sec
A2 =lSradlsec
,-
5-9
Qz),
(),
(0,0,1,5)rad/sec
, ft
fi, -
9o d-t
,"Al.
d}*
J
i el{Jr
t#Arr."{''q
s aM
tui
i,i)
3Y
L*J=
, T*:
[,,*rx f
t"jj
P*-q*
(r]
Stud.erL "F,"dtu%;
P.-^
A- tl
{-ff*-"fdJl
6.-.
Zrl
U-l
( {na ua,Aio^
{"i4^rffi0rere""4\F*ff
-t tt-lkufi
ve"
,r.l
ce)
1\)z
irn
*l""he-+
hrflwd'4
Ju/^t q*
iAl a F-oa.
^.f4.
"{te'4-4 {4.
r,urisi $'@il^L \^1 it&!^A C ita
Tt"ii ir "d-rp"-A' &44e3 owns a*u.e*'e&,
Pr
Y-v a^j #U
tl
al.,t
i"f
'(t'o
huu* uA-,.+1.4P. (,-t
fre
Au,t,
(, -oor' t)
*',J{r Z1<*l
'f'
b#w-*
u***t^k*
*tI;
'*i'4
*X' 1-
te*{p
wr
is{ f'**u \g
I
I
*tu*
Lu"*,rlu
*t^
=fzlffnnfee*
Lo
Y*ax,iE" 4
,&4
o* 5 rwv'nfsre
trttttQ ^ t.is*
->
-/'ilre-wrisf
N,
la
D^=
I wllsee ) A+&
'
;R'r*
t**-1
+t^'t
tar I
-l
f ^
*sin
- 1 - J-
:hR'
lolq
I f^w L
tJ= |
I
t
n+J =
4A
-T
{,
.)
L-n"
Jq,
[^ ,o,P uL
Fiifi.
tY\
c_-1
ro
i 1%
Ft1
i "T
-o;tr1*'
fnn
It
II
-t
ra] /ue
OtsR
I
tt
o-1
art9
-qI;'{}ol
tr.Ronr* I
*-i -** {---"t
{"
kl llntr* Lt{
l,
ic
t:.f
\
H l-c
?
t-l"d
o,1d
i'* #
(r f r "/re *i
flr, I
n,tiE {
hW*
Icrzr :Srz{
iR-- ls''*
L0
'f
02.1 o
lJ
o.r-l
o(c
+4)
o"-l o
.1 o
ol
iJ
o t
f o(to
+ sro) aso
."Tl o
0l
aQz o
or-lo?o*cro)
0
acc 0
ot
0l
ol,
ol
l,
asrz 0
or-r=Tl |-a@,*ct) -a(q +s,r) 0
A,J
a's,
0
o_rrl u
a\0
Laq
I
1'
l- ocq
ir'=*l-a{c'++)
lo11
I i
2I
=",Ui[,
o",,
aczq
-as4
a(so
soo)
o
-asz+
lJ =:U:J
'F;j*
-:*"-p,.l, 3u
=; u-, =|..:
e-'
""-Lo ;Rt J'
" [o :R IJ
"u =f lR'
a's,
0a
0
0
a's,
ol
ol
ol
t"rJ
1r* \t
d+nl
laa,qgl*t
l'^Ll =
i*; i
\^v
urx
-'j-]
t0
rd
(\ Ol w,/\
yL
^*i
A,,"'l"t?.,
Ul'rt6,ioWWau
;* 1
Jr l= nJL
1 :
r.al L
cJ"
ry{'n' '
J -+
r;l L
1
(%v<'^
- Q.olt'I,^j;""i'"t vtl'oerhur )
%lq*r'*at'u
I-or
777 :
o--t l"at I
v=. flT-' l*
rr)
' ?l-'lrf"v;l
"-r.-=
L*tu*
Na
-t
i lf,l)* o
I
;ng'
h,
aXis*
d,r*[l r) 4-a
',
(A^t)) -}F
Srau
Gnl
eT
l*e( O I
f^J Ia-'
t{
;
L*}
Aslt;l)
dWA4 = drl(t)ArlCe7
{n*1
;dl*'
dJ
t^^q)
ro J
't-*
Ib ianl
lnn
*t6
dto)nd(s)
It
Pl=
LC bl \
d,f
{a;)
{'x:';
^,/6,\.d**
il*'''
so,
{r.l) = ,t-J"[*])
.l^
is @+;ht^t b no*
a Jl^I/-
"---TT\
lW$tnq %f,"t
W*
ru
nj
tlj
lacu
-a
str
,*
I 6Czt'
na,Szg
et
ifi'-O
-\I
VrF
,^
L/
r'
Se,*)
'
t*.
JA
unv
-''
a.
i\
),
Uu
--T = (4,
*
c)
CI
*s'
o
'fi
*su
C,D"
4)q
2r{
f,acotstAN oF rHE
Eruo
-EFFacIoR
S'o^e{',/u^1a we-
*rr&
+"
ft^A
o{ W EE i,rsfap;1 ,1 r, rtrst.
+L,4
W*Grto&\
y"/"i|et
o1+
4l^
ve
=lF{ i'PJ
o^
L{, 'j
aE:
utt(tot*
ut
'l
1,{e
I
@utd.wea,S
onl-
K*aw
lu {,*A
WE
,tr
^'A
"",A
*rA-ou)g
t\t
4f,'= &>Xf :
tu
,rJE
oco,
t4)
ttJf
tl"t
>{
^--,
tnla
=
f'*1[ x
l^^;3
iol
et
lr i^;nR fir ttrnl
I---i,""
t;,-:
i lO:
* j
[i'ot,
a4.r'
ot !
y'
fJ
o$n
tn,
,!l
i1 z
}-
- f"R!yri,P,
*L
'Dg
P-{"
G--Raf
--r.F
,L.,
Z7
o^T
_op
-/lnt\ ^r1
W a1 I-\
stt
;l
fJa; icJarc"b\o't
r"it& re'pu.uct tc eF -
lt*e:
| ^--:- I=
|
l?l
irotj
LgR'
rrrt ofiqnl\'
E fr"-- na K e
d
","-14
hu {EE
.t
[.s-J
L,,j
1
TJL
?Jr
(las is Jacobta/r,
EJ- llI
E-T-
[o
-l I'.*-
llr
.
r
ll--.+
"
J[C;
-;R
4,.,
'?,;R:
/^^
Yxatwrk 2"
d3= o
b-=*3d
0q
?rp .; v
ot,
=o
$,
Xa
Inortlt
oldf^
*,,^fr^J -rAd [4
2 tat/sec
*.li
?*x,pffi ^r=
d
{l
x-arcni . {lu
wt,^,rf ,w,nlg| 3o" *l$ld
't
A h*o
a,{.r,nl4}
wtiir{ 1 wA-{+{-#,
[:r
otlr
I
I
h_
vre
,nn
na*'4s ll,'A
:*'*e'_ \n
l=ffi H={
a
e
q,
-o
-A/
o,
-a
0L
-4
o
.
-atL
*M'4
9r-=
5:t
-t
*l
s{=
t:l
rr tt
, f^*
C11=
cul=
q.
.*
r-l
1*
llrcREilEN
\,'+.l,rh\
77
MoTfoN
*\ii^%,
IqrJ
ga(Js
L;l=f,s"
1z
t|+'hon:
-l E
AU
hl1
t,n
=r^L
or , viu,X
ro1 (e,
r-JtL ^"'7tn:
(et,^f) =
s*il
tt
-18-
= (r+
n-r
,^,-)
= f .t
(A.c
e, + oR(.2- + oonr)
k{tw *\uurj
Now
lV.h-
= A&q
C,)
b4 R
,4'
AfI
ca)
+
G)
eJ (3);
4e.+
",
a?'' Q3
rittg-qa
Ax
Lt4
bz
{*
CT^?
,.
(q)
o0
avh
af^
Atr-
u&+,,^Aion.
||
(1)
Tvtt
"{
\uv+'rx
)z
"
D\
A%
=r,
Ifil]
Iap
('
tA* I
This,A q,A,o^
0*
,lww |t/t
l,
/r,ll"wef
o"t,rc #4 (?,lb|ol-f
(ro4ten
(wni'*)
1n'ggos< +'t^^[ r'ltut
ry^^"N,,-
#{
*l R*J:l+ffi'rffi;.
s i"^ iPi^J g(f.|e-< *W&
ft.Qlfrr% iruolc,tu'et^)
crr/^ y,n qwktut| ll^4- At'h'
hl/vwNutL'
bfu=
- 3-'
K]
itr^
hntrW*^
t(o"-
?o
Introduction to Robotics
Example:
frst
joint is *1 pulse per revolution. Find the resulting position error of
Suppose that the maximal effor of the encoder reading for the
(ppr).
Since we are looking for the position effor (a scalar quantity), we can
use either
or ft44).If we use the first equation we get:
' rha
a1
(#)
-A"l 'ttr
Ly I
qJ
[-a*t_ a2srzl
l- Lh1 | or4 * a2cn
::r
Lcrl
Xl
I
n
;o
| o| |
|
^p
L7 l
2aL01
l^A
l^B':l
l-
;
1
Lp -
2aL0t
A6"#e
h,^
16-
therefore
Lp
AdeptOne Robot normally has direct drive for the first joint. The gearing here is assumed only
for the exercise purpose.
5-48
jl
&Lot s{stics
{-ce {r*Urc}
/V * u-J"u*u-* fug,** {M"tt-)
'
tz
F-
Laj
ktvir*^
* jo;#
*trpt^ nt/f"rwb
*u**
**rq
ir4
y,,tA o*J l*xr +t^4- wr
,6{ $4, rgg*L{LJ
*wrk+';,'p,tMC fur g,'ut:
M^ff ;.5
f'l
Fl
->T
aA
5A
u *;',!j. ;;.*-irq ,fe" a'try'**
..
*{,r* {Auffu* *Yffry
ttrnw
w
3*,#
4
\Al
/6
.+
futn,q* I y'sh**4
wo f'14*,
( ttt
{U',u)
worV W= F
*- 8 r** lr
hrce
prd;zst h
W =-lrt
cifi,dlsl
?*4Flts\,ff&
= \Fl
y1a
r-r) =
lt\ t+t(G) =
=\Avl**:
YY
\i
rrr
rT
= r's
- SF
rk
{-tAIf
$"t
\At
futor
= VT
WLL:
3nc
\^) =
It
I c*f+J v
s"^1"{ 'ptaj
Jl
t#4
/\.rll./l!.lr
5r
n.a?"'
vv(vvtYt uilAM
I
Itf
1 '-.vvtvt
w: \,{HgI v
: {k'P
t-R
frrLY{
w= kt
Putt/ Notts
(aotr
'
fl trt
/
lnn?Al
L\u
/,
Ituw
i1,
r.
It
UraiM,.l r0l,l
sttlvt)
6,+
{ waaQ
n'frW tf
d:
G:Surcta*
fu ic;rS
s.46)
rcrc'14*
r/w *W,ryJ
'?){.{
Differential Kinematics and Statics
joint torques and the external force and torque applied to the manipulator in static equilibrium. In other words, the manipulator's wrist
(or end-effector) is subjected to an external force and torque which
is counter-balanced with the joint torques such thx the manipulator
stays at rest. There is an elegant way to come up with this relationship, based on the virtual work .
relationship:
(p,pk)
f(q)
(s-4s)
where p and kg are Cartesian position and orientation of the manipulator wrist, while q is the joint vector. The vector function f 0
symbolically represents the closed-from solution of the manipulator
forward kinematics. Since we are able to express the constraints (545) in the form of an analytical expression which does not depend
on time or the derivatives of e, p,or cp, these kind of constraints are
called holonomic constraints .
5-49
Introduction to Robotics
E,
joints q, which
disp
6Wt
6Wc
= [Wc
(s-46)
tjn l
rr,fq- lL;r^1r
j Lrr-l
(s-47)
it follows:
l-r
j b
Statics
1r
TT:l'"1I
Ln"l
or
t-
r:Jr | l|
Ln"l
fn
(5-4S)
Similarly as we did with the velocities, we can stack the force and
the torque vector to get a single 6 x 1 vector:
F l- fn I
Fr:
l-"
Ln"l
T - JTF.,
(5-4e)
- :JToFn:
5-51
#JTnFn
(s-s0)
JNz
s r,+eud
*
,*
*A"rtow<
I=
i-"^"1
'&e
GSq
',, 6
d'
* Ne
LzF $a
t3=o
{.t - Nr
'il
r]i
#l
q
,
v*l
+ faq)
IG
*t
tubt
'p
I
!
I
I
ifrr ^l
JI
'5W
i
s
*
I
I
I
-t
t
c-l
J
Nt
N*f
ffil
5'aJ
PoBot
ToinrT Speee
Fagor AqyAfo
%
,l'
I
d,wretl
lri rrf,
rir*s ',h.trtUn
4f
l
bn{raL
epre
.^eh
/r
^.
W h.4:'lJ-- 1O rrt rr
d,;'t,11f....rr%;W
lAAr, 'uneh
^o\til, uufiol^)
U*^trtW
uPM
fto'hrruQ
|l4qqr"doLJ
| - r'o p:hl+
wrJrol!,Pt-
1s
uo
trr$rrl. kr %.rles\au s
0sa
ilhvA loff
,W*
6
n
t;,
14{
( \IloLouieh t Q87)
vuodix
*r,!n*
Fl
loYffa'rcl,,
vineua{rrs
ps4
\,or,[
.&t6.ao
t4^+
Jfu &w
9,
I^^^.frA(%
J-'[,< C?a-?)
i+
Pa;
fi-' K
k'
cPa
-?)
:
u?n,]
*; (Pa; -?r)
tu
{l.ic we '"4
Ao"ft-ra*u
t0"
T-
snl's< K=
=
'Pt
(lton t'l'r)
-J
aq ?f,tg
,6l-
)7;
,,h; > o
?r,r
ax
Introduction to Robotics
[;:]
qo
Controller
Robot
L;l
Desired
Actual
Calresian
Caftesian
Velocity
Velocity
Actual
(Measured)
Configuartion
s-32
\3
However,thereisu@!-verSionwhichuSeStheCartesianve.
locity as the feedback signal. Since the actual Cartesian velocity is
difficult to measure directly, the Jacobian had to be used to compute it
from the actual joint velocities which can be easily measured. Therefore the indirectly measured Cartesian velocity is called "resolved
rate". This control scheme is called Resolved Motion Rate Control ,
and was proposed by WhitneyT.
I
#
u'l
Y,) +
Robot
Desired
Cartesian
Velocity
l;l
Actual
Actual
(Resolved)
(Measured)
Cartesian
Joint
Velocity
Velocity
D.E. Whitney, 'Resolved Motion Rate Control of Manipulators and Human Prostheses," IEEE
Tians. onMan-Machine Systems, Vol. 10, pp.47-53,1969.
s-33