Vous êtes sur la page 1sur 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

Vous aimerez peut-être aussi