40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral...

29

Transcript of 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral...

Page 1: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento
Page 2: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

• Funcionamento Básico

• Tipos de Trajetória• Trajetórias Ponto a Ponto

• Trajetórias Coordenadas ou Isócronas

Controle Cinemático de Robôs Manipuladores

Prof. Silas do Amaral - UDESC 2

• Trajetórias Coordenadas ou Isócronas

• Trajetórias Contínuas

• Geração de Trajetórias Cartesianas

• Interpolação de Trajetórias• Interpoladores Lineares

• Interpoladores Cúbicos

• Interpoladores a Trechos

• Amostragem de Trajetórias Cartesianas

Page 3: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Esquema de uma Junta

Prof. Silas do Amaral - UDESC 3

Page 4: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Malha de Controle de Posição de um Robô Industrial

Prof. Silas do Amaral - UDESC 4

Page 5: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Malha de Controle de Posição de um Robô Industrial

Prof. Silas do Amaral - UDESC 5

Page 6: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Malha de Controle de Posição de um Robô Industrial

Prof. Silas do Amaral - UDESC 6

Page 7: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Esquema Simplificado do Controle Cinemático

Prof. Silas do Amaral - UDESC 7

Page 8: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Discretizar a trajetória cartesiana em um número adequado depontos.2

A partir das especificações para o movimento pretendido, produzir umatrajetória analítica no espaço cartesiano, discriminando no tempo ascoordenadas cartesianas do EFr = (x, y, z, α, β, γ).

1

O controle cinemático consiste das seguintes etapas:

Etapas do Controle Cinemático

Prof. Silas do Amaral - UDESC 8

Tratar singularidades e soluções múltiplas.4Interpolar os pontos nas coordenadas das juntas, gerando para cadavariável articular uma expressãoqi(t), realizável pelos atuadores, e queproduza a trajetória cartesiana desejada.

5

Usando a cinemática inversa, converter estes pontos em coordenadasarticularesq = (q1, q2, q3, q4, q5, q6).

3

Discretizar a trajetória cartesiana em um número adequado depontos.2

Discretizar a trajetória articular a fim de fornecer referências para ocontrole dinâmico.6

Page 9: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Seguimento de Trajetória Linear no Espaço Cartesiano

Prof. Silas do Amaral - UDESC 9

Page 10: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

ObjetivoTrajetória linear der1 a r4 no tempo T

Seguimento de Trajetória Linear no Espaço Cartesiano

Seleção de Pontosr1, r2, r3 e r4

Cinemática Inversar1 ���� q1 r2 ���� q2

r3 ���� q3 r4 ���� q4

Prof. Silas do Amaral - UDESC 10

InterpolaçãoPolinômio Cúbico

ResultadoTrajetóriaCartesiana

Page 11: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

• Trajetórias Ponto a Ponto

• O camando do movimento de uma articulação é independente do das demais. Cada junta alcança seu destino no menor tempo possível.

• Movimento eixo a eixo. Um só eixo é movido de cada vez, resul-tando num maior tempo de ciclo, porém, com menor consumo de po-tência instantânea por parte dos atuadores.

Tipos de Trajetórias

Prof. Silas do Amaral - UDESC 11

tência instantânea por parte dos atuadores.• Movimento simultâneo de eixos. Os atuadores começam a mover

as articulações do robô ao mesmo tempo com velocidades específicaspara cada uma delas.

• Trajetórias Coordenadas ou Isócronas

• Um cálculo prévio é feito para que o movimento de cada eixo tenha a mesma duração da articulação mais lenta. Esta estratégia produz tra-jetórias imprevisíveis para o EF.

• Trajetórias Contínuas

• Realização de uma trajetória específica. É preciso calcular de maneira contínua as trajetórias articulares.

Page 12: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Movimento Eixo a Eixo

Trajetórias Ponto a Ponto

Prof. Silas do Amaral - UDESC 12

Movimento Simultâneodos Eixos

Page 13: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Trajetórias Coordenadas

Trajetórias Isócronas e Contínuas

Prof. Silas do Amaral - UDESC 13

Trajetórias Contínuas

Page 14: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Geração de Trajetórias Cartesianas Interpolação Linear da Posição

Em geral, o movimento do robô é definido por meio de trajetóriascartesianas. É freqüente especificar apenas os pontos inicial e final.

Se estes pontos estiverem muito separados, é necessário selecionarpontos intermediários, o que é feito através de um interpolador.

Prof. Silas do Amaral - UDESC 14

( ) ( ) i

if

iif

ttt-t

-t rrrr +−

=A interpolação mais comum é a linear,para a qual a velocidade é constantedesde seu valor inicial r i até o final r f:

Se o robô tiver que passar por mais do que dois pontos nãoalinhados, este interpolador causará descontinuidade de velocidade.Este problema pode ser resolvido usando outros interpoladores.

Page 15: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Geração de Trajetórias Cartesianas Interpolação Linear da Orientação

Métodos paraRepresentaçãoda Orientação

A utilização das matrizes de rotação leva a resultados inconsistentes,devido a necessidade de serem ortonormais. Considere o exemplo:

Matrizes de RotaçãoÂngulos de Eulerou Quatérnios{ Cada um destes

métodos produz����s trajetórias

Prof. Silas do Amaral - UDESC 15

=100

010

001

iR

−−

=001

100

010

fR

−−

=21021

21210

02121

mR

devido a necessidade de serem ortonormais. Considere o exemplo:

OrientaçãoInicial

OrientaçãoFinal

Orientação IntermediáriaInterpolação Linear

R(z,90o)seguida de

R(x,90o)

Rm não é ortonormal e, portanto, não correspondea uma orientação válida.

Page 16: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

( ) ( )

( ) ( ) iif

iif

iif

iif

βtt

t-tββtβ

αtt

t-tααtα

+−

−=

+−

−=

Geração de Trajetórias Cartesianas Interpolação Linear da Orientação

A utilização dos ângulos de Euler nãoapresenta este inconveniente.

Partindo da orientação inicial (ααααi, ββββi, γγγγi)para a orientação final (ααααf, ββββf, γγγγf), sãoválidas as seguintes interpolações :

Prof. Silas do Amaral - UDESC 16

( ) ( ) iif

iif γ

ttt-t

γγtγ +−

−=válidas as seguintes interpolações :

O inconveniente desta trajetória é que, do ponto de visto do usuário,não é intuitiva, com estranhas evoluções da orientação.

A evolução mais natural consiste num giro de maneira progressivaem torno de um eixo fixo, o que qualifica os quatérnios como o meiomais adequado para gerar a trajetória cartesiana de orientação.

Page 17: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Interpoladores Lineares

Deseja-se que uma das articulações q dorobô passe sucessivamente pelos valores[q1, q2, q 3, ....] nos instantes [t1, t2, t3, ....]com velocidade constante entre duasposições sucessivas. Com isso, a trajetóriaentre as posições qi-1 e qi será dada por:

Prof. Silas do Amaral - UDESC 17

( )

1ii

i1i

1i1i

1ii

ttT :onde e

tttaraTt-t

)t(

−−

−=<<

+−=

p

qqqq

Assegura a continuidade da posição.Não evita saltos bruscos na velocidade.Exige aceleração infinita ( Impossível ).

Page 18: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

( ) ( ) ( ) ( ) i1i31i21i1i tttparat-tdt-tct-tbat <<+++= −−−−q

Interpoladores Cúbicos

Para assegurar continuidade em velocidade, pode-se usar umpolinômio de 3o grau, unindo cada par de pontos adjacentes, do tipo:

Prof. Silas do Amaral - UDESC 18

( )

( ) ( )i1i2

1ii3

1i

i2

1i2

1ii2

1i

T1

T2

db

T1

T2

T3

ca

qqqqq

qqqqq

&&&

&&

++−−==

−−−==

−−−

−−−

Os parâmetros a, b, c e d de cada polinômio são obtidos a partir dasquatro condições de contorno: posições e velocidades em t i-1 e t i.

Fazendo T = t i - t i-1,os parâmetros são:

Page 19: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Interpoladores Cúbicos

Para calcular os coeficientes do polinômio cúbico, é preciso conheceros valores das velocidades de passagem pelos pontos de interesse.

Para isso, há diversas alternativas. Numa delas, as velocidades sãoobtidas de:

Prof. Silas do Amaral - UDESC 19

( ) ( )

( ) ( )

−=−

−−+−

−≠−=

+−−

+

+

+−

i1i1ii1ii

1ii

i1i

i1i

i1i1ii

i

settt-t2

1

se0

qqsignqqsignqqqq

qqsignqqsign

q&

Admitindo que a partida/chegada em cada ponto ocorra na situaçãode repouso, garante continuidade em velocidade e em aceleração.

Outra alternativa consiste em obter as velocidades de passagem apartir das velocidades de passagem projetadas no espaço da tarefa.

Page 20: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Interpolador a Trechos Ligando Dois Pontos Velocidades Inicial e Final Nulas

Trecho 1: Polinômio de 2o grauVelocidade cresce linearmenteAceleração é constante e positiva

Trecho 2: Interpolador linearVelocidade é constanteAceleração é nula

Trecho 1: Polinômio de 2o grau

Prof. Silas do Amaral - UDESC 20

( )

<<δ

+−+

δ≤<δ+−

δ≤+

=

Tt-Tt2A

-tAT2

ATq

-TtVtA2

Vq

tt2A

t

22

1

20

20

s

ss

sq

q

Trecho 1: Polinômio de 2o grauVelocidade decresce linearmenteAceleração é constante e negativa

Page 21: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Interpolador a Trechos Ligando Vários Pontos Velocidades de Passagem Não Nulas

Para que não sejam produzidosmovimentos descontínuos, faz-se umajuste parabólico nas proximidades dospontos de passagem.

Quanto maior a aceleração, mais se

Prof. Silas do Amaral - UDESC 21

Quanto maior a aceleração, mais seaproxima do interpolador linear.

Page 22: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

( ) ( )( ) ( )

δ+<<δ−δ++−+

δ−≤≤−+

= 112

11

011

1

010

TtTT-t2

T-tT

Tt0tT

taqq

q

qqq

q

1

Interpolador a Trechos Ligando Vários Pontos Velocidades de Passagem Não Nulas

T R A J E

T Ó R

Prof. Silas do Amaral - UDESC 22

( ) ( ) ( )

( )

+<<δ+−+

δ+<<δ−δ+++=

21122

121

1111

TTtTT-tT

TtTT-t2

T-tT

t

qqq

qq1

( ) ( )δ

−−−=

21

012

121

TT2TqT qqq

a2

max 2e δ= a

R I A

ACELERAÇÃO ERRO MÁXIMO

Page 23: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

CRIAÇÃO DO ROBÔ R3 GERAÇÃO DA TRAJETÓRIA

Simulação no MatLab

Prof. Silas do Amaral - UDESC 23

L1 = link([0 1 0 0 0]);

L2 = link([-pi/2 0.5 0 0 0]);

L3 = link([0 0 0 0.5 0]);

R3 = robot({L1 L2 L3});

qi = [pi/2 -pi/2 0];

qf = [-pi/2 pi/2 0];

t = [0:0.05:5];

q = jtraj(qi, qf, t);

ANIMAÇÃO DO ROBÔ R3 plot(R3, q, 'noname');

Page 24: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Obtenção da Cinemática Inversa a partir da MTH

Simulação no MatLab - 1

puma560echo on

q = [0 -pi/4 -pi/4 0 pi/8 0];

% Carregar PUMA560% Ativar eco na tela

% Configuração das juntas

Prof. Silas do Amaral - UDESC 24

q = [0 -pi/4 -pi/4 0 pi/8 0];T = fkine(p560, q);

qi = ikine(p560, T);

disp(' Original Calculada');disp([q' qi'])

pause

echo off

% Configuração das juntas % MTH relativa a configuração q

% Cinemática Inversa

% Comparação entre q e qi

% Pausa

% Desativar eco na tela

Page 25: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Simulação no MatLab - 2

Efeito de uma Singularidade

echo on

T = fkine(p560, qr);qi = ikine(p560, T);

% Ativar eco na tela

% Para qr , dois eixos do punho % estão alinhados � -1gdl

Prof. Silas do Amaral - UDESC 25

qi = ikine(p560, T);

disp(' Original Calculada');disp([qr' qi'])fkine(p560, qi) - fkine(p560, qr )

pause

echo off

% estão alinhados � -1gdl

% qi e qr são diferentes, mas o % EF alcança uma só posição

% Pausa

% Desativar eco na tela

Page 26: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Simulação no MatLab - 3

Trajetória Retilínea no Espaço Cartesiano

echo on

t = [0:.05:2];

% Ativar eco na tela

% Vetor tempo

Prof. Silas do Amaral - UDESC 26

T1 = transl(0.6, -0.5, 0.0);T2 = transl(0.4, 0.5, 0.2);T = ctraj(T1, T2, length(t));

pause

echo off

% Ponto inicial da trajetória% Ponto final da trajetória% Cálculo da trajetória cartesiana

% Pausa

% Desativar eco na tela

Page 27: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Simulação no MatLab - 4

Cinemática Inversa para a Trajetória Retilínea

echo on

ticq = ikine(p560, T);

% Ativar eco na tela

% Tempo inicial% Cinemática Inversa

Prof. Silas do Amaral - UDESC 27

q = ikine(p560, T); toc

pause

echo off

% Cinemática Inversa% Tempo final

% Pausa

% Desativar eco na tela

Este método é muito lento. Para um robô real, o cálculo da cinemática inversa deve durar apenas alguns mili-segundos.

Page 28: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Simulação no MatLab - 5

Exibição da Trajetória Retilínea no Espaço das Junt as

echo on

subplot(3,1,1); plot(t,q(:,1)); xlabel('Tempo (s)');

Prof. Silas do Amaral - UDESC 28

subplot(3,1,1); plot(t,q(:,1)); xlabel('Tempo (s)'); ylabel('Junta 1 (rad)')

subplot(3,1,2); plot(t,q(:,2)); xlabel('Tempo (s)' ); ylabel('Junta 2 (rad)')

subplot(3,1,3); plot(t,q(:,3)); xlabel('Tempo (s)' );ylabel('Junta 3 (rad)')

pause % pressione qualquer tecla para continuarclose(figure(1))

echo off

Page 29: 40 Controle Cinematico - joinville.udesc.br · Etapas do Controle Cinemático Prof. Silas do Amaral -UDESC 8 4 Tratar singularidades e soluções múltiplas. ... Em geral, o movimento

Simulação no MatLab - 6

Animação

echo on

plot(p560, q)

Prof. Silas do Amaral - UDESC 29

plot(p560, q)

pause % pressione qualquer tecla para continuarclose(figure(1));

echo off