29

Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Embed Size (px)

Citation preview

Page 1: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas
Page 2: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 2

• Funcionamento Básico• Tipos de Trajetória

• Trajetórias Ponto a Ponto• 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

Controle Cinemático de Robôs Manipuladores

Page 3: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 3

Esquema de uma Junta

Page 4: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 4

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

Page 5: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 5

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

Page 6: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 6

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

Page 7: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 7

Esquema Simplificado do Controle Cinemático

Page 8: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 8

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

5

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

3

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

A partir das especificações para o movimento pretendido, produzir uma trajetória analítica no espaço cartesiano, discriminando no tempo as coordenadas cartesianas do EF r = (x, y, z, a, b, g).

1

O controle cinemático consiste das seguintes etapas:

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

Etapas do Controle Cinemático

Page 9: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 9

Seguimento de Trajetória Linear no Espaço Cartesiano

Page 10: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 10

ObjetivoTrajetória linear der1 a r4 no tempo T

Seguimento de Trajetória Linear no Espaço Cartesiano

InterpolaçãoPolinômio Cúbico

ResultadoTrajetória Cartesiana

Seleção de Pontos r1, r2, r3 e r4

Cinemática Inversar1 q1 r2 q2

r3 q3 r4 q4

Page 11: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 11

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

• Movimento simultâneo de eixos. Os atuadores começam a mover as articulações do robô ao mesmo tempo com velocidades específicas para 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.

Tipos de Trajetórias

Page 12: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 12

Movimento Eixo a Eixo

Trajetórias Ponto a Ponto

Movimento Simultâneodos Eixos

Page 13: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 13

Trajetórias Coordenadas

Trajetórias Isócronas e Contínuas

Trajetórias Contínuas

Page 14: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 14

i

if

iif

ttt-t

-t rrrr

Geração de Trajetórias Cartesianas Interpolação Linear da PosiçãoEm geral, o movimento do robô é definido por meio de trajetórias cartesianas. É freqüente especificar apenas os pontos inicial e final.

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

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

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

Page 15: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 15

100010001

iR

001100010

fR

210212121002121

mR

Geração de Trajetórias Cartesianas Interpolação Linear da OrientaçãoMé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 produzs trajetórias

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: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 16

iif

iif

iif

iif

iif

iif

γtt

t-tγγtγ

βtt

t-tββtβ

αtt

t-tααtα

Geração de Trajetórias Cartesianas Interpolação Linear da OrientaçãoA utilização dos ângulos de Euler não apresenta este inconveniente.

Partindo da orientação inicial (ai, bi, gi) para a orientação final (af, bf, gf), são 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 progressiva em torno de um eixo fixo, o que qualifica os quatérnios como o meio mais adequado para gerar a trajetória cartesiana de orientação.

Page 17: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 17

1ii

i1i

1i1i

1ii

ttT :onde e

tttaraTt-t)t(

p

qqqq

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

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

Page 18: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 18

i1i31i21i1i tttparat-tdt-tct-tbat q

i1i2

1ii3

1i

i2

1i2

1ii2

1i

T1

T2db

T1

T2

T3ca

qqqqq

qqqqq

Interpoladores CúbicosPara assegurar continuidade em velocidade, pode-se usar um polinômio de 3o grau, unindo cada par de pontos adjacentes, do tipo:

Os parâmetros a, b, c e d de cada polinômio são obtidos a partir das quatro 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: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 19

i1i1ii1ii

1ii

i1i

i1i

i1i1ii

i

settt-t2

1

se0

qqsignqqsignqqqq

qqsignqqsignq

Interpoladores CúbicosPara calcular os coeficientes do polinômio cúbico, é preciso conhecer os valores das velocidades de passagem pelos pontos de interesse.

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

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

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

Page 20: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 20

Tt-Tt2A-tAT

2ATq

-TtVtA2

Vq

tt2A

t

22

1

20

20

s

ss

sq

q

Interpolador a Trechos Ligando Dois Pontos Velocidades Inicial e Final Nulas

Trecho 1: Polinômio de 2o grau Velocidade cresce linearmente Aceleração é constante e positiva

Trecho 2: Interpolador linear Velocidade é constante Aceleração é nula

Trecho 1: Polinômio de 2o grau Velocidade decresce linearmente Aceleração é constante e negativa

Page 21: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 21

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

Para que não sejam produzidos movimentos descontínuos, faz-se um ajuste parabólico nas proximidades dos pontos de passagem.

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

Page 22: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 22

21122

121

112

11

011

1

010

TTtTT-tT

TtTT-t2

T-tT

Tt0tT

t

qqq

aqqq

qqq

q1

1

21

012

121

TT2TqT qqq

a 2max 2

e a

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

T R A J E

T Ó R I A

ACELERAÇÃO ERRO MÁXIMO

Page 23: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

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

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

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

Simulação no MatLab

Page 24: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 24

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];T = fkine(p560, q);

qi = ikine(p560, T);

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

pause

echo off

% Carregar PUMA560% Ativar eco na tela

% 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: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 25

Simulação no MatLab - 2Efeito de uma Singularidade

echo on

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

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

pause

echo off

% Ativar eco na tela

% Para qr, dois eixos do punho % 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: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 26

Simulação no MatLab - 3Trajetória Retilínea no Espaço Cartesiano

echo on

t = [0:.05:2];

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

% Ativar eco na tela

% Vetor tempo

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

% Pausa

% Desativar eco na tela

Page 27: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 27

Simulação no MatLab - 4Cinemática Inversa para a Trajetória Retilínea

echo on

ticq = ikine(p560, T); toc

pause

echo off

% Ativar eco na tela

% Tempo inicial% 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: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 28

Simulação no MatLab - 5Exibição da Trajetória Retilínea no Espaço das Juntas

echo on

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 continuar close(figure(1)) echo off

Page 29: Prof. Silas do Amaral - UDESC2 Funcionamento Básico Tipos de Trajetória Trajetórias Ponto a Ponto Trajetórias Coordenadas ou Isócronas Trajetórias Contínuas

Prof. Silas do Amaral - UDESC 29

Simulação no MatLab - 6Animação

echo on

plot(p560, q)

pause % pressione qualquer tecla para continuar close(figure(1));

echo off