Robótica
Objetivos desta aula Modelo cinemático inverso: Métodos analíticos (ou soluções fechadas): Geométrico (por Trigonometria). Algébrico.
Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control Paul, R. P. - 1982 - MIT Press. Robot Analysis: The Mechanics of Serial and Parallel Manipulators Lung-Wen TSAI - 1999 - John Wiley.
Cinemática Inversa K -1 ( 1 n ) (x, y, z, x, y, z )
Cinemática Inversa Como o próprio nome diz: Como encontrar as posições das juntas dadas a posição e a orientação da ferramenta. Problema complexo: Planejamento de trajetória Dinâmica.
Cinemática Inversa We do inverse kinematics unwittingly, our eyes can determine where an object is in 3D space, and our sub-sub-conscious can figure out the variables required to move our hand to that position
Introdução O problema de resolver as equações cinemáticas de um manipulador é não linear. Como em qualquer conjunto de equações não lineares, temos de nos preocupar com: a existência de soluções, com múltiplas soluções e com o método de solução.
Existência de soluções Para que uma solução exista, o alvo deve estar dentro do espaço de trabalho. Computar o envelope é difícil Cada manipulador tem de ser estudado para se entender o seu espaço de trabalho. Projetos especiais facilitam essa computação.
Exemplo: 2R
Exemplo: 2R Se l 1 = l 2, o espaço de trabalho alcançável consiste de um disco com raio 2l 1. Dentro do espaço de trabalho alcançável há duas orientações possíveis para o efetuador. Nos limites do espaço de trabalho existe apenas uma orientação possível.
Duas soluções: qual a melhor? O problema pode ter mais que uma solução Como escolher a apropriada?
Escolhendo Soluções O fato de um manipulador ter múltiplas soluções pode causar problemas, porque o sistema deve ser capaz de escolher uma. Os critérios nos quais basear a decisão variam, mas uma opção bastante razoável seria a solução mais próxima.
Escolhendo Soluções Por exemplo, se o manipulador está no ponto A, como na figura anterior e queremos levá-lo para o ponto B, uma boa escolha seria a solução que minimiza o quanto cada junta terá de se mover. Assim, na ausência do obstáculo, a configuração superior pontilhada da Figura seria escolhida.
Qual a mais apropriada?
Puma: 4 soluções para o manipulador
Puma: 2 Soluções para o pulso Total: 8 soluções
Métodos de Solução para a Cinemática Inversa Enquanto a função f() é relativamente fácil de computar, f -1 () geralmente não o é. Dado o valor numérico de uma transformada, tentamos encontrar os valores de θ 1, θ 2,... θ n Pode ser solucionado de diversas maneiras: Geometricamente. Algebricamente. Numericamente.
Manipulador Solucionável Um manipulador é considerado solucionável se: existir um algoritmo que permita determinar todo o conjunto de variáveis de juntas associados a uma posição e orientação dadas. O principal ponto dessa definição é que, no caso de múltiplas soluções, deve ser possível calcular todas elas.
Soluções analíticas x numéricas Soluções do problema da cinemática inversa podem ser classificadas em: Analíticas (ou soluções fechadas): Encontram uma solução exata através da inversão das equações de cinemática direta. É possível apenas para problemas simples. Numéricas: Utilizam aproximação e diversas iterações para tentar convergir para a solução. Tendem a ser mais genéricos e computacionalmente mais custosos.
Cinemática inversa utilizando métodos analíticos. Soluções fechadas ou Closed-form solutions
Método analítico. Para criar o modelo cinemático inverso, basta analisar o problema matematicamente. Vantagens: Cria o modelo completo. Desvantagens: Complexidade dependendo da geometria do manipulador.
Soluções de forma fechada Forma fechada significa: um método de solução baseado em expressões analíticas ou na solução de um polinômio de grau 4 ou menor. Apenas cálculos não iterativos são suficientes para chegar a uma solução.
Exemplo 1: 2P Dados x, y, solucione para d1, d2: d 1 d 2 x d 2 y d 1
Exemplo 1: 2P A cinemática direta e a inversa são triviais para juntas prismáticas. Existe somente uma solução: Equações lineares. Não usam funções trigonométricas. Por este motivo esta geometria é popular: CNC Gantry Plotters,
Exemplo 2: R+P Dados x e y, solucionar y d 2 REFERENCE POINT (x, y) para 1 e d 2 2 x d 2 cos 1 1 1 x y d 2 sin 1
Exemplo 2: R+P Solução 1: d 2 2 2 x y y 1 arctan x Solução 2: d 2 2 2 x y y 1 arctan x
Solucionando equações trigonométricas A cinemática inversa geralmente envolve funções trigonométricas: Inverso das funções geralmente possuem múltiplas soluções. Ruim pois causa indefinição sobre o ângulo real do manipulador.
Solucionando equações trigonométricas s sin x,s,x? 1 2 c cos x,c 3 2,y? arcsin 1 2 30,150 arccos 30, 30 3 2
Função atan2(y,x) Função atan2(y,x): Função inversa da tangente. Leva 2 argumento: x e y, com sinais. Sempre gera a mesma resposta. Definição:
Definição de atan2(y,x) y x 0, y 0 y atan 2(x, y) arctan x x 0, y 0 y a tan 2(x, y) arctan x x 0, y 1, x 0 a tan 2(x, y) 2 y a tan 2(x, y) arctan x x 0 a tan 2(x, y) arctan y x x x 0, y 1, a tan 2(x, y) 2
Atan2(y,x)
Algébrico x Geométrico Dois métodos podem ser usados para se obter a solução fechada: o algébrico e o geométrico. Tal distinção é um tanto quanto nebulosa: todo método geométrico empregado é aplicado por expressões algébricas, portanto os dois métodos são similares. Os métodos diferem apenas em termos de abordagem.
Algébrico x Geométrico Como introdução, vamos considerar as duas abordagens para a solução de um manipulador planar simples de três elos: Geométrica Algébrica
Exemplo 3: Manipulador 3R
Exemplo 3: Manipulador 3R Como trabalhamos com um manipulador planar, a especificação desses pontos alvos pode ser obtida com mais facilidade especificando-se três números: x, y e ϕ, sendo ϕ a orientação do elo 3 no plano.
Solução geométrica para o 3R Na abordagem geométrica para encontrar a solução de um manipulador, procuramos decompor a geometria espacial do braço em vários problemas de geometria plana. Para muitos manipuladores (em particular quando α i = 0 ou ±90), isso consegue ser feito com bastante facilidade.
Solução geométrica para o 3R A Figura 4.8 mostra o triângulo formado por l 1, l 2 e a linha que une a origem do sistema de referência {0} com a origem do sistema de referência {3}. As linhas pontilhadas representam a outra configuração possível do triângulo que levaria à mesma posição do sistema de referência {3}.
Figura 4.8 (livro Craig) ϕ
Figura 4.8 (livro Craig) θ 2 θ 3 θ 1
Solução geométrica para o 3R Considerando o triângulo contínuo, podemos aplicar a lei dos cossenos para resolver θ 2 : (x 2 y 2 ) l 2 l 2 2l l cos(180 ) 1 2 1 2 2 Agora,cos(180 2 ) cos( 2 ), assim: cos( ) x 2 2 2 2 2 y l 1 l 2 2l 1 l 2 x 2 y 2 l 2 l 1 2 2 arccos 2l 1 l 2 2
Figura 4.8 (livro Craig)
Solução geométrica para o 3R Para que esse triângulo exista, a distância ao ponto alvo deve ser menor ou igual à soma do comprimento dos elos, l 1 + l 2. Em um algoritmo computacional essa condição seria verificada neste ponto, para confirmar a existência de soluções. Tal condição não é satisfeita quando o ponto alvo está fora do alcance do manipulador.
Solução geométrica para o 3R Presumindo que uma solução existe, essa equação é resolvida por um valor de θ 2 que está entre 0 e 180 graus, porque somente para esses valores o triângulo da Figura 4.8 existe. A outra solução possível (indicada pelo triângulo pontilhado) é encontrada por simetria como θ' 2 = θ 2.(arccos resulta em 2 valores)
Solução geométrica para o 3R Para resolver θ 1, encontramos expressões para os ângulos ψ e β como mostra a Figura 4.8. Primeiro, β pode estar em qualquer quadrante, dependendo dos sinais de x e y: atan 2(y, x)
Figura 4.8 (livro Craig)
Solução geométrica para o 3R Aplicamos mais uma vez a lei dos cossenos para encontrar ψ: x 2 y 2 l 2 l 1 2 cos( ) 2l x 2 y 2 1 Aqui, o arco cosseno deve ser resolvido de forma que 0 ψ 180 para que a geometria que leva a solução seja preservada. 2
Solução geométrica para o 3R Então temos: 1, x2 y 2 l 2 l 1 atan 2(y, x) arccos 1 2 2 2 2l 1 x y onde o sinal positivo é usado se θ 2 < 0 e o negativo se θ 2 > 0. 2
Solução geométrica para o 3R Sabemos que os ângulos de um plano se somam, portanto a soma dos três ângulos de juntas deve ser a orientação do último elo: 1 2 3 Logo: 3 1 2
Conclusão geométrica 3R Os ângulos são encontrados utilizando as seguintes equações: x2 y 2 l 2 l 1 2 1 atan 2(y, x) arccos 2l x 2 1 y 2 2 x 2 y 2 l 2 l 1 2 2 arccos 2l 1 l 2 3 1 2 2
Mas, e se L 3 0? L 3?????
Mas, e se L 3 0? y L 3????? x
Mas, e se L 3 0? y L 3????? x
Mas, e se L 3 0? y L 3????? Este é o ponto x, y x x' l 3 cos y y' l 3 sin x Simplificamos a solução para o caso já resolvido
E se for um manipulador 2R? y l 1 l 2 2 (x, y) A solução apresentada para o 3R com L 3 = 0 também funciona para o 2R: x2 y 2 l 2 l 2 1 2 1 atan 2(y, x) arccos 2l x 2 1 y 2 1 x x 2 y 2 l 2 l 1 2 2 arccos 2l 1 l 2 2
2R+1P Similar aos dois exemplos 1P e 2R: Parte do manipulador é 2R: A parte de posicionamento no eixo z (altura) é direta: junta prismática! Por este motivo também é muito popular.
Solução analítica para o 3R Seguindo o método do Capítulo 3, podemos usar os parâmetros de elos com facilidade para encontrar as equações cinemáticas desse braço:
Solução analítica para o 3R Em vez de fornecer uma transformada genérica como especificação de alvo, vamos considerar uma transformação com a estrutura:
Solução analítica 3R Igualando as duas matrizes =
Solução analítica 3R Igualando as duas matrizes, chegamos a um conjunto de quatro equações não lineares que devem ser resolvidas para θ 1, θ 2 e θ 3 : c ϕ = c 123, (4.8) s ϕ = s 123, (4.9) x = l 1 c 1 + l 2 c 12, (4.10) y = l 1 s 1 + l 2 s 12. (4.11)
Solução analítica 3R Agora começamos nossa solução algébrica das Equações (4.10) e (4.11): x = l 1 c 1 + l 2 c 12 y = l 1 s 1 + l 2 s 12 Se elevarmos as duas ao quadrado, obtemos: 2 2 x l 2 2 1c1 l2c 12 l1 c1 2 2 y l 1 s1 l2s 12 2 l 1 s 2 1 2 2 2 12 l c 2l 1 l 2 c 1 c 12 2 l 2 s 2l l s s 2 12 1 2 1 12
Solução analítica 3R Se somarmos as duas, obtemos: 2 2 x l 1c1 l2c 12 2 2 y l 1 s1 l2s 12 2 2 1 1 l c 2 l 1 s 2 1 2 2 2 12 l c 2l 1 l 2 c 1 c 12 2 l 2 s 2l 1 l 2 s 1 s 12 2 12 x 2 y 2 ) l 2 c 2 l 1 1 2 c 2 2l l c c 2l l s s 2 12 1 2 1 12 l 2 2 s 2 1 s 2 1 l 2 12 1 2 1 12
Solução analítica 3R Se somarmos as duas, obtemos: x 2 y 2 ) l 2 c 2 l Reorganizando: Mas 1 1 2 12 2 c 2 2l l c c 2l l s s 1 2 1 12 l 2 2 s 2 1 s 2 1 l 2 12 (x 2 y 2 ) l 2 (s 2 c 2 ) l 2 (s 2 c 2 ) 2 1 2 1 12 1 1 1 2 1 1 l1l 2(c1c 12 s1 s 12 ) (s c ) 1 2 2 1 1, então: (x 2 y 2 ) l 2 1 l 2 2 2 l1l 2(c1c 12 s1 s 12 )
Solução analítica 3R Se somarmos as duas, obtemos: x 2 y 2 ) l 2 c 2 l Reorganizando: Mas 1 1 2 12 2 c 2 2l l c c 2l l s s 1 2 1 12 l 2 2 s 2 1 s 2 1 l 2 12 (x 2 y 2 ) l 2 (s 2 c 2 ) l 2 (s 2 c 2 ) 2 1 2 1 12 1 1 1 2 1 1 l1l 2(c1c 12 s1 s 12 ) (s c ) 1 2 2 1 1, então: (x 2 y 2 ) l 2 1 l 2 2 2 l1l 2(c1c 12 s1 s 12 ) Tem como simplificar isso?
Solução analítica 3R (x 2 y 2 ) l 2 l 2 2 1 2 l1 l 2(c1c 12 s1 s 12 )
Solução analítica 3R (x 2 y 2 ) l 2 1 l 2 2 2 l1l 2(c1c12 s1 s 12 ) Agora, pelas identidades trigonométricas sabemos que: s 12 c 1 s 2 s 1 c 2 c 12 c 1 c 2 s 1 s 2 E portanto: (c 1 c 12 s 1 s 12 ) (c 1 (c 1 c 2 s 1 s 2 ) s 1 (c 1 s 2 s 1 c 2 ))
Sabemos: http://pt.wikipedia.org/wiki/identidade_trigonométrica
Solução analítica 3R Agora, pelas identidades trigonométricas sabemos que: c 12 c 1 c 2 s 1 s 2 s 12 c 1 s 2 s 1 c 2 E portanto: (x 2 y 2 ) l 2 l 2 2 1 2 l1 l 2(c1c 12 s1 s 12 ) (c 1 c 12 s 1 s 12 ) (c 1 (c 1 c 2 s 1 s 2 ) s 1 (c 1 s 2 s 1 c 2 ))
Solução analítica 3R (x 2 y 2 ) l 2 1 l 2 2 2 l1l 2(c1c12 s1 s 12 ) (c 1 c 12 s 1 s 12 ) (c 1 (c 1 c 2 s 1 s 2 ) s 1 (c 1 s 2 s 1 c 2 )) Reorganizando: (c c s s ) (c c 2 c s s s c s s 2 c ) 1 12 1 12 1 2 1 1 2 1 1 2 1 2
Solução analítica 3R (x 2 y 2 ) l 2 1 l 2 2 2 l1l 2(c1c12 s1 s 12 ) (c 1 c 12 s 1 s 12 ) (c 1 (c 1 c 2 s 1 s 2 ) s 1 (c 1 s 2 s 1 c 2 )) Reorganizando: (c c s s ) (c c 2 c s s s c s s 2 c ) 1 12 1 12 1 2 1 1 2 1 1 2 1 2
Solução analítica 3R (x 2 y 2 ) l 2 1 l 2 2 2 l1l 2(c1c12 s1 s 12 ) (c 1 c 12 s 1 s 12 ) (c 1 (c 1 c 2 s 1 s 2 ) s 1 (c 1 s 2 s 1 c 2 )) Reorganizando: (c c s s ) (c c 2 c s s s c s s 2 c ) 1 12 1 12 1 2 1 1 2 1 1 2 1 2 Então temos: (c c s s ) (c c 2 s 2 c ) 1 12 1 12 1 2 1 2
Solução analítica 3R (x 2 y 2 ) l 2 1 l 2 2 2 l1l 2(c1c12 s1 s 12 ) (c 1 c 12 s 1 s 12 ) (c 1 (c 1 c 2 s 1 s 2 ) s 1 (c 1 s 2 s 1 c 2 )) Reorganizando: (c c s s ) (c c 2 c s s s c s s 2 c ) 1 12 1 12 1 2 1 1 2 1 1 2 1 2 Então temos: Ou: (c c s s ) (c c 2 s 2 c ) 1 12 1 12 1 2 1 2 (c c s s ) c (c 2 s 2 ) 1 12 1 12 2 1 1
Solução analítica 3R (x 2 y 2 ) l 2 1 l 2 2 2 l1l 2(c1c12 s1 s 12 ) (c 1 c 12 s 1 s 12 ) (c 1 (c 1 c 2 s 1 s 2 ) s 1 (c 1 s 2 s 1 c 2 )) Reorganizando: (c c s s ) (c c 2 c s s s c s s 2 c ) 1 12 1 12 1 2 1 1 2 1 1 2 1 2 Então temos: Mas: (c c s s ) (c c 2 2 1 12 1 12 1 2 s1 c 2) (c c s s ) c (c 2 s 2 ) 1 12 1 12 2 1 1 1
Solução analítica 3R (x 2 y 2 ) l 2 1 l 2 2 2 l1l 2(c1c12 s1 s 12 ) (c 1 c 12 s 1 s 12 ) (c 1 (c 1 c 2 s 1 s 2 ) s 1 (c 1 s 2 s 1 c 2 )) Reorganizando: (c c s s ) (c c 2 c s s s c s s 2 c ) 1 12 1 12 1 2 1 1 2 1 1 2 1 2 Então temos: Logo: (c c s s ) (c c 2 s 2 c ) 1 12 1 12 1 2 1 2 (c 1 c 12 s 1 s 12 ) c 2
Solução analítica 3R (x 2 y 2 ) l 2 1 l 2 2 2 l1l 2(c1c12 s1 s 12 ) (c 1 c 12 s 1 s 12 ) (c 1 (c 1 c 2 s 1 s 2 ) s 1 (c 1 s 2 s 1 c 2 )) Reorganizando: (c c s s ) (c c 2 c s s s c s s 2 c ) 1 12 1 12 1 2 1 1 2 1 1 2 1 2 Então temos: Logo: (c c s s ) (c c 2 s 2 c ) 1 12 1 12 1 2 1 2 (c 1 c 12 s 1 s 12 ) c 2
Solução analítica 3R Substituindo (c 1 c 12 s 1 s 12 ) c 2 Em (x 2 y 2 ) l 2 1 l 2 2 2 l1l 2(c1c12 s1 s 12 ) Temos: Ou seja: cos( ) x (x 2 y 2 ) l 2 l 2 2l l c 1 2 1 2 2 2 2 2 2 y l 1 l 2 2l 1 l 2 x 2 y 2 l 2 l 1 2 2 arccos 2l 1 l 2 2 2
Solução analítica versus Geométrica do 3R As duas soluções deram a mesma resposta... x 2 y 2 l 2 l 1 2 2 arccos 2l 1 l 2 Era de se esperar... Se o argumento da função arccos não estiver entre -1 e 1, significa que o ponto não pode ser alcançado. 2
Solução analítica 3R E o θ 1? Substituindo-se os valores de θ 2 nas equações para x e y, e fazendo algumas substituições, se encontra o valor de θ 1. (ver pg 111) E θ 3? Se c ϕ = c 123 e s ϕ = s 123, logicamente 1 2 3 e 3 1 2
Conclusão do 3R Existem duas soluções para o problema de cinemática inversa de um manipulado 3R. Exceto em pontos chamados de singularidades. REFERENCE POINT (x,y) =+1 =-1
Solução de Pieper Embora um robô completamente genérico com 6 DOF não tenha uma solução em forma fechada, casos especiais podem ser resolvidos: Pieper estudou manipuladores com seis graus de liberdade nos quais três eixos consecutivos se cruzam em um ponto. Se aplica à maioria dos robôs industriais disponíveis no mercado.
Solução de Pieper Quando os últimos três eixos se cruzam, as origens dos sistemas de referência de elos {4}, {5} e {6} estão localizadas nesse ponto de intersecção. Assim, podemos reduzir o problema para a solução de um manipulador com 3 DOF:
Solução de Pieper Para completar a solução, deve se encontrar θ 4, θ 5 e θ 6. Esses eixos se cruzam, de forma que esses ângulos de junta afetam a orientação somente do último elo. Podemos computá-los a partir de nada mais que a porção rotacional do alvo especificado. Solução completa pgs 114 a 116 do Craig, 3ª. Edição em inglês.
Exercício 1: PUMA (6R)
PUMA: modelo direto n x o x a x p x o a p 0 y y 6T n y y n z o z a z p z 0 0 0 1
PUMA: modelo direto Onde: n x c 1 c 23 c 4 c 5 c 6 s 4 s 6 s 2 3 s 5 c 6 s 1 s 4 s 5 s 6 c 4 s 6 n y s 1 c 23 c 4 c 5 c 6 s 4 s 6 s 2 3 s 5 c 6 c 1 s 4 s 5 s 6 c 4 s 6 n z s 23 c 4 c 5 c 6 s 4 s 6 c 2 3 s 5 c 6 o x c 1 c 23 c 4 c 5 c 6 s 4 s 6 s 2 3 s 5 c 6 s 1 c 4 c 6 s 4 c 5 s 6 o y s 1 c 23 c 4 c 5 c 6 s 4 s 6 s 2 3 s 5 c 6 c 1 c 4 c 6 s 4 c 5 s 6 o z s 23 c 4 c 5 c 6 s 4 c 6 c 23 s 5 s 6 a x c 1 c 2 3 c 4 c 5 s 2 3 c 5 s 1 s 4 s 5 a y s 1 c 2 3 c 4 c 5 s 2 3 c 5 c 1 s 4 s 5 a z s 23 c 4 s 5 c 23 c 5 p x c 1 a 2 c 2 a 3 c 23 d 4 s 23 d 3 s 1 p y s 1 a 2 c 2 a 3 c 23 d 4 s 23 d 3 c 1 p z a 3 c 23 a 2 s 2 d 4 c 23 Inversão: páginas 117 a 121 do Craig.
PUMA: cinemática inversa
PUMA: cinemática inversa
Conclusão. Não é fácil obter o modelo cinemático inverso a partir da geometria do manipulador: Altamente não linear. Ambigüidade. Solução completa para apenas alguns tipos de geometrias: Geometrias simplistas (1R, 2R, 3R, 3P, RP, ) PUMA (6R decoupled). Stanford Arm (5R-1P).