Professional Documents
Culture Documents
Captulo 5
CINEMTICA DIRETA DE ROBS
MANIPULADORES
Notao de Denavit-Hartenberg
A Notao de Denavit-Hartenberg baseia-se no fato de que para determinar a posio
relativa de duas retas no espao, so necessrios somente dois parmetros. O primeiro
parmetro a distncia medida ao longo da normal comum entre as duas retas e o segundo o
ngulo de rotao em torno da normal comum, que uma das retas deve girar, de forma que
fique paralela outra. Observa-se que a normal comum entre duas retas no espao definida
por uma terceira reta que intercepta as duas primeiras retas, com ngulos de 90. Alm disso,
a distncia medida entre as duas retas, ao longo da normal comum, a menor distncia entre
as mesmas. A Figura 5-2 apresenta duas retas no espao e os dois parmetros necessrios para
descrever sua posio relativa.
Normal comun
Figura 5-2: Posio relativa de duas retas no espao.
(5-1)
0
C i
S
= i
0
S i
C i
0
0
0
0
1
0
S i C i
C i cos i
S i
0
0 1
0 0
0 0
1 0
0 0 1
0 0 0
1 d i 0
0 1 0
S i S i
a i C i
C i S i a i S i
.
C i
di
0
1
0
1
0
0
0
1
0
0
0 a i 1
0
0 0 0 C i
1 0 0 S i
0 1 0
0
0
S i
C i
0
0
0
0
(5 - 2)
(5-3)
(5-4)
Dessa forma pode-se definir o seguinte algoritmo para realizar a cinemtica direta da
posio:
Passo 1: Localizar os eixos das articulaes, ou seja, os eixos z0, z1, at zn1, de forma que o
eixo da articulao i seja o eixo zi1.
Passo 2: Estabelecer o sistema de coordenadas da base. A origem deste sistema pode ser
escolhida em qualquer lugar do eixo z0. Os eixos x0 e y0 podem ser escolhidos
arbitrariamente, desde que satisfaam a regra da mo direita.
Repetir os passos 3 a 5 para i = 1,...,n1.
Passo 3: Localizar a origem do sistema i, ponto Oi, onde a normal comum entre os eixos zi e
zi1 intercepta o eixo zi. Se o eixo zi intercepta o eixo zi1, localizar o ponto Oi na
interseo. Se os eixos zi e zi1 so paralelos, localizar o ponto Oi na articulao i.
Passo 4: Estabelecer o eixo xi ao longo da normal comum entre os eixos zi e zi1, a partir do
ponto Oi. O sentido do eixo xi na direo do eixo zi1 para o eixo zi. Se os eixos zi e
zi1 se cruzam, ento o eixo xi normal a ambos com qualquer direo.
Passo 5: Tendo os eixos zi e xi, estabelecer o eixo yi segundo a regra da mo direita.
Passo 6: Estabelecer o sistema de coordenadas do efetuador, sistema On-xnynzn. A origem
deste sistema escolhida de forma arbitrria, porm, de maneira geral escolhida
como sendo o centro da garra ou algum outro ponto de interesse do efetuador. Os
eixos deste sistema so definidos de forma arbitrria, desde que o eixo xn seja
perpendicular ao eixo zn1. Normalmente tem-se, o eixo zn na direo de ataque, o
eixo xn na direo normal e o eixo yn na direo de escorregamento, como mostra a
Figura 5-4.
Passo 7: Criar uma tabela com os parmetros de Denavit-Hartenberg referentes a cada um dos
ligamentos ou articulaes.
Passo 8: Montar as matrizes de transformao homognea, A ii1 (qi ) , a partir dos parmetros
de Denavit-Hartenberg e da eq. (5-2).
Passo 9: Obter a matriz de transformao homognea A n0 (q i ,...,q n ) , a partir de eq. (5-3), que
relaciona a posio e orientao do efetuador em relao ao sistema da base.
Articulao n
zn 1
Efetuador
xn (direo normal)
On
zn (direo de ataque)
yn (direo de escorregamento)
x2
y2
O2
y1
y0
a1
x1
a2
O1
x0
O0
ai
a1
a2
i
0
0
di
0
0
i
1
2
S1
C1
0
0
0 a1 C1
C 2
S
0 a1 S1
, e A2 = 2
1
0
1
0
0
1
0
S2
C2
0
0
0 a 2 C2
0 a2 S2
,
1
0
0
1
S12
C12
0
0
0 a1 C1 + a 2 C12
0 a1 S1 + a 2 S12
,
1
0
0
1
Exemplo 5.2: Rob de Stanford. A Figura 5-6 apresenta o rob de Stanford de 6 graus
de liberdade, sendo 5 articulaes de revoluo e uma prismtica.
A Figura 5-7 apresenta um esquema deste rob com as suas articulaes e com os
sistemas de coordenadas posicionados nos ligamentos. Os parmetros de DenavitHartenberg correspondentes aos sistemas de coordenadas definidos na Figura 5-7 so
apresentados na Tabela 5-2. Note que na configurao instantnea da Figura 5-7, o
manipulador apresenta os sistemas de coordenadas 3 e 5 como sendo coincidentes e o
eixo x4 tambm coincidente com x3. Contudo, qualquer alterao nas posies das
articulaes 4 e 5 (ngulos 4 e 5) far com que a coincidncia destes eixos e destes
sistemas seja eliminada.
ai
0
0
0
0
0
0
i
-90
90
0
-90
90
0
di
l1
l2
d3*
0
0
l6
i
1*
2*
0
4*
5*
6*
C1
S
1
1
A0 =
0
0
1
0
3
A2 =
0
0
C 5
S
5
5
A4 =
0
0
C 2
S
0
; A2 = 2
1
0
l1
1
0
0 0
C 4
0 0
; A 4 = S4
3
1 d3
0
0 1
0
0
1
0
0
0 S5
0 C5
1
0
0
0 S2
0 C2
1
0
0
0 S4
C4
0
1
0
0
0
C 6
S
0
; A6 = 6
5
0
0
1
0
0
S6
C6
0
0
0
0
;
l2
0
0
;
0
1
0 0
0 0
.
1 l6
0 1
10
z6
O6
x6
l6
z3z5
z4
O3
x3x4x5
d3
l2
z2
z1
O1
x1
O2
x2
l1
z0
O0
y0
x0
Figura 5-7: Esquema do rob de Stanford com os sistemas de
coordenadas das articulaes.
r
6
1
2
3
4
5
6
A 0 = A 0 A 1 A 2 A 3 A 4 A 5 = 2 ,1
r3,1
r1,2
r2 ,2
r3,2
0
r1,3
r2 ,3
r3,3
0
x 06
y o6
,
z 06
r2 ,1 = S1 [C2 (C4 C5 C6 S 4 S 6 ) S 2 S 5 C6 ] + C1 ( S 4 C5 C6 + C4 S 6 );
11
r3,1 = S 2 (C4 C5 C6 S 4 S 6 ) C2 S 5 C 6 ;
r1,2 = C1 [ C2 (C4 C5 S 6 + S 4 C6 ) + S 2 S 5 S 6 ] S1 ( S 4 C5 S 6 + C4 C6 );
r2 ,2 = S1 [ C2 (C4 C5 S 6 S 4 C6 ) + S 2 S 5 S 6 ] + C1 ( S 4 C5 S 6 + C4 C6 );
r3,2 = S 2 (C4 C5 S 6 + S 4 C6 ) + C2 S 5S 6 ;
r1,3 = C1 (C2 C4 S 5 + S 2 C5 ) S1S 4 S 5 ;
r2 ,3 = S1 (C2 C4 S 5 + S 2 C5 ) + C1S 4 S 5 ;
r3,3 = S 2 C4 S 5 + C2 C5 ;
x 06 = C1 S 2 d 3 S1 l2 + l6 (C1 C2 C4 S 5 + C1 S 2 C5 S1 S 4 S 5 );
y 06 = S1 S 2 d 3 + C1 l2 + l 6 ( S1 C2 C4 S 5 + S1 S 2 C5 C1 S 4 S 5 );
z o6 = l1 + C2 d 3 + l6 (C2 C5 S 2 C4 S 5 ).
dtn
n
dy
dx
vn = 0 = 0 ,
dt
dt
dz 0n
dt
(5-5)
onde x0n , yon , e zon so as componentes x, y e z do vetor posio do efetuador. Como o vetor
x n0 funo da posio de todas as articulaes, as derivadas das suas componentes em
relao ao tempo so obtidas pela regra da cadeia, sendo dadas por:
vn,x
x 0n
x 0n
x 0n
= x& =
q& +
q& +...+
q& ;
q1 1 q 2 2
q n n
n
0
(5-6)
vn, y
12
y 0n
y 0n
y 0n
= y& =
q& +
q& +...+
q& ;
q1 1 q 2 2
q n n
(5-7)
z 0n
z 0n
z 0n
q& 1 +
q& 2 +...+
q& ;
q1
q 2
q n n
(5-8)
n
0
v n , z = z& 0n =
qn1
y
J V (q) = 0
q
n1
z 0
q
1
x 0n
q n
y 0n
...
,
q n
z 0n
...
q n
...
(5-9)
as eq. (5-6), (5-7) e (5-8) podem ser escritas de forma matricial, da seguinte forma,
&.
v n = J V (q)q
(5-10)
(5-11)
onde Jvi a coluna i da matriz Jv, sendo um vetor coluna de dimenso 3x1, e o produto Jviqi
representa a contribuio da articulao i na velocidade do efetuador, com todas as outras
articulaes paradas.
Se a articulao i for prismtica, ela produz no efetuador uma velocidade linear na
mesma direo que seu eixo, eixo zi1, com magnitude igual a d&i , ou seja,
J Vi q& i = z i1d&i ,
(5-12)
onde, zi1 o versor do eixo zi1 descrito no sistema de coordenadas da base. Se a articulao
i for de revoluo, ela produz no efetuador uma velocidade linear igual a;
J Vi q& i = (z i 1&) ri 1,n ,
(5-13)
onde &i a velocidade angular da articulao i, o smbolo denota produto vetorial e ri1,n
o vetor que une a origem do sistema de coordenadas da articulao i, ponto Oi1, origem do
13
(5-14)
(5-15)
onde k o eixo da articulao i visto pelo sistema de coordenadas i1, ou seja, k = (0, 0, 1)t.
Observa-se que w i(i 1) a velocidade angular da articulao i vista pelo sistema de
coordenadas fixo na prpria articulao (sistema i1).
Para exprimir a velocidade angular w i(i 1) em relao ao sistema de coordenadas da
base, basta descrever o versor k em relao ao sistema da base. Para isso realiza-se a
transformao de rotao que leva o sistema da base ao sistema i1, ou seja,
R i01 w i(i 1) = R i01q& i k = q& i z i1 .
(5-16)
Note que o produto R i01k representa o versor do eixo da articulao i (eixo zi1) descrito em
relao ao sistema de coordenadas da base, que denominado por zi1.
A velocidade angular do efetuador descrita em relao ao sistema da base, a soma
das velocidades angulares de todos os ligamentos, expressas todas em relao ao sistema de
coordenadas da base. Assim, a velocidade angular do efetuador, descrita em relao base,
dada por:
w n = 1 w 1( 0 ) + 2 R 10 w (21 ) +...+ n R n0 1 w (nn 1 ) .
(5-17)
i =
14
(5-18)
(5-19)
onde Jw uma matriz de dimenso 3xn, cujas colunas so os eixos das articulaes descritas
no sistema da base multiplicados por um indicador que fornece o tipo da articulao, ou seja,
J w = [ 1 z 0 , 2 z 1 ,K , n z n1 ] .
(5-20)
(5-21)
(5-22)
A matriz J(q) definida como sendo a Matriz Jacobiano do efetuador. Esta matriz relaciona
as velocidades linear e angular do efetuador, expressas no sistema de coordenadas da base,
com as velocidades das articulaes, para uma dada configurao do manipulador.
Em resumo, a coluna i da Matriz Jacobiano de um manipulador dada pela seguinte
expresso:
z i1 ri1,n
Ji =
, se a articulao i for de revoluo; e
z i 1
(5-23)
z i 1
Ji =
, se a articulao i for de translao.
0
(5-24)
15
aos trs de orientao de um corpo rgido. Para o plano tem-se dois graus de liberdade de
posicionamento e somente um grau de liberdade de orientao, pois, no plano somente definese velocidade ou posio angular em torno do eixo perpendicular ao plano. Assim, observa-se
que o nmero de linhas da Matriz Jacobiano no fixa, devendo ser definida pelo interesse do
problema e principalmente, em funo do que o rob capaz de realizar. Dessa forma, por
exemplo, pode ser definida uma Matriz Jacobiano de dimenso 3x3 para um rob que trabalha
no espao, se somente interessar os trs graus de liberdade de posicionamento.
Observa-se que na expresso (5-21), no lugar da velocidade angular do efetuador,
pode-se colocar a variao temporal dos parmetros que descrevem a orientao do efetuador.
Estes parmetros podem ser, por exemplo, ngulos de Euler, roll-pitch-yaw, parmetros de
Euler-Rodrigues e outros. A variao temporal destes parmetros obtida pela derivao no
tempo das expresses que os relacionam com as posies das articulaes, como ser visto na
seo 5.6.
z 1 O1 O2
,
z1
onde;
a1C1 + a 2 C12
O0 O2 = a1 S1 + a 2 S12 ;
0
a 2 C12
0
O1 O2 = O0 O2 O0 O1 = a 2 S12 ; z 0 = z 1 = 0 .
0
1
a1 C1
O0 O1 = a1 S 1 ;
0
0
J=
0
a 2 S 12
a 2 C12
0
.
0
0
16
0
( a1 S1 a 2 S12 )&1 a 2 S12&2
2
v 2 = (a1 C1 + a 2 C12 )&1 + a 2 C12&2 ; w 0 = 0
& 1 + & 2
0
Observa-se que a velocidade linear do efetuador poderia tambm ser obtida pela
derivao no tempo do vetor posio do efetuador ( O0 O2 ), conforme as eq. (5-6), (5-7)
e (5-8), resultando exatamente na mesma expresso acima.
x2
y2
O2
y1
y3
Oc2
y0
a1
O3
x1
lc2
x3
O1
x0
O0
z 1 O1 Oc 2
z1
0
,
0
onde;
a1 C1
O0 O1 = a1 S 1 ;
0
a1 C1 + l c 2 C12
O0 Oc 2 = a1 S 1 + l c 2 S12 ;
17
0
lc 2 C12
O1 Oc 2 = O0 Oc 2 O0 O1 = l c 2 S12 ; z 0 = z 1 = 0 .
1
0
Observa-se que a terceira coluna da Matriz Jacobiano neste caso igual a zero
porque a velocidade linear e angular do segundo ligamento no afetada pelo
movimento da terceira articulao.
Substituindo as expresses dos vetores de posio e dos eixos das articulaes na
expresso da Matriz Jacobiano resulta em:
a1 S1 lc 2 S12
a C +l C
1 1 c 2 12
0
J=
0
l c 2 S12 0
l c 2 C12 0
0 0
.
0 0
0 0
1 0
v c2
&
&
= (a1 C1 + lc 2 C12 )1 + lc 2 C122 ; w c2 = 0
&1 + &2
0
,
t
(5-25)
18
(5-26)
z1
z0
r1
y1
O1
r0
Corpo Rgido
O0
y0
x1
x0
Figura 5-9: Esquema de um corpo rgido com movimento de rotao.
& .
v = Rr
1
(5-27)
onde v a velocidade linear do ponto P. Observa-se que a medida que o vetor r1 constante,
pois a posio do ponto P fixo no corpo no muda em relao ao sistema de coordenadas fixo
no corpo, a sua derivada igual a zero.
19
Por outro lado, tem-se que a velocidade linear do ponto P, cuja posio definida pelo
vetor r0 no sistema O0-x0y0z0, fixo em um corpo rgido girando com velocidade angular w em
relao ao sistema O0-x0y0z0, dada pela seguinte expresso:
v = w r0 ,
(5-28)
onde o smbolo denota produto vetorial. Esta expresso pode ser escrita de outra forma mais
conveniente, ou seja,
v = r 0 ,
(5-29)
= wz
w
y
wz
0
wx
wy
wx .
0
(5-30)
Observa-se que as expresses (5-28) e (5-29) fornecem o mesmo resultado, sendo que a
matriz representa simplesmente uma forma mais conveniente de escrever o vetor
velocidade angular de um corpo rgido. Substituindo a expresso (5-26) na eq. (5-30), resulta
no seguinte:
v = Rr1 .
(5-31)
& = R ,
R
(5-32)
ou, invertendo-se,
& t.
= RR
(5-33)
Estas duas expresses so muito importantes, pois elas relacionam a velocidade angular de
um corpo com a matriz de rotao e com a derivada da matriz de rotao. Observa-se que a
matriz de rotao R representa a orientao do corpo no sistema O0-x0y0z0 e a sua derivada
representa a variao da orientao do corpo.
20
posio angular ou, sua orientao. Nestes casos, a parcela da eq. (5-21) que fornece a
velocidade angular do efetuador em funo das velocidades das articulaes s vezes no
muito til. Nesta seo ser obtida uma expresso para descrever a variao da orientao do
efetuador em funo das velocidades das articulaes.
Como visto na seo 5.1, a orientao do efetuador funo das posies das
articulaes, dessa forma, pode-se definir o seguinte sistema de equaes no lineares:
y n0 = f(q),
(5-34)
&,
y& n0 = J o (q)q
(5-35)
onde Jo uma matriz jacobiano de dimenso mxn. Podem existir vrias matrizes Jo,
dependendo dos parmetros utilizados para descrever a orientao do efetuador contidos no
vetor y n0 . Assim, se for utilizada a matriz de rotao, como obtido na eq. (5-4), repetida
abaixo:
R n0 (q1 ,..., q n ) x n0 (q1 ,..., q n )
A (q1 ,..., q n ) =
,
0
1
n
0
(5-4)
(5-36)
rM
3, 3
q1
r1,1
q 2
r1,2
q1
M
r3,3
q 2
r1,1
q n
r1,2
L
q1 ,
M
M
r3,3
K
q n
(5-37)
onde ri,j o elemento da i-sima linha e j-sima coluna da matriz R n0 . Observa-se que neste
caso o vetor y n0 ter dimenso 9x1.
21
(5-38)
onde, sem perda de generalidade, o parmetro foi assumido como sendo +1. Dessa forma, os
parmetros de Euler-Rodrigues so funo das posies das articulaes, atravs dos
elementos ri,j da matriz de rotao. Assim, neste caso, o vetor de orientao do efetuador, y n0 ,
ser definido como:
y n0 = ( p , q , r , s ) t ,
(5-39)
(5-40)
q1
s
q
1
p
q2
q
q2
r
q2
s
q2
p
qn
q
K
qn
,
r
K
qn
s
K
qn
(5-41)
p
1 r1,1 r2, 2 r3,3
;
=
q i 8 p q i
q i
q i
q
1 r1,1 r2, 2 r3,3
;
=
+
q i 8q q i
q i
q i
r
1 r1,1 r2, 2 r3,3
;
=
+
q i 8r q i
q i
q i
1 r1,1 r2, 2 r3,3
s
.
=
+
+
q i 8 s q i
q i
q i
22
(5-42)
Observando-se estas expresses, nota-se que sempre que p, q, r, ou s forem iguais a zero, o
denominador das mesmas se anula. Dessa forma, o clculo da variao temporal dos
parmetros de Euler-Rodrigues utilizando a eq. (5-35) e a matriz jacobiano cujos termos so
definidos pela eq. (5-42), apresentar problemas numricos.
Uma forma de se calcular a variao temporal dos parmetros de Euler-Rodrigues sem
problemas numricos utilizando a expresso (5-32). A eq. (4-50) do item 2.8, repetida
abaixo, apresenta uma matriz de rotao genrica escrita em funo dos parmetros de EulerRodrigues,
R n,
2 ( p 2 + s 2 ) 1
2( pq rs)
2( pr + qs)
2( q 2 + s 2 ) 1
2(qr ps) .
= 2( pq + rs)
2( pr qs)
2(qr + ps)
2(r 2 + s 2 ) 1
(2-50)
(5-43)
(5-44)
(5-45)
(5-46)
(5-47)
Somando-se as expresses (5-43), (5-44), (5-45) e substituindo o resultado na eq. (547) resulta em uma expresso para a variao temporal do parmetro s, da seguinte forma:
s& =
1
( w x p w y q w z r) .
2
(5-48)
23
Substituindo a eq. (5-48) na eq. (5-43), resulta em uma expresso para a variao temporal do
parmetro p, como a seguir,
p& =
1
(w s + w y r w z q) .
2 x
(5-49)
1
( w x r + w y s + w z p) .
2
(5-50)
Finalmente, substituindo a eq. (5-48) na eq. (5-45), obtm-se para a variao temporal de r, o
seguinte:
r& =
1
(w q w y p + w z s) .
2 x
(5-51)
s&
p q r
(5-52)
s&
p q r
(5-53)
Comparando as eq. (5-40) e (5-53) chega-se concluso que a matriz Jo pode ser
escrita como um produto entre a matriz jacobiano da velocidade angular e uma matriz M,
como se segue:
J o = MJ w ,
(5-54)
p q r
(5-55)
24
s
r
q p
p&
1 0 0 w x
p
q& 1
p q
= 0 1 0 w y ,
r& 2
0 0 1 w z
s
r
s&
que aps efetuar a lgebra e escrevendo cada componente do vetor velocidade angular
separadamente, resulta em;
w x = 2( sp& rq& + qr& ps&) ;
w y = 2(rp& + sq& pr& qs&) ;
w x = 2( qp& + pq& + sr& rs&) ;
ou,
w = 2[( sp& rq& + qr& ps&)i + (rp& + sq& pr& qs&) j + ( qp& + pq& + sr& rs&)k] ;
Exemplo 5.6: Obter a expresso da velocidade angular de um corpo rgido com rotao
em torno de um eixo varivel.
que pode ser escrita em termos de produtos vetoriais e escalares de vetores, como se
segue:
25
p p& p& p
w = 2 q q& + s q& s& q ,
r r& r& r
onde, significa produto vetorial. A eq. (2-49), repetida abaixo, fornece as expresses
dos parmetros de Euler-Rodrigues;
p = n x sin( / 2);
q = n y sin( / 2);
r = n z sin( / 2);
s = cos( / 2).
Lembre que estes parmetros representam uma rotao de um ngulo em torno de um
eixo arbitrrio n. Substituindo as expresses acima na eq. da velocidade angular resulta
em:
w = n& + nsin + (n n)(1 cos ) .