Escolar Documentos
Profissional Documentos
Cultura Documentos
Cindin
Cindin
Robtica Industrial
Textos
2001/2002
INTRODUO
Nas ltimas dcadas tem-se assistido a um crescente interesse pelas reas da
automao industrial e da robtica, motivado, nomeadamente, por preocupaes relacionadas com o aumento da produtividade, reduo de horrios e segurana no trabalho. Esse interesse tem levado diversas entidades pblicas e privadas, tais como universidades, agncias governamentais e empresas, a efectuar investigao, desenvolvimento e aplicaes nessas reas.
O incio da era da automao industrial remonta ao sculo XVIII, numa altura em que as mquinas dedicadas comeavam a fazer parte do processo produtivo das indstrias. O desenvolvimento das tcnicas de produo veio criar novas necessidades s possveis de satisfazer com mquinas programveis e flexveis, dando origem aos primeiros robs industriais (Klafter et al., 1989).
Foi no final dos anos sessenta, com base na experincia ento existente no campo dos telemanipuladores e das mquinas ferramentas de comando numrico, que George Devol construiu o primeiro rob industrial. A partir dessa data a robtica tem vindo a afirmar-se como uma cincia autnoma, de carcter multidisciplinar, penetrando em reas tradicionalmente ligadas s engenharias mecnica, 2
electrotcnica, de computadores e outras, revelando importncia crescente em reas to distintas como a explorao espacial, a explorao subaqutica, a medicina ou a indstria. alis na indstria que tem sido investido o maior esforo, sendo a indstria automvel um bom exemplo disso; robs de pintura e de soldadura fazem hoje parte integrante da sua fora laboral.
Genericamente, um rob manipulador, independentemente da sua potencial aplicao, mecanicamente concebido para posicionar e orientar no espao o seu rgo terminal: uma garra ou uma ferramenta. A sua estrutura pode variar mas, normalmente, possvel identificar os seguintes elementos funcionais principais (Klafter et al., 1989) (Figura 1.1): !" manipulador: conjunto de corpos ligados por juntas, formando cadeias cinemticas que definem uma estrutura mecnica. No manipulador incluem-se os actuadores, que agem sobre a estrutura mecnica, modificando a sua configurao, e a transmisso, que liga os actuadores estrutura mecnica. Os termos manipulador e rob so muitas vezes usados com a mesma finalidade, embora, formalmente, tal no esteja correcto; !" sensores: dispositivos usados para recolher e proporcionar ao controlador informao sobre o estado do manipulador e do ambiente. Os sensores internos fornecem informao sobre o estado do manipulador (por exemplo, posio, velocidade ou acelerao). Os sensores externos fornecem informao sobre o ambiente (por exemplo, sensores de fora/momento ou cmaras de vdeo para deteco de obstculos); !" controlador: dispositivo, tipicamente baseado em microcomputador, que controla o movimento do manipulador. Usa os modelos do manipulador e do ambiente e a informao fornecida pelo operador e pelos sensores, efectua as operaes algbricas de clculo necessrias e envia os sinais de controlo aos actuadores. Poder ainda efectuar tarefas como o registo de dados em memria e a gesto das comunicaes com o operador ou
com outros dispositivos que cooperem com o rob na execuo da tarefa; !" unidade de potncia: dispositivo que tem por objectivo proporcionar energia aos actuadores. Num sistema actuado electricamente trata-se de um conjunto de amplificadores de potncia.
Informao sobre o estado do manipulador
Unidade de potncia
Modelo do manipulador Comando Modelo do ambiente Algoritmo de controlo Gerador de trajectrias Protocolos de comunicao
Interaco Controlador
Ambiente
Sensores externos
Descrio da tarefa
Figura 1.1 Representao esquemtica da estrutura geral de um rob manipulador integrado no seu ambiente.
Em particular, um rob industrial possui uma estrutura mais simples (Figura 1.3); a interaco com o ambiente praticamente inexistente e a programao do rob baseia-se numa descrio imutvel quer da tarefa quer do ambiente. O manipulador normalmente constitudo por um conjunto de corpos rgidos ligados em srie por intermdio de juntas rotativas ou prismticas, formando uma cadeia cinemtica aberta. Uma das extremidades do manipulador encontra-se rigidamente ligada a uma base, enquanto que a extremidade oposta suporta o rgo terminal,
podendo mover-se livremente no espao. Tipicamente, o manipulador possui 6 graus de liberdade (gdl) e composto pelo brao e pelo punho. O brao tem, em geral, 3 gdl, efectuando o posicionamento do punho. Este, normalmente, composto por 3 juntas rotativas, que utiliza para orientar o rgo terminal (3 gdl).
Note-se que cada junta, rotativa ou prismtica, confere ao manipulador um grau de movimento (gdm). Em teoria, o manipulador poder ter uma infinidade de gdm. O rgo terminal pode possuir um mximo de 6 gdl: 3 gdl em posicionamento e 3 gdl em orientao no espao 3D. O nmero de gdl do rgo terminal sempre inferior ou igual ao nmero de gdm do manipulador. Se os vrios gdm estiverem adequadamente distribudos ao longo da estrutura mecnica, o nmero de gdl do rgo terminal ser igual ao nmero de gdm do manipulador (at ao limite de 6). Quando o nmero de gdm superior ao nmero de gdl diz-se que o manipulador redundante.
Muitas vezes utiliza-se a expresso grau de liberdade quando deveria utilizarse grau de movimento. Trata-se de um abuso de linguagem que deve ser evitado a menos que no haja risco de confuso (Figura 1.2).
2 gdm / 2 gdl
2 gdm / 1 gdl
3 gdm 3 gdl
3 gdm 2 gdl
Sensores internos
Unidade de potncia
Estrutura mecnica
Modelo do manipulador Comando Algoritmo de controlo Gerador de trajectrias Protocolos de comunicao Controlador
Linguagem de programao
Descrio da tarefa
O subsistema controlador de um rob industrial utiliza, em geral, apenas algoritmos de controlo de posio. Trata-se, normalmente, de controladores descentralizados, de ganhos fixos, em que cada junta possui o seu prprio servosistema de controlo. Geralmente, tais controladores apresentam um desempenho satisfatrio graas s transmisses mecnicas empregues, com factores de reduo da ordem dos 100:1. A utilizao de tais redues leva a que as variaes inerciais (causadas por alteraes da configurao da estrutura ou da carga manipulada), quando referidas aos motores, surjam divididas pelo quadrado do factor de reduo. O efeito dessa variao , assim, desprezvel. Acoplamentos dinmicos e variaes inerciais so tratados como perturbaes (Figura 1.4) (Mendes Lopes, 2000).
Controlador junta 1 Gerador de trajectrias no espao das juntas (cinemtica) Controlador junta 2 . . Controlador junta n
MODELAO CINEMTICA
No que respeita estrutura mecnica, um manipulador robtico um sistema
formado por um conjunto de corpos ligados por intermdio de juntas activas e passivas. As juntas activas so os pontos de entrada de energia controlada no sistema. Estas permitem o comando da estrutura, fazendo-a seguir uma trajectria no espao operacional (cartesiano), com uma dada velocidade e acelerao, e, em certos casos, interagir com o meio ambiente, exercendo as foras de contacto desejadas.
As transformaes de coordenadas entre o espao das juntas e o espao operacional revestem-se de importncia fundamental no controlo de manipuladores. De facto, na maioria dos casos os robs so controlados no espao das juntas, 7
enquanto que o planeamento e a definio das trajectrias so, normalmente, efectuados no espao operacional. Assim, mtodos eficientes de transformao entre os dois espaos assumem um papel relevante onde, nos ltimos anos, tem sido levada a cabo muita investigao (Paul, 1982; Vukobratovic e Kircanski, 1986; Fu et al., 1987).
Neste contexto, essencial o conhecimento dos modelos cinemticos de posio e diferencial. O primeiro traduzido matematicamente por um conjunto de equaes algbricas no lineares, permitindo determinar as relaes existentes entre a posio das juntas activas e a posio generalizada do rgo terminal. O segundo traduzido matematicamente por um sistema de equaes lineares que permite relacionar as respectivas velocidades. Alm disso, atravs de consideraes que envolvem os conceitos de trabalho e de energia, permite tambm determinar o modelo esttico do manipulador (relao entre as foras aplicadas nas juntas e as foras aplicadas no rgo terminal). Em qualquer dos casos o problema envolve sempre a determinao de um jacobiano.
Relacionados com a cinemtica podem distinguir-se dois problemas: a cinemtica directa e a cinemtica inversa.
A cinemtica directa envolve a determinao da posio (ou velocidade) generalizada do rgo terminal a partir da posio (ou velocidade) das juntas activas. Para manipuladores de estrutura em srie , na maioria dos casos, um problema simples, com soluo nica.
A cinemtica inversa envolve a determinao da posio (ou velocidade) das juntas activas a partir da posio (ou velocidade) generalizada do rgo terminal. Normalmente, para os manipuladores de estrutura em srie um problema difcil, para o qual nem sempre possvel encontrar soluo analiticamente. Alm disso, normalmente, a soluo no nica.
Nesta seco (e respectivas sub-seces) apresenta-se o formalismo de Denavit-Hartenberg e, com base nele, um algoritmo sistemtico para a obteno do modelo cinemtico de posio de um manipulador de estrutura em srie. Como exemplo efectua-se a modelao cinemtica do rob industrial TI ER 60001.
2.1.1
MATRIZ DE ROTAO
Considere-se a Figura 2.1. Os referenciais cartesianos OXYZ e OUVW tm a mesma origem no ponto O. O referencial OXYZ encontra-se fixo, enquanto que o referencial OUVW pode rodar relativamente a OXYZ. Fisicamente pode considerar-se OUVW como estando solidrio com um corpo rgido, por exemplo, com um elo de um rob manipulador.
Trata-se de um robot industrial 6R, com accionamento por motores de corrente contnua, desenvolvido pela Texas Instruments, Inc. em 1980.
Sejam (ix, jy, kz) e (iu, jv, kw) os vectores unitrios segundo, respectivamente, os eixos de OXYZ e OUVW. Um ponto p no espao pode ser representado pelas suas coordenadas, expressas quer em OXYZ quer em OUVW. Por simplicidade, assuma-se que p est fixo em relao a OUVW. Assim, p pode ser representado por
p uvw % # pu
em OUVW, e p xyz % p x em OXYZ.
pv
pw $
(Eq. 2.1a)
py
pz
(Eq. 2.1b)
Pretende-se determinar a transformao matricial R % xyz R uvw que converte as coordenadas de p expressas em relao a OUVW, puvw, nas coordenadas de p expressas em relao a OXYZ, pxyz, depois do corpo solidrio com o referencial OUVW ter sofrido uma rotao. Isto , pxyz = R puvw Recordando a definio de componentes de um vector, tem-se puvw = puiu + pvjv + pwkw
(Eq. 2.2)
(Eq. 2.3)
onde pu, pv, pw representam, respectivamente, as componentes (ou as projeces) de p segundo os eixos OU, OV e OW. Ento, usando a definio de produto escalar e a equao (Eq. 2.3), tem-se (propriedade distributiva do produto escalar) px = ix&p = ix&iu pu + ix&jv pv + ix&kw pw py = jy&p = jy&iu pu + jy&jv pv + jy&kw pw pz = kz&p = kz&iu pu + kz&jv pv + kz&kw pw ou, na forma matricial, 10 (Eq. 2.4)
(Eq. 2.5)
(Eq. 2.6)
Note-se que as colunas da matriz R representam as coordenadas dos eixos principais do referencial OUVW em relao ao referencial OXYZ, isto , representam os cosenos directores dos eixos do referencial OUVW em relao ao referencial OXYZ. A matriz R representa, assim, a orientao do referencial OUVW em relao ao referencial OXYZ.
De modo semelhante podem ser obtidas as coordenadas de puvw a partir das coordenadas de pxyz atravs da equao matricial puvw = Q pxyz ou
, pu ) , i u & i x * p ' %* j & i * v' * v x * + pw ' ( * +k w & i x iu & jy jv & j y k w & jy i u & k z ), p x ) ' ' jv & k z '* * py ' kw &k z ' + pz ' ( (*
(Eq. 2.7)
(Eq. 2.8)
Dado que o produto escalar comutativo, pode mostrar-se a partir das equaes (Eq. 2.6) a (Eq. 2.8) que Q = R-1 = RT e QR = RTR = R-1 R = I3
(Eq. 2.9)
(Eq. 2.10) 11
Sendo os vectores (ix, jy, kz) e (iu, jv, kw) unitrios, as transformaes representadas pelas equaes (Eq. 2.2) e (Eq. 2.7) so chamadas transformaes ortonormais.
A partir daqui podem ser determinadas as transformaes que representam as rotaes do referencial OUVW em relao aos eixos do referencial OXYZ. Se o referencial OUVW sofrer uma rotao de um ngulo / segundo o eixo OX, ento o ponto puvw de coordenadas coordenadas p x
# pu
pv
py
pz
matriz de rotao segundo OX de um ngulo / e poder ser deduzida a partir dos conceitos desenvolvidos anteriormente. Assim, vem pxyz = Rx,/puvw com ix 0 iu e
(Eq. 2.11)
R x ,/
(Eq. 2.12)
De modo semelhante podem ser obtidas as matrizes de rotao segundo OY de um ngulo 1 e de rotao segundo OZ de um ngulo 2 (Figura 2.2):
12
Figura 2.2a Rotao do corpo rgido da Figura 2.1 de um ngulo / segundo o eixo OX.
Figura 2.2b Rotao do corpo rgido da Figura 2.1 de um ngulo 1 segundo o eixo OY.
13
Figura 2.2c Rotao do corpo rgido da Figura 2.1 de um ngulo 2 segundo o eixo OZ.
R y ,1
, cos 1 %* * 0 * +- sen 1
R z ,2
,cos2 %* *sen 2 * + 0
- sen 2 cos2 0
(Eq. 2.13)
As matrizes Rx,/, Ry,1 e Rz,2 so chamadas matrizes de rotao bsicas ou elementares. Como se ver, rotaes mais complexas podem ser tratadas custa destas transformaes elementares.
2.1.2
COMPOSIO DE MATRIZES DE ROTAO Viu-se na seco anterior como representar matematicamente a rotao de um
referencial OUVW segundo cada um dos eixos de um referencial fixo OXYZ. Se, em vez de uma rotao simples em torno de um dos eixos de OXYZ, o referencial OUVW, inicialmente alinhado com OXYZ, sofrer uma sequncia finita de rotaes em torno desses mesmos eixos, ento essa sequncia pode ser representada atravs do produto de vrias matrizes de rotao bsicas.
Por exemplo, a matriz que representa a rotao de OUVW de um ngulo / segundo o eixo OX, seguida da rotao de um ngulo 2 segundo OZ e, por ltimo, da rotao de um ngulo 1 segundo OY 14
, C1 0 S1 ),C2 - S2 0),1 0 '* * 1 0 ' R %R y ,1 R z ,2 R x ,/ %* ' * S2 C 2 0 ' * 0 C / * 0 * 0 1' + - S1 0 C 1 ' (* + 0 (* + 0 S/ , C1C2 S1S/ - C1S2C/ C1S2S/ 3 S1C/ ) ' %* - C2S/ C2C/ * S2 ' * ' 3 S 1 C 2 S 1 S 2 C / C 1 S / C 1 C / S 1 S 2 S / + (
(Eq. 2.14)
Uma vez que o produto de matrizes em geral no comutativo importante a ordem pela qual so efectuadas as rotaes. Assim, a matriz de rotao anterior diferente da matriz correspondente rotao de um ngulo 1 segundo OY, seguida da rotao de um ngulo 2 segundo OZ e seguida da rotao de um ngulo / segundo OX. Para esta sequncia a matriz de rotao vem
,1 0 %* * 0 C/ * + 0 S/ - S2 C/C2 S/C2 0 ),C2 * - S/ ' '* S2 C/ ' (* + 0 - S2 C2 0 0 ) , C1 * 0' '* 0 1' (* +- S1 S1 ) 1 0 ' ' 0 C1 ' ( 0
R % R x ,/ R z ,2 R y ,1
C2S1
(Eq. 2.15)
Poder ainda haver interesse em representar rotaes de OUVW em torno dos seus prprios eixos, OU, OV e OW. Assim, em geral, a matriz de rotao resultante de uma sequncia finita de rotaes elementares pode ser obtida atravs das seguintes regras (Fu et al., 1987): !" inicialmente ambos os referenciais esto coincidentes, pelo que a matriz de rotao a matriz identidade I3; !" se OUVW rodar de um determinado ngulo em torno de um dos eixos de OXYZ, deve-se pr-multiplicar a matriz de rotao, calculada at esse momento, pela matriz de rotao bsica apropriada: (Eq. 2.12) e (Eq. 2.13);
15
!" se OUVW rodar de um determinado ngulo em torno de um dos seus prprios eixos, deve-se ps-multiplicar a matriz de rotao, calculada at esse momento, pela matriz de rotao bsica apropriada: (Eq. 2.12) e (Eq. 2.13).
2.1.3
Em vez de uma sequncia de rotaes segundo os eixos principais de OXYZ e/ou OUVW, o referencial OUVW pode tambm rodar de um ngulo 1 em torno de um vector arbitrrio r de componentes rx, ry e rz e passando pela origem O. Para determinar a matriz de rotao Rr,1, em primeiro lugar, faz-se uma sequncia de rotaes segundo os eixos principais de OXYZ, de modo a alinhar o vector r com o eixo OZ. De seguida faz-se a rotao do ngulo 1 em torno de r e por ltimo faz-se uma sequncia de rotaes segundo os eixos de OXYZ, para colocar o vector r na sua situao inicial.
Observe-se a Figura 2.3. O alinhamento de OZ com r pode ser feito atravs da rotao de um ngulo / em torno de OX (r fica no plano XZ), seguida da rotao de um ngulo -4 em torno de OY (r fica alinhado com OZ).
Depois da rotao do ngulo 1 em torno de OZ (e de r) inverte-se a ordem das rotaes efectuadas, com ngulos simtricos dos anteriores. A matriz de rotao Rr,1 resultante vem
R r ,1 % R x , -/ R y , 4 R z ,1 R y , - 4 R x ,/ 0 ,1 * %*0 C/ * + 0 - S/ 0 ) , C4 * S/ ' '* 0 C/ ' (* + - S4 S4 ),C1 * 1 0 ' ' * S1 0 C4 ' (* +0 0 - S1 C1 0 0),C4 * 0' '* 0 1' (* + S4 0 - S4 ),1 0 * 1 0 ' ' * 0 C/ 0 C4 ' (* + 0 S/ 0 ) - S/ ' ' C/ ' (
sen / %
ry r 3r
2 y 2 z
cos/ %
rz r 3 rz2
2 y
(Eq. 2.17a)
(Eq. 2.17b)
R r ,1
(Eq. 2.18)
2.1.4
Como a dimenso de uma matriz de rotao 3.3, esta representao no utiliza um conjunto mnimo de parmetros (3) para descrever a orientao de um corpo rgido em relao a um referencial fixo. Por esse motivo so muitas vezes usadas outras representaes, como o caso dos ngulos de Euler (3 ngulos).
17
Existem 12 conjuntos distintos de ngulos de Euler (que dependem da sequncia de rotaes escolhida) (Sciavicco e Siciliano, 1996). Uma das possibilidades corresponde seguinte sequncia (Figura 2.4) (Vukobratovic e Kircanski, 1986): !" rotao de um ngulo 5 segundo o eixo OZ (Rz,5); !" rotao de um ngulo 2 segundo o eixo rodado OV, isto , OV (Rv,2); !" rotao de um ngulo 1 segundo o eixo rodado OU, isto , OU(Ru,1). Dado o vector de ngulos de Euler, ! % #5 2
6 $T , a matriz resultante
18
,nx s x a x ) ' R5 ,2 ,1 % R z ,5 R v ,2 R u ,1 % * *n y s y a y ' * + nz s z a z ' ( 0 ) ,C5 - S5 0), C2 0 S2 ),1 0 '* * ' %* 1 0 ' * S5 C5 0'* 0 '*0 C1 - S1 ' * 0 1' + 0 (* +- S2 0 C2 ' (* +0 S1 C1 ' ( ,C5C2 C5S2S1 - S5C1 C5S2C1 3 S5S1 ) ' %* * S5C2 S5S2S1 3 C5C1 S5S2C1 - C5S1 ' * ' S2S1 C2C1 + - S2 (
(Eq. 2.19)
Esta matriz pode tambm ser definida em termos de uma sequncia de rotaes em torno dos eixos principais do referencial fixo OXYZ: uma rotao de um ngulo 1 em torno de OX, seguida da rotao de um ngulo 2 em torno de OY e de uma rotao de um ngulo 5 em torno de OZ.
A partir da matriz de rotao podem ser determinados os ngulos de Euler (problema inverso). Assim, da equao (Eq. 2.19) vem nx = cos 5 cos 2 ny = sen 5 cos 2 nz = -sen 2 sx = cos 5 sen 2 sen 1 - sen 5 cos 1 sy = sen 5 sen 2 sen 1 + cos 5 cos 1 sz = cos 2 sen 1 ax = cos 5 sen 2 cos 1 + sen 5 sen 1 ay = sen 5 sen 2 cos 1 - cos 5 sen 1 az = cos 2 cos 1
(Eq. 2.20) (Eq. 2.21) (Eq. 2.22) (Eq. 2.23) (Eq. 2.24) (Eq. 2.25) (Eq. 2.26) (Eq. 2.27) (Eq. 2.28)
19
O ngulo 5 pode ser obtido multiplicando ambos os membros da equao (Eq. 2.20) por sen 5, multiplicando ambos os membros da equao (Eq. 2.21) por cos 5 e subtraindo as duas equaes, resultando nx sen 5 - ny cos5 = 0 e
(Eq. 2.29)
5 % arctan
ny nx
3 k7
(Eq. 2.30)
O ngulo 2 pode ser calculado multiplicando a equao (Eq. 2.20) por cos 5, multiplicando a equao (Eq. 2.21) por sen 5 e somando as duas, isto nx cos 5 + ny sen 5 = cos 2 Combinando a equao (Eq. 2.31) com a equao (Eq. 2.22) vem
(Eq. 2.31)
2 % arctan
(Eq. 2.32)
Quanto ao ngulo 1, este pode ser obtido multiplicando a equao (Eq. 2.26) por sen 5, multiplicando a equao (Eq. 2.27) por cos 5 e subtraindo as equaes: ax sen 5 - ay cos 5 = sen 1
(Eq. 2.33)
Por outro lado, multiplicando a equao (Eq. 2.23) por - sen 5, multiplicando a equao (Eq. 2.24) por cos 5 e somando as duas equaes resulta - sx sen 5 + sy cos 5= cos 1 Combinando as equaes anteriores vem
a x sen5 - a y cos5 - s x sen5 3 s y cos5
(Eq. 2.34)
1 % arctan
3 2k7
(Eq. 2.35)
20
2.1.5
Em resumo so apresentadas de seguida algumas propriedades das matrizes de rotao: !" as colunas da matriz de rotao representam os eixos do referencial mvel (vectores unitrios) expressos no referencial fixo; as linhas da matriz de rotao representam os eixos do referencial fixo (vectores unitrios) expressos no referencial mvel; !" dado que cada linha (ou cada coluna) da matriz de rotao um vector unitrio, o seu mdulo igual a um; o determinante de uma matriz de rotao igual a 1; !" o produto interno de quaisquer duas linhas, bem como o produto interno de quaisquer duas colunas igual a zero; !" a inversa de uma matriz de rotao igual sua transposta.
2.1.6
TRANSFORMAES HOMOGNEAS
O conceito de transformao homognea til no desenvolvimento de transformaes que incluam informao sobre rotao, translao, factor de escala e efeito de perspectiva.
Se a um dado vector p % p x
py
wp y
wp z
w ,
vem expresso em coordenadas homogneas. Nesta seco ser usado o diz-se que p
smbolo ^ para representar um vector atravs de coordenadas homogneas. Posteriormente, caso no exista perigo de confuso, este smbolo ser omitido.
21
Em geral, a representao de um vector N - dimensional por um vector (N+1) - dimensional, diz-se de representao homognea. Inversamente, o vector N - dimensional obtm-se da sua representao em coordenadas homogneas dividindo as coordenadas do vector (N+1) - dimensional pela componente de ordem (N+1). Assim, no espao 3D, um vector p % p x % wp x vector aumentado p
py
pz
representado pelo
wp y
wp z
verificando-se as relaes
px %
wp y wp x wp z py % pz % w w w
(Eq. 2.36)
1 % w1 p x Assim, p
w1 p y
w1 p z
w1
2 % w2 p x ou p
w2 p y
w2 p z py
$ p $ .
w2
z T T
Pode ver-se deste modo que a quarta componente, w, funciona como um factor de escala. Se o factor de escala w = 1, ento as componentes fsicas do vector so iguais s componentes em coordenadas homogneas. Na cinemtica de robs o factor de escala considerado sempre unitrio.
Uma matriz homognea 4.4 pode ser considerada como consistindo em quatro submatrizes
vector ) , matriz * p 3.1 ) rotao posio ' * ' % factor ' 1 ' ( * efeito de * +perspectiva escala ' (
,R T %* 3.3 + f1.3
(Eq. 2.37)
A submatriz R3.3 representa a matriz de rotao (i. e., a orientao do referencial mvel em relao ao referencial fixo), a submatriz p3.1 representa o vector posio da origem do referencial mvel em relao ao referencial fixo, a submatriz f1.3 representa o efeito de perspectiva e o quarto elemento da diagonal principal representa o factor de escala. 22
A matriz de rotao 3.3 pode ser aumentada para 4.4, transformando-se assim numa matriz homognea, Trot, representando apenas a operao de rotao. Deste modo, as matrizes de rotao (Eq. 2.12) e (Eq. 2.13) expressas em termos de matrizes homogneas ficam 0 ,1 *0 cos / %* *0 sen / * 0 +0 , cos 1 * 0 %* *- sen 1 * + 0 ,cos2 *sen 2 %* * 0 * + 0 0 - sen / cos / 0 0 sen 1 1 0 0 cos 1 0 0 - sen 2 cos2 0 0 0 0 1 0 0) 0' ' 0' ' 1( 0) 0' ' 0' ' 1( 0) 0' ' 0' ' 1(
Tx ,/
(Eq. 2.38a)
Ty ,1
(Eq. 2.22b)
Tz ,2
(Eq. 2.22c)
Estas matrizes de rotao 4.4, so chamadas de matrizes de rotao homogneas bsicas ou elementares.
Por outro lado, os trs primeiros elementos da quarta coluna da matriz de transformao homognea representam a translao do referencial OUVW em relao ao referencial OXYZ. Assim, OUVW tem eixos paralelos ao referencial OXYZ, mas a sua origem encontra-se deslocada de (dx, dy, dz) deste referencial ,1 *0 %* *0 * +0 0 1 0 0 0 dx ) 0 dy ' ' 1 dz ' ' 0 1(
Ttran
(Eq. 2.39)
23
Em resumo, uma transformao homognea, converte um vector expresso em coordenadas homogneas em relao a um referencial OUVW, num vector expresso em coordenadas homogneas em relao a um referencial OXYZ (Figura 2.5). Isto , com w = 1,
xyz % Tp uvw p
(Eq. 2.40)
sx sy sz 0
ax ay az 0
(Eq. 2.41)
kw O1
jv
xyz
pO1
kz jy O ix
iu
Ruvw&puvw
pxyz
2.1.7
Dada uma matriz homognea T, os vectores coluna da submatriz de rotao, representam os eixos de OUVW em relao a OXYZ. A quarta coluna da matriz de transformao homognea representa a posio da origem do referencial OUVW em relao ao referencial OXYZ. Por outras palavras, uma matriz homognea representa
24
a situao ou posio generalizada (posio e orientao) de um referencial mvel em relao a um referencial fixo.
Enquanto que a inversa de uma matriz de rotao igual sua transposta, o mesmo no se passa com uma matriz homognea. A posio da origem do referencial OXYZ em relao ao referencial OUVW s pode ser determinada depois de ser determinada a inversa da matriz homognea. Em geral, a inversa de uma matriz homognea dada por
,nx * s T -1 %* x *a x * *0 +
ny sy ay 0
nz sz az 0
(Eq. 2.42)
Da equao (Eq. 2.42) v-se que as colunas da inversa da matriz homognea representam os eixos principais do referencial OXYZ, em relao ao referencial OUVW, e que a quarta coluna representa a origem do referencial OXYZ em relao ao referencial OUVW.
2.1.8
Para representar uma sequncia finita de transformaes, as transformaes homogneas bsicas podem ser multiplicadas sucessivamente, de modo a obter a matriz de transformao global. Como a multiplicao de matrizes em geral no comutativa, h que ter em conta a ordem pela qual se fazem as transformaes bsicas. As regras que se seguem so teis para encontrar a matriz de transformao global. !" inicialmente ambos os referenciais esto coincidentes, logo a matriz homognea ser a matriz identidade (de dimenso 4.4) I4; !" se o referencial OUVW sofrer uma rotao/translao segundo um dos eixos principais de OXYZ, ento deve-se pr-multiplicar a matriz
25
calculada at esse momento pela matriz homognea bsica apropriada: (Eq. 2.38) e (Eq. 2.39); !" se o referencial OUVW sofrer uma rotao/translao segundo um dos seus eixos principais, ento deve-se ps-multiplicar a matriz calculada at esse momento pela matriz homognea bsica apropriada: (Eq. 2.38) e (Eq. 2.39).
2.1.9
CADEIA CINEMTICA
Um manipulador consiste numa sequncia de elos ligados entre si por juntas. Essas juntas so accionadas por actuadores (motores elctricos, hidrulicos, etc.) que lhes imprimem movimentos angulares ou lineares (Figura 2.6). Cada par junta-elo constitui um gdm. Assim, um rob manipulador com n gdm ter que possuir n pares junta-elo. O elo 0 (no considerado parte do rob manipulador) est fixo a uma base de suporte, onde normalmente estabelecido um referencial inercial, e ao ltimo elo est associada uma ferramenta de trabalho.
26
As juntas e os elos so numerados a partir da base. Assim, a junta 1 assegurar a ligao entre a base de suporte e o elo 1. Em geral, dois elos esto ligados atravs de uma nica junta. Considerem-se seis tipos de juntas diferentes: rotativa, prismtica, cilndrica, esfrica, parafuso e planar, representadas na Figura 2.7. Destas, apenas as rotativas e as prismticas so comuns em robs manipuladores. Uma representao esquemtica destes dois tipos de juntas pode ser vista na Figura 2.8.
27
Para descrever as relaes de translao e de rotao entre cada dois elos adjacentes, Denavit e Hartenberg propuseram um mtodo sistemtico para atribuio de um referencial a cada elo da cadeia cinemtica.
O mtodo de D-H conduz a uma representao baseada em transformaes homogneas, que exprimem cada referencial (associado a cada elo) em relao ao referencial anterior. Assim, atravs de uma sequncia de transformaes, a posio generalizada do rgo terminal do rob manipulador (ou melhor, o respectivo referencial) pode ser expresso em relao ao sistema de eixos da base, o qual pode constituir o referencial inercial do sistema.
Algoritmo 2.1 (D-H) (Figura 2.9) !" D1. Estabelecimento do referencial da base. Fixar um referencial ortonormado (x0, y0, z0) na base de suporte, com o eixo z0 coincidindo com o eixo da junta 1. Os eixos x0 e y0 podem ser convenientemente
28
estabelecidos (de acordo com regra da mo direita) e so perpendiculares a z0. !" D2. Incio. Para cada i, i = 1,...,n-1, executar os passos D3 a D6. !" D3. Estabelecimento dos eixos das juntas. Fazer coincidir zi com o eixo da junta i+1. !" D4. Estabelecimento da origem do referencial i. Colocar a origem do referencial i na interseco dos eixos zi e zi-1 ou na interseco da perpendicular comum aos eixos zi e zi-1 e o eixo zi. !" D5. Estabelecimento do eixo xi. Estabelecer x i % 8
(z i -1 . z i ) (z i -1 . z i )
ou
segundo a perpendicular comum entre zi-1 e zi, quando estes so paralelos (de zi-1 para zi). !" D6. Estabelecimento do eixo yi. Fazer y i % 3
(z i . xi ) (z i . xi )
de modo a
completar o referencial de acordo com a regra da mo direita. !" D7. Estabelecimento do referencial do rgo terminal. Estabelecer xn de modo a seja perpendicular a zn-1. Se a ltima junta for rotativa, alinhar zn com zn-1. Colocar yn de modo a completar o referencial de acordo com a regra da mo direita. !" D8. Determinao dos parmetros. Para cada i, i = 1,...,n-1, executar os passos D9 a D12. !" D9. Determinar di. O parmetro di a distncia da origem do referencial i-1 at interseco de zi-1 com xi segundo zi-1. varivel se a junta i prismtica. !" D10. Determinar ai. O parmetro ai a distncia desde a interseco de zi-1 com xi, origem do referencial i, segundo xi. !" D11. Determinar 2i. O parmetro 2i o ngulo entre xi-1 e xi, segundo zi-1 varivel se i rotativa.
29
!" D12. Determinar /i. O parmetro /i o ngulo entre zi-1 e zi, segundo xi . Dadas estas regras, a escolha da origem do referencial 0, a colocar na base de suporte, livre, desde que o eixo z0 coincida com o eixo da primeira junta. O ltimo referencial pode tambm ser colocado em qualquer ponto do rgo terminal, desde que o eixo xn seja perpendicular ao eixo zn-1 (se o rgo terminal consistir numa pina, o ltimo referencial normalmente colocado no seu centro).
Uma vez aplicado o Algoritmo 2.1 haver que determinar uma transformao homognea que relacione o referencial i com o referencial i-1. Considerando a Figura 2.9, pode ver-se que o referencial i sofreu as seguintes transformaes relativamente ao referencial i-1: !" rotao em torno de zi-1 de um ngulo 2i, para alinhar o eixo xi-1 com o eixo xi (o eixo xi-1 paralelo a xi, apontando no mesmo sentido); !" translao segundo zi-1, da distncia di, de modo a colocar coincidentes os eixos xi-1 e xi; !" translao segundo xi, da distncia ai, para colocar coincidentes as origens e os eixos x; !" rotao segundo xi de um ngulo /i, para tornar os dois referenciais coincidentes. Cada uma das quatro transformaes referidas acima pode ser descrita por uma matriz homognea bsica e o seu produto d origem a uma matriz homognea
i -1
30
i -1
A i % Tz ,d Tz ,2 Tx , a Tx ,/ 0 1 0 0 0 ai ),1 ' * 0 '*0 cos / i 0 '*0 sen / i '* 1 ( +0 0 0 - sen / i cos / i 0 0) 0' ' 0' ' 1(
0 0 ),cos2 i - sen 2 i 0 0),1 0 0 * '* 0 0' '*sen 2 i cos2 i 0 0'*0 1 0 1 d i '* 0 0 1 0 ' *0 0 1 '* '* 0 1 (+ 0 0 0 1 ( +0 0 0 ,cos2 i - cos / i sen 2 i sen / i sen 2 i ai cos2 i ) *sen 2 cos / i cos2 i - sen / i cos2 i ai sen 2 i ' i * ' % * 0 sen / i cos / i di ' * ' 0 0 1 ( + 0 ,1 *0 %* *0 * +0
(Eq. 2.43) Usando a equao (Eq. 2.42), a inversa desta matriz cos2 i , *- cos / sen 2 -1 i i i -1 A i % i A i -1 %* * sen / i sen 2 i * 0 + sen 2 i cos / i cos2 i - sen / i cos2 i 0 0 sen / i cos / i 0 - ai ) - d i sen / i ' ' (Eq. 2.44) - d i cos / i ' ' 1 (
onde, para uma junta rotativa, /i, ai e di so constantes, enquanto que 2i varivel. Para uma junta prismtica, a varivel di, enquanto que /i, ai e 2i so constantes.
Usando a matriz
i -1
expresso em coordenadas homogneas em relao a um referencial i, com um referencial i-1 estabelecido num elo i-1. Isto
p i -1 % i -1 A i p i
(Eq. 2.45)
31
A matriz homognea 0 Ti , que especifica a localizao do referencial i em relao ao referencial da base, pode ser encontrada fazendo o produto das sucessivas transformaes
i -1
Ai :
Ti % 0 A1 1 A 2!i -1 A i % 9
j %1
j -1
A j,
0
,x %* i +0
yi 0
zi 0
pi ) , 0 R i %* 1' ( + 0
(Eq. 2.46)
onde !" #xi, yi, zi$ = matriz de orientao do referencial i, estabelecido no elo i, em relao base. uma matriz com dimenso 3.3; !" pi = vector de posio que aponta da origem do referencial da base, para a origem do referencial i. um vector com dimenso 3.1. Para o caso em que i = 6, vem T% 0 A 6 , a qual especifica a posio e a orientao do rgo terminal do rob em relao base. Esta matriz, de grande importncia para a cinemtica, chamada a matriz do rob manipulador e pode ser considerada como tendo a seguinte estrutura:
,x T %* 6 +0 , nx *n %* y * nz * +0 y6 0 sx sy sz 0 z6 0 ax ay az 0 p6 ) , 0 R 6 %* 1' ( + 0 px ) py ' ' pz ' ' 1(
0
p 6 ) ,n s a p ) '%* ' 1 ( +0 0 0 1 (
(Eq. 2.47)
onde (Figura 2.10), !" n = normal. Vector perpendicular ao rgo terminal. Assumindo um rgo terminal como na Figura 2.10, n perpendicular aos dedos; 32
!" s = deslizamento. Aponta na direco do movimento dos dedos quando o pina abre e fecha; !" a = Aproximao. Aponta na direco perpendicular palma da mo; !" p = Vector posio da mo. Aponta da origem do referencial da base para a origem do referencial do rgo terminal, a qual est normalmente localizada no seu centro.
Figura 2.10 Punho esfrico: referencial do rgo terminal e os vectores #n, s, a$.
Se o referencial da base do rob manipulador estiver relacionado com um referencial exterior (referencial inercial) pela transformao B e tiver uma ferramenta relacionada com o ltimo referencial pela transformao H, ento o ponto terminal da ferramenta pode ainda ser relacionado com o sistema de coordenadas de referncia atravs da transformao:
ref
T ferr %B 0 T6 H
(Eq. 2.48)
A soluo das equaes da cinemtica directa de um rob manipulador com 6 gdl resume-se ao clculo da matriz T% 0 A 6 , que conseguido multiplicando as seis 33
matrizes
i -1
referenciais estabelecidos com base no algoritmo de D-H e para um dado vector de coordenadas no espao das juntas, q = [q1 q2 q3 q4 q5 q6]T, onde qi = 2i para uma junta rotativa e qi = di para uma junta prismtica.
i -1
matriz T em tempo-real, h que encontrar um mtodo computacionalmente eficiente para o efeito (Vukobratovic e Kircanski, 1986).
Trata-se de um manipulador com 6 gdl constitudo por um brao esfrico e por um punho tambm esfrico.
34
2i () -90 -90
-90 0 0 0
/i ()
-90 90 0 -90 90 0
ai 0 0 0 0 0 0
di d1 d2 d3 0 0 d6
As transformaes homogneas so: ,C1 *S 0 A1 %* 1 *0 * +0 ,0 *- 1 2 A 3 %* *0 * +0 ,C5 *S 4 A 5 %* 5 *0 * +0 0 - S1 0 C1 -1 0 0 0 1 0 0 0 0) 0' ' d1 ' ' 1( ,C2 *S 1 A 2 %* 2 *0 * +0 ,C4 *S 3 A 4 %* 4 *0 * +0 ,C6 *S 5 A 6 %* 6 *0 * +0 0 S2 0 - C2 1 0 0 0 0 - S4 0 C4 -1 0 0 0 - S6 C6 0 0 0) 0' ' d2 ' ' 1( 0) 0' ' 0' ' 1(
(Eq. 2.49)
(Eq. 2.50)
0 S5 0 - C5 1 0 0 0
(Eq. 2.51)
35
Trata-se de um manipulador com 6 gdl constitudo por um brao antropomrfico e por um punho esfrico.
2i ()
90 0 90 0 0 0
/i ()
-90 0 90 -90 90 0
ai 0 a2 a3 0 0 0
di 0 d2 0 d4 0 d6
36
0 - S1 0 C1 -1 0 0 0 0 S3 0 - C3 1 0 0 0 0 S5 0 - C5 1 0 0 0
0) 0' ' 0' ' 1( a3C3 ) a3 S 3 ' ' 0 ' ' 1 ( 0) 0' ' 0' ' 1(
- S2 C2 0 0
(Eq. 2.52)
0 - S4 0 C4 -1 0 0 0 - S6 C6 0 0
(Eq. 2.54)
Trata-se de um manipulador com 6 gdl, constitudo por um brao antropomrfico e por um punho esfrico (semelhante ao PUMA).
Figura 2.13 Estabelecimento de referenciais para o rob manipulador TI ER 6000. O parmetros de D-H so apresentados na Tabela 2.3.
37
2i ()
90 0 90 0 0 0
/i ()
-90 0 90 -90 90 0
ai (mm) 0 304.8 0 0 0 0
Intervalo de variao () #-165, 165$ #-252.5, 72.5$ #-35, 215$ #-162.5, 162.5$ #-105, 105$ #-171, 171$
As transformaes homogneas so: ,C1 *S 0 A1 %* 1 *0 * +0 ,C3 *S 2 A 3 %* 3 *0 * +0 ,C5 *S 4 A 5 %* 5 *0 * +0 0 - S1 0 C1 -1 0 0 0 0 S3 0 - C3 1 0 0 0 0 S5 0 - C5 1 0 0 0 0) 0' ' 0' ' 1( 0) 0' ' 0' ' 1( 0) 0' ' 0' ' 1( ,C2 *S 1 A 2 %* 2 *0 * +0 ,C4 *S 3 A 4 %* 4 *0 * +0 ,C6 *S 5 A 6 %* 6 *0 * +0 - S2 C2 0 0 0 a 2 C2 ) 0 a2 S 2 ' ' (Eq. 2.55) 1 d2 ' ' 0 1 ( 0) 0' ' d4 ' ' 1(
0 - S4 0 C4 -1 0 0 0 - S6 C6 0 0
(Eq. 2.56)
(Eq. 2.57)
38
,nx *n 1 2 3 4 5 0 T % A 1 A 2 A 3 A 4 A 5 A 6 %* y * nz * +0 onde
sx sy sz 0
ax ay az 0
(Eq. 2.58)
n z % - S 23 (C 4 C5 C6 - S 4 S 6 ) - C 23 S 5 C 6
s x % C1 #- C 23 (C 4 C5 S 6 3 S 4 C 6 ) 3 S 23 S 5 S 6 $ - S1 (- S 4 C5 S 6 3 C 4 C6 ) (Eq. 2.62)
s y % S1 #- C 23 (C 4 C5 S 6 3 S 4 C 6 ) 3 S 23 S 5 S 6 $ 3 C1 (- S 4 C5 S 6 3 C 4 C 6 ) (Eq. 2.63)
s z % S 23 (C 4 C5 S 6 3 S 4 C 6 ) 3 C 23 S 5 S 6 a x % C1 (C 23C 4 S 5 3 S 23C5 ) - S1 S 4 S 5
a y % S1 (C 23C 4 S 5 3 S 23C5 ) 3 C1 S 4 S 5
a z % - S 23C 4 S 5 3 C 23C5
(Eq. 2.70)
Outro problema importante diz respeito s relaes existentes entre as velocidades (linear e angular) do rgo terminal e as velocidades das juntas. O conhecimento destas relaes essencial para a implementao de certos algoritmos 39
de controlo, bem como para alguns algoritmos de clculo da cinemtica de posio inversa.
Nesta seco (e respectivas sub-seces) so estudadas as relaes diferenciais, ou seja, as relaes entre as velocidades linear e angular do rgo terminal e as velocidades das juntas.
2.2.1
JACOBIANO CINEMTICO
Para um manipulador com n gdl a cinemtica de posio directa pode ser representada pela funo
,0R T%* n + 0
pn ) ' 1 (
(Eq. 2.71)
Pretende-se agora determinar a relao entre as velocidades linear e angular do rgo terminal, 0 v n 0 e 0"n 0 , em relao ao referencial da base e expressas no
" referencial da base, e as velocidades das juntas, q
(Eq. 2.72)
em que JP e JO so matrizes de dimenso 3.n, representando as contribuies das velocidades das juntas para, respectivamente, a velocidade linear do rgo terminal e a velocidade angular do rgo terminal.
De forma mais compacta pode escrever-se , 0 vn 0 ) " *0 ' % J :q ;q " n * ' 0 ( + com
(Eq. 2.73)
40
,J ) J % * P' +J O (
uma matriz de dimenso 6.n.
(Eq. 2.74)
Pelo mtodo do trabalho virtual, Asada e Slotine (1986) mostram que as foras nas juntas, <, podem ser relacionadas com a fora generalizada (fora e momento) aplicada no rgo terminal do rob e expressa no referencial da base, f n ,
0
atravs da equao
# % JT & fn
(Eq. 2.75)
Considere-se um referencial fixo, A, e um referencial mvel, B, com movimento de translao e de rotao em relao a A. Seja A p P A o vector posio do ponto P em relao a A, expresso em A; relao a B, expresso em B; e expresso em A (Figura 2.14).
A B
pB
B
A
pP
P A
A
pP
Figura 2.14 Posio de um ponto P em relao a um referencial fixo, A, e a um referencial mvel, B. Da Figura 2.14 facilmente se conclui que 41
pP A %ApB A 3 AR B B pP B
A
pP A % ApB A 3BpP A
A velocidade de P em relao ao referencial A, expressa em A, ser " P %Ap " B 3Bp "P p A A A
(Eq. 2.78)
Sendo
" P % Bp "P p A A
rot
3 A "B A . B p P A
(Eq. 2.79)
onde
"P p A
rot
" P a sua derivada no referencial fixo (sempre que no haja risco de ao passo que B p A confuso o smbolo :&; rot poder ser omitido). Assim,
rot
3 A "B A . B p P A
(Eq. 2.80)
rot
3 A "B A . A R B B p P B
(Eq. 2.81)
Em geral, a derivada temporal de um vector em relao a um referencial fixo igual derivada do vector em relao ao referencial que est a rodar mais o produto vectorial da velocidade angular do referencial que est a rodar pelo prprio vector:
(Eq. 2.82)
(Eq. 2.83)
rot
42
ou seja,
; :R ;
A
A B
"B B . A R B B p P B
;:
(Eq. 2.84)
Sejam
p i -1 0 e
i -1
0
pi-1
pi
i -1
pi
p i 0 % 0 p i -1 0 3 0 R i -1 i -1 p i i -1
(Eq. 2.85)
ou seja
0
(Eq. 2.86)
43
que representa a velocidade linear do elo i em funo das velocidades linear e angular do elo i-1. Notar que
i -1
=i 0 % 0 =i -1 0 3 0 R i -1 i -1 =i i -1 % 0 =i -1 0 3 i -1 =i 0
(Eq. 2.87)
O que representa a velocidade angular do referencial i, em funo das velocidades angulares dos referenciais i-1 e i em relao ao referencial i-1.
As expresses (Eq. 2.86) e (Eq. 2.87) assumem distintas formas, consoante se trate de juntas prismticas ou rotativas.
Para uma junta prismtica, dado que a orientao do referencial i em relao ao referencial i-1 se mantm constante, tem-se
i -1 i -1
=i 0 % 0 "z vi 0 % d i i -1
(Eq. 2.88)
=i 0 % 0 =i -1 0 " z 3 0 = .i -1 p v i 0 % 0 v i -1 0 3 d i i -1 i0 i0
(Eq. 2.89)
Para uma junta rotativa, devido rotao do referencial i em relao ao referencial i-1 causada pelo movimento da junta i, tem-se
44
i -1 i -1
"z =i 0 % 2 i i -1 v i 0 % i -1 =i 0 .i -1 p i 0
(Eq. 2.90)
"z =i 0 % 0 =i -1 0 3 2 i i -1 v i 0 % 0 v i -1 0 3 0 =i 0 .i -1 p i 0
(Eq. 2.91)
J ) ,J J % * P1 # Pn ' +J O1 J On (
em que JPi e JOi so vectores de dimenso 3.1.
(Eq. 2.92)
"i J Pi representar a contribuio da junta i para a velocidade A expresso q "i J Oi representar a contribuio da mesma linear do rgo terminal, enquanto que q junta para a velocidade angular.
(Eq. 2.93)
"z " i J Pi % d q i i -1 J Pi % z i -1
Se se tratar de uma junta rotativa (qi = 2i) tem-se
(Eq. 2.94)
"z " i J Oi % 2 q i i -1 J Oi % z i -1
(Eq. 2.95)
45
(Eq. 2.96)
Para um manipulador com 6 gdl tem-se , 0 v6 0 ) " (t ) % #J1 (q) J 2 (q) ! J 6 (q)$ q " (t ) *0 '% J (q)q " 6 * ' 0( +
(Eq. 2.97)
onde J(q) uma matriz de dimenso 6.6 cuja coluna de ordem i Ji(q) dada pela equao seguinte
A ,z i -1.i -1 p 6 ) 0 >* ' se a junta i rotativa z i -1 ( + > > J i (q) %@ > ,z ) >* i -1 ' se a junta i prism tica > ?+ 0 (
(Eq. 2.98)
" (t ) % #q "1 (t ) ! q "6 (t )$ um vector que representa a velocidade das juntas, q o vector posio que corresponde quarta coluna das matrizes
i -1
i -1
p6 0
T6 expresso no
referencial da base e zi-1 o vector unitrio definido segundo o eixo da junta i e expresso no referencial da base.
, z .0 p 6 0 J (! ) %* 0 + z0
z1.1 p 6 0 z1
# z 5 .5 p 6 0 ) ' # z5 (
(Eq. 2.99)
Em alguns casos pode ser prefervel exprimir a velocidade generalizada do rgo terminal no referencial ligado ao prprio rgo terminal. Deste modo, o jacobiano cinemtico, n J , dado por
46
, n R0 J %* + 0
0 ) 'J R0 (
(Eq. 2.100)
2.2.2
=i 0
representa as componentes de velocidade angular do referencial i, em relao ao referencial da base, e expressas no referencial da base. As componentes do vector " 6 "%5 " 2 " "
" 6 "%5 " 2 " Por outro lado, enquanto que o integral do vector "
poder
representar a orientao do rgo terminal do manipulador, o integral do vector 0 =i 0 no admite um claro significado fsico.
Considere-se, por exemplo, um corpo rgido do qual se conhece a posio no instante t = 0. Assuma-se que a sua velocidade angular pode ser uma das especificadas abaixo:
0
"i 0 % #7 2 0 0$ , 0 B t B 1;
T
# i 0 % #0 7 2 0$ , 1 B t B 2 (Eq. 2.101)
T
"i 0 % #0 7 2 0$ , 0 B t B 1;
T
# i 0 % #7 2 0 0$ , 1 B t B 2 (Eq. 2.102)
T
47
Figura 2.16 Orientao final de um corpo, obtida por integrao do vector velocidade angular.
Conhecendo as equaes da cinemtica e um vector de coordenadas no espao das juntas, pode determinar-se a correspondente posio e orientao do rgo terminal resolvendo a equao x = f(q)
(Eq. 2.103)
onde x um vector de coordenadas do espao operacional de dimenso m, q um vector de coordenadas do espao das juntas de dimenso n (n = nmero de gdm) e f uma aplicao no linear contnua e diferencivel para todo q pertencente ao espao das juntas, da forma f: RnCRm.
(Eq. 2.104)
48
" " = J Eq x
onde, J E =
(Eq. 2.105)
Notar que JE tambm poder ser obtido a partir de J. De facto, a relao entre a velocidade angular, 0"n , e a primeira derivada temporal dos ngulos de Euler,
0
T " 6 "%5 " 2 " , bem conhecida da cinemtica, sendo (Vukobratovic e !
Kircanski, 1986)
"n
(Eq. 2.106)
em que
,0 - S5 J A %* * 0 C5 * 0 +1
(Eq. 2.107)
, 0 vn Rescrevendo * 0 " * + n
, 0 vn *0 # * + n
e substituindo 0"n " vem por J A!
(Eq. 2.108)
49
, 0 vn *0 " " * + n
(Eq. 2.109)
Refira-se que, quando 2 = 90, devido indeterminao introduzida pela representao de ngulos de Euler, a transformao JA singular ( detFJ A G % 0 ). Isto implica que JE pode ser singular, apesar dessa singularidade no corresponder a nenhuma configurao singular do manipulador. Como ser fcil de compreender, deve sempre adoptar-se um sistema de ngulos de Euler tal que a singularidade por ele introduzida fique fora do espao de trabalho do manipulador.
Matematicamente, um ponto singular corresponde a um vector de coordenadas no espao das juntas que torna nulo o determinante do jacobiano (se J singular JE tambm singular). Fisicamente, numa configurao singular, o manipulador perde um ou mais gdl, no podendo mover-se numa ou vrias direces no espao. Significa tambm que nessa configurao, segundo determinadas direces, o manipulador apresenta-se como infinitamente rgido ao ambiente; uma fora externa completamente absorvida pela estrutura. De notar que todos os pontos na fronteira do espao de trabalho so pontos singulares.
Quando se pretende determinar o vector de coordenadas operacionais (por exemplo, coordenadas cartesianas e ngulos de Euler) que corresponde a um determinado vector no espao das juntas (problema da cinemtica directa), verificase facilmente que as componentes relativas posio podem ser lidas directamente da matriz T do rob manipulador (quarta coluna). As componentes relativas orientao (ngulos de Euler) no so de leitura imediata, uma vez que a orientao vem dada em termos de uma matriz de rotao de dimenso 3.3. No entanto, a partir da matriz de rotao no difcil chegar aos ngulos de Euler, pois bem conhecida a relao entre ambos.
50
Pelo contrrio, o problema da cinemtica de posio inversa, isto , a determinao do vector de coordenadas do espao das juntas que corresponde a um dado vector de coordenadas operacionais, envolve clculos bem mais complexos: !" as equaes a resolver so, em geral, no lineares, pelo que nem sempre possvel uma resoluo analtica; !" podem existir solues mltiplas. Em geral, o nmero de solues aumenta com o nmero de parmetros de D-H no nulos. Para um manipulador com 6 gdl existem no mximo 16 solues; !" pode existir uma infinidade de solues (redundncia, singularidades); !" pode no existir soluo (a posio generalizada especificada est fora do espao de trabalho). Em geral, o problema pode ser abordado de duas formas distintas: !" atravs da utilizao de mtodos analticos; !" atravs da utilizao de mtodos numricos iterativos. Os mtodos analticos permitem a obteno de todas as solues, para um dado vector de coordenadas no espao operacional. Porm, tais mtodos no so gerais, podendo ser aplicados somente a manipuladores simples, com muitos parmetros de D-H nulos (que o caso da maioria dos manipuladores industriais). Dentro dos mtodos analticos podem ser seguidas duas estratgias: as que exploram as relaes geomtricas da estrutura ou as que utilizam as matrizes homogneas que relacionam os referenciais associados aos elos. Em qualquer caso quase sempre necessria alguma dose de intuio para resolver o problema.
Os mtodos numricos iterativos so gerais. Para um dado vector de coordenadas no espao operacional permitem encontrar apenas uma das possveis solues, sendo que podem apresentar srios problemas de convergncia.
51
Est provado que para manipuladores de estrutura em srie com 6 gdl, o problema da cinemtica de posio inversa admite soluo analtica quando: !" os eixos de trs juntas rotativas consecutivas se intersectam num ponto; !" os eixos de trs juntas rotativas consecutivas so paralelos.
2.3.1
No caso particular de manipuladores com 6 gdl e punho esfrico possvel desacoplar o problema em dois: um subproblema de posicionamento e um subproblema de orientao. De facto, a posio do punho apenas depende das coordenadas das trs primeiras juntas, enquanto que as ltimas trs juntas apenas afectam a orientao.
O subproblema de posicionamento consiste na determinao da soluo para as trs primeiras juntas a partir da posio do punho (ponto de interseco dos eixos das trs ltimas juntas).
O subproblema de orientao consiste na determinao da soluo para as trs ltimas juntas a partir da orientao do punho e da soluo do subproblema de posicionamento.
O procedimento o seguinte: !" determinar a posio do punho, dada a posio e a orientao do rgo terminal: 0 p w 0 % p - d 6a % pwx
pw y
p wz
$;
T
!" resolver o problema da cinemtica inversa para o brao; !" calcular a matriz de orientao 0 R 3 :q1 , q2 , q3 ; ;
0 !" calcular a matriz 3 R 6 :q4 , q5 , q6 ;% 0 R T 5 , 2 , 1 ;; 3 :q1 , q 2 , q3 ;& R 6 :
52
!" resolver o problema da cinemtica inversa para o punho. Para a resoluo do problema da cinemtica inversa do brao haver que usar um qualquer mtodo analtico, sendo til a manipulao das matrizes homogneas e/ou a explorao das relaes geomtricas ao nvel do brao (alguns exemplos sero mostrados adiante).
Para a resoluo do problema da cinemtica inversa do punho poder ser seguida uma metodologia em tudo igual apresentada na seco 2.1.4.
2.3.2
Dada a posio e a orientao do rgo terminal do manipulador, matriz T, pode determinar-se de imediato a posio do punho: 0 p w 0 % p - d 6a .
Neste caso, a posio do punho coincide com a origem do referencial 3, sendo que pode ser lida directamente da matriz 0 A 3 (quarta coluna):
0
Assim, vem
, p wx ) ,d 3C1S 2 - S1d 2 ) * ' * ' * pw y ' % *d 3 S1S 2 3 C1d 2 ' * pw ' * ( + z ( + d 3C2 3 d1 '
(Eq. 2.111)
:A;
0 1
-1
vem 53
(Eq. 2.112)
C1 %
S1 %
2t 13 t 2
(Eq. 2.113)
Substituindo nos terceiros elementos da equao (Eq. 2.112) resulta a seguinte equao de segunda ordem
:d
3 p w y t 2 3 2 p wx t 3 d 2 - p w y % 0
2 2 2 - p wx 8 p w 3 pw - d2 x y
(Eq. 2.114)
t%
d 2 3 pw y
(Eq. 2.115)
2 2 2 21 % 2 atan 2 - pwx 8 pw 3 pw - d2 , d 2 3 pw y x y
(Eq. 2.116)
Existem duas solues para a primeira junta, desde que o discriminante da raiz quadrada seja positivo. Claro que se for negativo no existe soluo.
d3S2 - d 3C2
(Eq. 2.117)
(Eq. 2.118)
Elevando ao quadrado e somando as duas primeiras componentes da equao (Eq. 2.112) tem-se (s interessa a soluo d3 > 0)
d3 %
:p
wx
C1 3 pw y S1 , pwz
; 3p
2
2 wz
(Eq. 2.119)
54
Para facilitar a anlise considerem-se os parmetros de D-H d2 = 0 e a3 = 0, relativamente ao manipulador PUMA e d2 = 0, relativamente ao TI ER 6000. Assim, ambos os manipuladores sero idnticos.
Dada a posio e a orientao do rgo terminal do manipulador (matriz T), pode determinar-se de imediato a posio do punho: 0 p w 0 % p - d 6a .
Neste caso, a posio do punho coincide com a origem do referencial 4, pelo que pode ser lida directamente da matriz 0 A 4 (quarta coluna):
0
Assim, vem
, pwx ) ,d 4C1S 23 3 a2C1C2 ) * ' * ' * pw y ' % * d 4 S1S 23 3 a2 S1C2 ' * pw ' * ( + z ( + d 4C23 - a2 S 2 '
(Eq. 2.121)
21 % atan 2 pw y , pwx
(Eq. 2.122)
Elevando ao quadrado e somando os elementos da equao (Eq. 2.121) e usando as relaes trigonomtricas S 23 % S 2C3 3 C2 S3 e C23 % C2C3 - C2C3 vem 55
2 2 2 2 2 pw 3 pw 3 pw % d4 3 a2 3 2 d 4 a 2 C 2 :S 2 C 3 3 C 2 S 3 ; x y z
2d 4 a2 S 2 :C2C3 - S 2 S 3 ;
(Eq. 2.123)
2 2 2 2 2 pw 3 pw 3 pw % d4 3 a2 3 2 d 4 a2 S 3 x y z
(Eq. 2.124)
S3 %
2 2 2 2 2 pw 3 pw 3 pw - d4 - a2 x y z
2 d 4 a2
(Eq. 2.125)
C3 % 8 1 - S32
2 3 % atan 2:S3 , C3 ;
Elevando ao quadrado e somando os dois os primeiros elementos na equao (Eq. 2.121) resulta a equao
d 4 S 23 3 a2C2 %
2 2 pw 3 pw x y
(Eq. 2.128)
Resolvendo o sistema de equaes composto pela equao (Eq. 2.128) e pela equao que resulta da igualdade entre os terceiros elementos da equao (Eq. 2.121) obtmse a soluo para a junta 2:
2 2 A >d 4 S 23 3 a2C2 % pwx 3 pw y @ d 4C23 - a2 S 2 % pwz > ?
(Eq. 2.129)
S2 %
2 2 d 4 C3 p w 3 pw - d 4 S 3 3 a2 p wz x y 2 2 2 pw 3 pw 3 pw x y z
(Eq. 2.130)
C2 %
p w z d 4 C3 3 a 2 3 d 4 S 3
2 2 pw 3 pw x y
2 2 2 pw 3 pw 3 pw x y z
(Eq. 2.131)
2 2 % atan 2:S 2 , C2 ;
(Eq. 2.132)
Como se pode ver existem quatro solues para o brao, as quais correspondem s seguintes configuraes (Figura 2.17):
56
!" brao direita e para cima; !" brao esquerda e para cima; !" brao direita e para baixo; !" brao esquerda e para baixo;
2.3.3
Os mtodos analticos apresentam alguns problemas cuja resoluo requer um estudo cuidadoso: !" como os mtodos analticos fornecem variadas solues, torna-se necessrio escolher a que deve ser usada; !" como a soluo para cada junta resulta, em ltima anlise, do clculo de uma funo atan2(x, y), surge o problema dos ngulos obtidos virem sempre restringidos ao intervalo #-180H, +180H$. Este facto pode levantar problemas, caso o intervalo de variao dos ngulos das juntas no esteja contido nesse intervalo.
57
Depois de calculadas todas as possveis solues, como o intervalo de variao da juntas conhecido, o primeiro passo dever ser eliminar quaisquer solues que no estejam dentro desses intervalos. Podem ento ocorrer trs situaes: !" todas as solues esto dentro dos limites de variao impostos s juntas. A dimenso do problema no reduzida; !" apenas algumas das solues no violam os limites de variao impostos s juntas. A dimenso do problema foi reduzida; !" todas as solues violam os limites de variao impostos s juntas. No existe soluo. Isto significa que se pretende mover o manipulador para um ponto fora do seu espao de trabalho. Se se verificar um dos dois primeiros casos h que encontrar um critrio que uma vez aplicado permita escolher a soluo. 2.3.3.1.1 Funo custo Um procedimento possvel para seleccionar a soluo escolher aquela que minimiza uma determinada funo custo. Por exemplo, escolher a soluo que minimiza o erro quadrtico mdio entre o vector de coordenadas no espao das juntas actual e o vector de coordenadas no espao das juntas candidato a prxima soluo. importante notar que neste caso se tenta fazer com que as trajectrias, no espao das juntas, sejam contnuas no tempo.
Uma outra possibilidade consiste em escolher a soluo que minimiza o erro quadrtico mdio entre o vector de coordenadas no espao das juntas candidato a prxima soluo e o vector de coordenadas no espao das juntas cujas componentes so os pontos mdios dos intervalos de variao impostos s juntas. Neste caso, tenta-se manter as juntas o mais afastado possvel dos seus limites.
58
Minimizao do erro quadrtico mdio entre o ltimo vector calculado e o vector candidato a soluo
Considere-se o vector qact de coordenadas no espao das juntas correspondente situao actual, xact, do rgo terminal. Dado o vector qseg, de coordenadas no espao das juntas, candidato a soluo para o vector xseg, de coordenadas operacionais seguinte, a funo a minimizar A > min @ > ? K > - qi ,seg ) 2 J > I
L c (q
i i %1
i ,act
(Eq. 2.133)
em que, ci > 0 (i = 1,...,6). Estes parmetros formam um conjunto de pesos que pode ser ajustado por simulao de modo a obter a soluo mais adequada. Assim, necessrio calcular o valor da equao (Eq. 2.133) para cada um dos vectores candidatos a soluo e escolher aquele que a minimiza.
Minimizao do erro quadrtico mdio entre vector candidato a soluo e o vector formado pelos pontos mdios dos intervalos de variao das juntas
Dado o vector qmed, que corresponde aos pontos mdios dos intervalos de variao das juntas, e o vector qseg de coordenadas no espao das juntas candidato a soluo para o vector xseg de coordenadas operacionais seguinte, a funo a minimizar A > min @ > ? K > - qi , seg ) 2 J > I
L c (q
i i %1
i , med
(Eq. 2.134)
em que ci > 0 (i = 1,...,6). A soluo escolhida tal como no caso anterior. 2.3.3.1.2 Escolha da funo custo (caso do manipulador TI ER 6000) A escolha da funo custo adequada pode requerer alguma simulao. Assim, considere-se que no instante de tempo t = 0 seg. a posio generalizada do 59
manipulador x0 = (50, 40, 600, 10, 5, 35)T (posio expressa em milmetros e orientao expressa em graus) e que as correspondentes coordenadas das juntas so q0 = (-6.3, -54.8, 24.2, -40.8, 54.2, 46.1)T (em graus). Pretende-se que o rgo terminal do rob descreva um quadrado no plano YZ (plano vertical) demorando 2 seg para percorrer cada lado. Para tal define-se uma trajectria especificando os restantes trs vrtices do quadrado x1, x2 e x3: x1 = (50, 240, 600, 10, 5, 35)T, x2 = (50, 240, 400, 10, 5, 35)T e x3 = (50, 40, 400, 10, 5, 35)T (Figura 2.18).
650
600
550
Eixo Z (mm)
500
450
400
350 0
50
100
150
200
250
Eixo Y (mm)
Na Figura 2.19 podem observar-se as trajectrias geradas por um mtodo analtico, para duas funes custo: a funo custo (1) minimizao do erro quadrtico mdio entre o vector candidato a prxima soluo e o vector soluo anterior, e a funo custo (2) minimizao do erro quadrtico mdio entre o vector candidato a prxima soluo e o vector cujas componentes so os pontos mdios dos intervalos de variao das juntas. Em ambas as funes custo o vector de pesos2 c = (10, 10, 10, 1, 1, 1)T. Notar que a funo custo (2) conduz gerao de trajectrias no espao das juntas descontnuas no tempo (que implicam mudanas de configurao do manipulador). As correspondentes trajectrias no espao operacional so coincidentes (i.e., o manipulador consegue executar a mesma trajectria no espao operacional de vrias formas diferentes (Figura 2.20)).
Entende-se que se deve dar maior peso s juntas do brao uma vez que, tipicamente, estas tm menor capacidade de acelerao que as do punho. Assim, d-se maior importncia s descontinuidades das trajectrias destas juntas.
60
Junta 1 80 60 40
Pos. da junta (graus)
4 Tempo (segundos)
4 Tempo (segundos)
Junta 1
Junta 3 200 100
Junta 2
Junta 4
150
50
100
50
-50
-100
-50
4 Tempo (segundos)
-150
4 Tempo (segundos)
Junta 3
Junta 5 80 60 40 20
Junta 4
Junta 6 100
50
-50
-100
-150 0
4 Tempo (segundos)
Junta 5
Junta 6
Figura 2.19 Trajectrias das juntas geradas por um mtodo analtico com diferentes funes custo. M Funo custo (1); --- Funo custo (2).
61
650
600
550
Eixo Z (mm)
500
450
400
350 0
50
100
150
200
250
Eixo Y (mm)
Figura 2.20 Trajectrias no espao operacional (plano YZ) geradas por um mtodo analtico com diferentes funes custo. M Funo custo (1); --- Funo custo (2).
O facto das solues para as juntas resultarem da aplicao de uma funo atan2(x, y) faz com que os ngulos venham restringidos ao intervalo #-7, 7$. Se os intervalos de variao impostos s juntas no estiverem contidos dentro deste intervalo, impe-se a correco da soluo obtida. Um procedimento possvel consistir na comparao da soluo proposta com a soluo anterior. Caso se verifique uma inverso de sinal, haver que fazer a devida correco soluo.
2.3.4
Seja q um vector definido no espao das juntas e x um vector definido no espao operacional: x % f :q ;; q % f -1 :x ; , sendo f uma funo no linear.
Considere-se dq (ou Nq) um vector de incrementos infinitesimais (ou muito pequenos) em q e dx (ou Nx) um vector de incrementos infinitesimais (ou muito pequenos) em x. 62
(Nx = JE Nq)
(Eq. 2.135)
(Eq. 2.136)
+ -
Nx
1 JE :q ;
Nq
Q
f :q ;
A rapidez de convergncia do algoritmo depende fortemente da aproximao inicial q0. No seguimento de uma trajectria deve-se usar a soluo encontrada no instante T para aproximao inicial soluo procurada para o instante T + NT.
63
Considere-se que se dispe de um mtodo eficaz de gerar uma trajectria no espao operacional, isto , de gerar pontos xi muito prximos pelos quais o rgo terminal do manipulador deve passar. Para o manipulador TI ER 6000 o Algoritmo 2.3 revela-se adequado no seguimento de uma trajectria. Note-se que a soluo para cada ponto xi calculada numa nica passagem, i.e., sem a necessidade de iterar.
Algoritmo 2.3 !" P0. Fazer i = 0. !" P1. Ler a situao inicial (vector qi). Ler os sensores de posio das juntas. Este passo s necessita de ser executado uma vez. !" P2. Executar os passos P3 a P8 at Nx = 0. !" P3. Calcular o vector xi que corresponde ao vector qi. Este passo executado de um modo simples, pois corresponde resoluo do problema da cinemtica directa. !" P4. Calcular xi+1. O clculo de xi+1 efectuado por um mtodo de gerao de trajectrias. !" P5. Calcular Nx. Fazer Nx = xi+1 - xi.
1 !" P6. Calcular Nq. Fazer Nq % J E Nx .
!" P7 Calcular qi+1. Fazer qi+1 = qi + Nq. !" P8. Fazer i = i+1.
Segundo Coiffet (1982), desde que se verifique que os trs ltimos eixos do rob manipulador se intersectam no mesmo ponto, possvel separar o problema global (que implica a manipulao de matrizes de dimenso 6.6) em dois
64
subproblemas independentes: um de posicionamento e outro de orientao (que requerem apenas a manipulao de matrizes de dimenso 3.3).
Considere-se que o vector de coordenadas do espao operacional x (de dimenso 6.1) e o vector de coordenadas no espao das juntas q (de dimenso 6.1) podem ser representados da seguinte forma:
,x ) x % * p '; + xo (
,q ) q % * 1' +q 2 (
(Eq. 2.137)
em que xp (dimenso 3.1) representa a posio do rgo terminal em coordenadas cartesianas e xo (dimenso 3.1) representa a orientao em termos de ngulos de Euler. Por outro lado, q1 e q2 so vectores (de dimenso 3.1) que representam as posies angulares, respectivamente, das trs primeiras e das trs ltimas juntas.
Considere-se ainda o jacobiano, J int , relacionando a velocidade linear e as derivadas dos ngulos de Euler do punho (ponto de interseco dos eixos das trs ltimas juntas), com as velocidades das juntas. Verifica-se que este pode ser obtido a partir de JE fazendo o parmetro d6 = 0, podendo ser representado na forma
,J J int %* 11 +J 21
J12 ) 0' (
(Eq. 2.138)
onde J11, J12 e J21 so matrizes de dimenso 3.3 e 0 representa a matriz nula de dimenso 3.3.
O vector x int que representa a posio do ponto de interseco dos trs p ltimos eixos em relao ao referencial da base pode ser calculado pela equao
x int p % x p - d 6a
(Eq. 2.139)
65
Algoritmo 2.4 !" P0. Fazer i = 0. !" P1. Ler a situao inicial (vector qi). Ler os sensores de posio das juntas. !" P2. Executar os passos P3 a P10, at Nx = 0. !" P3. Calcular o vector xi que corresponde ao vector qi. Este passo corresponde resoluo do problema da cinemtica directa. !" P4. Determinar x int que corresponde a xi. Fazer x int i i , p % x i , p - d 6a
:x
int i ,o
% xint i ,o .
!" P5. Calcular xi+1. O clculo de xi+1 efectuado por um mtodo de gerao de trajectrias.
int !" P6. Determinar x int i 31 que corresponde a xi+1. Fazer x i 31, p % x i 31, p - d 6 a
:x
int i 31,o
% xint i 31,o .
int !" P7. Calcular Nx int . Fazer Nx int % x int i 31 - x i . 1 int -1 int -1 int !" P8. Calcular Nq . Fazer Nq1 % J 21 Nx o e Nq 2 % J 12 Nx p - J 11J 21 Nx o
!" P9 Calcular qi+1. Fazer qi+1 = qi + Nq. !" P10. Fazer i = i+1.
2.3.5
Podem ser notadas algumas dificuldades inerentes aos mtodos numricos, a saber: !" conduzem a uma soluo aproximada (embora, teoricamente, possa ser muito boa se forem adoptados incrementos Nx suficientemente 66
pequenos, i. e., se for seleccionando um intervalo de amostragem apropriado). Como se ver atravs de resultados obtidos por simulao, o erro resultante da linearizao pode ser desprezado se se trabalhar a frequncias de amostragem tpicas entre os 60 Hz e os 100 Hz; !" pequenos incrementos Nx no vector de coordenadas no espao operacional no garantem, partida, incrementos Nq pequenos no vector de coordenadas no espao das juntas, principalmente prximo de pontos singulares. No entanto, existem tcnicas que podem ser usadas para minimizar este problema (Nakamura e Hanafusa, 1986).
2.3.6
O mtodo analtico pode conduzir a trajectrias descontnuas no tempo e como tal as suas duas primeiras derivadas temporais so infinitas. Fisicamente, significa que para serem executadas so requeridas s juntas velocidades e aceleraes infinitas. Por outro lado, a frequncia de amostragem afecta, ao contrrio do que acontece no mtodo analtico, a evoluo temporal das trajectrias geradas pelo mtodo numrico iterativo (Figura 2.22 e Figura 2.23, para a trajectria definida anteriormente).
Junta 1 70 60
Junta 2 0
-10
50
40 30 20 10
-20
-30
-40
-50
0 -10
4 Tempo (segundos)
-60
4 Tempo (segundos)
Junta 1
Junta 2
67
Junta 3 60 50 40
-60 -20
Junta 4
-40
-80
-100
-120
-140
-160
4 Tempo (segundos)
Junta 3
Junta 5 75 70 65 60
Pos. da junta (graus)
Junta 4
Junta 6 100 90 80
55 50 45 40 35 30 25 0 1 2 3 4 Tempo (segundos) 5 6 7 8
70 60 50 40 30 20 10
4 Tempo (segundos)
Junta 5
Junta 6
Figura 2.22 Trajectrias das juntas geradas por um mtodo numrico iterativo para diferentes frequncias de amostragem. M Frequncia de amostragem de 100 Hz; --- Frequncia de amostragem de 10 Hz.
600
550
Eixo Z (mm)
500
450
400
350 0
50
100
150
200
250
Eixo Y (mm)
Figura 2.23 Trajectrias no espao operacional (plano YZ) geradas por um mtodo numrico iterativo para diferentes frequncias de amostragem. M Frequncia de amostragem de 100 Hz; --- Frequncia de amostragem de 10 Hz. 68
No controlo de manipuladores muitas vezes necessrio calcular em temporeal a soluo do problema da cinemtica inversa. Assim, o peso computacional pode ser um importante critrio de comparao dos algoritmos apresentados.
Neste aspecto, para o manipulador TI ER 6000 e para uma frequncia de 100Hz, o mtodo numrico revela-se cerca de 4.5 vezes mais rpido que o mtodo analtico.
A cinemtica diferencial inversa pode resumir-se determinao do jacobiano cinemtico inverso, J -1 . Para manipuladores com 6 gdl, o clculo analtico de tal matriz revela-se muitas vezes proibitivo face ao seu elevado peso computacional. Em alternativa, a inverso numrica de J pode ser efectuada com um algoritmo clssico de inverso de matrizes. No entanto, as inversas generalizadas garantem uma superior robustez face ao eventual mau condicionamento da matriz a inverter. Uma inversa generalizada de J qualquer matriz G que satisfaa a relao J&G&J = J. Apesar de existir uma infinidade de inversas generalizadas (Coiffet, 1981), a pseudoinversa e o algoritmo de clculo de Greville (Coiffet, 1981) revelam-se particularmente interessantes. Se a matriz J for no-singular, a inversa, J -1 , e a pseudo-inversa, J 3 , so iguais. Se J for singular, a pseudo-inversa d origem ao vector soluo de menor norma euclidiana. O algoritmo de Greville permite calcular
69
MODELAO DINMICA
O modelo dinmico de um sistema mecnico permite relacionar a evoluo
temporal da sua configurao (nomeadamente, a posio, a velocidade e a acelerao) com as foras e momentos que nele actuam.
A modelao dinmica de manipuladores de estrutura em srie actualmente um assunto bem estabelecido. Como tal, nos ltimos anos, a principal preocupao tem sido tornar os modelos computacionalmente mais eficientes, sobretudo na perspectiva da sua incluso em algoritmos de controlo de tempo-real.
O modelo dinmico de um manipulador srie operando em espao livre pode ser representado matematicamente por um sistema de equaes diferenciais no lineares que, na forma matricial, pode ser dado por
(Eq. 3.1)
A necessidade de melhor conhecer o comportamento dinmico de um manipulador aumenta com a complexidade e com as exigncias das tarefas a robotizar. O modelo dinmico assume uma importncia capital na simulao e no controlo do sistema: !" para controlo necessrio conhecer as foras de comando a aplicar pelos actuadores, <, para que o rgo terminal cumpra a trajectria 70
", pretendida (so conhecidas a posio e a velocidade correntes, q e q "" ): dinmica inversa (Figura sendo especificada a acelerao desejada, q
3.1); !" para simulao importante saber como vai reagir o mecanismo quando sujeito a uma determinada fora de comando, ou seja, interessa saber a variao da posio, da velocidade e da acelerao do rgo terminal, em funo do vector de foras aplicadas pelos actuadores (so
" , especificada a conhecidas a posio e a velocidade correntes, q e q
fora de controlo, <, e a actualizao da velocidade e da posio obtida por integrao da acelerao): dinmica directa (Figura 3.2).
"" q
I :q ;
+ +
q
Manipulador
" q
+
"; V :q, q
+
G :q ;
71
<
+ + +
-1
:q ;
"" q
" q
"; V :q, q
G :q ;
Tipicamente, a modelao dinmica de manipuladores srie baseia-se ou no mtodo de Newton-Euler ou no mtodo de Lagrange. O mtodo de Newton-Euler descreve o comportamento de um sistema mecnico atravs das foras e momentos aplicados nos corpos que o constituem. A dinmica de um corpo rgido representada por duas equaes: a equao de Newton, que descreve a translao do centro de massa do corpo, e a equao de Euler, que descreve a rotao do corpo em relao ao seu centro de massa.
O mtodo de Lagrange descreve a dinmica de um sistema mecnico a partir dos conceitos de trabalho e energia. Mais precisamente, a equao de Lagrange funo de uma quantidade escalar - o lagrangeano - (diferena entre as energias cintica e potencial), determinado em funo de um qualquer conjunto de coordenadas generalizadas. O mtodo de Lagrange permite obter de forma sistemtica as equaes de movimento de qualquer sistema mecnico.
Nesta seco apresenta-se o mtodo de Newton-Euler para a modelao dinmica de manipuladores de estrutura em srie. 72
Como sabido, um corpo rgido em espao livre possui 6 gdl, pelo que o seu movimento pode ser descrito por um conjunto de 6 equaes diferenciais independentes. Tais equaes podem ser obtidas da equao de Newton, que descreve a translao do centro de massa do corpo, e da equao de Euler, que descreve a rotao do corpo em relao ao seu centro de massa.
Considere-se a Figura 3.3, onde Gi o centro de massa do elo i. Fixos em relao ao elo existem dois referenciais: o referencial i, estabelecido de acordo com o algoritmo de D-H; e o referencial Gi com origem no centro de massa Gi. A orientao de Gi em relao a i dada pela matriz de rotao i R Gi (constante).
Gi
pGi
i
0
pGi
pi
Seja mi a massa e
Gi
Ii
Qualquer matriz de inrcia simtrica, pelo que pode escrever-se ,I xx * % * I xy *I + xz I xy I I yz ) I xz ' I yz ' I zz ' (
Gi
Ii
Gi
yy
(Eq. 3.2)
73
onde o smbolo ^ significa que os momentos e os produtos de inrcia esto referidos ao centro de massa do elo.
Sabe-se, da mecnica clssica, que a matriz de inrcia de um corpo constante quando expressa num referencial fixo em relao ao prprio corpo. Alm disso, se o referencial tiver origem no centro de massa e se as direces dos eixos do referencial coincidirem com as direces principais de inrcia, ento os produtos de inrcia so todos nulos e a matriz diagonal (Torby, 1984).
A matriz de inrcia do elo i em relao a um referencial A (fixo ao elo) paralelo a Gi, com origem num ponto, A, do elo, que no o seu centro de massa, pode ser calculada da seguinte forma:
, I xx * % * I xy * I xz + I xz ) ' I yz ' I zz ' (
I xy I yy I yz
Ii A % Ii
A
(Eq. 3.3)
Gi
em que 3 m y2 3 z2 I xx % I xx i Gi Gi 3 m x2 3 z 2 I yy % I yy i Gi Gi 3 m x2 3 y 2 I zz % I zz i Gi Gi -m x y I xy % I xy i Gi Gi -m x z I xz % I xz i Gi Gi -m y z I yz % I yz i Gi Gi
; ; ;
(Eq. 3.4) (Eq. 3.5) (Eq. 3.6) (Eq. 3.7) (Eq. 3.8) (Eq. 3.9)
74
Seja
=Gi 0 % 0 =i 0 a
velocidade angular do elo, ambas em relao ao referencial da base e expressas no referencial da base.
O momento linear do corpo expresso no referencial da base Q i 0 , e o momento angular do corpo em relao ao seu centro de massa, expresso no referencial da base,
Gi
H i 0 . Assim, "G Q i 0 % mi 0 p i 0
Gi
Em que
Gi
expressa no referencial da base (i.e., num referencial paralelo ao da base). Note-se que
Gi
Usando a matriz de rotao, 0 R i , que representa a orientao do referencial i em relao ao referencial da base, pode escrever-se Qi 0 %0 R iQi i
Gi
H i 0 % 0 R i Gi H i i
e, ainda
0
R i Gi H i i % Gi I i 0 0 R i &0 =i i H i i % i R 0 Gi I i 0 0 R i &0 =i i
Gi
O vector
Gi
Da equao (Eq. 3.15), a matriz de inrcia do elo i em relao ao seu centro de massa, expressa no referencial i ser I i i % i R 0 Gi I i 0 0 R i
Gi
Gi
Gi
I i 0 % 0 R i Gi I i i i R 0
(Eq. 3.17)
Note-se que, pela mesma ordem de ideias, podem ser obtidas as seguintes relaes: I i % Gi R i Gi I i i i R Gi
Gi
Gi
Gi
I i i % i R Gi Gi I i
Gi
Gi
Ri
Gi
Ii
eixos de Gi coincidentes com os eixos principais de inrcia do elo. Para formas geomtricas simples (regulares) os momentos de inrcia so bem conhecidos e esto tabelados.
Pela segunda lei de Newton, a fora total aplicada no centro de massa do elo, expressa no referencial da base ser (Yoshikawa, 1990)
FGi 0 % FGi 0 %
d Q dt i 0
: ; ;
(Eq. 3.20)
d " G % mi 0 p ""G mi 0 p i 0 i 0 dt
(Eq. 3.21)
O momento total aplicado no elo, em relao ao seu centro de massa, expresso no referencial da base ser
76
N Gi 0 % N Gi 0 % d dt
d dt
Gi
Hi 0
; ;
(Eq. 3.22)
Gi
I i 0 &0 =i 0
(Eq. 3.23)
O momento angular do elo i um vector definido em relao a um referencial fixo ao corpo, com origem em Gi. Assim, tem-se
" % H i0 " % H ii " H i0 " H ii 3 0 =i 0 .Gi H i 0 3 0 =i i .Gi H i i
Gi
Gi
(Eq. 3.24)
rot
Gi
Gi
(Eq. 3.25)
rot
Gi
" % Gi I 0 = " i 3 0 =i . H ii ii i i
Gi
I i i 0 =i i
; : ;; ;;; :
(Eq. 3.26) (Eq. 3.27) (Eq. 3.28) (Eq. 3.29) (Eq. 3.30)
" % Gi I i R 0 = " i 3 i R 0 0 =i . R 0 Gi H 0 i0 ii 0 0
; :
;:
Gi
I i i i R 0 0 =i 0
Gi
Gi
" % 0 R Gi I i R 0 = " i 30 R i H i 0 i0 ii 0
Gi
:: R
i
0 0
=i 0 .
;:
I i i i R 0 0 =i 0
" % 0 R Gi I i R 0 = " i 3 0 =i . 0 R i Gi I i i R 0 0 =i H i 0 i0 ii 0 0 i 0
Gi
" % Gi I 0 = " i 3 0 =i . H i 0 i 0 0 0
Gi
I i 0 0 =i 0
em que
Gi
" H i0
N Gi 0 %
d dt
Gi
" i 3 0 =i . I i 0 &0 =i 0 % Gi I i 0 0 = 0 0
Gi
I i 0 0 =i 0
(Eq. 3.31)
Note-se que a equao (Eq. 3.31) pode ser obtida derivando directamente a equao (Eq. 3.23). Assim,
d dt
Gi
I i 0 &0 =i 0 %
d 0 Gi i "i R i I i i R 0 0 =i 0 3 Gi I i 0 0 = 0 dt
(Eq. 3.32)
77
A primeira parcela do segundo membro da equao anterior pode ser desenvolvida da seguinte forma:
" Gi I i R 0 = 3 0 R Gi I i R " 0= %0 R i i 0 0 ii i0 ii i0
Dado que (Yoshikawa, 1990)
" P p % B R B = . P p % B R B = .B R P p R P P P P P P P P P P P
B
=P B .P p B
(Eq. 3.34)
vem
d 0 Gi i R i I i i R 0 0 =i 0 % 0 R i 0 =i i . Gi I i i i R 0 0 =i 0 3 dt 0 R i Gi I i i i R 0 0 =i 0 .0 =i 0 % 0 =i 0 .
: :
Gi
I i 0 0 =i 0
;;
(Eq. 3.35)
ACELERAO
DE
UM
ELO
DA
A velocidade linear de um elo da estrutura do manipulador pode ser determinada de acordo com a seguinte equao
0
(Eq. 3.36)
que representa a velocidade linear do elo i (origem do referencial i) em relao ao referencial da base (expressa no referencial da base), em funo das velocidades
78
i -1
" i representa a v i 0 % i -1 p 0
=i 0 % 0 =i -1 0 3 0 R i -1 i -1 =i i -1 % 0 =i -1 0 3 i -1 =i 0
(Eq. 3.37)
que representa a velocidade angular do referencial i em relao base (expressa no referencial da base), em funo da velocidade angular do referencial i-1 em relao base (expressa na base) e da velocidade do referencial i em relao ao referencial i-1.
Se a junta i for prismtica, dado que a orientao do referencial i em relao ao referencial i-1 se mantm constante, tem-se
i -1 i -1
=i 0 % 0 "z vi 0 % d i i -1
(Eq. 3.38)
=i 0 % 0 =i -1 0 " z 3 0 = .i -1 p v i 0 % 0 v i -1 0 3 d i i -1 i0 i0
(Eq. 3.39)
Se a junta i for rotativa, devido rotao do referencial i em relao ao referencial i-1, causada pelo movimento da junta, tem-se (v = = . r)
i -1 i -1
"z =i 0 % 2 i i -1 v i 0 % i -1 =i 0 .i -1 p i 0
(Eq. 3.40)
79
"z =i 0 % 0 =i -1 0 3 2 i i -1 v i 0 % 0 v i -1 0 3 0 =i 0 .i -1 p i 0
(Eq. 3.41)
" i -1 0 . 0 R i -1 i -1 p i i -1 3 0 =i -1 0 . 0 =i -1 0 . 0 R i -1 i -1 p i i -1 =
;$
(Eq. 3.42)
(Eq. 3.43)
As expresses (Eq. 3.42) e (Eq. 3.43) assumem distintas formas, consoante se trate de juntas prismticas ou rotativas.
Se a junta i for prismtica a orientao do referencial i em relao ao referencial i-1 constante, logo a velocidade e a acelerao angulares so nulas,
i -1
referencial i-1 apenas tem componente no nula segundo o eixo zi-1, sendo
i -1
" i -1 .i -1 p i 3 0 =i -1 . 0 =i -1 .i -1 p i = 0 0 0 0 0
(Eq. 3.44)
" i %0 = " i -1 = 0 0
onde zi-1 o vector unitrio segundo o eixo da junta i ( um vector expresso no referencial da base).
Se a junta i for rotativa a velocidade (acelerao) angular do referencial i em relao ao referencial i-1 apenas tem componente no nula segundo o eixo zi-1 (Eq. "" z ). Assim, a acelerao angular vem " i %2 3.40) ( i -1 = i i -1 0
80
(Eq. 3.45)
Derivando a equao (Eq. 3.40), a acelerao linear do referencial i em relao ao referencial i-1
i -1
""i % i -1 = " i .i -1 p i 3 i -1 =i . p 0 0 0 0
i -1
=i 0 .i -1 p i 0
(Eq. 3.46)
Substituindo a equao (Eq. 3.46) na equao (Eq. 3.42), a velocidade linear do referencial i em relao base ser
0
=i -1 0 . 0 =i -1 0 .i -1 p i 0
"" i -1 3 i -1 = " i .i -1 p i 3 i -1 =i . %0 p 0 0 0 0 2 0 =i -1 0 .
0
i -1
" i -1 .i -1 p i 3 0 =i -1 . 0 =i -1 .i -1 p i =i 0 .i -1 p i 0 3 0 = 0 0 0 0 0
i -1
=i 0 .i -1 p i 0 3
(Eq. 3.47)
i -1
=i 0 3 20 =i -1 0 .
;:
i -1
=i 0 .i -1 p i 0 3 0 =i -1 0 . 0 =i -1 0 .i -1 p i 0
; (Eq. 3.48)
(Eq. 3.49)
:=
0
i0
3 0 =i -1 0 .
;:
i -1
=i 0 .i -1 p i 0 3 0 =i -1 0 . 0 =i -1 0 .i -1 p i 0
=i 0 .
0
i -1
=i 0 .i -1 p i 0 3 0 =i -1 0 .
i -1
=i 0 .i -1 p i 0 3 0 =i -1 0 . 0 =i -1 0 .i -1 p i 0
=i 0 .
0
i -1
=i 0 .i -1 p i 0 3 0 =i -1 0 .
:: ;
i -1
=i 0 .i -1 p i 0 3 0 =i -1 0 .i -1 p i 0
; :
=i 0 .
i -1
=i 0 .i -1 p i 0 3 0 =i -1 0 . 0 =i 0 .i -1 p i 0
; ;
=i 0 .
i -1
=i 0 .i -1 p i 0 3 0 =i 0 - i -1 =i 0 . 0 =i 0 .i -1 p i 0
; :
;:
(Eq. 3.53)
81
=i 0 .
i -1
=i 0 .i -1 p i 0 3 0 =i 0 . 0 =i 0 .i -1 p i 0 - i -1 =i 0 . 0 =i 0 .i -1 p i 0
(Eq. 3.54)
(Eq. 3.55)
=i 0 . 0 =i 0 .i -1 p i 0 3 i -1 =i 0 0 =i 0 &i -1 p i 0 p i 0 0 =i 0 &i -1 =i 0 - 0 =i 0 pi 0
i -1
: :
=i 0 &0 =i 0
; ;
i -1
=i 0 &i -1 p i 0 3
(Eq. 3.56)
=i 0 . 0 =i 0 .i -1 p i 0 3 0 =i 0 .i -1 =i 0 .i -1 p i 0
; :
(Eq. 3.57)
=i 0 . 0 =i 0 .i -1 p i 0 3
; ::
i -1
=i 0 3 i -1 =i 0 .i -1 =i 0 .i -1 p i 0
(Eq. 3.58)
(Eq. 3.59)
3.2.1
:x
Gi
82
!"
FGi 0 fora total aplicada no centro de massa do elo i; N Gi 0 momento total aplicado no centro de massa do elo i; f i 0 fora aplicada no elo i (origem do referencial i-1) pelo elo i-1; n i 0 momento aplicado no elo i (origem do referencial i-1) pelo elo
i-1;
A acelerao linear do centro de massa do elo i necessria para mais tarde, pelo que poder ser determinada desde j.
" G , e a acelerao, 0 p "" G , Da Figura 3.4, a posio, 0 p Gi 0 , a velocidade, 0 p i 0 i 0 do centro de massa do elo i em relao ao referencial da base so, respectivamente,
0
p Gi 0 % 0 p i 0 3 0 R i i p Gi i
(Eq. 3.60)
" G %0 p " i 3 0 =i . 0 R i i p G p i 0 0 0 i i
(Eq. 3.61)
: ;
;;
(Eq. 3.62)
Note-se que o referencial Gi est fixo relativamente ao referencial i, ambos fixos ao elo i. As velocidades angulares dos referenciais Gi e i em relao base so iguais:
0
=Gi 0 % 0 =i 0
(Eq. 3.63)
83
Gi
i
pGi
pi-1
0
0
i -1
pGi
pi
i -1
pi
Os vectores de fora e de momento totais aplicados no centro de massa elo i sero, respectivamente,
FGi 0 % N Gi 0 % d dt
d " G % mi 0 p "" G mi 0 p i 0 i 0 dt
(Eq. 3.64)
Gi
Gi
I i 0 0"i 0
(Eq. 3.65)
Considere-se que f i 0 a fora e n i 0 o momento exercidos pelo elo i-1 no elo i, na origem do referencial i-1.
Assim sendo,
FGi 0 % fi 0 - fi 31 0
N Gi 0 % n i 0 - n i 31 0 3 0 p i -1 0 - 0 p Gi 0 . fi 0 - 0 p i 0 - 0 p Gi 0 . fi 31 0 % n i 0 - n i 31 0
0 i -1 0
(Eq. 3.66)
: 3: p
- 0 p Gi 0
; : ;. F Gi 0
i -1
p i 0 . f i 31 0
(Eq. 3.67)
Note-se que f i 31 0 a fora exercida pelo elo i no elo i+1, na origem do referencial i, ou seja, a fora que o elo i+1 exerce no elo i simtrica da anterior. 84
Usando a relao
0
p Gi 0 - 0 p i -1 0 % i -1 p i 0 3 i p Gi 0
(Eq. 3.68)
i -1
p i 0 3 i p Gi 0 . FGi 0 3 N Gi 0
Estas equaes so recursivas, podendo ser usadas para determinar as foras e os momentos, f i 0 e n i 0 , nos elos do manipulador (i = 1, 2, n).
de notar que para um manipulador com n elos, f n 31 0 e n n31 0 , so, respectivamente, a fora e o momento aplicados pelo rgo terminal do manipulador no ambiente. Por outro lado, se a base do manipulador (elo 0) estiver fixa, ento
0
gy
gz .
Para uma junta rotativa o binrio aplicado na junta ser a projeco do vector
n i 0 em zi-1 (possivelmente haver que somar ainda o binrio de atrito na junta). Para
uma junta prismtica a fora aplicada na junta ser a projeco do vector f i 0 em zi-1 (possivelmente tambm haver que somar a fora de atrito na junta) (Figura 3.5).
85
(Eq. 3.71)
O mtodo de Newton-Euler recursivo. As velocidades e as aceleraes dos elos so calculadas comeando no elo da base, em direco ao rgo terminal (propagao para a frente forward equations). Depois de calculadas todas as velocidades e aceleraes, as foras e os momentos aplicados so calculados comeando no rgo terminal, caminhando em direco base (propagao para trs - backward equations).
Algoritmo 3.1 (Newton-Euler recursivo) I - Propagao de velocidades e de aceleraes (forward equations) !" !" D1. Para i = 1, 2, , n repetir os passos D2 a D5.
0
D2. =i 0 %
0
!"
"i % D3. = 0
0
86
se junta R
!"
"" i % D4. 0 p 0
" i .i -1 p i 3 0 =i . 0 =i .i -1 p i , = 0 0 0 0 0
se junta P
!"
II - Propagao de foras e momentos (backward equations) !" !" !" !" !" D6. Para i = n, n-1, , 1 repetir os passos D7 a D11. "" G D7. FGi 0 % mi 0 p i 0 " 30" . D8. N Gi 0 % Gi I i 0 0" i0 i0 D9. fi 0 % FGi 0 3 f i 31 0 D10. n i 0 % n i 31 0 3 i -1p i 0 . f i 31 0 3
Gi
I i 0 0"i 0
; ;
i -1
p i 0 3 i p Gi 0 . FGi 0 3 N Gi 0
!"
3.2.2
Se todos os vectores e parmetros associados ao elo i estiverem expressos no referencial i, o peso computacional envolvido na determinao do modelo dinmico de um manipulador srie com n gdl baixa consideravelmente, sendo que o tempo de clculo passa a ser proporcional a n.
Algoritmo 3.2 (Newton-Euler recursivo nos referenciais dos prprios elos) I - Propagao de velocidades e de aceleraes (forward equations) !" D1. Para i = 1, 2, , n repetir os passos D2 a D5. 87
!"
i 0
D2.
i
R 0 =i 0 %
R i -1 R i -1
: :
: :
i -1 i -1
"z , R 0 0 =i -1 0 3 2 i 0 R 0 0 =i -1 0 ,
se junta R, z 0 % #0 0 1$ se junta P
!"
i 0
D3.
i
"i % R0 = 0
R i -1 R i -1
i -1 i -1
i -1
"z , R 0 0 =i -1 0 . 2 i 0
se junta R se junta P
!"
D4.
:R :: R
i i
0 0
" i 0 . i R 0 i -1 p i 0 3 i R 0 0 =i 0 . = =i 0
i i -1 0
;: ;. : R ;: ;. :: R
i
pi 0
; : ; ;;3 R : R
i i -1 i -1
""i -1 , p 0
se junta R
""i % R0 0p 0
:R
i
; :
;
;: ;;
=i 0
0 0
=i 0 . i R 0 i -1 p i 0 ,
;:
se junta P
!"
D5.
:R
i
0 0
=i 0
: ;. :: R
i
0 0
;: = ;. : R
i i0
i 0
p Gi 0
;;
II - Propagao de foras e momentos (backward equations) !" !" D6. Para i = n, n-1, , 1 repetir os passos D7 a D11. ""G D7. i R 0FGi 0 % mi i R 0 0 p i 0
i
!"
D8.
R 0 N Gi 0 % i R 0 Gi I i 0 0 R i
:R
i
0 0
# i 0 . i R 0 Gi I i 0 0 R i
R 0fi 31 0 3 i R 0FGi 0
; ::
;: R
i
0 0
" 3 # i0
;: R
0
0 i
#i 0
;;
!"
D9. i R 0fi 0 % i R i 31
i
i 31
!"
D10.
R 0n i 0 % i R i 31
:R
i
i 31
R 0n i 31 0 3
i i
i 31
i -1 0
p i 0 3 R 0 p Gi 0
; : R f ;;3 ;. : R F ;3 R N
R 0 i -1 p i 0 .
i 0 Gi 0 i 31 i 0 i 31 0 Gi 0 0
88
!"
: :
; & : R z ;, ; & : R z ;,
T i i -1 0 T i i -1 0
se junta R se junta P
3.2.3
Considere-se o manipulador cartesiano da Figura 3.6. Os elos tm massas m1, m2 e m3, sendo l1, l2 e l3 as distncias medidas desde as origens dos referenciais 1 2 e 3 aos centros de massa dos elos.
x1 x0 z0 y0 y1 z1
x2
z2 x3
y2
y3 z3
2i
0 -90 0
/i
-90 90 0
ai 0 -a2 0
di d1 d2 d3
89
Dado que todas as juntas so prismticas, todas as velocidades e aceleraes angulares sero nulas.
"" 0 % g % #- g 0 0$ ). da gravidade ( 0 p
T 0
p1 0
,0) ' %* *0' * +d1 ' ( ,0) ' %* *l1 ' * +0' (
p2 0
p3 0
(Eq. 3.72)
p G1 0
p G2 0
p G3 0
(Eq. 3.73)
""1 p 0
, 0 ) ,- g ) , - g ) 0 " " "" 0 % * 0 ' 3 * 0 ' % * 0 ' % z 0 d1 3 p 0 * ' * ' * ' "" "" * +d1 ' ( * + 0 ' ( * + d1 ' ( , 0 ) , - g ) ,- g ) 0 " " "" ' * ' * "" ' ""1 % *d % z 1d 2 3 p 0 * 2 ' 3 * 0 ' % * d2 ' "" "" * +0' ( * + d1 ' ( * + d1 ' (
"" ) ,- g ) ,- d "" - g ) ,- d 3 3 * ' * "" ' * "" ' % * 0 ' 3 * d2 ' % * d2 ' "" "" ' * 0 ' * ( * + ( + d1 ' + d1 ( "" G % p ""1 p 1 0 0 "" G % p "" 2 p 2 0 0
0 0
(Eq. 3.74)
"" 2 p 0
(Eq. 3.75)
(Eq. 3.76)
"" G % p "" 3 p 3 0 0
(Eq. 3.79)
"" G3 0 FG3 0 % m3 p
(Eq. 3.80)
"" G FG2 0 % m2 p 2 0
(Eq. 3.81)
""G FG1 0 % m1 p 1 0
(Eq. 3.82)
N G3 0 % N G2 0 % N G1 0 % 0
"" - g ) ,- d 3 * "" ' % m3 * d 2 ' "" ' * d 1 + (
(Eq. 3.83)
f3 0 % FG3 0
(Eq. 3.84)
f 2 0 % FG2 0 3 f3 0
"" - g ) ,- d ,- g ) 3 * "" ' * ' " " % m2 * d 2 ' 3 m3 * d 2 ' "" "" ' * d * 1 + d1 ' ( + (
(Eq. 3.85)
f1 0 % FG1 0 3 f 2 0
"" - g ) ,- d ,- g ) ,- g ) 3 * "" ' * ' * ' " " % m1 * 0 ' 3 m2 * d 2 ' 3 m3 * d 2 ' "" "" "" ' * d * * 1 + d1 ' ( + d1 ' ( + (
A,- d 3 ) ,l3 ) K > ' * '> % @* * 0 ' 3 * 0 ' J . FG3 0 >* 0 ' * 0 ' > ( + (I ?+
(Eq. 3.86)
n3 0
(Eq. 3.87)
91
n 2 0 % n3 0
A, 0 ) , 0 ) K , 0 ) > * ' ' * '> 3 * d 2 ' . f 3 0 3 @* * d 2 ' 3 * 0 ' J . FG2 0 >*- a ' *l ' > * + - a2 ' ( ?+ 2 ( + 2 ( I A, 0 ) , 0 ) K ,0) > ' * '> * ' 3 * 0 ' . f 2 0 3 @* * 0 ' 3 *l1 ' J . FG1 0 > > * +d1 ' ( + d1 ' ( * +0' (I ?*
(Eq. 3.88)
n1 0 % n 2 0
(Eq. 3.89)
Os momentos so todos absorvidos pela estrutura, pelo que tm interesse apenas do ponto de vista do dimensionamento (projecto estrutural) dessa mesma estrutura. Assim, as foras nas juntas so
(Eq. 3.90)
,0 ) ' "" < 2 % f 2T 0 & z1 % f 2T 0 & * *1' % :m2 3 m3 ;d 2 * +0 ' ( ,0 ) ' "" < 1 % f1T0 & z 0 % f1T0 & * *0' % :m1 3 m2 3 m3 ;d1 * +1' (
3.2.4
(Eq. 3.91)
(Eq. 3.92)
Considere-se o manipulador planar com dois gdl da Figura 3.7 (Fu et al., 1987).
92
Os referenciais, estabelecidos de acordo com o algoritmo de D-H, bem como os parmetros geomtricos de interesse esto assinalados na figura.
As matrizes de rotao so
,C1 - S1 0) ' R1 % * * S1 C1 0' * 0 1' +0 ( - S2 C2 0 - S12 C12 0 0) 0' ' 1' ( 0) 0' ' 1' (
(Eq. 3.93)
,C2 R2 % * * S2 * +0
(Eq. 3.94)
,C12 R2 % * * S12 * + 0
(Eq. 3.95)
"0 %0 =0 0 % 0 = 0
(Eq. 3.96) 93
"0 % 0 p 0
0$
T
"" 0 % #0 g p 0
;
(Eq. 3.99)
, C1 S1 0) ,0) ,0 ) '* ' " * ' " %* *- S1 C1 0' *0'21 % *0'21 * * 0 1' + 0 (* +1' ( +1' (
Para i = 2 tem-se:
" R 0 "2 0 % 2 R1 1 R 0 "1 0 3 z 02 2 , C2 %* *- S 2 * + 0 S2 C2 0 0) 0' ' 1' (
0
;
,0 ) K ,0 ) *0'2 "> * ' " " * ' 2 J % *0 ' 2 1 3 2 2 > 1' * + ( +1' ( I *
(Eq. 3.100)
(Eq. 3.101)
Para i = 2 tem-se:
0 "" 3 1 R 0 " . z 2 " " 3 z 02 " % 2 R1 1 R 0 0 " R0 # 2 0 0 2 20 10 10
(Eq. 3.102)
94
:R
1
"1 0
;: ;. #: R
1
"" 0 0 "1 0 . 1 R 0 0 p1 0 31 R 0 0 p
;:
;$
A ,0 ) ,0 ) , l ) ,0 ) , l ) K , gS1 ) > * ' * ' * ' * ' ' "" . 0 3 0 2 " " * '> * % *0'2 1 * ' * ' 1 . @*0'21 . *0' J 3 * gC1 ' >*1 ' > * * * +1 ' ( +0 ' ( * +1 ' ( +0 ' (I * + 0 ' ( ?+ ( 2 " 3 gS ) , - l2 1 1 * "" ' % * l21 3 gC1 ' * ' 0 + ( Para i = 2 tem-se:
0 0 " . 2 R 0 1p 3 "" 2 % 2 R 0 " R0 p 20 20 0
(Eq. 3.103)
:R
2
"2 0
;: ;. #: R
2
""1 "2 0 . 2 R 0 1 p 2 0 3 2 R1 1 R 0 0 p 0
;:
;$
, 0 ) , l ) , 0 ) A, 0 ) , l ) K ' >* ' * '> ' * ' * %* * 0 ' . *0 ' 3 * 0 ' . @ * 0 ' . *0 ' J 3 > >2 "" "" *0' *2 " " " " * +0 ' (I ( ?* + 1 322 ' ( * +21 3 2 2 ' ( + ( + 1 322 ' " 2 3 gS ) , C 2 S 2 0 ) , - l2 1 1 * - S C 0 ' * l2 "" 3 gC ' 2 1 ' * 2 '* 1 ' * * 0 1' 0 + 0 (+ ( "" - C 2 "2 "2 "2 "" ) ,l S 22 1 2 1 - 2 1 - 2 2 - 22 12 2 3 gS12 ' * 2 "" 3 2 "" 3 C 2 "" " l2 %* 1 2 2 1 3 S 22 1 3 gC12 ' ' * 0 ( +
(Eq. 3.104)
:R
1
"1 0
;: ;. #: R
1
"1 0
; ;. : R
1
""1 p G1 0 31 R 0 0 p 0
;$
(Eq. 3.105)
95
onde, , l ) *- 2 C1 ' * l ' % * - S1 ' * 2 ' * 0 ' * ' + ( , l ) - C1 , l) 0) * 2 ' * - ' * l ' 2 * - S1 ' % * 0 ' 0' '* 2 ' * ' 1' (* 0 ' * 0 ' * + ' ( * ' + (
p G1 0
(Eq. 3.106)
R 0 p G1 0
, C1 S1 %* *- S1 C1 * 0 + 0
(Eq. 3.107)
Assim, A , l) , l )K ,0 ) *- 2 ' , 0 ) > , 0 ) *- 2 ' > '2 * 0 ' . * 0 '> 3 "" . * 0 ' 3 * 0 ' . > %* 0 @ 1 * ' * ' * ' * ' * 'J " >*2 " * 0 '> * * 0 ' * +1 ' ( +21 ' ( >+ 1 ' ( * ( ' * ( '> + + ? I , l "2 ) - 21 3 gS1 ' 2 * " ,- l21 3 gS1 ) 2 ' * "" ' * l "" * l21 3 gC1 ' % * 2 21 3 gC1 ' ' * ' * 0 0 ' + ( * * ' + ( Para i = 2 tem-se:
0 0 " . 2 R0 2 p ""G % 2 R 0 " R0 p 3 20 G2 0 2 0
""G1 0 R0 p
(Eq. 3.108)
:R
2
"2 0
;: ;. #: R
2
"2 0
; ;. : R
2
"" 2 p G2 0 3 2 R 0 0 p 0
;$
(Eq. 3.109)
onde,
96
p G2 0
, l ) *- 2 C12 ' * l ' % * - S12 ' * 2 ' * 0 ' * ' + ( , l ) - C12 ' , l ) * 0) 2 * l ' * 2' ' 0' * - S12 ' % * 0 ' * 2 ' * ' 1' (* 0 ' * 0 ' * + ' ( * ' + (
(Eq. 3.110)
R 0 p G2 0
, C12 %* *- S12 * + 0
S12 C12 0
(Eq. 3.111)
Assim, A , l) , l )K , 0 ) *- 2 ' , 0 ) > , 0 ) *- 2 ' > ' . * 0 ' 3 * 0 ' . >* 0 ' . * 0 ' > 3 %* 0 * ' * ' * ' @* ' * 'J > > " " " " " " " " * ' * ' * +21 3 2 2 ( * 0 ' +21 3 2 2 ( >+21 3 2 2 ' ( * 0 '> * * + ' ( + ' (I ? 2 2 2 "" - C 2 " " " "" ,l S 22 ) 1 2 1 - 2 1 - 2 2 - 22 12 2 3 gS12 * ' 2 " " " " " " " (Eq. 3.112) l 21 3 2 2 3 C221 3 S 221 3 gC12 * ' * ' 0 + (
""G R0 p 2 0
"" - C 2 "2 1 "2 1 "2 " " ,l S 22 ) 1 2 1 - 2 2 1 - 2 2 2 - 2 12 2 3 gS12 * ' "" 3 S 2 "2 3 1 2 "" 3 1 2 "" 3 gC % * l C22 ' 1 2 1 12 2 1 2 2 * ' 0 * ' + (
97
""G R 0f 2 0 % 2 R 3 3 R 0f 3 0 3 2 R 0FG2 0 % 2 R 0F2 0 % m2 2 R 0 0 p 2 0 "" - C 2 "2 1 "2 1 "2 " " ,m2l S 22 ) 1 2 1 - 2 2 1 - 2 2 2 - 2 12 2 3 gm2 S12 * ' (Eq. 3.113) "" 3 S 2 "2 3 1 2 "" 3 1 S 2 "" 3 gm C % * m2l C22 ' 1 2 1 2 12 2 1 2 2 2 * ' 0 * ' + (
; :
Para i = 1 tem-se:
1
R 0f1 0 %1 R 2 2 R 0f 2 0 31 R 0 FG1 0 ,C2 %* * S2 * +0 0) 0' '& 0 1' ( "" - C 2 " 1 "2 1 "2 " " ) ,m2l S 22 1 2 2 - 2 2 1 - 2 2 2 - 2 12 2 3 gm2 S12 ' * 1 0 "" 3 S 2 " 2 1 "" 1 "" ""1 0 ' 3 m1 R 0 p * m2l C22 1 2 1 3 2 2 1 3 2 2 2 3 gm2 C12 ' * 0 ' * ( + "2 - 1 C 2 "2 32 "2 - C 2 "" 1 "" "" ) ,m2l - 2 1 2 2 12 2 - 2 S 2 2 1 3 2 2 2 2 1 ' * 2 ' * " 1 gm2 :C12 S 2 - C2 S12 ; m l2 3 gm1S1 2 1 1 ' * ' * ' * 2 2 "" 1 " " "" 1 "" "" * m2l 21 - 2 S 2 21 3 2 2 - S 2212 2 3 2 C2 21 3 2 2 3 ' ' * "" 3 gm C gm2C1 3 1 m1l2 %* ' 1 1 1 2 ' * ' * 0 ' * ' * (Eq. 3.114) ' * ' * ' * ( + - S2 C2
;$
;$
R 0n 2 0 % 2 R 0 1 p 2 0 3 2 R 0 2 p G2 0 . 2 R 0FG2 0 3 2 R 0 N G2 0
;:
(Eq. 3.115)
onde,
98
p2 0
,lC12 ) ' %* * lS12 ' * + 0 ' ( S12 C12 0 0) ,lC12 ) , l ) * ' * ' 0' ' * lS12 ' % *0' 1' (* + 0 ' ( * + 0' (
(Eq. 3.116)
R0 p2 0
, C12 %* *- S12 * + 0
(Eq. 3.117)
Assim,
,l ) , "" "2 1 "2 1 "2 " " ) * 2 ' *m2l S 221 - C221 - 2 21 - 2 2 2 - 212 2 3 gm2 S12 ' "" 3 S 2 " 2 1 "" 1 "" % * 0 ' . * m2l C22 '3 1 2 1 3 2 2 1 3 2 2 2 3 gm2 C12 * ' * ' 0 *0' * ' + ( * + ' (
R 0n 2 0
,0 * *0 * *0 +
0 1 m l2 12 2 0
), 0 ) '* ' 0 '* 0 ' "" "" ' 1 m l 2 '* ' +21 3 2 2 ( 12 2 ( 0
(Eq. 3.118)
Para i = 1 tem-se:
1
R 0n1 0 %1 R 2 2 R 0n 2 0 3 2 R 0 0 p1 0 . 2 R 0f 2 0 3
:R
1
:
0
p1 0 31 R 0 1 p G1 0 . 1 R 0 FG1 0 31R 0 N G1 0
;:
;:
;;
(Eq. 3.119)
onde,
p1 0
(Eq. 3.120)
R 0 p1 0
(Eq. 3.121)
99
R 0 0 p1 0
(Eq. 3.122)
Assim,
1
R 0n1 0 %1 R 2 2 R 0n 2 0 31 R 2 ,l * +2 ) 0 0' (
T 1
:: R p ;. : R f ;;3 . : R F ;3 R N
2 0 2 0 10 0 20 1 0 G1 0 0 G1 0
(Eq. 3.123)
< 2 % 2 R 0n 2 0
; : R z ; % 13 m l 2"" 3 13 m l 2"" 3
T 2 2 2 1 0 2 1 2 2
(Eq. 3.124)
< 1 % 1 R 0n1 0
(Eq. 3.125)
Querendo representar o modelo dinmico numa forma compacta, explicitando as matrizes de inrcia e de coriolis e centrpetos e o vector de termos gravticos, necessrio rescrever as equaes (Eq. 3.124) e (Eq. 3.125).
Assim, os coeficientes de termos onde surgem derivadas temporais de segunda ordem das coordenadas generalizadas, pertencem matriz de inrcia; os coeficientes de termos onde surgem produtos de derivadas temporais de primeira ordem pertencem matriz de Coriolis e centrpetos; os termos independentes da velocidade pertencem ao vector de termos gravticos.
100
REFERNCIAS
Asada, H., Slotine, J., 1986, Robot Analysis and Control, John Wiley and Sons, New York; Coiffet, P., 1982, Les Robs, Tome 1: Modlisation et commande, Hermes, Paris; Fu, K. S., Gonzalez, R. C., Lee, C. S. G., 1987, Robotics: Control, Sensing, Vision, and Intelligence, McGraw-Hill International Editions; Klafter, R., Chmielewski, T., Negin, M., 1989, Robotic Engineering, an Integrated Approach, Prentice-Hall International Editions, London; Mendes Lopes, A., 2000, Um Dispositivo Robtico para Controlo de ForaImpedncia de Manipuladores Industriais, Tese de Doutoramento, FEUP, Porto, Portugal; Mendes Lopes, A., 1995, Anlise Cinemtica e Planeamento de Trajectrias para um Rob Industrial, Tese de Mestrado, FEUP, Porto, Portugal; Nakamura, Y., Hanafusa, H., 1986, Inverse Kinematic Solutions With Singularity Robustness for Robot Manipulator Control, Transactions of the ASME Journal of Dynamic Systems, Measurement, and Control, September, vol. 108; Paul, R., 1982, Rob Manipulators: Mathematics, Programming, and Control, The MIT Press series in artificial intelligence; Sciavicco, L., Siciliano, B., 1996, Modeling and Control of Robot Manipulators, McGraw-Hill International Editions; Torby, B., 1984, Advanced Dynamics for Engineers, CBS College Publishing, New York; Vukobratovic, M., Kircanski, M., 1986, Scientific Fundamentals of Robotics 3: Kinematics and Trajectory Synthesis of Manipulation Robs, SpringerVerlag; Yoshikawa, T., 1990, Foundations of Robotics, Analysis and Control, The MIT Press, Cambridge, Massachusetts;
101