A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Controle Cinemático de

Apresentações semelhantes


Apresentação em tema: "Controle Cinemático de"— Transcrição da apresentação:

1 Controle Cinemático de
FUNDAMENTOS DE ROBÓTICA Controle Cinemático de Robôs Manipuladores

2 Controle Cinemático de Robôs Manipuladores
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 Prof. Silas do Amaral - UDESC

3 Prof. Silas do Amaral - UDESC
Esquema de uma Junta Prof. Silas do Amaral - UDESC

4 Malha de Controle de Posição de um Robô Industrial
Prof. Silas do Amaral - UDESC

5 Malha de Controle de Posição de um Robô Industrial
Prof. Silas do Amaral - UDESC

6 Malha de Controle de Posição de um Robô Industrial
Prof. Silas do Amaral - UDESC

7 Esquema Simplificado do Controle Cinemático
Prof. Silas do Amaral - UDESC

8 Etapas do Controle Cinemático
O controle cinemático consiste das seguintes etapas: 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 Discretizar a trajetória cartesiana em um número adequado de pontos. 2 Usando a cinemática inversa, converter estes pontos em coordenadas articulares q = (q1, q2, q3, q4, q5, q6). 3 Tratar singularidades e soluções múltiplas. 4 Interpolar 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 Discretizar a trajetória articular a fim de fornecer referências para o controle dinâmico. 6 Prof. Silas do Amaral - UDESC

9 Prof. Silas do Amaral - UDESC
Seguimento de Trajetória Linear no Espaço Cartesiano Prof. Silas do Amaral - UDESC

10 Prof. Silas do Amaral - UDESC
Seguimento de Trajetória Linear no Espaço Cartesiano Objetivo Trajetória linear de r1 a r4 no tempo T Seleção de Pontos r1, r2, r3 e r4 Cinemática Inversa r1  q r2  q2 r3  q r4  q4 Interpolação Polinômio Cúbico Resultado Trajetória Cartesiana Prof. Silas do Amaral - UDESC

11 Prof. Silas do Amaral - UDESC
Tipos de Trajetórias 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. Prof. Silas do Amaral - UDESC

12 Prof. Silas do Amaral - UDESC
Trajetórias Ponto a Ponto Movimento Eixo a Eixo Movimento Simultâneodos Eixos Prof. Silas do Amaral - UDESC

13 Prof. Silas do Amaral - UDESC
Trajetórias Isócronas e Contínuas Trajetórias Coordenadas Trajetórias Contínuas Prof. Silas do Amaral - UDESC

14 Prof. Silas do Amaral - UDESC
Geração de Trajetórias Cartesianas Interpolação Linear da Posição Em 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. Prof. Silas do Amaral - UDESC

15 { Geração de Trajetórias Cartesianas Interpolação Linear da Orientação
Métodos para Representação da Orientação Matrizes de Rotação Ângulos de Euler ou Quatérnios Cada um destes métodos produz s trajetórias A utilização das matrizes de rotação leva a resultados inconsistentes, devido a necessidade de serem ortonormais. Considere o exemplo: Orientação Inicial Orientação Final Orientação Intermediária Interpolação Linear R(z,90o) seguida de R(x,90o) Rm não é ortonormal e, portanto, não corresponde a uma orientação válida. Prof. Silas do Amaral - UDESC

16 Prof. Silas do Amaral - UDESC
Geração de Trajetórias Cartesianas Interpolação Linear da Orientação A 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. Prof. Silas do Amaral - UDESC

17 Prof. Silas do Amaral - UDESC
Interpoladores Lineares Deseja-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). Prof. Silas do Amaral - UDESC

18 Prof. Silas do Amaral - UDESC
Interpoladores Cúbicos Para 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: Prof. Silas do Amaral - UDESC

19 Prof. Silas do Amaral - UDESC
Interpoladores Cúbicos Para 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. Prof. Silas do Amaral - UDESC

20 Prof. Silas do Amaral - UDESC
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 Velocidade decresce linearmente Aceleração é constante e negativa Prof. Silas do Amaral - UDESC

21 Prof. Silas do Amaral - UDESC
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. Prof. Silas do Amaral - UDESC

22 Prof. Silas do Amaral - UDESC
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 Prof. Silas do Amaral - UDESC

23 Prof. Silas do Amaral - UDESC
Simulação no MatLab CRIAÇÃO DO ROBÔ R3 GERAÇÃO DA TRAJETÓRIA L1 = link([ ]); L2 = link([-pi/ ]); L3 = link([ ]); 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'); Prof. Silas do Amaral - UDESC

24 Obtenção da Cinemática Inversa a partir da MTH
Simulação no MatLab - 1 Obtenção da Cinemática Inversa a partir da MTH puma560 echo 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 Prof. Silas do Amaral - UDESC

25 Efeito de uma Singularidade
Simulação no MatLab - 2 Efeito 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 Prof. Silas do Amaral - UDESC

26 Trajetória Retilínea no Espaço Cartesiano
Simulação no MatLab - 3 Trajetó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 Prof. Silas do Amaral - UDESC

27 Cinemática Inversa para a Trajetória Retilínea
Simulação no MatLab - 4 Cinemática Inversa para a Trajetória Retilínea echo on tic q = 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. Prof. Silas do Amaral - UDESC

28 Exibição da Trajetória Retilínea no Espaço das Juntas
Simulação no MatLab - 5 Exibiçã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 Prof. Silas do Amaral - UDESC

29 Prof. Silas do Amaral - UDESC
Simulação no MatLab - 6 Animação echo on plot(p560, q) pause % pressione qualquer tecla para continuar close(figure(1)); echo off Prof. Silas do Amaral - UDESC


Carregar ppt "Controle Cinemático de"

Apresentações semelhantes


Anúncios Google