Upload
dangthu
View
243
Download
3
Embed Size (px)
Citation preview
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
(1 … n) (x, y, z, x, y, z)
K-1
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.
x d 2
y d 1
d2
d1
Exemplo 1: 2P
■ Dados x, y,
solucione
para d1, d2:
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 1 e d2
x d2 cos1
y d2 sin1
REFERENCE POINT
(x, y)
1
x
y
1
2
d2
x
y
2 2
d2 x y
1 arctan
x
y
2 2
d2 x y
1 arctan
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.
2
3
2
arccos 30,30
arcsin1 30,150
Solucionando equações
trigonométricas…
2
3
1
2
,y ?c cos x,c
s sin x,s ,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:
Função atan2(y,x)
Definição de atan2(y,x)
x
y
x
y
x 0, y 0
atan 2(x, y) arctan
x
y a tan 2(x, y) arctan
x 0
x
y
x 0, y 0
a tan 2(x, y) arctan
x 0, y 1, a tan 2(x, y)
2
a tan 2(x, y) 2
x 0, y 1,
x
a tan 2(x, y) arctan y
x 0
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
2
2 22 2
2l1l2
x2 y2 l 2 l
2l1l2
y l1 l2
2
2
arccos 1 2
cos( ) x
■ Considerando o triângulo contínuo,
podemos aplicar a “lei dos cossenos”
para resolver θ2:(x2 y2 ) l 2 l 2 2l l cos(180 )
1 2 1 2 2
■ Agora,cos(1802 ) cos(2), assim:
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:
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 ψ:
■ Aqui, o arco cosseno deve ser resolvido
de forma que 0 ≤ ψ ≤ 180° para que a
geometria que leva a solução seja
preservada.
1
2
2l x2 y2
x2 y2 l 2 lcos( ) 1 2
Solução geométrica para o 3R
■ onde o sinal positivo é usado se θ2 < 0 e
o negativo se θ2 > 0.
2 2
2
1
2l1 x y
x2 y2 l 2 l atan 2(y, x) arccos 1 2
■ Então temos:
1 ,
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:
123■ Logo:
3 12
Conclusão geométrica 3R
■ Os ângulos são encontrados utilizando
as seguintes equações:
3 12
1
2
1x2 y22l
x2 y2 l 2 l atan 2(y, x) arccos 1 2
2
2l1l2
x2 y2 l 2 l2
arccos 1 2
Mas, e se L3 ≠ 0 ?
L3 ?????
Mas, e se L3 ≠ 0 ?
L3 ?????
x’
y’
Mas, e se L3 ≠ 0 ?
L3 ?????
x’
y’
Mas, e se L3 ≠ 0 ?
L3 ?????
y’
Este é o ponto x’, y’
x’
Simplificamos a solução para o caso já resolvido
x x'l3 cos
y y'l3 sin
E se for um manipulador 2R?
A solução apresentada para o 3R com L3 = 0 também funciona para o 2R:
(x , y)
x
y
l1
1
l2 2
1
2
1x2 y22l
x2 y2 l 2 l atan 2(y, x) arccos 1 2
2
2l1l2
x2 y2 l 2 l2
arccos 1 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ϕ = 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:
2
12 1 2 1 12
22
1
22
1 1 2 12
2
22
2 12
2
1 1
2 2
1 1 2 12
2
l2 s 2l l s s l1 sy l s l s
l c 2l1l2c1c12 l cx l c l c
1 2 1 121 2 1 12 1 1 2 122 121 1
2
12
22
1
22
1 1 2 12
2
22
2 12
22
1 1
2
1 1 2 12
2
2s22c2 2l l s s 2l l c c l 2s2 lx2 y2 ) l 2c2 l
l2 s 2l1l2s1s12 l1 sy l s l s
l c 2l1l2c1c12 l cx l c l c
Solução analítica 3R
■ Se somarmos as duas, obtemos:
Solução analítica 3R
■ Se somarmos as duas, obtemos:
■ Reorganizando:
■ Mas
1 2 1 121 2 1 12 1 1 2 121 1 2 12
2s22c2 2l l s s 2l l c c l 2s2 lx2 y2 ) l 2c2 l
1 2 1 12 1 122 1 1
, então:
1 1 1 l l (c c s s )(x2 y2) l 2(s2 c2) l 2(s2 c2) 2
2 2
1 1(s c ) 1
1 2 1 12 1 121 2 l l (c c s s )(x2 y2) l 2 l 2 2
Solução analítica 3R
■ Se somarmos as duas, obtemos:
■ Reorganizando:
■ Mas
1 2 1 121 2 1 12 1 1 2 121 1 2 12
2s22c2 2l l s s 2l l c c l 2s2 lx2 y2 ) l 2c2 l
1 2 1 12 1 122 1 1
, então:
1 1 1 l l (c c s s )(x2 y2) l 2(s2 c2) l 2(s2 c2) 2
2 2
1 1(s c ) 1
1 2 1 12 1 121 2 l l (c c s s )(x2 y2) l 2 l 2 2
Tem como
simplificar isso?
Solução analítica 3R
1 121 2 1 121 2l l (c c s s )(x2 y2) l 2 l 2 2
Solução analítica 3R
1 2 1 2 1 12 1 12l l (c c s s )(x2 y2 ) l 2 l 2 2
■ 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
■ Agora, pelas identidades
trigonométricas “sabemos” que:
c12 c1c2 s1s2
s12 c1s2 s1c2
■ E portanto:
Solução analítica 3R
1 121 2 1 121 2l l (c c s s )(x2 y2 ) l 2 l 2 2
(c1c12 s1s12) (c1(c1c2 s1s2) s1(c1s2 s1c2))
Solução analítica 3R
1 2 1 2 1 12 1 12l l (c c s s )(x2 y2 ) l 2 l 2 2
(c1c12 s1s12) (c1(c1c2 s1s2) s1(c1s2 s1c2))
■ Reorganizando:
1 21 1 21 1 2
2 2
1 12 1 12 1 2 c s s s c s s c )(c c s s ) (c c
Solução analítica 3R
1 2 1 2 1 12 1 12l l (c c s s )(x2 y2 ) l 2 l 2 2
(c1c12 s1s12) (c1(c1c2 s1s2) s1(c1s2 s1c2))
■ Reorganizando:
1 21 1 21 1 2
2 2
1 12 1 12 1 2 c s s s c s s c )(c c s s ) (c c
Solução analítica 3R
■ Então temos:
1 2 1 2 1 12 1 12l l (c c s s )(x2 y2 ) l 2 l 2 2
(c1c12 s1s12) (c1(c1c2 s1s2) s1(c1s2 s1c2))
■ Reorganizando:
1 21 1 21 1 2
2 2
1 12 1 12 1 2 c s s s c s s c )(c c s s ) (c c
2
1 2
2
1 12 1 12 1 2 s c )(c c s s ) (c c
Solução analítica 3R
■ Então temos:
■ Ou:
1 2 1 2 1 12 1 12l l (c c s s )(x2 y2 ) l 2 l 2 2
(c1c12 s1s12) (c1(c1c2 s1s2) s1(c1s2 s1c2))
■ Reorganizando:
1 21 1 21 1 2
2 2
1 12 1 12 1 2 c s s s c s s c )(c c s s ) (c c
2
1 2
2
1 12 1 12 1 2 s c )(c c s s ) (c c
(c c s s ) c (c2 s2)1 12 1 12 2 1 1
Solução analítica 3R
■ Então temos:
■ Mas:
1 2 1 2 1 12 1 12l l (c c s s )(x2 y2 ) l 2 l 2 2
(c1c12 s1s12) (c1(c1c2 s1s2) s1(c1s2 s1c2))
■ Reorganizando:
1 21 1 21 1 2
2 2
1 12 1 12 1 2 c s s s c s s c )(c c s s ) (c c
2
1 2
2
1 12 1 21 12 s c )(c c s s ) (c c
1 12(c c s s ) c (c2 s2)
1 12 2 1 1
1
Solução analítica 3R
■ Então temos:
1 2 1 2 1 12 1 12l l (c c s s )(x2 y2 ) l 2 l 2 2
(c1c12 s1s12) (c1(c1c2 s1s2) s1(c1s2 s1c2))
■ Reorganizando:
1 21 1 21 1 2
2 2
1 12 1 12 1 2 c s s s c s s c )(c c s s ) (c c
2
1 2
2
1 12 1 12 1 2 s c )(c c s s ) (c c
■ Logo:(c1c12 s1s12) c2
Solução analítica 3R
■ Então temos:
1 2 1 2 1 12 1 12l l (c c s s )(x2 y2 ) l 2 l 2 2
(c1c12 s1s12) (c1(c1c2 s1s2) s1(c1s2 s1c2))
■ Reorganizando:
1 21 1 21 1 2
2 2
1 12 1 12 1 2 c s s s c s s c )(c c s s ) (c c
2
1 2
2
1 12 1 12 1 2 s c )(c c s s ) (c c
■ Logo:(c1c12 s1s12 ) c2
Solução analítica 3R
■ Substituindo
■ Temos:
1 2 1 12 1 121 2 l l (c c s s )■ Em (x2 y2 ) l 2 l 2 2
(c1c12 s1s12 ) c2
(x2 y2 ) l 2 l 2 2l l c1 2 1 2 2
2
2222
2l1l2
x2 y2 l 2 l
2l1l2
y l1 l2
2
2
arccos 1 2
■ Ou seja: cos( ) x
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.
2
2l1l2
x2 y2 l 2 l2
arccos 1 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ϕ = c123 e sϕ = s123, logicamente
123 e 3 12
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.
Exercício 1: PUMA (6R)
PUMA: modelo direto
0 0 0 1
6
zzzzp o an
n x ox a x p x o a p
y y y0T n y
PUMA: modelo direto
Onde:n y s1c 2 3 c 4 c 5 c 6 s 4 s 6 s 2 3 s 5 c 6 c1 s 4 s 5 s 6 c 4 s 6
n z s 2 3 c 4 c 5 c 6 s 4 s 6 c 2 3 s 5 c 6
n x c1c 2 3 c 4 c 5 c 6 s 4 s 6 s 2 3 s 5 c 6 s1 s 4 s 5 s 6 c 4 s 6
o x c1c 2 3 c 4 c 5 c 6 s 4 s 6 s 2 3 s 5 c 6 s1 c 4 c 6 s 4 c 5 s 6
o y s1c 2 3 c 4 c 5 c 6 s 4 s 6 s 2 3 s 5 c 6 c1 c 4 c 6 s 4 c 5 s 6
o z s 2 3 c 4 c 5 c 6 s 4 c 6 c 2 3 s 5 s 6
a x c1 c 2 3c 4 c 5 s 2 3 c 5 s1 s 4 s 5
a y s1 c 2 3 c 4 c 5 s 2 3 c 5 c1 s 4 s 5
a z s 2 3 c 4 s 5 c 2 3 c 5
p x c1 a 2 c 2 a 3 c 2 3 d 4 s 2 3 d 3 s1
p y s1 a 2 c 2 a 3 c 2 3 d 4 s 2 3 d 3 c1
p z a 3 c 2 3 a 2 s 2 d 4 c 2 3
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).