Você está na página 1de 101

Mestrado em Automao, Instrumentao e Controlo

Robtica Industrial
Textos

Modelao Cinemtica e Dinmica de Manipuladores de Estrutura em Srie

Elaborados por: Antnio Mendes Lopes

2001/2002

MODELAO CINEMTICA E DINMICA DE MANIPULADORES DE ESTRUTURA EM SRIE


Antnio Mendes Lopes, FEUP DEMEGI, 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

Estrutura mecnica Sensores internos Transmisso Actuadores Manipulador Potncia Comando

Modelo do manipulador Comando Modelo do ambiente Algoritmo de controlo Gerador de trajectrias Protocolos de comunicao

Interaco Controlador

Ambiente

Sensores externos

Linguagem de programao Informao sobre o ambiente

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

Figura 1.2 Graus de liberdade vs graus de movimento.

Informao sobre o estado do manipulador

Sensores internos

Comando Transmisso Actuadores Potncia Manipulador

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

Figura 1.3 Representao esquemtica da estrutura geral de um rob industrial.

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).

Trajectria desejada no espao cartesiano

Controlador junta 1 Gerador de trajectrias no espao das juntas (cinemtica) Controlador junta 2 . . Controlador junta n

Posio/Velocidade junta 1 Posio/Velocidade junta 2 Manipulador . . Posio/Velocidade junta n

Sensores junta n . . Sensores junta 2 Sensores junta 1

Figura 1.4 Diagrama representativo do subsistema de controlo de posio de um rob industrial.

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.

2.1 CINEMTICA DE POSIO DIRECTA

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

Figura 2.1 Representao de um referencial fixo, OXYZ, e de um referencial mvel, OUVW.

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)

, px ) , i x & i u * p '%* j & i * y' * y u * + pz ' ( * +k z & i u

i x & jv j y & jv k z & jv

i x & k w ), pu ) * ' jy & k w ' '* pv ' k z &kw' (* + pw ' (

(Eq. 2.5)

Usando esta notao, a matriz R na equao (Eq. 2.2) dada por

, i x & iu R %* * jy & iu * +k z & i u

i x & jv j y & jv k z & jv

ix &k w ) jy & k w ' ' k z &kw ' (

(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

onde I3 representa a matriz identidade de dimenso 3.3. As matrizes R e Q so ortogonais.

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

pw $ em relao a OUVW, ter diferentes


T

py

pz

em relao a OXYZ. A transformao Rx,/ chama-se

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 ,/

, i x & iu %* * jy & iu * +k z & i u

i x & jv j y & jv k z & jv

i x & k w ) ,1 0 ' * j y & k w '%*0 cos / k z &k w ' ( * +0 sen /

) - sen / ' ' cos / ' ( 0

(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

0 sen 1 ) 1 0 ' ' 0 cos 1 ' (

R z ,2

,cos2 %* *sen 2 * + 0

- sen 2 cos2 0

0) 0' ' 1' (

(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 / + (

0 ) - S/ ' ' C/ ' (

(Eq. 2.14)

onde C1 0 cos 1, S1 0 sen 1, C2 0 cos 2, S2 0 sen 2, C/ 0 cos / e S/ 0 sen /.

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

C2C1 , * %*C/S2C1 3 S/S1 * + S/S2C1 - C/S1

) C/S2S1 - S/C1 ' ' S/S2S1 3 C/C1 ' (

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

MATRIZ DE ROTAO SEGUNDO UM VECTOR ARBITRRIO

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).

Figura 2.3 Rotao em torno de um vector arbitrrio r. 16

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/ ' (

(Eq. 2.16) Tendo em conta a Figura 2.3 tem-se

sen / %

ry r 3r
2 y 2 z

cos/ %

rz r 3 rz2
2 y

(Eq. 2.17a)

sen 4 = rx Substituindo na equao (Eq. 2.16) vem


, rx2V1 3 C1 * %*rx ryV1 3 rz S1 * rx rzV1 - ry S1 +

cos 4 % ry2 3 rz2

(Eq. 2.17b)

rx ryV1 - rz S1 ry2V1 3 C1 ry rzV1 3 rx S1

R r ,1

rx rzV1 3 ry S1 ) ' ry rzV1 - rx S1 ' rz2V1 3 C1 ' (

(Eq. 2.18)

onde V1 = vers 1 = 1-cos 1.

2.1.4

REPRESENTAO DA MATRIZ DE ROTAO (ORIENTAO) USANDO NGULOS DE EULER

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

Figura 2.4 Representao da orientao em termos de ngulos de Euler.

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

- nz 3 2k7 n x cos5 3 n y sen5

(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

onde k um nmero inteiro.

2.1.5

PROPRIEDADES DAS MATRIZES DE ROTAO

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

p z , no espao 3D, acrescentada uma

% wp x quarta componente, de modo a p ser transformado em p

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)

No existe uma representao nica para um vector em coordenadas homogneas.

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

podem ser consideradas representaes vlidas para o vector p % p x

$ 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)

Esta matriz chamada de matriz homognea de translao bsica ou elementar.

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)

e , nx *n T %* y * nz * +0 px ) py ' '%,n s a p ) ' pz ' * +0 0 0 1( ' 1(

sx sy sz 0

ax ay az 0

(Eq. 2.41)

kw O1

jv
xyz

pO1
kz jy O ix

iu

Ruvw&puvw

pxyz

Figura 2.5 Operaes representadas por uma transformao homognea.

2.1.7

PROPRIEDADES DAS TRANSFORMAES HOMOGNEAS

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

- nT p ) , ' * - sT p ' * R T 3.3 % T ' * -a p ' * 1 ( 0 ' + *0

- nT p) ' - sT p ' - aT p ' ' 0 1 ( '

(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

COMPOSIO DE TRANSFORMAES HOMOGNEAS

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.

Figura 2.6 Um rob manipulador PUMA mostrando juntas e elos.

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.

Figura 2.7 Vrios tipos de juntas.

Figura 2.8 Representao esquemtica de juntas rotativas e de juntas prismticas.

27

2.1.10 REPRESENTAO DE DENAVIT-HARTENBERG (D-H)

Figura 2.9 Parmetros de D-H.

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

A i , conhecida por matriz de D-H para os referenciais i e i-1. Assim, vem

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

A i pode relacionar-se um ponto pi, fixo a um elo i, e

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)

onde pi-1 = [xi-1 yi-1 zi-1]T e pi = [xi yi zi]T.

31

2.1.11 EQUAES DA CINEMTICA

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

para i % 1, 2 ,...,n pi ) ' 1 (

,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)

Notar que H 0 6 A ferr e B 0 ref A 0 .

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

A i , i = 1,...,6. De notar que a matriz T nica, para um dado sistema de

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.

Uma vez obtidas as matrizes

i -1

A i , como muitas necessrio calcular a

matriz T em tempo-real, h que encontrar um mtodo computacionalmente eficiente para o efeito (Vukobratovic e Kircanski, 1986).

2.1.12 CINEMTICA DIRECTA DE ALGUNS MANIPULADORES

2.1.12.1 MANIPULADOR DE STANFORD

Trata-se de um manipulador com 6 gdl constitudo por um brao esfrico e por um punho tambm esfrico.

Figura 2.11 Estabelecimento de referenciais para o rob manipulador Stanford.

34

Os parmetros de D-H so apresentados na Tabela 2.1.

Tabela 2.1 Parmetros de D-H para o manipulador de Stanford. Junta 1 2 3 4 5 6

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)

0 0) 0 0' ' 1 d3 ' ' 0 1( 0) 0' ' 0' ' 1(

(Eq. 2.50)

0 S5 0 - C5 1 0 0 0

0 0) 0 0' ' 1 d6 ' ' 0 1(

(Eq. 2.51)

35

2.1.12.2 MANIPULADOR PUMA

Trata-se de um manipulador com 6 gdl constitudo por um brao antropomrfico e por um punho esfrico.

Figura 2.12 Estabelecimento de referenciais para o rob manipulador Puma.

Os parmetros de D-H so apresentados na Tabela 2.2.

Tabela 2.2 Parmetros de D-H para o manipulador Puma. Junta 1 2 3 4 5 6

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

As transformaes homogneas so:

36

,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( a3C3 ) a3 S 3 ' ' 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 ' ' 1 d2 ' ' 0 1 (

(Eq. 2.52)

0 - S4 0 C4 -1 0 0 0 - S6 C6 0 0

0) 0' ' (Eq. 2.53) d4 ' ' 1(

0 0) 0 0' ' 1 d6 ' ' 0 1(

(Eq. 2.54)

2.1.12.3 MANIPULADOR TI ER 6000

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

Tabela 2.3 Parmetros de D-H para o manipulador TI ER 6000. Junta 1 2 3 4 5 6

2i ()
90 0 90 0 0 0

/i ()
-90 0 90 -90 90 0

ai (mm) 0 304.8 0 0 0 0

di (mm) 0 102.9208 0 304.8 0 108.712

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)

0 0) 0 0' ' 1 d6 ' ' 0 1(

(Eq. 2.57)

Ento, a matriz T do rob manipulador TI ER 6000 vem

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

px ) py ' ' pz ' ' 1(

(Eq. 2.58)

n x % C1 #C 23 (C 4C5C6 - S 4 S 6 ) - S 23 S 5C6 $ - S1 ( S 4C5C6 3 C 4 S 6 )


n y % S1 #C 23 (C 4 C5C6 - S 4 S 6 ) - S 23 S 5C6 $ 3 C1 ( S 4 C5C6 3 C 4 S 6 )

(Eq. 2.59) (Eq. 2.60) (Eq. 2.61)

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

(Eq. 2.64) (Eq. 2.65) (Eq. 2.66) (Eq. 2.67)

a z % - S 23C 4 S 5 3 C 23C5

p x % C1 #d 6 (C 23C 4 S 5 3 S 23C5 ) 3 S 23 d 4 3 a 2C 2 $ - S1 (d 6 S 4 S 5 3 d 2 ) (Eq. 2.68)


p y % S1 #d 6 (C 23C 4 S 5 3 S 23C5 ) 3 S 23 d 4 3 a 2C 2 $ 3 C1 (d 6 S 4 S 5 3 d 2 ) (Eq. 2.69)

p z % d 6 (C23C5 - S 23C4 S 5 ) 3 C23d 4 - a2 S 2

(Eq. 2.70)

2.2 CINEMTICA DIFERENCIAL DIRECTA

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

, 0 v n 0 ) ,J P ) " *0 ' % * 'q " J O n + ( * ' 0( +

(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)

2.2.1.1 DERIVADA DE UM VECTOR DEFINIDO EM RELAO A UM REFERENCIAL QUE PODE RODAR

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

p P B o vector posio do ponto P em

p B A o vector posio do ponto B em relao a A,

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

(Eq. 2.76) (Eq. 2.77)

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 P A um vector definido no referencial B, sabido, da mecnica

clssica, que a sua derivada temporal

" P % Bp "P p A A

rot

3 A "B A . B p P A

(Eq. 2.79)

onde

"P p A

rot

representa a derivada do vector B p P A no referencial que est a rodar,

" 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,

" P %Ap " B 3 Bp "P p A A A

rot

3 A "B A . B p P A

(Eq. 2.80)

" P %Ap " B 3 AR B B p "P p A A B

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:

d :&; % d :&; 3 " . :&; dt dt rot


Note-se que, da equao (Eq. 2.76), tambm se pode escrever
" Bp 3 AR B P B

(Eq. 2.82)

" P %Ap " B 3 AR B B p "P p A A B

(Eq. 2.83)

rot

42

ou seja,

" B p % A R A" . B p R B B P B B B P B % % A "B A . A R B B p P B

; :R ;
A

A B

"B B . A R B B p P B

;:

(Eq. 2.84)

2.2.1.2 VELOCIDADES LINEAR E ANGULAR DE UM ELO DA ESTRUTURA

Sejam

p i -1 0 e

p i 0 os vectores posio das origens dos referenciais,

respectivamente, i-1 e i, expressos no referencial 0 (Figura 2.15).

i -1
0

pi-1

pi

i -1

pi

Figura 2.15 Relao entre os referenciais i-1 e i. Seja ainda


i -1

p i i -1 o vector posio do referencial i, em relao ao referencial

i-1, expresso no referencial i-1. O vector 0 p i 0 pode ser representado por


0

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

" i %0 p " i -1 3 0 R i -1 i -1 p " i 3 0 =i -1 .0 R i -1 i -1 p i p 0 0 i -1 0 i -1 " i -1 0 3 i -1 v i 0 3 0 =i -1 0 .0 R i -1 i -1 p i i -1 %0 p

(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

v i 0 representa a velocidade da origem do referencial i em

relao ao referencial i-1, expressa no referencial da base.

Quanto velocidade angular tem-se


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. 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)

onde zi-1 o vector unitrio segundo o eixo da junta i.

As velocidades linear e angular so


0 0

=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)

As velocidades linear e angular so


0 0

"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)

2.2.1.3 DETERMINAO DO JACOBIANO

Considere-se que o jacobiano representado por

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.

Se se tratar de uma junta prismtica (qi = di) tem-se " i J Oi % 0 q J Oi % 0

(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

"i J Pi % i -1 =i 0 .i -1 p n 0 q " z .i -1 p %2 i i -1 n0 J Pi % z i -1.i -1 p n 0

(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.

Para um rob do tipo 6R o jacobiano vem

, 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

JACOBIANO DE NGULOS DE EULER

O significado fsico do vector velocidade angular, 0 =i 0 , mais intuitivo que


T " 6 "%5 " 2 " . O vector o do vector de derivadas de ngulos de Euler, "

=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 " "

no so ortogonais, sendo que representam uma velocidade angular

definida em relao a um referencial varivel.

" 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

em qualquer dos casos o integral de

=i 0 resulta no mesmo valor. Porm, a

orientao final do corpo diferente nos dois casos (Figura 2.16).

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.

Diferenciando a equao (Eq. 2.103) em ordem ao tempo vem d x D f(q) d q % dt Dq d t ou

(Eq. 2.104)

48

" " = J Eq x
onde, J E =

(Eq. 2.105)

D f(q) E Rmxn um jacobiano. Dq

Sendo m = 6 (coordenadas cartesianas e ngulos de Euler), JE o chamado jacobiano de ngulos de Euler.

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

") ,5 * "' % J A & *2 ' * " 6 + ' (

(Eq. 2.106)

em que

,0 - S5 J A %* * 0 C5 * 0 +1

C2C5 ) C2S5 ' ' - S2 ' (

(Eq. 2.107)

, 0 vn Rescrevendo * 0 " * + n

) " ) ,q ' % J & * 1 ' como "2( ' +q 0(


0

, 0 vn *0 # * + n
e substituindo 0"n " vem por J A!

) , J11 '%* ' +J 21 0(


0

"1 ) J12 ) , q & *" ' J 22 ' 2( ( +q

(Eq. 2.108)

49

, 0 vn *0 " " * + n

) , J11 ' % * -1 ' +J A & J 21 0(


0

" ) J12 ) , q &* 1' ' "2( J & J 22 ( +q


-1 A

(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.

2.3 CINEMTICA DE POSIO INVERSA

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

CINEMTICA DE POSIO INVERSA DE MANIPULADORES COM 6 GDL E PUNHO ESFRICO

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

CINEMTICA INVERSA DE ALGUNS MANIPULADORES

2.3.2.1 BRAO ESFRICO (MANIPULADOR DE STANFORD)

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

A 3 % 0 A1 1 A 2 2 A 3 , *$ %* * * + $ $ d 3C1S 2 - S1d 2 ) d 3 S1S 2 3 C1d 2 ' ' d 3C2 3 d1 ' ' 1 (


(Eq. 2.110)

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)

Multiplicando ambos os membros da equao anterior por

:A;
0 1

-1

vem 53

, pw C1 3 pw S1 ) , d 3 S 2 ) y * x ' * ' - p wz * ' % *- d 3C2 ' *- p S 3 p C ' * d ' wy 1 ( + 2 ( + wx 1


Fazendo t % tan :21 2; tem-se 1- t2 , 13 t 2

(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.

Dos dois primeiros elementos da equao (Eq. 2.112) resulta pwx C1 3 pw y S1 - p wz

d3S2 - d 3C2

(Eq. 2.117)

2 2 % atan 2 pwx C1 3 pwy S1 , pwz

(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

2.3.2.2 BRAO ANTROPOMRFICO (MANIPULADOR TI ER 6000 COM d2 = 0 OU PUMA COM d2 = 0 E a3 = 0)

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

A 4 % 0 A1 1 A 2 2 A 3 3 A 4 , *$ %* * * + $ $ d 4C1S 23 3 a2C1C2 ) d 4 S1S 23 3 a2 S1C2 ' ' d 4C23 - a2 S 2 ' ' 1 (


(Eq. 2.120)

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)

Por uma questo de geometria fcil verificar que

21 % atan 2 pw y , pwx

(Eq. 2.122)

ou 21 % 7 3 atan 2 pw y , pwx , desde que 22 passe a valer 7 - 22 (Figura 2.17).

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

(Eq. 2.126) (Eq. 2.127)

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;

Figura 2.17 Diferentes configuraes para o brao antropomrfico.

2.3.3

DIFICULDADES DOS MTODOS ANALTICOS

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

2.3.3.1 PROBLEMA DA ESCOLHA DA SOLUO

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)

Figura 2.18 Trajectria no plano YZ desejada para o rgo terminal.

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)

Junta 2 0 -20 -40

20 0 -20 -40 -60 -80 0

Pos. da junta (graus)

-60 -80 -100 -120 -140 -160 -180

4 Tempo (segundos)

4 Tempo (segundos)

Junta 1
Junta 3 200 100

Junta 2
Junta 4

150

50

Pos. da junta (graus)

100

Pos. da junta (graus)

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

Pos. da junta (graus)

Pos. da junta (graus)

0 -20 -40 -60 -80 -100 -120 0 1 2 3 4 Tempo (segundos) 5 6 7 8

-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).

2.3.3.2 PROBLEMA DA RESTRIO DOS NGULOS AO INTERVALO #-180H, +180H$

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

MTODOS NUMRICOS ITERATIVOS

2.3.4.1 MTODO BASEADO NO JACOBIANO

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

Sabe-se das relaes diferenciais que dx = JE dq ou


1 dq % J E dx 1 ( Nq % J E Nx )

(Nx = JE Nq)

(Eq. 2.135)

(Eq. 2.136)

Algoritmo 2.2 !" D1. Seleccionar o vector inicial candidato a soluo q k 0 q 0 ;


1 !" D2. Determinar e inverter o jacobiano de ngulos de Euler J E :q k ; ;

!" D3. Determinar o vector erro no espao operacional #x - f :q k ;$ ;


1 !" D4. Fazer Nq k % J E & #x - f :q k ;$ ;

!" D5. Fazer q k 31 % q k 3 Nq k ; !" D6. Se maxvalF x - f :q k 31 ; G P O voltar ao passo D2.


x

+ -

Nx

1 JE :q ;

Nq
Q

f :q ;

Figura 2.21 Diagrama de blocos do algoritmo de clculo da cinemtica inversa.

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

2.3.4.2 EXEMPLO: MANIPULADOR TI ER 6000

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.

2.3.4.3 APLICAO A MANIPULADORES COM PUNHO ESFRICO

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)

em que xp representa a posio do rgo terminal em relao ao referencial da base.

65

Ento o algoritmo vem:

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

LIMITAES DOS MTODOS NUMRICOS ITERATIVOS

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

COMPARAO DOS DOIS MTODOS

2.3.6.1 EVOLUO TEMPORAL DAS TRAJECTRIAS GERADAS

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

Pos. da junta (graus)

40 30 20 10

Pos. da junta (graus)

-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

Pos. da junta (graus)

Pos. da junta (graus)


1 2 3 4 Tempo (segundos) 5 6 7 8

30 20 10 0 -10 -20 -30

-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

Pos. da junta (graus)

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

2.3.6.2 PESO COMPUTACIONAL

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.

2.4 CINEMTICA DIFERENCIAL INVERSA

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

J 3 sem ter que inverter qualquer matriz.

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

"" 3 V :q, q " ;& q " 3 G :q ; % # I:q ; & q

(Eq. 3.1)

" ; representam, respectivamente, as matrizes de inrcia e de em que I:q ; e V :q, q


Coriolis e centrpetos, G :q ; representa o vector de termos gravticos, q um vector definido no espao das juntas e < o vector de foras / momentos aplicados nas juntas.

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 ;

Figura 3.1 Diagrama de blocos do modelo dinmico inverso de um manipulador.

71

<

+ + +

-1

:q ;

"" q

" q

"; V :q, q

G :q ;

Figura 3.2 Diagrama de blocos do modelo dinmico directo de um manipulador.

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.

3.1 MODELAO DINMICA PELO MTODO DE NEWTONEULER

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

Figura 3.3 Referencial inercial e referenciais fixos ao elo i.

Seja mi a massa e

Gi

Ii

a matriz de inrcia do elo em relao ao seu centro


Gi

de massa, expressa no referencial Gi.

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)

e xGi , yGi e zGi , representam as coordenadas do centro de massa Gi em relao ao referencial A.

74

Seja

"G p a velocidade linear do centro de massa e i 0

=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

(Eq. 3.10) (Eq. 3.11)

H i 0 % Gi I i 0 &0 =Gi 0 % Gi I i 0 &0 =i 0

Em que

Gi

I i 0 a matriz de inrcia do elo, em relao ao seu centro de massa,

expressa no referencial da base (i.e., num referencial paralelo ao da base). Note-se que
Gi

I i 0 no uma matriz constante, pois a orientao do corpo em relao ao

referencial da base varivel (o referencial da base v a geometria do elo a variar).

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

(Eq. 3.12) (Eq. 3.13)

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

(Eq. 3.14) (Eq. 3.15)

Gi

O vector

Gi

H i i representa o momento angular do elo i, em relao ao seu centro de

massa, expresso no referencial i. 75

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

(Eq. 3.16) I i i , vem

ou ento, expressa no referencial da base, em funo de

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

(Eq. 3.18) (Eq. 3.19)

Gi

I i i % i R Gi Gi I i

Gi
Gi

Ri
Gi

Tipicamente, mais fcil comear por determinar

Ii

, escolhendo para isso os


Gi

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

representa uma derivada em relao ao referencial que est a rodar.


rot

Assim, da equao (Eq. 3.23) vem

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:

d 0 Gi i W d 0 Gi 0 " T R i I i i R 0 0 =i 0 %U R i I i i i R 0 3 0 R i Gi I i i i R 0 R =i 0 dt dt S V Gi i 0 " Gi 0 i " 0 (Eq. 3.33) % R i I i i R 0 3 R i I i i R 0 =i 0

" 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)

3.2 VELOCIDADE ESTRUTURA

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

" i %0 p " i -1 3 0 R i -1 i -1 p " i 3 0 =i -1 . 0 R i -1 i -1 p i p 0 0 i -1 0 i -1 " i -1 0 3 i -1 v i 0 3 0 =i -1 0 . 0 R i -1 i -1 p i i -1 %0 p

(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

linear e angular do elo i-1 (referencial i-1). Notar que

i -1

" i representa a v i 0 % i -1 p 0

velocidade da origem do referencial i em relao ao referencial i-1, expressa no referencial da base.

A velocidade angular pode ser obtida a partir da seguinte equao


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)

onde zi-1 o vector unitrio segundo o eixo da junta i.

As velocidades linear e angular so


0 0

=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

As velocidades linear e angular so


0 0

"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)

Derivando as equaes (Eq. 3.36) e (Eq. 3.37) em ordem ao tempo vem


0

"" i % 0 p "" i -1 3 0 R i -1 i -1 p "" i 3 2 0 =i -1 . 0 R i -1 i -1 p "i 3 p 0 0 i -1 0 i -1


0

" 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)

" i %0 = " i -1 3 0 R i -1 i -1 = " i 3 0 =i -1 . 0 R i -1 i -1 =i = 0 0 i -1 0 i -1

(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

" i % 0 . A velocidade (acelerao) linear do referencial i em relao ao =i 0 % i -1 = 0

referencial i-1 apenas tem componente no nula segundo o eixo zi-1, sendo
i -1

" z ( i -1 p "" z ). Assim, tem-se "i % d ""i % d p i i -1 i i -1 0 0

"" z 3 2 0 = . d "z 3 "" i % 0 p "" i -1 3 d p i i -1 i i -1 i -1 0 0 0


0

" 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

"" z 3 0 = . 2 "z " i %0 = " i -1 3 2 = i i -1 i i -1 i -1 0 0 0

(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 % 0 p "" i -1 3 i -1 p "" i 3 20 =i -1 .i -1 p " i 30 = " i -1 .i -1 p i 3 p 0 0 0 0 0 0 0


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 % 0 p "" i -1 3 i -1 = " i .i -1 p i 3 0 = " i -1 .i -1 p i 3 p 0 0 0 0 0 0

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)

"" i % 0 p "" i -1 3 i -1 = " i .i -1 p i 3 0 = " i -1 .i -1 p i 3 p 0 0 0 0 0 0

:=
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 p "" i -1 3 i -1 = " i .i -1 p i 3 0 = " i -1 .i -1 p i 3 p 0 0 0 0 0 0


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

; (Eq. 3.50) ;;(Eq. 3.51)


(Eq. 3.52)

"" i % 0 p "" i -1 3 i -1 = " i .i -1 p i 3 0 = " i -1 .i -1 p i 3 p 0 0 0 0 0 0


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 p "" i -1 3 i -1 = " i .i -1 p i 3 0 = " i -1 .i -1 p i 3 p 0 0 0 0 0 0


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 p "" i -1 3 i -1 = " i .i -1 p i 3 0 = " i -1 .i -1 p i 3 p 0 0 0 0 0 0


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 p "" i -1 3 i -1 = " i .i -1 p i 3 0 = " i -1 .i -1 p i 3 p 0 0 0 0 0 0


0

=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)

Usando as propriedades do produto vectorial

:a . b ;. c % b:a & c; - a:b & c; a . :b . c ; % b:a & c ; - c:a & b ;


vem
0

(Eq. 3.55)

"" i % 0 p "" i -1 3 i -1 = " i .i -1 p i 3 0 = " i -1 .i -1 p i 3 p 0 0 0 0 0 0


0 i -1 i -1

=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 p "" i -1 3 i -1 = " i .i -1 p i 3 0 = " i -1 .i -1 p i 3 p 0 0 0 0 0 0


0

=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 p "" i -1 3 i -1 = " i .i -1 p i 3 0 = " i -1 .i -1 p i 3 p 0 0 0 0 0 0


0

=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)

"" i % 0 p "" i -1 3 0 = " i .i -1 p i 3 0 =i . 0 =i .i -1 p i p 0 0 0 0 0 0 0

(Eq. 3.59)

3.2.1

EQUAES DE NEWTON-EULER NO REFERENCIAL DA BASE

Definam-se os seguintes parmetros e vectores, todos expressos no referencial da base: !"

:x

Gi

, y Gi , z Gi referencial com origem no centro de massa do elo i, Gi;

!" mi massa do elo i; !"


Gi

I i 0 matriz de inrcia do elo i em relao ao seu centro de massa;

82

!"

p Gi 0 posio do centro de massa do elo i em relao ao referencial

da base; !" !" !" !" !"


i

p Gi 0 posio do centro de massa do elo i em relao ao referencial i;

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)

"" G % 0 p "" i 3 0 = " i . 0 R i i p G 3 0 =i . 0 = i . 0 R i i p G p i 0 0 0 i i 0 0 i i "" i 0 3 0 = " i 0 .i p Gi 0 3 0 =i 0 . 0 =i 0 .i p Gi 0 %0 p

: ;

;;

(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

Figura 3.4 Referenciais associados ao elo i.

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

" 30" . I i 0 0"i 0 % Gi I i 0 0" i0 i0

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)

vem "" G 3 f i 31 fi 0 % FGi 0 3 f i 31 0 % mi 0 p i 0 0 n i 0 % n i 31 0 3 i -1p i 0 . f i 31 0 3

(Eq. 3.69) (Eq. 3.70)

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

" %0 p " 0 % 0 e 0p "" 0 % g x "0 0 % 0 " 00 0 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

zi-1 i-1 i junta i

Figura 3.5 Junta i.

T A >n i 0 & z i -1 , se junta R <i % @ T > ? f i 0 & z i -1 , se junta P

(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

" z , se junta R =i -1 0 3 2 i i -1 =i -1 0 , se junta P

!"

"i % D3. = 0
0

"" z 3 0 = . 2 " z , se junta R " i -1 3 2 = i i -1 i i -1 i -1 0 0 " i -1 , = 0 se junta P

86

""i -1 3 0 = " i .i -1 p i 3 0 =i . 0 =i .i -1 p i , p 0 0 0 0 0 0 "" z 3 2 0 = . d "z 3 ""i -1 3 d p i i -1 i i -1 i0 0


0

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

!"

"" G % 0 p "" i 3 0 = " i .i p G 3 0 = i . 0 = i .i p G D5. 0 p i 0 0 0 i 0 0 0 i 0

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

!"

T A >n i 0 & z i -1 , se junta R D11. < i % @ T f z , se junta P > ? i 0 & i -1

3.2.2

EQUAES DE NEWTON-EULER NOS REFERENCIAIS DOS PRPRIOS ELOS

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

"" z 3 " i -1 3 2 R0 0 = i 0 0 " i -1 , R0 0 = 0

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

"" z 3 i -1 R 0 p ""i -1 3 i R 0 0 = " i . i R 0 i -1 p i 3 R i -1 d i 0 0 0 0 0 "z 3 2 i R 0 0 =i 0 . i R i -1d i 0


i 0 0

:R
i

; :
;

;: ;;

=i 0

0 0

=i 0 . i R 0 i -1 p i 0 ,

;:

se junta P

!"

D5.

""G % i R 0 0 p "" i 3 i R 0 0 = " i . i R 0 i pG 3 R0 0p i 0 0 0 i 0

: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

!"

i A > R 0n i 0 D11. < i % @ i > ? R 0f i 0

: :

; & : R z ;, ; & : R z ;,
T i i -1 0 T i i -1 0

se junta R se junta P

3.2.3

MODELO DINMICO DE UM MANIPULADOR CARTESIANO

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

Figura 3.6 Manipulador cartesiano com 3 gdl.

Tabela 3.1 Parmetros de D-H do manipulador cartesiano. Junta i 1 2 3

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 Considere-se que a base est fixa ( 0 p


0

% 0 ) e que o manipulador no exerce

qualquer fora no ambiente ( 0 f 4 % 0 ). Considere-se ainda que se faz sentir o efeito

"" 0 % g % #- g 0 0$ ). da gravidade ( 0 p
T 0

Os vectores posio que interessa considerar para mais tarde so

p1 0

,0) ' %* *0' * +d1 ' ( ,0) ' %* *l1 ' * +0' (

p2 0

, 0 ) ' %* * d2 ' * + - a2 ' ( ,0) ' %* *0' * +l2 ' (

p3 0

,- d 3 ) ' %* * 0 ' * + 0 ' ( ,l3 ) ' %* *0' * +0' (

(Eq. 3.72)

p G1 0

p G2 0

p G3 0

(Eq. 3.73)

3.2.3.1 PROPAGAO DAS VELOCIDADES E DAS ACELERAES

""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)

"" 3 p "" 3 0 % z 2 d "" 2 0 p 3

(Eq. 3.76)

(Eq. 3.77) (Eq. 3.78) 90

"" G % p "" 3 p 3 0 0

(Eq. 3.79)

3.2.3.2 PROPAGAO DE FORAS E MOMENTOS

"" G3 0 FG3 0 % m3 p

"" - g ) ,- d 3 * "" ' % m3 * d 2 ' "" ' * d 1 + (

(Eq. 3.80)

"" G FG2 0 % m2 p 2 0

,- g ) "" ' % m2 * * d2 ' "" * + d1 ' ( ,- g ) ' % m1 * * 0 ' "" * + d1 ' (

(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

,- 1) ' "" < 3 % f 3T 0 & z 2 % f3T 0 & * * 0 ' % m3 d 3 3 g * +0' (

(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)

MODELO DINMICO DE UM MANIPULADOR 2R PLANAR

Considere-se o manipulador planar com dois gdl da Figura 3.7 (Fu et al., 1987).

92

Figura 3.7 Manipulador planar com dois gdl.

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)

Assumam-se os seguintes valores


0

"0 %0 =0 0 % 0 = 0

(Eq. 3.96) 93

"0 % 0 p 0
0$
T

(Eq. 3.97) (Eq. 3.98)

"" 0 % #0 g p 0

3.2.4.1 PROPAGAO DAS VELOCIDADES E DAS ACELERAES

3.2.4.1.1 Velocidade angular Para i = 1 tem-se:

" R 0 "1 0 %1 R 0 "0 0 3 z 02 1

;
(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 *

A ,0 ) >* ' " @*0'21 >*1' ?+ (

(Eq. 3.100)

3.2.4.1.2 Acelerao angular Para i = 1 tem-se:


0 T "" "" 3 0 " . z 2 " " %1 R 0 0 " " 3 z 02 R0 " 0 1$ 2 1 0 1 % #0 1 10 00 00

(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

T "" "" % #0 0 1$ 2 1 322

(Eq. 3.102)

94

3.2.4.1.3 Acelerao linear Para i = 1 tem-se:


0 0 " . 1R0 0p 3 ""1 0 % 1 R 0 " R0 p 10 10

: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)

3.2.4.1.4 Acelerao linear do centro de massa Para i = 1 tem-se:


0 0 " . 1R0 1 p ""G % 1 R 0 " R0 p 3 10 G1 0 1 0

: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 * ' + (

3.2.4.2 PROPAGAO DE FORAS E MOMENTOS

Assuma-se que f3 0 % 0 e n 3 0 % 0 . 3.2.4.2.1 Foras Para i = 2 tem-se:

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

;$

;$

3.2.4.2.2 Momentos Para i = 2 tem-se:


2

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)

) , 0 ' * 0 %* ' * 1 m l 22 "" 3 1 m l 22 "" 3 1 m l 2 C 2 "" 3 S 2 " 2 3 1 m glC ' 2 1 2 1 3 2 2 2 2 2 2 12 ( + 3 2 1

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

,lC1 ) ' %* * lS1 ' * +0' ( , lC2 ) ' %* *- lS 2 ' * + 0 ' (

(Eq. 3.120)

R 0 p1 0

(Eq. 3.121)

99

R 0 0 p1 0

,l ) ' %* *0 ' * +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)

3.2.4.2.3 Foras aplicadas nas juntas Para i = 2 tem-se:

< 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

"" 3 1 m glC 3 1 m l 2 S 2 "2 1 m2l 2C22 1 2 2 2 12 2 2 2 1 Para i = 1 tem-se:

(Eq. 3.124)

< 1 % 1 R 0n1 0

; : R z ; % 13 m l 2"" 3 4 3 m l 2"" 3 13 m l 2"" 3


T 1 2 2 2 1 0 1 1 2 1 2 2

2 "" 3 1 m l 2C 2 "" - m l 2 S 2 "" 1 "2 m2l 2C22 1 2 2 12 2 - 2 m2 l S 22 2 3 2 2 2 2 1 m glC 3 1 m glC 3 m glC 2 1 2 1 1 2 2 12

(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

Você também pode gostar