• Nenhum resultado encontrado

Planejamento de Trajetórias

N/A
N/A
Protected

Academic year: 2021

Share "Planejamento de Trajetórias"

Copied!
29
0
0

Texto

(1)

Universidade Federal de Itajubá - UNIFEI Instituto de Engenharia de produção e Gestão - IEPG

EPR-03 Automação da Manufatura Notas sobre:

Planejamento de Trajetórias

Y

X (x, y)

θ1

θ2 L1

L2

X=L1.C1+L2.C12 Y=L1.S1+L2.S12

X=L1.C1 Y=L1.S1

X=0 Y=0

Prof. José Hamilton Chaves Gorgulho Júnior Itajubá - Outubro de 2009

Revisão 0

(2)

Planejamento de Trajetória

INTRODUÇÃO

O planejamento de trajetória é realizado pelo programa de controle de um robô para calcular a posição de cada junta, a cada instante, permitindo que o órgão terminal movimente- se segundo a trajetória programada. Aparentemente os cálculos envolvem apenas as coordenadas inicial e final, mas os artigos irão mostrar que são necessários cálculos que envolvem cinemática direta, cinemática inversa, coordenadas intermediárias, velocidade, aceleração e também o tempo de deslocamento.

CONCEITOS BÁSICOS

Para apresentar os conceitos básicos será usado um simples modelo composto apenas por um elo e uma junta rotativa, ou seja, com apenas um grau de liberdade (GDL ou DOF – Degree of Freedom). No modelo que é apresentado pela Figura 1 nota-se que o braço, de comprimento R, gira em torno da origem do sistema de coordenadas do plano XY. Os cálculos que serão apresentados posteriormente irão considerar R=1.

Y

X (x,y)

R θ

Figura 1 – Modelo com 1 grau de liberdade rotativo.

O ponto cuja trajetória será controlada é a extremidade livre que, dependendo do ângulo θ θ

θ θ , alcança diferentes coordenadas (x, y). Os cálculos da cinemática direta e inversa estão

apresentados no Quadro 1. Deve-se lembrar que neste caso as coordenadas que podem ser

atingidas estão restritas a uma circunferência.

(3)

Cinemática Direta

( ) θ

= R Cos x

( ) θ

= R Sen y

Cinemática Inversa

 

 

= 

θ R

ACos x

Quadro 1 – Equação da cinemática direta e inversa.

O cálculo da cinemática inversa pode ser realizado por outros meios, sendo mais recomendado o uso da função ATan2. Como esta função não é disponibilizada em todas as linguagens optou-se pelo uso da função ACos.

INTERPOLAÇÃO LINEAR

A forma mais simples de se mover uma junta rotativa da posição inicial θ θ θ θ i até a posição final θ θ θ θ f em um tempo t d é usando uma interpolação linear, ou seja, usando uma velocidade angular constante. O Quadro 2 apresenta as equações de posição, velocidade angular e aceleração angular para este caso.

Posição Velocidade Aceleração

( ) . t

t t

d i f

i 

 

 θ − θ +

θ

=

θ ( )

d i f

t θ t − θ

=

θ & θ & & ( ) t = 0

Quadro 2 – Equações angulares para interpolação linear.

O símbolo θ & significa “derivada de θ ”. Como θ é a posição angular do braço, sua derivada fornece a velocidade angular. O símbolo θ & & significa “derivada de θ & ”, e como se trata da derivada da velocidade angular obtém-se a aceleração angular. Apesar das três equações serem funções relativas ao tempo, apenas a posição irá variar. Como se trata de um deslocamento angular linear a velocidade é constante e a aceleração é nula.

Neste momento é interessante o uso de um exemplo numérico para fixação dos

conceitos. Suponha que a posição inicial do braço seja θ i = 0 o e que deseja-se atingir a posição

final θ f = 90 o em um intervalo de tempo t d = 10 segundos. Substituindo estes valores nas

equações do Quadro 2 obtém-se: θ ( ) t = 9 . t [graus] e θ & ( ) t = 9 [graus/seg ] . Variando t de 0 até 10

segundos podemos obter os gráficos da Figura 2.

(4)

0 1 2 3 4 5 6 7 8 9 10

Tempo [seg]

0

Posição [graus]

20 40 100

60 80

0 1 2 3 4 5 6 7 8 9 10

Tempo [seg]

0

Velocidade [graus/seg]

2 4 10

6 8

Y

X

Figura 2 – Gráficos de posição e velocidade para interpolação linear.

Não se deve esquecer que, apesar do gráfico de posição angular mostrar uma linha reta, no espaço cartesiano o braço executa um arco de circunferência. O esquema do lado direito da Figura 2 mostra a posição a cada segundo. Como a velocidade angular é constante tem-se que a distância entre as posições é uniformemente distribuída.

Note que, em termos práticos, a aceleração é considerada nula. Porém é necessário um pico de aceleração para iniciar o movimento e, no final, um pico de desaceleração para interrompê-lo. Isso faz com que ocorram choques mecânicos muito fortes no início e no final da trajetória, tornando esta forma de controle pouco adequada.

Os dados fornecidos para o exemplo estavam em graus, mas normalmente são

fornecidas coordenadas cartesianas para o destino e isso requer o cálculo da cinemática

inversa. Além disso, também é necessário verificar se a coordenada fornecida pode realmente

ser atingida. O Quadro 3 apresenta uma sugestão de algoritmo para o cálculo das grandezas

do Quadro 2 no tempo e também desenhar do braço. Os dados necessários são a coordenada

cartesiana de destino e o tempo de deslocamento. O algoritmo verifica se o ponto pode ser

atingido e em seguida faz o cálculo da cinemática inversa para determinar a posição angular

final da junta. Uma variável que contará a passagem do tempo é iniciada antes de um looping.

(5)

Dentro desse looping o tempo é incrementado para permitir o cálculo das variáveis angulares (posição, velocidade e aceleração). Com base no valor da posição angular em cada instante é possível desenhar a posição do braço usando os cálculos de cinemática direta.

Velocidade e aceleração não têm necessidade de ficar dentro do looping nesta situação, pois são constantes no tempo, porém, nos casos seguintes, estas grandezas irão ser variáveis e sendo assim o algoritmo posiciona o cálculo no devido lugar para manter-se compatível.

Definir R e θ i

Ler x, y e t d

Se Raiz(x 2 +y 2 )<>R então

Mensagem “Coordenada fora da área de trabalho”

Fim Fim Se

Calcular θ f =Acos(x/R) t=0

Enquanto t < t d fazer Incrementar t

Calcular Posição Angular: θ = θ i + t.( θ f - θ i )/t d Calcular Velocidade Angular: θ & =( θ f - θ i )/t d

Calcular Aceleração Angular: & θ & =0

Traçar Linha de [0, 0] até [R*Cos( θ ), R*Sen( θ )]

Fim Enquanto

Quadro 3 – Algoritmo para cálculo e traçado do movimento.

POLINÔMIO CÚBICO

O uso de uma equação cúbica para representar a posição angular no tempo elimina os choques da interpolação linear. Da mesma forma exposto no caso linear as equações de velocidade e aceleração são obtidas por derivação. A velocidade angular é representada por uma equação quadrática e a aceleração angular por uma equação linear. No Quadro 4 são apresentadas as três equações.

Posição ( ) ( ) ( ) 3

3 d

i 2 f

2 d

i f

i . t

t . t 2 . t .

t 3 θ − θ

θ −

− + θ

θ

= θ

Velocidade ( ) ( ) ( ) 2

3 d

i f 2

d i

f . t

t . t 6 . t .

t 6 θ − θ

θ −

= θ θ &

Aceleração ( ) ( ) ( )

t . t

. 12 t

.

t 6 3

d i f 2

d i

f θ − θ

θ −

= θ θ &

&

Quadro 4 – Equações angulares para interpolação não linear.

(6)

O algoritmo do Quadro 3 pode ser atualizado bastando substituir as equações de posição, velocidade e aceleração pelas apresentadas no Quadro 4 Usando os mesmos valores do exemplo numérico anterior, que são θ i = 0 o , θ f = 90 o e t d = 10 seg obtém-se os valores da Tabela 1 e os gráficos da Figura 3.

Tabela 1 – Valores obtidos com as equações do Quadro 4.

Tempo Posição Velocidade Aceleração

0 0.00 0.00 5.40

1 2.52 4.86 4.32

2 9.36 8.64 3.24

3 19.44 11.34 2.16

4 31.68 12.96 1.08

5 45.00 13.50 0.00

6 58.32 12.96 -1.08

7 70.56 11.34 -2.16

8 80.64 8.64 -3.24

9 87.48 4.86 -4.32

10 90.00 0.00 -5.40

Figura 3 – Gráficos resultantes das equações do Quadro 4.

A aceleração inicia-se com 5.4º/s 2 , permitindo que a velocidade saia do zero e inicie o movimento do braço. Com a passagem do tempo o valor da aceleração diminui enquanto a velocidade aumenta (cada vez mais lentamente) e o braço se afasta da posição de origem.

Exatamente na metade do movimento (45º) a aceleração é nula e a velocidade atinge o seu

valor máximo (13.5º/s). A partir desse ponto a aceleração passa a ser negativa, isto é, torna-se

uma desaceleração e, conseqüentemente, a velocidade diminui gradativamente. Próximo ao

final do movimento a velocidade é cada vez menor e isso faz o braço chegar ao destino

suavemente.

(7)

A Figura 4 apresenta a posição do braço variando no tempo (de 0 até 10 segundos).

Nota-se que apesar dos intervalos de tempo serem constantes as distâncias angulares em cada momento não são. O movimento é lento no início e também no final.

Figura 4 – Posição do braço a cada 0.25 segundo.

O gráfico da Figura 4 foi obtido com um programa didático disponível em http://www.iem.efei.br/gorgulho/download/planejador.zip. O programa simula os movimentos de um braço com dois graus de liberdade e apresenta os gráficos de posição, velocidade e aceleração para cada junta.

INTERPOLAÇÃO LINEAR COM EXTREMIDADES PARABÓLICAS

Outra estratégia de movimentação é, de certa forma, a união dos conceitos anteriores.

Tem-se uma movimentação linear com início e final do movimento suave (quadrático). A denominação em inglês é linear segments with parabolic blends - LSPB. A Figura 5 apresenta a forma de variação da posição, velocidade e aceleração para uma movimentação deste tipo.

Nota-se que há três fases distintas.

Fase 1 – Início Parabólico: no início do movimento há uma aceleração constante que faz com que a velocidade aumente linearmente. Esse comportamento faz com que a posição se altere cada vez mais rapidamente.

Fase 2 – Velocidade Linear: nesta etapa a aceleração deixa de existir, fazendo com que a

velocidade seja constante. A velocidade constante, por sua vez, faz com que o

deslocamento passe a ser linear.

(8)

Fase 3 – Final parabólico: para finalizar o movimento é usada uma desaceleração de valor constante. Essa desaceleração diminui a velocidade de forma linear e faz com que a posição varie cada vez mais lentamente até atingir a sua meta.

Figura 5 – Variação das grandezas no movimento linear-parabólico.

O instante no qual ocorre a transição da entrada parabólica para o deslocamento linear será denominado de T A (também chamado de blend time). A posição angular do braço nesse instante será definida como θ A . Da mesma forma, o instante de transição do deslocamento linear para a finalização parabólica será denominado T B e a posição angular de θ B .

Como pode ser notado no gráfico o equacionamento que será apresentado a seguir

assume que os segmentos parabólicos têm a mesma duração, fazendo com que sejam

simétricos em relação ao ponto central. A duração dos segmentos parabólicos depende do

valor adotado para a aceleração e desaceleração. Quanto maior este valor menor é a porção

parabólica, fazendo com que o movimento tenda a uma interpolação linear simples. Do lado

oposto, quanto menor a aceleração, menor é a porção linear. Há um valor mínimo para a

aceleração, que faz com que a porção linear não exista, fazendo com que o gráfico da posição

seja similar à obtida pelo polinômio cúbico.

(9)

A Figura 6 mostra o mesmo movimento da Figura 5, mas com duas acelerações angulares diferentes. Nos gráficos do lado esquerdo a aceleração angular adotada é igual à aceleração angular mínima. Os gráficos do lado direito mostram a aceleração angular ajustada para 100 vezes o valor da aceleração angular mínima.

Figura 6 – Esquerda: aceleração angular mínima. Direita: aceleração angular alta.

As várias equações necessárias para definir o movimento estão listadas no Quadro 5, na ordem de cálculo. Os seguintes valores são necessários: ângulo inicial ( θ i ), ângulo final ( θ f ), tempo de deslocamento (t d ) e fator de multiplicação da aceleração mínima (c) que deve ser maior que 1. Na equação de T A usa-se subtração quando θ f > θ i e soma quando ocorrer o contrário.

Aceleração Mínima θ & & min = 4 . ( θ f − θ i ) / t d 2 Aceleração Adotada θ & & = c . & θ & min

Tempo A T A = ( t d / 2 ) ± ( & θ & . t d ) 2 − 4 . & θ & . ( θ f − θ i ) / ( ) 2 . θ & &

Ângulo A θ A = θ i + ( θ & & . T A 2 ) / 2

Tempo B T B = t d − T A

Ângulo B θ B = θ f − ( & θ & . T B 2 ) / 2

Velocidade Linear θ & L = ( θ B − θ A ) ( / T B − T A )

Quadro 5 – Equações angulares para movimento linear com extremidades parabólicas.

(10)

Os valores angulares de posição, velocidade e aceleração em função do tempo são calculados por equações diferentes conforme a fase em que se encontra o movimento. O Quadro 6 apresenta estas equações.

Fase Posição Velocidade Aceleração

1 ( t ≤ T A ) θ i + ( & θ & . t 2 ) / 2 θ & & . t & θ &

2 ( T A < t < T B ) θ i + θ & L . ( t − T A ) θ & L 0

3 ( t ≥ T B ) T B + θ & L . ( t − T B ) − & θ & .( t − T B ) 2 / 2 θ & L − & θ & . ( t − T B ) θ & &

Quadro 6 – Equações angulares para posição, velocidade e aceleração.

Juntamente com o programa didático há uma planilha do Excell (Linear-Parabólico.xls) que implementa estes cálculos e apresenta os gráficos angulares de posição, velocidade e aceleração.

TRAJETÓRIA DE TEMPO MÍNIMO

Em alguns sistemas robóticos os comandos de movimentação não incluem o tempo de deslocamento, ou seja, o programador informa apenas a coordenada de destino. Nesses casos o sistema irá atingir a meta no menor tempo possível. E para isso a aceleração angular máxima permitida pelo equipamento é pré-programada pelo fabricante usando a interpolação linear com extremidades parabólicas.

A forma de movimento nesta situação é mostrada do lado esquerdo da Figura 6, ou seja, a aceleração angular máxima admissível é aplicada durante a primeira metade do movimento e depois a desaceleração máxima é aplicada na segunda metade. O Quadro 7 apresenta as equações que permitem calcular o tempo de deslocamento em função da aceleração angular e a velocidade angular máxima atingida. Obviamente o momento de inversão da aceleração é dado por t d /2.

Tempo de Deslocamento ( )

max i f d

. t 4

θ θ

= θ

&

&

Velocidade Máxima ( )

d i f

máx t

. 2 θ − θ

= θ &

Quadro 7 – Equações para a trajetória de tempo mínimo.

(11)

MODELO COM DOIS GRAUS DE LIBERDADE

O modelo usado no artigo anterior, com apenas 1 grau de liberdade rotativo, possuía uma área de trabalho muito limitada, resumida a uma circunferência. O modelo que será usado deste momento em diante é composto por dois elos de mesmo tamanho e com eixos de rotação paralelos. A Figura 7 apresenta o modelo cuja configuração faz com que a área de trabalho seja um círculo com raio=1 (L1=L2=0.5).

Y

X (x, y)

θ1 θ2 L1

L2

X=L1.C1+L2.C12 Y=L1.S1+L2.S12

X=L1.C1 Y=L1.S1

X=0 Y=0

Figura 7 – Modelo com dois graus de liberdade.

A Figura 7 traz também as coordenadas cartesianas das extremidades dos elos, obtidas por cinemática direta (são úteis para desenhar o braço em um programa). Nessas equações tem-se:

C1=Cos( θ 1) C12=Cos( θ 1).Cos( θ 2)-Sen( θ 1).Sen( θ 2)= Cos( θ 1+ θ 2) S1=Sen( θ 1) S12=Sen( θ 1).Cos( θ 2)+Cos( θ 1).Sen( θ 2)= Sen( θ 1+ θ 2)

A cinemática inversa torna-se mais complexa do que o apresentado no artigo anterior. A Figura 8 mostra que os dois elos formam um triângulo do qual será possível extrair, por uma solução analítica, os valores de θ 1 e θ 2 quando forem fornecidas as coordenadas (x, y) da extremidade.

Da análise da Figura 8 podem ser obtidas as seguintes relações:

2

2 Y

X

R = + 

 

= 

R ACos X

Ar θ 1 = Ar − A 1 θ 2 = 180 − A 2

O valor de R é importante pois permite definir se a coordenada fornecida pode ser

atingida, ou seja, se R > L 1 + L 2 então o ponto está fora da área de trabalho. Nota-se que Ar

não terá solução quando R=0 (como L1=L2 esta situação poderá ocorrer). Neste caso é

interessante definir θ 2 =180º e manter o valor atual de θ 1 (que pode assumir qualquer valor).

(12)

Y

X

A1 (X, Y)

A

R

θ 1

θ 2

A3 L2

L1 A2 R = X +Y

2 2 2

R

Figura 8 – Triângulo formado pelos dois elos.

Da trigonometria sabe-se que:

) 1 A ( Cos . 1 L . R . 2 1 L R 2

L 2 = 2 + 2 − e R 2 = L 1 2 + L 2 2 − 2 . L 1 . L 2 . Cos ( A 2 )

E obtém-se:

 

 

 + −

= 2 . R . L 1 2 L 1 L ArcCos R

1 A

2 2

2 e  

 

 + −

= 2 . L 1 . L 2 R 2 L 1 ArcCos L 2

A

2 2 2

Pode-se agora elaborar um algoritmo para a cinemática inversa deste problema, como o mostrado pelo Quadro 8.

Definir L1 e L2 Ler x e y

Calcular R=Raiz(x 2 +y 2 )

Se R>(L1+L2) então “Coordenada não pode ser atingida”

Se R=0 então Definir θ 2=180 Senão

Calcular Ar=ArcCos(x/R)

Calcular A1=ArcCos((R 2 +L1 2 -L2 2 )/(2.R.L1)) Calcular A2=ArcCos((L1 2 +L2 2 -R 2 )/(2.L1.L2)) Calcular θ 1=Ar-A1

Calcular θ 2=180-A2 Fim-Se

Quadro 8 – Algoritmo para a Cinemática Inversa.

(13)

O Quadro 9 apresenta um algoritmo para o cálculo e desenho do braço com dois graus de liberdade. Os cálculos de posição angular, velocidade angular e aceleração angular são exatamente iguais aos apresentados no primeiro artigo e, agora, são calculados para cada elo.

Definir L1, L2, θ i1 , θ i2 Ler x, y e t d

Cinemática Inversa (calcular θ f1 , θ f2 ) t=0

Enquanto t<t d fazer Incrementar t

Calcular Posição ( θ 1 e θ 2) Calcular velocidade ( θ 1 e θ 2) Calcular Aceleração ( θ 1 e θ 2) C1=Cos( θ 1)

S1=Sin( θ 1)

C12= Cos( θ 1+ θ 2) S12= Sen( θ 1+ θ 2)

Traçar Linha de [0, 0] até [L1.C1, L1.S1]

Traçar Linha de [L1.C1, L1.S1] até [L1.C1+L2.C12, L1.S1+L2.S12]

Fim Enquanto

Quadro 9 – Algoritmo para planejamento de trajetória.

As próximas três figuras mostram a movimentação do braço usando as três abordagens

matemáticas apresentadas. A coordenada de origem é (1, 0) e a de destino é (-0.25, 0.75),

com tempo de deslocamento de 5 segundos. Para cada movimentação são mostrados os

gráficos de θ 1 (os gráficos de θ 2 possuem forma similar). A posição do braço foi desenhada a

cada décimo de segundo aproximadamente. Na Figura 9 está o resultado da interpolação

linear, onde nota-se o espaçamento eqüidistante dos pontos no trajeto.

(14)

Figura 9 – Interpolação linear.

Na Figura 10 foi usado o polinômio cúbico. A densidade de pontos é maior no início e vai sendo reduzida até atingir a metade do percurso. A partir deste ponto vai aumentando novamente até atingir o ponto meta.

Figura 10 – Polinômio cúbico.

A Figura 11 mostra a interpolação linear com extremidades parabólicas. Foi usado um

fator c=1.25, ou seja, a aceleração adotada é 1.25 vezes a aceleração mínima. A densidade

dos pontos é variável no início e final enquanto na porção central o espaçamento é igual.

(15)

Figura 11 – Interpolação linear com extremidades parabólicas.

TRAJETÓRIA COM PONTOS INTERMEDIÁRIOS

A Tabela 2 apresenta um conjunto de pontos que serão percorridos para comparar as três estratégias apresentadas.

Tabela 2 – Valores para x, y e tempo de múltiplos pontos.

Ponto Coordenada X [m]

Coordenada Y [m]

Tempo de Deslocamento [s]

Origem 1.0 0.0 -

1 0.65 0.65 3.0

2 0.0 0.25 3.0

3 -0.65 0.65 3.0

4 0.0 -0.75 3.0

5 0.35 0.35 3.0

A Figura 12 apresenta a movimentação pelos pontos mostrados pela Tabela 2 usando a

interpolação linear, bem como os gráficos de θ 1. Os pontos programados estão marcados por

um x de cor branca. Nota-se que o espaçamento entre os pontos é igual em cada trecho. Como

o tempo é igual para cada deslocamento tem-se que, onde a distância é menor, a velocidade é

mais alta. O gráfico de velocidade angular mostra que esta grandeza varia bruscamente. Pelos

gráficos é possível concluir que o segundo movimento ocorre no sentido contrário dos demais

(posição diminui e a velocidade é negativa).

(16)

Figura 12 – Múltiplos pontos usando interpolação linear.

A movimentação usando o polinômio cúbico está na Figura 13. A posição angular altera- se suavemente. Fica claro também que a velocidade angular é nula no início e final de cada trecho do percurso.

Figura 13 – Múltiplos pontos usando polinômio cúbico.

A Figura 14 exibe a movimentação usando a interpolação linear com extremidades

parabólicas (fator c=1.25). Nesta situação a velocidade angular também é nula no início e final

de cada trecho do percurso, ou seja, no ponto programado a velocidade angular é zero para os

dois elos.

(17)

Figura 14 – Múltiplos pontos usando interpolação linear com extremidades parabólicas.

Na Figura 15 são mostrados os gráficos de θ 2 para as três situações. As formas dos gráficos de posição e velocidade angular apresentam uma similaridade bastante alta.

Comparando estes gráficos com os gráficos de θ 1 é possível perceber que cada elo executa um movimento diferente, que requer variação de velocidade e aceleração diferentes também.

Figura 15 – Múltiplos pontos usando interpolação linear com extremidades parabólicas.

DEFININDO A VELOCIDADE NO PONTO

A interpolação linear com extremidades parabólicas permite, por meio de cálculos

adicionais, definir a velocidade angular das juntas nos pontos intermediários de uma trajetória,

mas devido a sua complexidade esta técnica não será abordada. Já, para o polinômio cúbico, o

(18)

equacionamento é mais simples e está exibido no Quadro 10. Foram usados quatro parâmetros (a 0 até a 3 ) para simplificar a visualização.

( ) t = a 0 + a 1 . t + a 2 . t 2 + a 3 . t 3 θ

( ) t = a 1 + 2 . a 2 . t + 3 . a 3 . t 2 θ &

( ) t = 2 . a 2 + 6 . a 3 . t θ &

&

i

a 0 = θ

i

a 1 = θ &

( )

d f i d i 2 f

d

2 t t

2 t

a 3 θ

− θ

− θ

− θ

= &

&

( ) 2 ( f i )

d i 3 f

d

3 t

1 t

a = − 2 θ − θ + θ & + θ &

Quadro 10 – Equações para polinômio cúbico com velocidade no ponto.

Analisando os parâmetros nota-se que além da posição inicial ( θ i ), posição final ( θ f ) e tempo de deslocamento (t d ) devem ser fornecidas as velocidades angulares inicial ( θ & i ) e final

( θ & f ). Se as velocidades angulares inicial e final forem nulas obtém-se o polinômio cúbico

apresentado anteriormente.

Deve ficar claro que o primeiro movimento de um caminho de múltiplos pontos tem velocidade inicial nula e que o último movimento tem velocidade final nula. Nos demais a velocidade final de um trecho é igual a velocidade inicial do trecho seguinte.

As equações apresentadas são para apenas uma junta. Para sistemas com mais juntas é possível definir a velocidade angular de cada uma delas separadamente. Esta definição de velocidades pode ser feita de vários modos. Pode-se optar, por exemplo, pela determinação automática usando alguma heurística que mantenha uma aceleração constante nos pontos intermediários. Outra forma depende da escolha de velocidades cartesianas no ponto (Vx e Vy) que irão refletir em velocidades angulares nas juntas.

A Figura 16 mostra o resultado da movimentação pelos pontos da Tabela 2 com a

velocidade das duas juntas configuradas para 20º/s. No plano XY a trajetória toma uma forma

diferente da observada na Figura 13 para possibilitar que a velocidade angular programada

seja atingida. Do lado direito, no gráfico de velocidade, observa-se que ao final de cada

movimento a velocidade angular atingiu o valor de 20º/s.

(19)

Figura 16 – Polinômio cúbico com velocidade de 20º/s nos pontos intermediários.

Usar valores muito elevados faz com que os movimentos sofram “deformações” para possibilitar que sejam atingidas as velocidades angulares programadas. Na Figura 17 foi usado 60º/s para as duas juntas, em todos os pontos intermediários. Durante a execução é interessante observar o movimento entre a origem e o primeiro ponto. O braço move-se inicialmente em sentido contrário para ter espaço suficiente para acelerar e atingir a velocidade angular definida.

Figura 17 - Polinômio cúbico com velocidade de 60º/s nos pontos intermediários.

(20)

O ESPAÇO CARTESIANO

A Figura 18 mostra um movimento em linha reta (straight line motion) entre os pontos I (início) e F (fim). O movimento foi dividido em 5 partes, ou seja, há quatro pontos intermediários entre I e F. Conhecendo-se as coordenadas cartesianas de cada um destes pontos é possível calcular, por cinemática inversa, os valores de θ 1 e θ 2 necessários.

Y

X I F

∆Y

∆X

Figura 18 – Movimento em linha reta no espaço cartesiano.

A Figura 18 também mostra que a divisão da trajetória cria intervalos de igual dimensão para cada eixo, que foram denominados de ∆ X e ∆ Y. Quanto menor a dimensão destes intervalos mais linear será a trajetória.

O Quadro 11 mostra um algoritmo para executar os cálculos de uma trajetória no espaço cartesiano. Nota-se que a cinemática inversa passa a figurar dentro do looping de tempo.

Definir L1, L2, θ i1 , θ i2 Ler x, y e t d

t=0

Enquanto t<t d fazer Incrementar t

Cálculos Cartesianos do Elo 2 (X2, Y2, Vx2, Vy2, Ax2 e Ay2) Cinemática Inversa

Cálculos Trigonométricos Cálculos Angulares

Cálculos Cartesianos do Elo 1 Fim Enquanto

Quadro 11 – Algoritmo para planejamento de trajetória no espaço cartesiano.

(21)

Os cálculos cartesianos do Elo 2 definem a posição, velocidade e aceleração do órgão terminal a cada instante do movimento e em cada eixo. Na literatura é comum encontrar outra notação para os símbolos, como por exemplo, X & 2 para velocidade do elo 2 no eixo X e X & & 2 para aceleração. As equações desses cálculos dependem da estratégia de movimento adotada e serão abordadas adiante.

A cinemática inversa, apresentada nos artigos anteriores, é responsável por calcular os valores de θ 1 e θ 2 para cada coordenada (X2, Y2) do movimento, ou seja, a cada instante calcula-se os ângulos necessários para que a posição desejada seja atingida. O Quadro 12 apresenta duas equações que podem ser usadas neste cálculo (note o uso de uma outra notação para a função arco-tangente de dois argumentos). Como θ 1 depende de Sin( θ 2) e Cos( θ 2) é óbvio que é necessário calcular inicialmente θ 2 (que depende de X2, ,Y2, L1 e L2).

 

 

θ +

− θ

 

 

= 

θ L 1 L 2 . Cos ( 2 )

) 2 ( Sin . 2 2 L ArcTan 2

X 2 2 Y ArcTan 1

 

 

 + − −

=

θ 2 . L 1 . L 2 2 L 1 L 2 Y 2 ArcCos X 2

2 2 2 2

Quadro 12 – Cinemática inversa.

Após a cinemática inversa obter θ 1 e θ 2 pode-se calcular o valor instantâneo das funções trigonométricas que serão necessárias na próxima etapa. O Quadro 13 mostra estas funções.

C1=Cos( θ 1) S1=Sin( θ 1) C2=Cos( θ 2) S2=Sin( θ 2)

C12= Cos( θ 1+ θ 2) S12= Sen( θ 1+ θ 2) Quadro 13 – Cálculos trigonométricos.

Uma possibilidade é unir as duas etapas anteriores na seguinte seqüência de cálculos:

θ 2, C2, S2, θ 1, C1, S1, C12 e S12. A etapa seguinte consiste em calcular as grandezas angulares faltantes dos dois elos, que são velocidade e aceleração. O Quadro 14 mostra as equações para os cálculos para o exemplo de dois graus de liberdade. Para facilitar a leitura o símbolo θ & usado para representar a velocidade angular foi substituído por Va e o símbolo & θ &

para representar a aceleração angular foi substituído por Aa.

(22)

( )

2 S . 1 L

12 S . 2 Vy 12 C . 2 1 Vx

Va +

=

2 S . 2 L . 1 L

2 Vy ).

12 S . 2 L 1 S . 1 L ( 2 Vx ).

12 C . 2 L 1 C . 1 L 2 (

Va − − − +

=

2 S . 1 L

2 Va . 1 Va . 2 C . 1 L 2 Ay . 12 S 2 Ax . 12 C ) 2 Vx . 12 S 2 Vy . 12 C ).(

2 Va 1 Va 1 (

Aa + − + + −

=

2 S . 2 L . 1 L

) 2 Va . 2 C . 2 L . 1 L 2 Vy 2 Vx 2 Ay . 2 Y 2 Ax . 2 X 2 (

Aa

2 2

2 + +

+ +

= −

Quadro 14 – Cálculos das velocidades angulares e das acelerações angulares.

A última etapa envolve o cálculo das grandezas cartesianas do Elo 1, que são posição, velocidade e aceleração para cada eixo. O Quadro 15 apresenta as equações necessárias.

1 C . 1 L 1

X = Y 1 = L 1 . S 1

1 Va . 1 S . 1 L 1

Vx = − Vy 1 = L 1 . C 1 . Va 1

) 1 Aa . 1 S 1 Va . 1 C .(

1 L 1

Ax = − 2 + Ay 1 = − L 1 .( S 1 . Va 1 2 − C 1 . Aa 1 ) Quadro 15 – Cálculos cartesianos do Elo 1.

Deve ficar claro que, se o objetivo é apenas enviar dados de posição para um robô ou plotar uma imagem em uma tela, vários cálculos não são necessários. Tendo o valor de θ 1 e θ 2 a cada instante as velocidades e acelerações, tanto angulares quanto cartesianas, são conseqüências físicas do movimento.

PROBLEMAS GEOMÉTRICOS NAS COORDENADAS CARTESIANAS

O primeiro problema geométrico que pode ocorrer quando o planejamento de trajetória é realizado no espaço cartesiano está ligado à forma do espaço de trabalho. Dependendo da dimensão dos elos e dos limites de movimento a região de trabalho possuirá convexidades e, dessa forma, um movimento em linha reta poderá passar por pontos fora da área de trabalho.

A Figura 19 mostra o espaço de trabalho típico de um robô SCARA com um exemplo de uma trajetória em linha reta que não pode ser realizada.

No modelo usado como exemplo tem-se L1=L2 e nenhuma restrição quanto aos ângulos

máximos. Isso faz com que a área de trabalho não possua nenhuma convexidade. Dessa

forma é possível obter qualquer trajetória retilínea entre coordenadas válidas.

(23)

X Y

Figura 19 – Problema no movimento cartesiano retilíneo.

Um outro problema geométrico está ligado às singularidades. Quando o braço aproxima-se de uma configuração singular uma ou mais juntas terão suas velocidades aumentadas muito rapidamente. Na posição singular essas velocidades tendem ao infinito. Isso pode ser matematicamente verificado observando-se as equações do Quadro 3. Nas quatro equações o divisor possui S2 que atinge o valor zero quando θ 2 vale 0º ou 180º. Nessas posições os valores de Va1, Va2, Aa1 e Aa2 são levados ao infinito e, por conseqüência, também os valores de Vx1, Vy1, Ax1 e Ay1. A Figura 20 mostra um exemplo típico da execução de um movimento linear que passa próximo de uma configuração singular.

Figura 20 – Movimento passando próximo de uma configuração singular.

O movimento executado na Figura 20 vai de (0.8, 0.05) para (-0.8, 0.05). O movimento

inicia-se com θ 1 girando no sentido negativo (tendendo a atingir -90º) e θ 2 girando no sentido

positivo (tendendo atingir 180º). Conforme se aproxima da coordenada (0, 0) é necessário que

θ 1 gire rapidamente no sentido positivo para permitir a continuidade do movimento. Quanto

(24)

menor o valor de Y para esse movimento, mais rapidamente esse giro em torno da origem vai ocorrer. Se o movimento passar pela origem o movimento seria instantâneo, ou seja, em um instante tem-se θ 1=-90º e no instante seguinte tem-se θ 1=90º, como mostra a Figura 21.

Figura 21 – Movimento passando em uma configuração singular.

INTERPOLAÇÃO LINEAR

Da mesma forma como mostrado no primeiro artigo, a estratégia mais simples de movimentação é por meio de uma interpolação linear. Basicamente as equações são idênticas às mostradas para a movimentação linear no espaço angular. A diferença é que as variáveis não são mais angulares e sim cartesianas. O Quadro 16 mostra as equações cartesianas para interpolação linear, tanto para o eixo X quanto para o eixo Y. Nota-se que a velocidade em cada eixo é constante e a aceleração é nula.

Posição Velocidade Aceleração

( ) ( )

t t .

2 X 2 2 X X t 2 X

d i f i

+ −

=

( ) ( )

t t .

2 Y 2 2 Y Y t 2 Y

d i f i

+ −

=

( )

d i f

t 2 X 2 2 X

Vx −

=

( )

d i f

t 2 Y 2 2 Y

Vy −

=

( ) t 0 2

Ax =

( ) t 0 2

Ay =

Quadro 16 – Equações cartesianas para interpolação linear.

A Figura 22 mostra o resultado da movimentação do braço usando as equações do

Quadro 16, bem como os gráficos de posição, velocidade e aceleração para o eixo Y. Os

dados são os mesmos usados no artigo anterior, ou seja, origem em (1, 0), destino (-0.25, 0.75)

e tempo de deslocamento de 5 segundos. Nota-se o espaçamento igual entre os pontos

durante todo o movimento, confirmando que o movimento é linear no tempo (e no espaço).

(25)

Figura 22 – Movimento com interpolação linear no espaço cartesiano.

Na Figura 23 são mostrados os gráficos de posição para os ângulos θ 1 e θ 2. Nota-se que enquanto os movimentos do elo 2 em X e Y são lineares, os movimentos angulares de θ 1 e θ 2 possuem outras formas.

Figura 23 – Gráficos de Teta1 e Teta2.

POLINÔMIO CÚBICO

A uso de um polinômio cúbico é uma das formas de se evitar os choques mecânicos no início e fim dos movimentos. No Quadro 17 estão as equações cartesianas que permitem que o movimento em linha reta seja executado de maneira mais suave. Apenas as equações do eixo X estão representadas. Para obter as equações de Y basta substituir o nome das variáveis.

Posição ( ) ( ) 3 ( f i ) 3

d 2 i 2 f

d

i X 2 X 2 . t

t t 2 . 2 X 2 t X 2 3 X t 2

X = + − − −

Velocidade ( ) ( ) ( f i ) 2

3 d i 2 f

d

t . 2 X 2 t X t 6 . 2 X 2 t X t 6 2

Vx = − − −

Aceleração ( ) ( ) ( X 2 X 2 ) . t t

2 12 X 2 t X t 6

Ax 3 f i

d i 2 f

d

=

Quadro 17 – Polinômio cúbico cartesiano (para o eixo X).

(26)

A Figura 24 mostra, no lado esquerdo, o movimento entre (1, 0) e (-0.25, 0.75) em 5 segundos usando o polinômio cúbico. O espaçamento entre os pontos é maior na posição central, quando a velocidade é maior, enquanto que nas extremidades o espaçamento diminui.

No lado direito estão os gráficos de posição, velocidade e aceleração em Y (em X a forma é similar).

Figura 24 – Movimento com polinômio cúbico no espaço cartesiano.

INTERPOLAÇÃO LINEAR COM EXTREMIDADES PARABÓLICAS

Esta abordagem matemática também elimina os choques mecânicos do início e fim do

movimento cartesiano linear. O equacionamento é similar ao que foi apresentado no artigo

inicial, bastando substituir as variáveis angulares por suas correspondentes variáveis

cartesianas. Na Figura 25, à esquerda, está o movimento no espaço cartesiano, enquanto do

lado direito estão os gráficos de posição, velocidade e aceleração em Y (em X a forma é

similar).

(27)

Figura 25 – Interpolação linear com extremidades parabólicas no espaço cartesiano.

O conceito de trajetória de tempo mínimo, abordado na primeira parte, também pode ser aplicado no espaço cartesiano, porém não é usual. Se o objetivo é realizar movimentos rápidos então o espaço das juntas é muito superior ao espaço cartesiano (para esta configuração de juntas rotativas).

TRAJETÓRIA COM PONTOS INTERMEDIÁRIOS

Da mesma maneira como ocorreu no espaço das juntas, no espaço cartesiano também pode-se realizar movimentos em linha reta com pontos intermediários. Na Figura 26 estão os resultados obtidos com interpolação linear (normal e com extremidades parabólicas).

Figura 26 – Interpolação linear (esquerda) e interpolação linear com extremidades parabólicas (direita).

O polinômio cúbico permite a definição da velocidade no ponto. Se as velocidades em X

e Y são iguais a zero o movimento é realmente uma linha reta. Caso seja definida alguma

velocidade o trajeto cartesiano se deforma. Na Figura 27 à esquerda está o movimento com

(28)

velocidade nula em todos os pontos. No lado direito foi programada a mesma velocidade em todos os pontos (-0.25 m/s em X e 0 em Y).

Figura 27 – Polinômio cúbico sem e com velocidade nos pontos.

Na Figura 28 estão os gráficos de posição, velocidade e aceleração em X e Y. Em X pode-se ver que a velocidade é de -0.25 m/s no final de cada etapa, enquanto que em Y a velocidade é nula.

Figura 28 – Gráficos de posição, velocidade e aceleração.

(29)

COMENTÁRIOS FINAIS

O objetivo deste texto foi introduzir os conceitos sobre o planejamento de trajetória, que vai muito além do que foi exposto. O modelo explorado, com apenas dois graus de liberdade, não necessitou de equações matriciais, mas é possível imaginar que o aumento dos graus de liberdade faz com que a complexidade seja elevada. Além disso, a alteração dos tipos de junta do robô também levam a grandes alterações matemáticas.

Outros fatores que envolvem o controle da posição do órgão terminal não foram abordados, apesar da grande importância. Pode-se citar o torque e a inércia que influenciam fortemente o controle PID que busca manter a trajetória real o mais próxima possível da trajetória calculada.

REFERÊNCIAS

Craig, J. J., Introduction to Robotics – Mechanics & Control, Addison-Wesley Publishing Company, 1955.

Fu, K. S.; Gonzáles, R. C.; Lee, C. S. G., Robotics: Control, Sensing, Vision, and Intelligence, McGraw Hill Book Company, 1987.

Koren, Y., Robotics for Engineers, McGraw Hill Book Company, 1985.

Spong, M. W.; Vidyasagar, M.; Robot Dynamics and Control, John Wiley & Sons, Inc., 1989.

Paul, R. P., Robot Manipulators: Mathematics, Programming, and Control – The Computer

Control of Robot Manipulators, Massachusetts Institute of Technology (1981), Ninth

Printing, 1992.

Referências

Documentos relacionados

O  contribuinte  A.  AZEVEDO  INDÚSTRIA  E  COMÉRCIO  DE  ÓLEOS 

3.3 o Município tem caminhão da coleta seletiva, sendo orientado a providenciar a contratação direta da associação para o recolhimento dos resíduos recicláveis,

O segundo capítulo, em que se apresenta a revisão da literatura, referenciada na pesquisa narrativa que trata do contexto em que se desenvolve a história

Já os agregados do tipo J apresentam a banda de absorção deslocada para maiores comprimentos de onda, devido a diminuição de energia entre o estado fundamental e o estado

Apesar da longa distância dos grandes centros urbanos do país, Bonito destaca- se, regionalmente, como uma área promissora dentro do Estado de Mato Grosso do Sul. Bonito,

Detectadas as baixas condições socioeconômicas e sanitárias do Município de Cuité, bem como a carência de informação por parte da população de como prevenir

Considera-se que a interdisciplinaridade contribui para uma visão mais ampla do fenômeno a ser pesquisado. Esse diálogo entre diferentes áreas do conhecimento sobre

Conclui-se que o teor de prolina varia entre as cultivares de mandioca, sendo maior nas cultivares Platina’ e ‘Caravela’, seguidas por ‘BRS Kiriris’, ‘BRS Verdinha’,