robótica - fei.edu.brrbianchi/robotica/robotica-04-a-cinematica_in... · soluções analíticas x...

89
Robótica Prof. Reinaldo Bianchi Centro Universitário FEI 2016

Upload: vanngoc

Post on 11-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Robótica

Prof. Reinaldo BianchiCentro Universitário FEI2016

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

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

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

1

2

dydx

==

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 q1 e d2

12

12

sincos

qq

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

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:

■ 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 )

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 xe y:

),2(atan xy=b

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.

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 ?????

Mas, e se L3 ≠ 0 ?

L3 ?????

x’

y’

Mas, e se L3 ≠ 0 ?

L3 ?????

x’

y’

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

=

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?

Solução analítica 3R

)(2)( 1211212122

21

22 ssccllllyx +++=+

■ Agora, pelas identidades trigonométricas “sabemos” que:

■ E portanto: 212112

212112

ssccccsscs

-=+=

Solução analítica 3R

)(2)( 1211212122

21

22 ssccllllyx +++=+

))()(()( 2121121211121121 csscssscccsscc ++-=+

Sabemos:

http://pt.wikipedia.org/wiki/Identidade_trigonométrica

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.

Exercício 1: PUMA (6R)

PUMA: modelo direto

úúúú

û

ù

êêêê

ë

é

=

1000

06

zzzz

yyyy

xxxx

paonpaonpaon

T

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.

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