Escolar Documentos
Profissional Documentos
Cultura Documentos
Cap 2
Cap 2
CINEMTICA
2.1.
Sistemas Referenciais:
yB
{B}
yA
xB
{A}
XA
zB
zA
PB = [ ApBx
pBy
pBz]T
yB
{B}
xB
yA
A
PB
{A}
xA
zB
zA
yB
P
{A}
zA
xA
PB {B}
xB
zB
PB = [5 0 0] T
P = APB + BP = [5 0 0] T + [2 2 1] T = [7 2 1] T
RB = [ AxB
yB
zB]
y B
{B}
A
y B
x B
y A
A
{A}
x B
z B
x A
z A
A
z B
Figura 2.4. Orientao de um referencial {B} em relao a um referencial {A}.
A matriz ARB uma representao redundante de orientao, visto que possui nove
elementos que satisfazem a seis restries (os trs eixos so unitrios e ortogonais):
(AxB)T.AxB = 1
(AyB)T.AyB = 1
(AzB)T.AzB = 1
(AxB)T.AyB = 0
(AyB)T.AzB = 0
(AzB)T.AxB = 0
P = [BxAT.BP
yAT.BP
P = ARB.BP = ARB.BRA.AP
RB.BRA = I
RA = ( ARB)-1 = (ARB)T
Dados trs referenciais {A}, {B} e {C} com origens coincidentes, temos:
A
P = ARB.BP,
P = BRC.CP,
P = ARC.CP
A matriz ARB pode ser representada ento como ARB = ARC.CRB = ( CRA)T.CRB. Assim:
A
RB =
(CxA)T.CxB
(CyA)T.CxB
(CzA)T.CxB
(CxA)T.CyB
(CyA)T.CyB
(CzA)T.CyB
(CxA)T.CzB
(CyA)T.CzB
(CzA)T.CzB
Note que cada elemento da matriz representado pelo produto interno entre um eixo
unitrio de {A} e um eixo unitrio de {B}, sendo portanto igual ao cosseno do ngulo
entre eles. Por esta razo, a matriz de rotao ARB tambm chamada de Matriz de
Cossenos Diretores. Os valores dos cossenos diretores so independentes da escolha do
referencial {C}.
Exemplo: considere dois referenciais coincidentes, {A} e {B}. Suponha que {B} gira
um ngulo em torno do eixo AzB. Encontre a matriz de rotao ARB = R(z,):
yA
yB
xB
xA
zA, zB
Figura 2.5. Rotao em torno do eixo zA.
Da figura acima, atravs de simples relaes trigonomtricas, temos:
A
RB = R(z,) =
A
cos()
sen()
0
-sen()
cos()
0
zB = [0 0 1] T
0
0
1
De forma anloga, para rotaes em torno dos eixos xA e yA, temos respectivamente:
RB = R(x,) =
1
0
0
0
cos()
sen()
0
-sen()
cos()
RB = R(y,) =
cos()
0
-sen()
0
1
0
sen()
0
cos()
Exemplo: considere dois referenciais coincidentes, {A} e {B}. Suponha que {B} gira
um ngulo em torno do eixo AzB. Considere um ponto P expresso em coordenadas de
{B}, BP. Encontre a representao do ponto P em coordenadas de {A}, AP:
yA
yB
py
xB
B
px
py
xA
zA, zB
px
px = Apx.cos() + Apy.sen()
py = Apy.cos() - Apx.sen()
pz = Apz
px = Bpx.cos() - Bpy.sen()
py = Bpx.sen() + Bpy.cos()
pz = Bpz
px
A
py
A
pz
cos()
sen()
0
-sen()
cos()
0
0
0
1
px
py
B
pz
P = R(z,).BP
zA,z
z'
z"
y'
yA
y
y'
yB
y
z",zB
xA
x'
x' ,x
xB
R =
R =
c -s 0
s c 0
0
0 1
1 0 0
0 c -s
0 s c
c -s 0
s c 0
0
0 1
= atan2([R312+R322]1/2 , R33)
= atan2(R 31,R32)
Verifica-se que a soluo para os ngulos de Euler no nica. Existem dois conjuntos
de ngulos possveis dependendo do sinal da raiz quadrada. Tomando o sinal positivo, o
que equivale a limitar ao intervalo 0 , eliminamos esta ambigidade. Verificase tambm que, para = 0 ou = , a soluo degenera (ocorre uma diviso por zero), o
que resulta em infinitas solues. Isto ocorre porque as rotaes e ocorrem em torno
do mesmo eixo espacial e o angulo resultante da soma destes ngulos pode ser obtido de
infinitos pares (,) diferentes. Neste caso, necessrio arbitrar um deles. Assim:
Para = 0
+ = atan2(R 21,R11)
Para =
- = atan2(R 21,R11)
zA,z
z'
z"
y'
yA
y' ,y
xA
x x'
x'
z",zB
yB
x xB
R =
R =
c -s 0
s c 0
0
0 1
c 0 s
0 1 0
-s 0 c
c -s 0
s c 0
0
0 1
(c.s)
(s.s)
(c)
Usando a mesma metodologia do caso anterior, possvel obter a relao inversa, que
expressa os ngulos de Euler ZYZ em funo de uma matriz de rotao equivalente:
= atan2(R 23,R13)
= atan2([R312+R322]1/2 , R33)
= atan2(R 32,-R31)
+ = atan2(R 21,R11)
Para =
- = atan2(R 21,-R11)
R =
c -s 0
s c 0
0
0 1
c 0 s
0 1 0
-s 0 c
1 0
0
0 c -s
0 s c
(c.c)
(s.c)
(-s)
R =
(c.s.s - s.c)
(s.s.s + c.c)
(c.s)
zA,z
(c.s.c + s.s)
(s.s.c - c.s)
(c.c)
z'
z
y'
yA
xA
y' ,y
x x'
x'
zB z y
B
x,xB
Figura 2.9. ngulos de Euler ZYX.
Usando a mesma metodologia dos casos anteriores, possvel obter a relao inversa,
que expressa os ngulos de Euler ZYX em funo de uma matriz de rotao
equivalente:
= atan2(R 21,R11)
= atan2(-R31,[R322+R332]1/2)
= atan2(R 32,R33)
+ = atan2(-R12,R22)
Para = /2
( - ) = atan2(R 12,R22)
y
Figura 2.10. ngulos de Rolamento, Lanamento e Guinada: , , .
Alinhar o eixo k com o eixo z do referencial {A} atravs de duas rotaes: giro de
um ngulo em torno do eixo xA, seguido de um giro de um ngulo - em torno do
eixo yA.
Girar um ngulo em torno do eixo zA (que agora coincide com o eixo k).
Retornar o eixo k ao seu alinhamento original revertendo as duas rotaes iniciais:
um giro de um ngulo em torno do eixo yA seguido de um giro de um ngulo em
torno do eixo xA.
yA
ky
k
xA
kx
kz
3
zA
1 0 0
0 c s
0 -s c
c 0 s
0 1 0
-s 0 c
c -s 0
c s 0
0 0 1
c 0 s
0 1 0
-s 0 c
1 0 0
0 c -s
0 s c
c = kz/[ky2+ kz2]1/2
s = kx
c = [ky2+ kz2]1/2
(kx2.v+c)
(kx.ky.v-kz.s) (kx.kz.v+ky.s)
(kx.ky.v+kz.s)
(ky2.v+c)
(ky.kz.v-kx.s)
(kx.kz.v-ky.s) (ky.kz.v+kx.s)
(kz2.v+c)
ky = (R13-R31)/(2.s)
kz = (R21-R12)/(2.s)
A soluo acima valida 0 . Para uma dada matriz Rk, existem duas solues
possveis: (k, ) e (-k, -). Verifica-se tambm que, para = 0 ou = , a soluo
degenera (ocorre uma diviso por zero), o que resulta em infinitas solues, (o eixo k
torna-se indefinido). Assim, para pequenos ngulos, a soluo mal condicionada.
Exemplo: dados os referenciais {A} e {B} mostrados na figura abaixo, obtenha a
matriz de rotao ARB bem como a sua representao em ngulos de Euler ZXZ, ZYZ,
ZYX e a representao equivalente ngulo/eixo.
yA, zB
xA, yB
zA, xB
Figura 2.12. Exemplo de orientao relativa entre dois referenciais.
Expressando os eixos de {B} em {A}, obtemos a sua orientao relativa:
A
RB =
0
0
1
1
0
0
0
1
0
2.2.
Transformaes Homogneas:
Mapeamentos:
Dados dois referenciais {A} e {B} e um ponto P, conhecendo as coordenadas BP do
mesmo no referencial {B}, as coordenadas AP do mesmo no referencial {A} podem ser
obtidas, desde que se conhea a posio APB e orientao ARB de {B} em relao a {A},
atravs de um mapeamento de BP para AP. A seguir, define-se {U} como um referencial
universal.
Mapeamento de Translao:
Um mapeamento de translao caracteriza-se por mapear um ponto de um
referencial {B} para um referencial {A}, onde {A} e {B} possuem origens diferentes
mas orientaes coincidentes (UPA UPB, URA = URB). Como {A} e {B} possuem a
mesma orientao, as coordenadas de P em {A} podem ser expressas diretamente
atravs de uma soma vetorial:
A
P = BP + APB
P
B
P
{B}
A
PB
{A}
px = BxAT.BP
py = ByAT.BP
pz = BzAT.BP
ou, matricialmente,
A
P = [BxAT.BP
yAT.BP
Mas, como BRA uma matriz ortogonal, BRAT = BRA-1 = ARB , assim, o mapeamento de
rotao definido por:
A
P = ARB. BP
A
py
P
py
px
{B}
px
pz
{A}
pz
Mapeamento Geral:
Quando os sistemas de referncia {A} e {B} diferem tanto em posio como em
orientao (UPA UPB, URA URB), a representao de um ponto P em {A} pode ser
obtida a partir da sua representao em {B} atravs do seguinte procedimento:
P = IRB.BP = ARB.BP
P = IP + IPB = IP + APB
{B}
A
P
A
PB
{I}
{A}
P
1
onde:
A
RB
0 0 0
=
A
RB
0 0 0
PB
1
PB
1
P
1
TB
Operadores de Movimento:
O movimento de um referencial em relao a outro pode ser descrito usando
transformaes homogneas apropriadas que definam as mudanas de posio e
orientao relativas ao se passar de um referencial para outro.
Operadores de Translao:
Dado um vetor APB, o Operador de Translao T(APB/APB,APB) aplicado sobre um
vetor BP o translada uma distncia APB ao longo da direo do vetor unitrio
A
PB/APB, resultando no vetor transladado AP (em coordenadas homogneas):
P = T(APB/APB,APB).BP
0 0 0
PB
1
P = BP + APB
{B}
A
{A}
{A} = {B}
PB
T(x,d) =
T(y,d) =
T(z,d) =
1
0
0
0
0
1
0
0
0
0
1
0
d
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
d
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
d
1
Operadores de Rotao:
Dado um vetor unitrio k e um ngulo , o Operador de Rotao R(k,), quando
aplicado sobre um vetor BP, faz com que este gire o ngulo em torno do eixo k,
resultando em um vetor rotacionado AP, em coordenadas homogneas:
A
P = R(k,).BP
R(k,) =
RB
0 0 0
0
0
0
1
onde ARB a matriz de rotao 3x3 equivalente representao ngulo/eixo (k, ). Outra
maneira de abordar este problema considerar o ponto BP fixo em relao ao referencial
{B}, inicialmente coincidente com o referencial {A}. A seguir, girar {B} at a
orientao ARB relativa a {A} atravs de um movimento de rotao em torno do eixo
k, (mantendo a origem de {B} coincidente com a origem de {A}). Conseqentemente, o
ponto BP sofrer tambm uma rotao em relao ao referencial {A}, visto que BP fixo
em {B}. Conhecendo BP e o movimento de rotao de {B} em relao a {A}, (APB), o
operador de rotao permite obter a representao AP do ponto rotacionado em relao
ao referencial {A}. Deste modo, em coordenadas cartesianas, temos:
A
P = ARB.BP
{A} = {B}
{B}
{A}
R(x,) =
R(y,) =
R(z,) =
1
0
0 c
0 s
0
0
0
0
-s 0
c 0
0
1
c
0
-s
0
0
1
0
0
s
0
c
0
0
0
0
1
1
0
0
0
0
c
s
0
0
-s
c
0
0
0
0
1
Operadores de Transformao:
Um Operador de Transformao aplicado sobre um vetor BP resulta num vetor
A
P (em coordenadas homogneas), movimentado para uma localizao genrica em
relao sua localizao inicial. Esta nova localizao pode ser melhor descrita
matematicamente como uma combinao de uma operao de rotao de um ngulo
em torno do vetor unitrio k seguida de uma operao de translao por uma distncia
APBao longo de um eixo unitrio APB/APB.
Assim, em coordenadas cartesianas, a operao de transformao geral pode ser descrita
matematicamente como:
A
P = ARB.BP + APB
ATB =
TB = T( APB/APB,APB).R(k,)
RB
0 0 0
PB
1
P = ATB.BP
B
P
{B}
PB
{B}
{A} = {B}
{A}
{I}
{A}
45
{A}
{B}
2
PB = [2 0 0]
RB
000
RB =
PB
1
cos(45o) -sen(45o) 0
sen(45o) cos(45 o) 0
0
0
1
=
(1/2)1/2 -(1/2)1/2 0 2
(1/2)1/2 (1/2) 1/2 0 0
0
0
1 0
0
0
0 1
1
1
0
1
Aritmtica de Transformaes:
Transformao Composta:
Problema: conhecendo a localizao de {C} em relao a {B} e a localizao de
{B} em relao a {A}, determinar a localizao de {C} em relao a {A}.
Soluo: dado um ponto P representado em {A}, {B} e {C},
B
P = BTC.CP,
P = ATB.BP,
P = ATC.CP
Ento,
A
ATC =
(ARB.BRC)
0 0 0
TC = ATB.BTC
(APB + ARB.APC)
1
Transformao Inversa:
Problema: conhecendo a localizao de {B} em relao a {A}, determinar a
localizao de {A} em relao a {B}.
Soluo: dado um ponto P representado em {A} e {B},
A
P = ARB.BP + APB
TA = ATB-1 =
(ARBT)
0 0 0
(-ARBT.APB)
1
Equaes de Transformao:
As transformaes homogneas permitem descrever a localizao relativa de corpos
rgidos. Muitos problemas de robtica envolvem a determinao da localizao relativa
entre dois referenciais a partir do conhecimento da localizao relativa destes em
relao a um terceiro referencial. Nestes casos, possvel estabelecer uma equao de
transformaes, a qual pode ser resolvida utilizando as regras aritmticas de composio
e/ou inverso de transformaes homogneas. Assim, por exemplo, conhecendo ATB e
A
TC, possvel obter BTC. Assim:
TC = ATB.BTC
TC = ( ATB)-1. ATC
TG
E
TO
{B}
TO = ?
{O}
TE {E}
2.3.
TO =
Cinemtica Direta:
Casos especiais:
O eixo zi intersecta o eixo zi+1: o eixo xi estabelecido sobre a reta normal ao plano
formado por zi e zi+1, na direo do vetor zizi+1.
Extremidades da cadeia cinemtica:
base do rob fixo um referencial {0}, que define arbitrariamente a
localizao do elo {1} para a qual a varivel da junta 1 igual a zero.
O referencial {0} atribudo de maneira a ser coincidente com o
referencial {1} quando a varivel da junta 1, q 1, for igual a zero.
Ao ltimo elo (no qual est fixa a ferramenta) so fixos dois referenciais: um
na junta associada (referencial {N}} e outro na ponta da ferramenta {N+1}.
O referencial {N} atribudo de maneira a ser coincidente com o
referencial de elo {N-1} quando a varivel da junta N, qN, for igual a
zero.
O referencial {N+1) posicionado na ponta da ferramenta e com a
mesma orientao do referencial {N}.
Elo i
zi
ai
i
xi
Figura 2.22. Parmetros de elo.
Descrio Cinemtica de Juntas:
Deslocamento da junta i: di, distncia entre x i-1 e xi medida ao longo do eixo zi.
ngulo da junta i: i, ngulo entre xi-1 e xi medido em torno do eixo zi.
Varivel da junta i: qi, igual ao ngulo da junta i se a junta i for rotacional ou igual
ao deslocamento da junta di se a junta i for prismtica. Grandeza que varia ao acionar o
atuador da junta i, resultando no movimento relativo entre os elos {i-1} e {i}.
zi+1
Elo i
zi
zi-1
xi
Elo i-1
di
xi-1
Transformaes de Elo:
De acordo com as convenes acima, a localizao do referencial do elo {i} em relao
ao referencial do elo anterior {i-1} pode ser obtida a partir de uma seqncia de
translaes e rotaes ao longo dos eixos xi e zi: rotao i em torno de zi e translao di
ao longo de zi, seguidas de rotao i-1 em torno de xi e translao ai-1 ao longo de xi.
i-1
Ti = T(xi,ai-1).R(xi,i-1).T(zi,di).R(zi,i)
i-1Ti =
i-1
Ri
000
onde, c = cos(),
i-1
Pi
1
s = sen(),
(ci)
(-si)
0
(a i-1)
(ci-1si) (ci-1ci) (-si-1) (-si-1di)
(si-1si) (si-1ci) (ci-1) (ci-1di)
0
0
0
1
c = cos(), s = sen()
y2
L1
y1
x2
y0 x1
1
y3
x3
x0
ai-1
0
L1
L2
i-1
0
0
0
di
0
0
0
i
1
2
3
T1 =
T2 =
T3 =
T3 =
0
c1 -s1
s1 c1
0
0
0
0
0
0
1
0
0
0
0
1
c2 -s2
s2 c2
0
0
0
0
0
0
1
0
L1
0
0
1
c3 -s3
s3 c3
0
0
0
0
0
0
1
0
L2
0
0
1
x2
Ld
Lf
z2
z0 , z1
z3
x3
Le
z5
La
x5
Lg
x4
z4
z6
x6
i-1
0
-/2
0
-/2
/2
-/2
ai-1
0
0
Lc
Le
0
0
i
1
2
3
4
5
6
di
0
Lb - Ld
0
Lf
0
0
T1 =
T3 =
T5 =
c1 -s1
s1 c1
0
0
0
0
0
0
1
0
0
0
0
1
c3 -s3
s3 c3
0
0
0
0
0
0
1
0
Lc
0
0
1
c5
0
s5
0
-s5 0
0 -1
5
0
0
0
0
0
0
1
T2 =
T4 =
T6 =
c2 -s2
0
0
-s2 -c2
0
0
0
1
0
0
0
L b-Ld
0
1
c4 -s4
0
0
-s4 -c4
0
0
0
1
0
0
Le
L f
0
1
c6
0
-s6
0
0
1
0
0
0
0
0
1
-s6
0
-c6
0
2.4.
Cinemtica Inversa:
Mtodos de Soluo:
Soluo Numrica:
As equaes no lineares simultneas podem ser resolvidas por mtodos iterativos.
Por utilizar mtodos iterativos, esquemas baseados neste tipo de abordagem podem ter
problemas de convergncia. Por esta razo, no so muito apropriados para
implementaes em tempo real.
Soluo em frmula fechada:
As equaes so resolvidas por mtodos algbricos, freqentemente fazendo uso de
consideraes geomtricas, resultando numa expresso analtica computvel. Este tipo
de abordagem resulta em solues fceis de implementar e que envolvem pouco esforo
computacional, encorajando aplicaes em tempo real. Como a cinemtica inversa deve
ser calculada a taxas elevadas (perodo de amostragem menor do que 30 ms), solues
fechadas so mais adequadas.
Robs manipuladores de seis graus de liberdade e com trs eixos se intersectando
num ponto possuem soluo em frmula fechada (Soluo de Pieper). A grande maioria
dos manipuladores industriais projetada e construda de modo a possuir soluo em
frmula fechada.
Uma tcnica freqentemente utilizada na obteno de uma soluo fechada consiste
em transformar a equao cinemtica de modo a obter uma representao equivalente
mais simples. A equao cinemtica original:
0
equivalente a doze equaes algbricas, com seis variveis desconhecidas (q1, q2, q3,
q4, q5, q6). Transformando esta expresso:
[0T1(q1). ... .i-1Ti(qi)]-1.0T6*.[jTj+1(qj+1). ... .5T6(q6)]-1 = iTi+1(qi+1). ... .j-1Tj(qj)
obtemos outro conjunto equivalente de doze equaes simultneas para cada par (i,j)
com i < j. Escolhendo as equaes mais simples dentro deste conjunto, freqentemente
possvel encontrar mais facilmente a soluo.
A soluo proposta por Pieper para manipuladores de seis graus de liberdade
baseia-se em uma aplicao particular desta abordagem. Grande parte dos robs
manipuladores industriais possuem punho com trs juntas rotacionais cujos eixos se
intersectam em um ponto comum. Neste caso, a origem dos referenciais {4}, {5} e {6}
est localizada neste ponto. A especificao da posio e orientao da garra determina
a posio da origem de {6}. A orientao da garra pode ser especificada de diversas
maneiras (matriz de rotao, ngulos de Euler, etc.). Em particular, se esta for
especificada atravs de um vetor de aproximao, com o ngulo de rolamento
codificado em seu mdulo, a origem de {6} estar localizada sobre o mesmo.
Conhecendo a posio de {6}, determina-se conseqentemente a posio de {4}, visto
que suas origens so coincidentes. Esta ltima representada por trs componentes 0P4x,
0
P4y, 0P4z, funo das trs primeiras variveis de junta: q1, q2 e q3. Assim, utilizando
mtodos algbricos e/ou geomtricos, possvel determinar q1, q2 e q3 a partir da
posio e orientao especificada para a ferramenta. A partir de q1, q2 e q3, possvel
determinar a posio e orientao de {3}, bem como a orientao de {6} relativa a {3}
(por transformao da equao cinemtica). Como esta ltima orientao funo
apenas de q4, q5 e q6, estas trs ltimas variveis desconhecidas podem ser obtidas
facilmente da equao transformada.
Exemplo de clculo de Cinemtica Inversa:
Resolva o problema da cinemtica inversa para o Manipulador Planar Articulado de trs
Graus de Liberdade.
Considere a posio e orientao da garra especificada por trs valores: (x, y, ), onde
(x, y) so respectivamente as coordenadas x e y da origem do referencial da garra {3}
expressas no referencial de base {0} e o ngulo de orientao do referencial {3} em
relao ao referencial {0}, que corresponde a uma rotao de radianos em torno do
eixo z 0 . Esta especificao de localizao pode ser expressa em forma de uma matriz
de transformao homognea 0T3*, a qual igualada expresso da cinemtica direta
0
T3, funo das variveis de junta:
T3 = T3 =
0
c -s 0 x
s c 0 y
0
0 1 0
0
0 0 1
Da equao matricial acima podemos obter quatro equaes, funo dos ngulos de
junta, das quais, as duas so dependentes entre si:
c = c123
s = s123
x = L1c1+L2c12
y = L1s1+L2s12
Por meios algbricos, estas equaes podem ser resolvidas para 1, 2 e 3:
2 = atan2(s2, c2)
x 2 + y 2 L1 L 2
s 2 = 1 c 22
2.L 1 .L 2
atan2(s,c) a funo arcotangente definida para quatro quadrantes, onde os parmetros
de entrada s e c representam respectivamente o seno e o coseno do arco a ser calculado.
2
onde, c 2 =
x2
P2 = [x y 0] T
Devido a que o brao tem apenas duas juntas, a orientao da ferramenta em relao
base no pode ser imposta de forma independente, mas dependente da posio:
0
R2 = [ 0x2
y2
z2]
A localizao dada por 0R2 e 0P2 define um subespao no qual a orientao da garra no
independente da sua posio, mas funo de x e y. Desta maneira, para um nmero de
juntas N menor do que seis, nem sempre possvel alcanar objetivos gerais de posio
e orientao. Neste caso, quando a localizao especificada para a garra 0TN* est fora
do subespao alcanvel pelo rob, o que se pode fazer definir um novo objetivo 0TN
dentro do subespao, o mais prximo possvel da especificao inicial. Alguma mtrica
deve ser utilizada para definir o que se entende por o mais prximo possvel. A partir
da nova especificao 0TN possvel ento encontrar as variveis de junta
correspondentes atravs do mapeamento de cinemtica inversa.