Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas Referenciais: Para localizar um corpo rgido no espao tridimensional, um sistema referencial associado ao mesmo. Um referencial associado a um corpo rgido fixo no mesmo. Qualquer ponto do corpo rgido possuir coordenadas invariantes no seu referencial associado. referencial ser identificado por uma letra entre chaves. Exemplo: {A}, {i}, etc. Os referenciais so definidos por trs vetores unitrios ortogonais: x , y, z .
yB {B} yA {A} XA zA zB xB
PB = [ApBx
pBy
pBz]T
yB {B} yA {A}
A
xB
PB xA zB
zA
Exemplo: considere dois referenciais {A} e {B} com a mesma orientao, com a origem de {B} localizada a 5 unidades ao longo do eixo xA. Considere um ponto P, expresso em {B} como BP = [2 2 1]T. Determine a posio de {B} em relao a {A} bem como a representao do ponto P em {A}.
yA yB P {A} zA xA zB
A
PB {B}
xB
Soluo: A origem de {B} est localizada no ponto (5, 0, 0) em coordenadas de {A}, portanto, a posio de {B} em relao a {A} dada por:
A
PB = [5 0 0]T
RB = [AxB
yB
z B]
yB
{B}
A
xB
yB
yA
A
{A}
xB
zB xA
zA
zB 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 (AxB)T.AyB = 0 (AyB)T.AyB = 1 (AyB)T.AzB = 0 (AzB)T.AzB = 1 (AzB)T.AxB = 0
A
Portanto, a matriz ARB ortogonal, ou seja: (ARB)-1 = (ARB)T Se dois referenciais {A} e {B} possuem a mesma origem, um ponto P expresso nos referenciais {A} e {B} respectivamente como:
A
Conhecendo a representao de P em {B}, BP, bem como a representao dos eixos de {B} em {A}, possvel encontrar a representao de P em {A}, AP:
A
P = [BxAT.BP
yAT.BP
P = ARB.BP = ARB.BRA.AP
R B .B R A = 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 =
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
zA, zB Figura 2.5. Rotao em torno do eixo zA. Da figura acima, atravs de simples relaes trigonomtricas, temos:
A
xA
zB = [0 0 1]T
RB = R(z,) =
cos() sen() 0
De forma anloga, para rotaes em torno dos eixos xA e yA, temos respectivamente:
RB = R(x,) =
A
1 0 0 cos() 0 -sen()
0 cos() sen() 0 1 0
RB = R(y,) =
A
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:
yB
yA
py
B
xB px
py zA, zB
px
xA
Figura 2.6. Rotao de um ponto em torno do eixo zA. Da figura acima, atravs de relaes trigonomtricas simples, temos:
B
px = Apx.cos() + Apy.sen()
py = Apy.cos() - Apx.sen()
pz = Apz
px = Bpx.cos() - Bpy.sen()
py = Bpx.sen() + Bpy.cos()
p z = B pz
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'
y' yA xA
z"
z",zB
yB
y'
y
x xB
x'
x',x
R =
R =
(c.c - s.c.s) (-c.s - s.c.c) (s.c + c.c.s) (-s.s + c.c.c) (s.s) (s.c)
Conhecendo-se a representao da orientao na forma de uma matriz de rotao R, possvel encontrar os ngulos de Euler ZXZ a partir de relaes entre os seus elementos. Para evitar ambigidades, utilizaremos a funo arco-tangente definida nos quatro quadrantes, atan2(a, b) = arg(a + j.b) = argumento do nmero complexo a + j.b, de tal modo que = atan2(sen(), cos()) = atan2(k.sen(), k.cos()), com k > 0. Assim:
= atan2(R13/sen(),-R23/sen())
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 Para =
+ = atan2(R21,R11) - = atan2(R21,R11)
zA,z
z'
y' yA xA
z"
y',y
z",zB yB y
x'
x xB
R =
c -s 0 s c 0 0 0 1
c 0 s 0 1 0 -s 0 c
R =
(c.c.c - s.s) (-c.c.s - s.c) (s.c.c + c.s) (-s.c.s + c.c) (-s.c) (s.s)
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(R23/sen(),R13/sen())
Novamente, dois conjuntos de ngulos de Euler satisfazem a soluo. Tomando o sinal positivo da raiz quadrada, o que equivale a limitar ao intervalo 0 , eliminamos esta ambigidade. Da mesma forma do que no caso anterior, verifica-se tambm que, para = 0 ou = , a soluo degenera (ocorre uma diviso por zero), o que resulta em infinitas solues, as quais so devidas ocorrncia de duas rotaes em torno do mesmo eixo. Assim: Para = 0 Para =
+ = atan2(R21,R11) - = atan2(R21,-R11)
R =
R =
zA,z
z'
y' yA xA
y',y
zB z yB y
x'
x,xB
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(-R31,[R322+R332]1/2) = atan2(R32/cos(),R33/cos())
= atan2(R21/cos(),R11/cos())
Novamente, dois conjuntos de ngulos de Euler satisfazem a soluo. Tomando o sinal positivo da raiz quadrada, o que equivale a limitar ao intervalo -/2 /2, eliminamos esta ambigidade. Da forma semelhante aos casos anteriores, verifica-se tambm que, para = -/2 ou = /2, a soluo degenera (ocorre uma diviso 0/0), o que resulta em infinitas solues, as quais so devidas ocorrncia de duas rotaes em torno do mesmo eixo. Assim: Para = -/2 Para = /2
+ = atan2(-R12,R22) ( - ) = atan2(R12,R22)
Os ngulos de Euler ZYX so tambm chamados de ngulos de Rolamento, Lanamento e Guinada (Roll, Pitch, Yaw), termos derivados dos movimentos de rotao de naves ou aeronaves em torno dos seus eixos principais. x
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
kz
kx 1
3 zA
Rk =
Definindo v = vers() = 1 cos() e substituindo os termos dependentes de e por: s = ky/[ky2+ kz2]1/2 c = kz/[ky2+ kz2]1/2 s = kx c = [ky2+ kz2]1/2
Rk =
A partir de relaes entre elementos da matriz acima, possvel obter a representao ngulo-eixo equivalente representao Rk:
= cos-1((R11+R22+R33-1)/2)
kx = (R32-R23)/(2.s) 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 A
P
{B}
A
{A}
PB
Mapeamento de Rotao:
Um mapeamento de rotao caracteriza-se por mapear um ponto de um referencial {B} para um referencial {A}, onde {A} e {B} possuem origens coincidentes mas orientaes diferentes (UPA = UPB, URA URB). Como {A} e {B} possuem a mesma origem, as coordenadas de P em {A} podem ser expressas como a projeo de B P nos eixos de {A}:
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 {B}
py
px
A A
px
{A}
pz
B
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:
Por meio de um mapeamento de rotao, obter a representao IP de P em relao a um referencial intermedirio {I}, tal que este possua a mesma origem que {B}, mas esteja alinhado com o referencial {A}, (UPI = UPB e URI = URA).
{B}
A
P
A
PB
{I}
{A}
Transformao Homognea:
O mapeamento geral pode ser representado matricialmente da seguinte maneira:
A
P 1
=
A
RB 0 0 0
A
PB 1 =
.
A
P 1
onde:
A
RB 0 0 0
PB 1
TB
TB a Matriz de Transformao Homognea que representa de modo compacto a posio e orientao de {B} em relao a {A}. A linha inferior da equao matricial foi acrescentada de modo a resultar numa matriz ATB quadrada 4x4 para a qual exista matriz inversa. Os vetores de posio 4x1 (ltimo elemento igual a 1) so vetores de coordenadas homogneas. Doravante, para fins de simplificao, usaremos a nomenclatura AP tanto para vetores de posio 3x1, como para vetores em coordenadas homogneas, sempre que o contexto torne obvio as suas dimenses.
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):
A
P = T(APB/APB,APB).BP
0 0 0
PB 1
Outra maneira de abordar este problema considerar o ponto BP fixo em relao ao referencial {B}, inicialmente coincidente com o referencial {A}. A seguir, deslocar a origem de {B} at a posio APB relativa a {A} atravs de um movimento de translao (mantendo a sua orientao paralela orientao de {A}). Conseqentemente, o ponto B P sofrer tambm uma translao em relao ao referencial {A}, visto que BP fixo em {B}. Conhecendo BP e o movimento de translao de {B} em relao a {A}, (APB), o operador de translao permite obter a representao AP do ponto transladado em relao ao referencial {A}. Deste modo, em coordenadas cartesianas, temos:
A
P = BP + APB
B A B
P
{B}
A
P
{A}
PB
{A} = {B}
Assim, os operadores de translao para um deslocamento linear d ao longo dos eixos x, y e z so dados respectivamente por: 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 d 0 0 1 0 d 0 1 0 0 d 1
T(x,d) =
T(y,d) =
T(z,d) =
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
A
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
{B}
{A} = {B}
{A}
Figura 2.17. Operador de Rotao. Assim, os operadores de rotao para um deslocamento angular em torno dos eixos x, y e z so dados respectivamente por: R(x,) = 1 0 0 0 0 c -s 0 0 s c 0 0 0 0 1 c 0 -s 0 1 0 0 0 0 1 0 0 0 c s 0 s 0 c 0 0 -s c 0 0 0 0 1 0 0 0 1
R(y,) =
R(z,) =
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
Onde ARB representa a matriz de rotao equivalente rotao de um ngulo em torno do vetor k. Ento, o operador de transformao geral dado por:
TB = T(APB/APB,APB).R(k,)
ATB =
RB 0 0 0
PB 1
O operador de transformao ATB, aplicado a um ponto BP (em coordenadas homogneas), resulta no ponto AP (tambm em coordenadas homogneas):
A
P = ATB.BP
B
P {B}
P
A
{B} {A}
PB
{I} {A}
{A} = {B}
Exemplo: Dado o referencial {B} rotacionado 45 em torno do eixo zA e transladado a uma distncia de duas unidades ao longo do eixo xA do referencial {A}, determinar as coordenadas do ponto BP = [1 1 0]T em relao ao referencial {A}.
B
45 {A} 2 {B}
PB = [2 0 0]
RB =
RB
PB 1
-(1/2)1/2
(1/2)1/2 0 0
000
0 2 0 0 1 0 0 1
1 1 0 1
AP = [2 (1/2)1/2 0]T
P = BTC.CP,
P = ATB.BP,
P = ATC.CP
Ento,
A
TC = ATB.BTC
ATC =
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:
A
TC = ATB.BTC
B
TC = (ATB)-1. ATC
Exemplo: seja a clula de trabalho mostrada na figura abaixo e dados os referenciais {B} (Base), {G} (Garra}, {E} (Estao) e {O} (Objeto}; determinar GTO a partir das transformaes homogneas conhecidas BTG , BTE , ETO.
{G}
G B
TG
E
TO = ? {O}
{B}
B
TO
TE {E}
TO =
2.3.
Cinemtica Direta:
Elo: corpo rgido que define a relao geomtrica entre dois eixos de juntas vizinhas na cadeia cinemtica. Para identificar elos usaremos nmeros inteiros, de acordo com a seguinte conveno: a base do manipulador o elo zero; os elos seguintes so numerados em ordem crescente na cadeia cinemtica, da base at a ferramenta. Junta: conexo entre dois elos vizinhos na cadeia cinemtica. A partir do seu eixo se d a movimentao relativa entre dois elos vizinhos. Para identificar juntas usaremos nmeros inteiros, de acordo com a seguinte conveno: a junta mais prxima da base do manipulador a junta 1; as juntas seguintes so numeradas em ordem crescente na cadeia cinemtica, da base at a ferramenta. Varivel de Junta: grandeza que mede o deslocamento relativo entre dois elos vizinhos {i-1} e {i} interligados pela junta i. Para uma junta genrica i, utilizaremos a nomenclatura qi para denotar a varivel de junta associada. Se a junta i for rotacional, a varivel da junta i o ngulo de junta i. Se a junta i for prismtica, a varivel da junta i o deslocamento de junta di. Um rob de N graus de liberdade possui N variveis de junta, que so representadas pelo vetor de variveis de junta q de dimenso Nx1.
O problema de Cinemtica Direta de robs manipuladores consiste em determinar a localizao da garra (e eventualmente de cada elo do manipulador) a partir do valor atual das variveis de junta (ngulos ou deslocamentos de junta). O problema da cinemtica direta pode ser resolvido para qualquer rob manipulador serial utilizando transformaes homogneas que relacionam a localizao de um elo em relao ao elo anterior na cadeia cinemtica. A soluo do problema da cinemtica direta nica. Esta soluo pode ser obtida em forma analtica fechada ou em forma numrica atravs de um procedimento sistemtico. A seguir, apresenta-se um mtodo sistemtico para soluo do problema da cinemtica direta de robs manipuladores. Para esta soluo necessrio caracterizar matematicamente os elos do rob atravs de referenciais e parmetros cinemticos atribudos de acordo com convenes apropriadas. A notao Denavit-Hartenberg uma destas convenes que permite solucionar o problema da cinemtica direta de uma maneira simples e sistemtica.
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, q1, 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}.
zi
Elo i
ai
xi Figura 2.22. Parmetros de elo.
Elo i
xi
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-1 i-1 i-1
Ti =
Ri 000
Pi 1
(ci) (-si) 0 (ai-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()
onde, c = cos(),
s = sen(),
Exemplo de clculo de Cinemtica Direta: dado o Manipulador Planar Articulado de trs Graus de Liberdade mostrado na figura abaixo, obtenha a sua cinemtica direta.
L2
y2
L1
y3
y1
y0 x 1
x2
x3
x0
Figura 2.24. Exemplo de atribuio de referenciais para clculo de Cinemtica Direta. Os eixos zi so todos paralelos, alinhados com os eixos das juntas correspondentes e perpendiculares ao plano do rob. Os Parmetros Denavit-Hartenberg so: i 1 2 3 ai-1 0 L1 L2
i-1 0 0 0
di 0 0 0
i 1 2 3
As transformaes de elo so obtidas em funo dos parmetros Denavit-Hartenberg. Cada linha da tabela acima est associada a uma transformao de elo correspondente.
0
T1 =
0 0 1 0 0 0 1 0 0 0 1 0
0 0 0 1 L1 0 0 1 L2 0 0 1
T2 =
T3 =
T3 =
onde, c1 = cos(1), s1 = sen(1), c12 = cos(1+2), s12 = sen(1+2), c123 = cos(1+2+3) e s123 = sen(1+2+3).
Exemplo de clculo de Cinemtica Direta: dado o Manipulador PUMA de seis Graus de Liberdade mostrado na figura abaixo, obtenha a sua cinemtica direta.
Lb Lc Ld
z 0, z 1 x2
z2
z3
Lf La Lg
Le
x3 z5 x5 x4 z4 z6 x6
Os eixos zi so todos paralelos, alinhados com os eixos das juntas correspondentes. Os Parmetros Denavit-Hartenberg so: i 1 2 3 4 5 6 ai-1 0 0 Lc Le 0 0
di 0 Lb - Ld 0 Lf 0 0
i 1 2 3 4 5 6
T1 =
c1 -s1 s1 c1 0 0 0 0 c3 -s3 s3 c3 0 0 0 0 c5 0 s5 0
0 0 1 0 0 0 1 0
0 0 0 1 Lc 0 0 1 0 0 0 1
T2 =
0 1 0 0
0 Lb-Ld 0 1 Le Lf 0 1 0 0 0 1
T3 =
T4 =
T5 =
-s5 0 0 -1 5 0 0 0
T6 =
0 1 0 0
A partir da composio das transformaes de elo, a transformao de cinemtica direta pode ser facilmente obtida. A matriz de orientao R e o vetor de posio correspondentes so dados por: R11 = c1[c23(c4c5c6 - s4s6) - s23s5c6] + s1[s4c5c6 + c4s6] R12 = c1[-c23(c4c5s6 + s4c6) + s23s5s6] - s1[s4c5s6 - c4c6] R13 = -c1[c23c4s5 + s23c5] - s1s4s5 R21 = s1[c23(c4c5c6 - s4s6) - s23s5c6] - c1[s4c5c6 + c4s6] R22 = s1[-c23(c4c5s6 + s4c6) + s23s5s6] + c1[s4c5s6 - c4c6] R23 = -s1[c23c4s5 + s23c5] + c1s4s5 R31 = -s23(c4c5c6 - s4s6) - c23s5c6 R32 = s23(c4c5s6 + s4c6) + c23s5s6 R33 = s23c4s5 - c23c5 Px = c1(c2Lc + c23Le s23Lf) s1(Lb - Ld) Py = s1(c2Lc + c23Le s23Lf) + c1(Lb - Ld) Pz = -s2Lc - s23Le c23Lf
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.
T3 = T3 =
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)
onde, c 2 =
x 2 + y 2 L1 L 2 s 2 = 1 c 2 2 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 2
a) Existncia de soluo: a expresso obtida deve obedecer restrio 1 c2 1. b) Soluo singular: se x = y = 0, a soluo para 1 pode assumir qualquer valor. c) Mltiplas solues: de acordo com o sinal escolhido para s2, duas solues so possveis, com o brao para cima e com o brao para baixo.
A partir da expresso acima, podemos facilmente obter 4, 5 e 6. Quando r13 = r33 0, temos: 4 = atan2(r33,-r13) 5 = atan2([r132+r332]1/2,r23) 6 = atan2(-r22,r21) Quando r13 = r33 = 0, significa que s5 = 0, ou seja, c5 = r23 = 1. Assim: 4 = arbitrrio. 5 = (1 - r23) /2 6 = atan2(-r31,-r32) r32.4 Portanto, existem at oito possveis solues para o problema da cinemtica inversa: dois possveis valores para 1, combinados a dois possveis valores para 3 e a dois possveis valores para 5.
Exemplo: dado o rob manipulador polar mostrado na figura abaixo, determine o seu subespao de trabalho. z0,z1 z2,x1
x0 = x1 para 1 = 0 x2
Figura 2.27. Manipulador com duas juntas gera um subespao de trabalho. A posio da garra no plano horizontal especifica como:
0
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.