robótica - fei.edu.brrbianchi/robotica/robotica-04-a-cinematica_in... · soluções analíticas x...
TRANSCRIPT
Objetivos desta aula
■ Modelo cinemático inverso:– Métodos analíticos (ou soluções
fechadas):• Geométrico (por Trigonometria).• Algébrico.
■ Matlab.
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
■ 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
■ Se l1 = l2, o espaço de trabalho alcançável consiste de um disco com raio 2l1.
■ 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.
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.
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
■ 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 para q1 e d2
12
12
sincos
dydx
==
REFERENCE POINT(x, y)
q1
f
x
y
1
2
d2
÷øö
çèæ=
++=
xyyxd
arctan1
222
q
÷øö
çèæ=
+-=
xyyxd
arctan1
222
q
Exemplo 2: R+P
■ Solução 1:
■ Solução 2:
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.
( )( ) °-°=
°°=
30,30arccos
150,30arcsin
23
21
Solucionando equações trigonométricas…
?,,cos
?,,sin
23
21
===
===
ycxc
xsxs
■ 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:
Função atan2(y,x)
Definição de atan2(y,x)
x
y
÷øö
çèæ+=
³<
xyyx
yx
arctan),(2atan
0,0
p
÷øö
çèæ=
>
xyyxa
x
arctan),(2tan
0
÷øö
çèæ+-=
<<
xyyxa
yx
arctan),(2tan
0,0
p
2),(2tan,1,0 p
-=-== yxayx
2),(2tan,1,0 p=== yxayx
÷øö
çèæ=
>
xyyxa
x
arctan),(2tan
0
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
■ 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 l1, l2 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}.
Solução geométrica para o 3R
■ Considerando o triângulo contínuo, podemos aplicar a “lei dos cossenos” para resolver θ2:
■ Agora, , assim:)180cos(2)( 21
22
21
222q--+=+ llllyx
÷÷ø
öççè
æ --+=
--+=
21
22
21
22
21
22
21
22
2arccos
2)cos(
llllyx
llllyx
2
2
q
q
cos(180−θ2 ) = −cos(θ2 )
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, l1 + l2. – 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 xe y:
),2(atan xy=b
Solução geométrica para o 3R
■ Aplicamos mais uma vez a lei dos cossenos para encontrar ψ:
■ Aqui, o arco cosseno deve ser resolvido de forma que 0 ≤ ψ ≤ 180° para que a geometria que leva a solução seja preservada.
221
22
21
22
2)cos(
yxlllyx
+
-++=y
Solução geométrica para o 3R
■ Então temos:
■ onde o sinal positivo é usado se θ2 < 0 e o negativo se θ2 > 0.
÷÷
ø
ö
çç
è
æ
+
-++±=
±=
221
22
21
22
1
1
2arccos),2(atan
,
yxlllyxxyq
ybq
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:
■ Logo:( )213 qqfq +-=
( )321 qqqf ++=
Conclusão geométrica 3R
■ Os ângulos são encontrados utilizando as seguintes equações:
( )213 qqfq +-=
÷÷
ø
ö
çç
è
æ
+
-++±=
221
22
21
22
12
arccos),2(atanyxlllyxxyq
÷÷ø
öççè
æ --+=
21
22
21
22
2arccos
llllyx
2q
Mas, e se L3 ≠ 0 ?
L3 ?????
x’
y’
Este é o ponto x’, y’
Simplificamos a solução para o caso já resolvido
ff
sin'cos'
3
3
lyylxx-=-=
E se for um manipulador 2R?
A solução apresentada parao 3R com L3 = 0 tambémfunciona para o 2R:
l2
l1
(x , y)
x
y
q1
q2
÷÷
ø
ö
çç
è
æ
+
-++±=
221
22
21
22
12
arccos),2(atanyxlllyxxyq
÷÷ø
öççè
æ --+=
21
22
21
22
2arccos
llllyx
2q
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, chegamos a um conjunto de quatro equações não lineares que devem ser resolvidas para θ1, θ2 e θ3:
cϕ = c123, (4.8)sϕ = s123, (4.9)x = l1c1 + l2c12, (4.10)y = l1s1 + l2s12. (4.11)
Solução analítica 3R
■ Agora começamos nossa solução algébrica das Equações (4.10) e (4.11):
x = l1c1 + l2c12
y = l1s1 + l2s12
■ Se elevarmos as duas ao quadrado, obtemos:
( )( ) 12121
212
22
21
21
212211
2
12121212
22
21
21
212211
2
2
2
ssllslslslsly
ccllclclclclx
++=+=
++=+=
( )( )
12121212
22
21
2112121
212
22
21
21
22
12121212
22
21
21
212211
2
12121212
22
21
21
212211
2
22)(
2
2
ssllslslccllclclyx
ssllslslslsly
ccllclclclclx
+++++=+
++=+=
++=+=
Solução analítica 3R
■ Se somarmos as duas, obtemos:
Solução analítica 3R
■ Se somarmos as duas, obtemos:
■ Reorganizando:
■ Mas , então:
12121212
22
21
2112121
212
22
21
21
22 22)( ssllslslccllclclyx +++++=+
)(2)()()( 1211212121
21
22
21
21
21
22 ssccllcslcslyx +++++=+
1)( 21
21 =+ cs
)(2)( 1211212122
21
22 ssccllllyx +++=+
Solução analítica 3R
■ Se somarmos as duas, obtemos:
■ Reorganizando:
■ Mas , então:
12121212
22
21
2112121
212
22
21
21
22 22)( ssllslslccllclclyx +++++=+
)(2)()()( 1211212121
21
22
21
21
21
22 ssccllcslcslyx +++++=+
1)( 21
21 =+ cs
)(2)( 1211212122
21
22 ssccllllyx +++=+
Tem comosimplificar isso?
■ Agora, pelas identidades trigonométricas “sabemos” que:
■ E portanto: 212112
212112
ssccccsscs
-=+=
Solução analítica 3R
)(2)( 1211212122
21
22 ssccllllyx +++=+
))()(()( 2121121211121121 csscssscccsscc ++-=+
212112
212112
csscsssccc
+=-=
■ Agora, pelas identidades trigonométricas “sabemos” que:
■ E portanto:
Solução analítica 3R
)(2)( 1211212122
21
22 ssccllllyx +++=+
))()(()( 2121121211121121 csscssscccsscc ++-=+
Solução analítica 3R
■ Reorganizando:
)(2)( 1211212122
21
22 ssccllllyx +++=+
))()(()( 2121121211121121 csscssscccsscc ++-=+
)()( 2212112112
21121121 csscssscccsscc ++-=+
Solução analítica 3R
■ Reorganizando:
)(2)( 1211212122
21
22 ssccllllyx +++=+
))()(()( 2121121211121121 csscssscccsscc ++-=+
)()( 2212112112
21121121 csscssscccsscc ++-=+
Solução analítica 3R
■ Reorganizando:
■ Então temos:
)(2)( 1211212122
21
22 ssccllllyx +++=+
))()(()( 2121121211121121 csscssscccsscc ++-=+
)()( 2212112112
21121121 csscssscccsscc ++-=+
)()( 2212
21121121 csccsscc +=+
Solução analítica 3R
■ Reorganizando:
■ Então temos:
■ Ou:
)(2)( 1211212122
21
22 ssccllllyx +++=+
))()(()( 2121121211121121 csscssscccsscc ++-=+
)()( 2212112112
21121121 csscssscccsscc ++-=+
)()( 2212
21121121 csccsscc +=+
)()( 21
212121121 sccsscc +=+
Solução analítica 3R
■ Reorganizando:
■ Então temos:
■ Mas:
)(2)( 1211212122
21
22 ssccllllyx +++=+
))()(()( 2121121211121121 csscssscccsscc ++-=+
)()( 2212112112
21121121 csscssscccsscc ++-=+
)()( 2212
21121121 csccsscc +=+
)()( 21
212121121 sccsscc +=+
1
Solução analítica 3R
■ Reorganizando:
■ Então temos:
■ Logo:
)(2)( 1211212122
21
22 ssccllllyx +++=+
))()(()( 2121121211121121 csscssscccsscc ++-=+
)()( 2212112112
21121121 csscssscccsscc ++-=+
)()( 2212
21121121 csccsscc +=+
2121121 )( csscc =+
Solução analítica 3R
■ Reorganizando:
■ Então temos:
■ Logo:
)(2)( 1211212122
21
22 ssccllllyx +++=+
))()(()( 2121121211121121 csscssscccsscc ++-=+
)()( 2212112112
21121121 csscssscccsscc ++-=+
)()( 2212
21121121 csccsscc +=+
2121121 )( csscc =+
Solução analítica 3R
■ Substituindo■ Em■ Temos:
■ Ou seja:
)(2)( 1211212122
21
22 ssccllllyx +++=+
2121121 )( csscc =+
22122
21
22 2)( cllllyx ++=+
÷÷ø
öççè
æ --+=
--+=
21
22
21
22
21
22
21
22
2arccos
2)cos(
llllyx
llllyx
2
2
q
q
Solução analítica versus Geométrica do 3R■ As duas soluções deram a mesma
resposta...
■ 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.
÷÷ø
öççè
æ --+=
21
22
21
22
2arccos
llllyx
2q
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ϕ = c123 e sϕ = s123, logicamente
( ) ( )213321 qqfqqqqf +-=++= e
REFERENCE POINT
φ(x,y)
σ =-1
σ =+1
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”.
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.
PUMA: modelo diretoOnde: ( )[ ] ( )
( )[ ] ( )( )
( )[ ] ( )( )[ ] ( )( )
( )( )
( )( )
23422233
13234233221
13234233221
5235423
54152354231
54152354231
65236465423
654641652364654231
654641652364654231
65236465423
646541652364654231
646541652364654231
cdsacapcdsdcacaspsdsdcacacp
ccscsassccscccsassscscccca
ssccscccsoscsccccssssccccsoscsccscssssccccco
cscsscccsnscsssccssssccccsnscsssscsssscccccn
z
y
x
z
y
x
z
y
x
z
y
x
-+--=
--+=--+=
-=
+--=---=
----=
-----=-+---=
---=
+---=++--=
Inversão: páginas 117 a 121 do Craig.
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).