ROBOTICA 04 A Cinematica - Inversa PDF

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 89

Robótica

Prof. Reinaldo Bianchi


Centro Universitário FEI
2016
4a Aula

Pós Graduação IECAT


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
K-1

(q1 … qn) (x, y, z, qx, qy, qz)


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

para d1, d2: d1

x = d2
y = d1
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,
REFERENCE
■ POINT
(x, y)
solucionar d2
y
para q1 e d2 f
2

x = d 2 cos q1 q1
x
1

y = d 2 sin q1
Exemplo 2: R+P

■ Solução 1: d2 = + x2 + y 2
æ yö
q1 = arctanç ÷
èxø

■ Solução 2: d2 = - x2 + y 2
æ yö
q1 = 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 = 12 ,x = ?

c = cos x,c = 2
3
,y = ?

arcsin ( 12 ) = 30°,150°
arccos ( ) = 30°,- 30°
2
3
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)
p
y x = 0, y = 1, a tan 2( x, y ) =
2
x < 0, y ³ 0
æ yö x>0
atan 2( x, y ) = p + arctanç ÷
èxø æ yö
a tan 2( x, y ) = arctanç ÷
èxø
x

x < 0, y < 0 x>0


æ yö
a tan 2( x, y ) = -p + arctanç ÷ a tan 2( x, y ) = arctanæç y ö÷
èxø èxø
p
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 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}.
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 ) = l1 + l2 - 2l1l2 cos(180 - q 2 )
2 2

■ Agora, cos(180 − θ 2 ) = −cos(θ 2 ), assim:


2 2
x 2 + y 2 - l1 - l2
cos(q 2 ) =
2l1l2
æ x 2 + y 2 - l12 - l2 2 ö
q 2 = arccosçç ÷
÷
è 2 l l
1 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, 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 x
e y:
b = 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 ψ:
2 2
x + y + l1 - l2
2 2
cos(y ) =
2l1 x 2 + y 2
■ Aqui, o arco cosseno deve ser resolvido
de forma que 0 ≤ ψ ≤ 180° para que a
geometria que leva a solução seja
preservada.
Solução geométrica para o 3R

■ Então temos:
q1 = b ±y ,
æ x2 + y2 + l 2 - l 2 ö
q1 = atan 2( y, x) ± arccosç 1 2 ÷
ç 2l x 2 + y 2 ÷
è 1 ø
■ onde o sinal positivo é usado se θ2 < 0 e
o negativo se θ2 > 0.
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:
f = (q1 + q 2 + q 3 )
■ Logo:
q 3 = f - (q1 + q 2 )
Conclusão geométrica 3R

■ Os ângulos são encontrados utilizando


as seguintes equações:
æ x2 + y2 + l 2 - l 2 ö
q1 = atan 2( y, x) ± arccosç 1 2 ÷
ç 2l x 2 + y 2 ÷
è 1 ø
æ x 2 + y 2 - l12 - l2 2 ö
q 2 = arccosçç ÷
÷
è 2 l l
1 2 ø
q 3 = f - (q1 + q 2 )
Mas, e se L3 ≠ 0 ?
L3 ?????
Mas, e se L3 ≠ 0 ?
L3 ?????
y’

x’
Mas, e se L3 ≠ 0 ?
L3 ?????
y’

x’
Mas, e se L3 ≠ 0 ?
L3 ????? Este é o ponto x’, y’
y’

x = x'-l3 cos f
y = y '-l3 sin f

x’
Simplificamos a solução para o caso já resolvido
E se for um manipulador 2R?
(x , y)
A solução apresentada para
y o 3R com L3 = 0 também
funciona para o 2R:
l2 q2
æ x2 + y2 + l 2 - l 2 ö
q1 = atan 2( y, x) ± arccosç 1 2 ÷
ç 2l x 2 + y 2 ÷
l1 è 1 ø

q1 æ x 2 + y 2 - l12 - l2 2 ö
q 2 = arccosçç ÷
÷
è 2 l l
1 2 ø
x
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ϕ = 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:
x 2 = (l1c1 + l2 c12 ) = l1 c12 + l2 c122 + 2l1l2 c1c12
2 2 2

y = (l1s1 + l2 s12 ) = l s + l s + 2l1l2 s1s12


2 2 2 2 2 2
1 1 2 12
Solução analítica 3R

■ Se somarmos as duas, obtemos:

x 2 = (l1c1 + l2 c12 ) = l1 c12 + l2 c122 + 2l1l2 c1c12


2 2 2

y = (l1s1 + l2 s12 ) = l s + l s + 2l1l2 s1s12


2 2 2 2 2 2
1 1 2 12

2 2 2 2 2 2 2 2
( x + y ) = l c + l c + 2l1l2 c1c12 + l s + l s + 2l1l2 s1s12
2 2
1 1 2 12 1 1 2 12
Solução analítica 3R

■ Se somarmos as duas, obtemos:


2 2 2 2 2 2 2 2
( x + y ) = l c + l c + 2l1l2 c1c12 + l s + l s + 2l1l2 s1s12
2 2
1 1 2 12 1 1 2 12

■ Reorganizando:
( x 2 + y 2 ) = l12 ( s12 + c12 ) + l22 ( s12 + c12 ) + 2l1l2 (c1c12 + s1s12 )
■ Mas ( s12 + c12 ) = 1, então:
( x 2 + y 2 ) = l12 + l22 + 2l1l2 (c1c12 + s1s12 )
Solução analítica 3R

■ Se somarmos as duas, obtemos:


2 2 2 2 2 2 2 2
( x + y ) = l c + l c + 2l1l2 c1c12 + l s + l s + 2l1l2 s1s12
2 2
1 1 2 12 1 1 2 12

■ Reorganizando:
( x 2 + y 2 ) = l12 ( s12 + c12 ) + l22 ( s12 + c12 ) + 2l1l2 (c1c12 + s1s12 )
■ Mas ( s12 + c12 ) = 1, então:
( x 2 + y 2 ) = l12 + l22 + 2l1l2 (c1c12 + s1s12 )

Tem como
simplificar isso?
Solução analítica 3R

( x 2 + y 2 ) = l12 + l22 + 2l1l2 (c1c12 + s1s12 )


Solução analítica 3R

( x 2 + y 2 ) = l12 + l22 + 2l1l2 (c1c12 + s1s12 )


■ Agora, pelas identidades
trigonométricas “sabemos” que:
s12 = c1s2 + s1c2
c12 = c1c2 - s1s2

■ E portanto:
(c1c12 + s1s12 ) = (c1 (c1c2 - s1s2 ) + s1 (c1s2 + s1c2 ))
Sabemos:

http://pt.wikipedia.org/wiki/Identidade_trigonométrica
Solução analítica 3R

( x 2 + y 2 ) = l12 + l22 + 2l1l2 (c1c12 + s1s12 )


■ Agora, pelas identidades
trigonométricas “sabemos” que:
c12 = c1c2 - s1s2
s12 = c1s2 + s1c2

■ E portanto:
(c1c12 + s1s12 ) = (c1 (c1c2 - s1s2 ) + s1 (c1s2 + s1c2 ))
Solução analítica 3R

( x 2 + y 2 ) = l12 + l22 + 2l1l2 (c1c12 + s1s12 )


(c1c12 + s1s12 ) = (c1 (c1c2 - s1s2 ) + s1 (c1s2 + s1c2 ))
■ Reorganizando:
(c1c12 + s1s12 ) = (c12 c2 - c1s1s2 + s1c1s2 + s12 c2 )
Solução analítica 3R

( x 2 + y 2 ) = l12 + l22 + 2l1l2 (c1c12 + s1s12 )


(c1c12 + s1s12 ) = (c1 (c1c2 - s1s2 ) + s1 (c1s2 + s1c2 ))
■ Reorganizando:
(c1c12 + s1s12 ) = (c12 c2 - c1s1s2 + s1c1s2 + s12 c2 )
Solução analítica 3R

( x 2 + y 2 ) = l12 + l22 + 2l1l2 (c1c12 + s1s12 )


(c1c12 + s1s12 ) = (c1 (c1c2 - s1s2 ) + s1 (c1s2 + s1c2 ))
■ Reorganizando:
(c1c12 + s1s12 ) = (c12 c2 - c1s1s2 + s1c1s2 + s12 c2 )
■ Então temos:
(c1c12 + s1s12 ) = (c c + s c )
2
1 2
2
1 2
Solução analítica 3R

( x 2 + y 2 ) = l12 + l22 + 2l1l2 (c1c12 + s1s12 )


(c1c12 + s1s12 ) = (c1 (c1c2 - s1s2 ) + s1 (c1s2 + s1c2 ))
■ Reorganizando:
(c1c12 + s1s12 ) = (c12 c2 - c1s1s2 + s1c1s2 + s12 c2 )
■ Então temos:
(c1c12 + s1s12 ) = (c c + s c )
2
1 2
2
1 2

■ Ou:
(c1c12 + s1s12 ) = c2 (c12 + s12 )
Solução analítica 3R

( x 2 + y 2 ) = l12 + l22 + 2l1l2 (c1c12 + s1s12 )


(c1c12 + s1s12 ) = (c1 (c1c2 - s1s2 ) + s1 (c1s2 + s1c2 ))
■ Reorganizando:
(c1c12 + s1s12 ) = (c12 c2 - c1s1s2 + s1c1s2 + s12 c2 )
■ Então temos:
(c1c12 + s1s12 ) = (c c + s c )
2
1 2
2
1 2

■ Mas: 1
(c1c12 + s1s12 ) = c2 (c12 + s12 )
Solução analítica 3R

( x 2 + y 2 ) = l12 + l22 + 2l1l2 (c1c12 + s1s12 )


(c1c12 + s1s12 ) = (c1 (c1c2 - s1s2 ) + s1 (c1s2 + s1c2 ))
■ Reorganizando:
(c1c12 + s1s12 ) = (c12 c2 - c1s1s2 + s1c1s2 + s12 c2 )
■ Então temos:
(c1c12 + s1s12 ) = (c c + s c )
2
1 2
2
1 2

■ Logo:
(c1c12 + s1s12 ) = c2
Solução analítica 3R

( x 2 + y 2 ) = l12 + l22 + 2l1l2 (c1c12 + s1s12 )


(c1c12 + s1s12 ) = (c1 (c1c2 - s1s2 ) + s1 (c1s2 + s1c2 ))
■ Reorganizando:
(c1c12 + s1s12 ) = (c12 c2 - c1s1s2 + s1c1s2 + s12 c2 )
■ Então temos:
(c1c12 + s1s12 ) = (c12 c2 + s12 c2 )
■ Logo:
(c1c12 + s1s12 ) = c2
Solução analítica 3R

■ Substituindo (c1c12 + s1s12 ) = c2


■ Em ( x 2 + y 2 ) = l12 + l22 + 2l1l2 (c1c12 + s1s12 )
■ Temos: 2 2
( x + y ) = l1 + l2 + 2l1l2 c2
2 2

2 2
■ Ou seja: cos(q ) = x + y - l1 - l2
2 2

2
2l1l2
æ x 2 + y 2 - l12 - l2 2 ö
q 2 = arccosçç ÷
÷
è 2 l l
1 2 ø
Solução analítica versus
Geométrica do 3R
■ As duas soluções deram a mesma
resposta...
æ x 2 + y 2 - l12 - l2 2 ö
q 2 = arccosçç ÷
÷
è 2 l1l 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.
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
f = (q1 + q 2 + q 3 ) e q 3 = f - (q1 + q 2 )
Conclusão do 3R

■ Existem duas soluções para o problema


de cinemática inversa de um
manipulado 3R. REFERENCE
POINT
φ
(x,y)
■ Exceto em pontos
chamados de
“singularidades”. σ =+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

é nx ox ax px ù
ên oy ay ú
py ú
0
T = ê y
6
ê nz oz az pz ú
ê ú
ë0 0 0 1û
PUMA: modelo direto
Onde: n x = c1 [c23 (c4 c5 c6 - s4 s6 ) - s23 s5 c6 ] + s1 (s4 s5 s6 + c4 s6 )
n y = s1 [c23 (c4 c5 c6 - s4 s6 ) - s23 s5 c6 ] - c1 (s4 s5 s6 + c4 s6 )
n z = - s23 (c4 c5 c6 - s4 s6 ) - c23 s5 c6

o x = c1 [c23 (- c4 c5 c6 - s4 s6 ) - s23 s5 c6 ] + s1 (c4 c6 - s4 c5 s6 )


o y = s1 [c23 (- c4 c5 c6 - s4 s6 ) - s23 s5 c6 ] - c1 (c4 c6 - s4 c5 s6 )
o z = - s23 (- c4 c5 c6 - s4 c6 ) - c23 s5 s6

a x = -c1 (c23c4 c5 - s23c5 ) - s1s4 s5


a y = - s1 (c23c4 c5 - s23c5 ) + c1s4 s5
a z = s23c4 s5 - c23c5

p x = c1 (a2 c2 + a3c23 - d 4 s23 ) - d 3 s1


p y = s1 (a2 c2 + a3c23 - d 4 s23 ) - d 3c1
p z = - a3c23 - a2 s2 + - d 4 c23

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

Você também pode gostar