ROBÓTICA Universidade Paulista Adolfo Fernandes Herbster Modelagem Cinemática de Robôs Sistemas de Referência e Transformação de Coordenadas Transformação Homogênea Um ponto V no espaço pode ser representado em coordenadas homogêneas por, x y V z w onde x v1 , w y v2 , w z v3 w e w é o fator de escala real e não nulo. Translação É Possível transladar um ponto u nas direções X, Y, e Z ou em uma direção arbitrária, a partir da aplicação da relação v=T.u com a relação 1 0 T trans(x 0 , y 0 , z 0 ) 0 0 0 0 x0 1 0 y 0 0 1 z0 0 0 1 Exemplo 1 Considere a transformação homogênea 1 0 T 0 0 0 1 0 0 0 0 1 0 1 0 0 1 e o ponto 1 0 u 0 1 A transformação homogênea T, transforma o ponto u em um ponto v, 1 0 v = T. u = 0 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 2 0 0 1 Exemplo 2 Transladar o ponto v(1,0,0) de 1 unidade na direção X, 2 na direção Y e 3 na direção Z. 1 0 v trans (1,2,3) 0 0 0 1 0 0 0 0 1 0 1 1 2 0 3 0 1 1 Rotação Considere os pontos u e v , representados na figura. x u r cos 1 1 y u r sen 1 2 e x v r cos1 y v r sen1 r rotação em z x u2 y u2 x 2v y 2v Suas representações no plano são u(xu, yu) e v(xv,yv) respectivamente. Considere ainda que o ponto u foi transformado no ponto v, através de uma rotação, em torno da origem, de um ângulo , no sentido anti-horário. 3 4 Desenvolvendo as equações 1 e 2 e usando as equações 3 e 4, tem-se x v r cos 1 . cos r sen1 . sen x v xu . cos y u . sen 5 y v r sen1 . cos r cos 1 . sen y v y u . cos y u . sen 6 As equações 5 e 6 podem ser escritas, então: x v cos xu seny u y v senxu cos y u ou na forma vetorial x v cos sen x u y sen cos y u v 7 Para o espaço tridimensional a equação 7 pode ser reescrita na forma vetorial: x v cos sen 0 xu y v sen cos 0 . y u z v 0 z u 0 1 ou ainda em coordenadas homogêneas, x v cos sen y v sen cos 0 z v 0 1 0 0 0 0 xu y u 0 0 . 1 0 z u 1 0 1 Resumindo, as matrizes transformação rotação em torno dos três eixos são: 0 0 1 0 cos sen Rot, X 0 sen cos 0 0 0 cos 0 Rot, Y sen 0 0 0 0 1 0 sen 0 1 0 0 0 cos 0 0 0 1 cos sen sen cos Rot, Z 0 0 0 0 0 0 0 0 1 0 0 1 homogênea de Modelagem Cinemática Direta e Inversa de Manipuladores Problema Cinemático de Manipuladores MODELO CINEMÁTICO DIRETO VARIÁVEIS DAS JUNTAS POSIÇÃO E ORIENTAÇÃO DO EFETUADOR DO ROBÔ MODELO CINEMÁTICO INVERSO POSIÇÃO E ORIENTAÇÃO DO EFETUADOR DO ROBÔ VARIÁVEIS DAS JUNTAS Problema Cinemático Direto • Calcular a matriz de transformação homogênea que relaciona a iésima referência com a referência i-1. Para isto faz-se uso dos parâmetros de todas as juntas; • Tendo ob tido todas as matrizes Ti-1i , obtém-se T0n através de; T0n T01 .T12 .T23 ... Tnn1 • Como T0n depende das variáveis das juntas, o problema cinemático direto se resolve com a obtenção da matriz de transformação homogênea que fornece posição e orientação da ponta do robô em relação a base. Representação de Denavit-Hartemberg Suponha que dois sistemas de coordenadas coincidentes, X0Y0Z0 e X1Y1Z1. A transformação homogênea que relaciona esses sistemas é a matriz identidade 1 0 T01 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 Representação de Denavit-Hartemberg Provoca-se uma rotação de em relação ao eixo Z0, através da transformação cos - sen sen cos Rot( , z 0 ) 0 0 0 0 0 0 0 0 1 0 0 1 A nova matriz é agora dada por cos - sen sen cos 1 T0 I . Rot( , z 0 ) 0 0 0 0 0 0 0 0 1 0 0 1 Representação de Denavit-Hartemberg A seguir translada-se o sistema X1Y1Z1 de d unidades ao longo de Z1. A matriz fica então, cos - sen sen cos 1 T0 Rot( , z 0 ). Trans 0, 0, d 0 0 0 0 0 0 0 0 1 d 0 1 Representação de Denavit-Hartemberg Translada-se o sistema X1 Y1 Z1 de a unidades ao longo do eixo X1. A nova matriz é dada por cos - sen sen cos T01 Rot( , z 0 ). Trans 0, 0, d . Trans a, 0, 0 0 0 0 0 0 a 0 0 1 d 0 1 Representação de Denavit-Hartemberg Finalmente, provoca-se uma rotação do sistema X1 Y1 Z1 de , em torno do eixo X1. Esta última transformação deixa a matriz como cos - cos .sen sen .sen a.cos sen cos .cos - sen .cos a.sen 1 T0 Rot( , z 0 ). Trans 0, 0, d .Trans a, 0, 0.Rot( , x1 ) 0 sen cos d 0 0 1 0 CONVENÇÃO DE DENAVIT-HARTEMBERG Estabelece que a transformação homogênea Ai entre quaisquer dois sistemas de coordenadas solidários a dois elos consecutivos, através de uma cadeia cinemática de um manipulador, composto de elos rígidos, separados por uma junta, pode ser escrita por até quatro matrizes de transformações homogêneas básicas. Uma rotação de em torno de z1 Um deslocamento d ao longo do eixo z1 Um alongamento ao longo do eixo x Uma rotação em torno do eixo x. Passo 1: Estabelecer o eixo z dos sistemas de coordenadas de cada elo nos eixos de cada junta da estrutura, ou na direção do deslocamento das junta prismáticas. Passo 2: Colocar a origem do sistema de coordenadas referencial, no eixo z da junta do primeiro elo. Passo 3: Estabelecer a origem do sistema de coordenadas na linha ortogonal aos eixos z dos sistemas de coordenadas de cada par de elos para toda a estrutura. Passo 4: Definir o eixo x de cada do sistema de coordenadas na linha ortogonal aos eixos z dos sistemas de coordenadas de cada par de elos para toda a estrutura, definido o sentido do eixo pela regra da mão direita do eixo de maior ordem para o de menor ordem. Passo 5: Definir o eixo y de cada sistema de coordenadas pela regra da mão direita. Passo 6: Definir o sistema de coordenadas da garra, conforme o passo 6 indicado na figura 2.2. Passo 7: Estabelecer os 4 parâmetros da convenção de Denavit-Hartenberg, onde: é uma rotação do eixo xi-1 para o eixo xi em torno de zi-1. d é um deslocamento ao longo do eixo z i - 1, da origem o i -1 até o eixo xi. a um alongamento ou comprimento ao longo do eixo xi da origem oi até o eixo z i -1. é uma rotação do eixo z i - 1 ao eixo z i torno do eixo xi. Passo 8: Determinar matrizes de transformações homogêneas entre cada par de elos. c i Se a junta for rotacional s i Ai 0 0 c i Se a junta for prismática s i Ai 0 0 s i c i s i s i a i c i c i c i s i 0 c i s i c i 0 a i s i di 1 s i c i s i s i 0 c i c i s i 0 c i s i c i 0 0 di 1 Passo 9: Determinar matrizes de transformações homogêneas entre cada par de elos e a base. A matriz de transformação homogênea entre o elemento final e a base define o modelo cinemático direto do robô. Ti = A1 . A2 ... An Exemplo de Implementação de estabelecimento de parâmetros pelo método de Denavit-Hartemberg Parâmetros D – H para o Robô PUMA 560 Matrizes de transformação homogênea para o Robô PUMA 560 DEFINIÇÃO DE SISTEMAS DE COORDENADAS PARA MODELOS ARTICULADOS Um sistema Articulado pode ser representado matemáticamente por n corpos móveis Ci (i = 1, 2,..., n) e de um Corpo fixo, acoplado por n articulações, formando uma estrutura em cadeia, e as juntas podem ser rotacionais ou prismáticas. Para representar as situações relativas dos vários corpos da cadeia, é fixado para cada elemento Ci um referencial Ri. A Matriz de Transformação de Coordenadas Xi, Yi, Zi Sistema de Referência Li Vetor de Translação Oi Origem DESCRIÇÃO MATEMÁTICA Podemos relacionar um certo referencial Ri+1 (oi+1, xi+1, yi+1, zi+1) com um previamente Ri (oi, xi, yi, zi), como também as coordenadas de sistema de origem básico por o i+1 = oi + A i,i+1 * Li Onde A é a matriz de Orientação Ai, i+1 = A1, 2. A2, 3. ... A i, i+1 Onde Li é o vetor de translação entre uma origem e a outra. Especificações de Posição e Orientação do Efetuador Já foram vistas três coisas muito importantes, no que diz respeito à cinemática de robôs, a saber: É possível relacionar dois sistemas de referências, através de uma matriz de transformação homogênea; Para um robô com n graus de liberdade, aloca-se um sistema de coordenadas em cada junta e calcula-se a matriz de transformação homogênea que relaciona o último sistema de referência com a base ; No efetuador é alocado um sistema de referência (o último da cadeia cinemática), tal que se possa relacioná-lo com a base, através de uma matriz de transformação homogênea. No caso de um robô com seis graus de liberdade, esta matriz é dada por n x n T06 y n z 0 ox ax oy oz 0 ay az 0 px p y pz 1 n = [ nx ny nz ] T Vetor normal do efetuador e tem direção ortogonal aos vetores o e a; s = [ sx sy sz ] T Vetor de deslizamento e aponta na direção dos abertura e fechamento dos dedos da mão; a = [ ax ay az ] T Vetor de aproximação e aponta na direção normal a palma mão; p = [ px py pz ]T Vetor posição e aponta da origem do sistema de da base até a origem do sistema de coordenadas movimentos de da coordenadas da mão. Ângulos de Euler e RPY A matriz de orientação espacial de um robô poderá ser expressa através das componentes dos versores de orientação n, s e a, ou através de três ângulos. Normalmente em aplicações industrias são utilizados ângulos Euler ou RPY (Roll, Pitch e Yaw) para descrição da orientação de um corpo rígido no espaço. Ângulos de Euler EULER ψ, θ, ROTz, ψ . ROTy, θ . ROTz, ORIENTAÇÃO DO EFETUADOR CÁLCULO DA MATRIZ DE ORIENTAÇÃO A PARTIR DOS ANGULOS DE EULER (14) (, , ) CψCθC SψS CψCθSψ SψC SθCψ EULERψ, θ, SψSθC CψS SψCθS CψC SψSθ SθC SθS Cθ CÁLCULO DOS ÂNGULOS DE EULER A PARTIR DA MATRIZ DE ORIENTAÇÃO a AT AN2 x - a y sa x - Ca y AT AN2 aZ - C a x S S y AT AN2 Cn x Sn y (, , ) Ângulos RPY RPY, θ, ROTz, . ROTy, θ . ROTz, ORIENTAÇÃO DO EFETUADOR CÁLCULO DA MATRIZ DE ORIENTAÇÃO A PARTIR DOS ANGULOS RPY (, , ) CÁLCULO DOS ÂNGULOS RPY A PARTIR DA MATRIZ DE ORIENTAÇÃO ny AT AN2 nx nZ AT AN2 Cn x Sn y Sa x Ca y AT AN2 Ss x Cs y (, , ) Problema Cinemático Inverso A necessidade da obtenção de referências em coordenadas angulares, correspondentes a tarefas definidas no espaço cartesiano é expressa matematicamente pela inversão do modelo geométrico, isto é: = f -1 ( x ) • A função f é não linear e composta de soma de produtos de senos e cosenos das coordenadas generalizadas • Como f é não linear não se pode garantir a existência e/ou a unicidade de uma função inversa f -1 • Os métodos de solução do problema da inversão do modelo geométrico são: • Métodos analíticos: • Métodos numéricos iterativos Modelagem Cinemática Inversa • A transformação de coordenadas de um robô com n graus de liberdade revolutos pode ser formulada de forma que, a partir de uma configuração inicial do robô, na qual a suas variáveis articulares po são conhecidas, a posição completa de seu elemento terminal Xo será conhecida a partir do modelo do sistema. • A mudança de coordenadas consistirá de um funcional que descreverá a correspondência existente entre a cadeia cinemática para um conjunto de variáveis articulares p e sua posição X correspondente. x – x o= F( q – q o ) 1 Modelagem Cinemática Inversa • No caso da transformação inversa de coordenadas, uma determinada posição X do volume de trabalho do robô será atingida a partir de uma posição de repouso xo (obtenção dos ângulos Roll, Pitch, Yaw ou de Euler, a partir da matriz de orientação espacial). Esta equação não apresentará uma solução única, e a mesma poderá ser utilizada para o controle cinemático de mecanismos. (q - qo) = F-1 (x – xo) • 2 A transformação inversa que é muito complexa, não apresentando uma solução única. Para eliminarmos as indeterminações que aparecem no problema inverso, utiliza-se geralmente a matriz jacobiana, onde a mesma poderá ser utilizada para o controle cinemático de mecanismos. Matriz Jacobiana • Dada uma configuração inicial qo e Xo de um robô, as coordenadas X do elemento terminal são descritas pela equação (2). Para pequenos deslocamentos x associados aos deslocamentos das variáveis articulares q podemos escrever: X m1 = J mn q n1 • 3 A matriz Jacobiana J() será definida como: J F i, j i q j 4 que poderá ser construída a partir das relações cinemáticas que descrevem a arquitetura do robô X1 F1 q1 , q 2 ...q n X 2 F2 q1 , q 2 ...q n ... .......... X m Fn q1 , q 2 ...q n 5 Matriz Jacobiana • A matriz Jacobiana J() será definida como: F1 q 1 F2 q1 J q ... Fm q1 F1 q 2 F2 q 2 ... Fm q 2 F1 q n F2 q n ... ... ... ... ... Fm ... ... q n ... ... 6 Para uma robô, as coordenadas de seu elemento terminal serão descritas através de um vetor posição X (x, y, z) e sua orientação definida a partir de três ângulos (, , ). Inversão da Matriz Jacobiana (Controle de Posição de uma prótese) • O controle de uma prótese antropomórfica no espaço de juntas necessita de uma transformação inversa de coordenadas (F-1). Esta transformação poderá ser realizada a partir da inversão da matriz Jacobiana: q n1 = J# (q) mn X m1 • 7 Matematicamente, a relação 7 indica a variação do incremento q das variáveis articulares para um dado deslocamento X do elemento terminal do robô. Como a posição atual de cada articulação qi atual é perfeitamente conhecida (através dos sensores de posição), a partir da utilização da equação (7) de modo iterativo e recalculando J(q) a cada passo de iteração, uma trajetória X(t) poderá ser realizada num determinado tempo, em função da variação dos ângulos das juntas qi atual + qi. Malha de Controle de Posição A partir da comparação da posição atual do robô X (valor calculado a partir da posição atual X atual obtidas das informações de posições dos sensores de juntas ou da sinapse neural) e sua posição de referência Xd, um sinal de erro é amplificado e transformado em termos de coordenadas articulares q a partir do cálculo de J# (q). O sinal de erro é integrado e depois utilizado como sinal de entrada para controle das variáveis articulares da prótese. Malha de Controle de Posição Finalmente, a obtenção da matriz Jacobiana, utilizada no método recursivo para o cálculo do modelo cinemático inverso, é uma forma multidimensional da derivada e relaciona a velocidade no espaço de juntas à velocidade no espaço cartesiano. A sua solução deverá ser encontrada em tempo real através da utilização de algoritmos numéricos, onde será aproximada por x = J. q . Metodologia da Inversa Generalizada • Em muitos casos, a solução de um sistema de equações lineares existe, mesmo quando a inversa da matriz não existe. Este problema e muitos outros podem ser resolvidos através do conceito da pseudoinversa, ou matriz inversa generalizada. • A matriz inversa generalizada de uma matriz A deve atender a algumas das seguintes propriedades para obter sucesso: i) Deve reduzir-se a A-1 se A é não singular; ii) Deve sempre existir; iii) Deve possuir algumas das propriedades da inversa (ou modificações destas); iv) Quando usadas no lugar da inversa, deve ser capaz de proporcionar respostas sensíveis para questões importantes tais como consistência das equações, ou soluções dos mínimos quadrados. Metodologia da Inversa Generalizada • Moore e Penrose definiram a pseudoinversa de uma matriz A # como sendo a única solução para: A A# (A (A A# A A# ) t A# ) t A = A A# = A = A = A# A# A 8