• Nenhum resultado encontrado

Programação Baseada em Modelos Exercícios Recomendados Bibliografia Recomendada

N/A
N/A
Protected

Academic year: 2021

Share "Programação Baseada em Modelos Exercícios Recomendados Bibliografia Recomendada"

Copied!
89
0
0

Texto

(1)

SEM0317

SEM0317 –– Aula

Aula 99

Planejamento de Trajetórias

Planejamento de Trajetórias

em Manipuladores Robóticos

em Manipuladores Robóticos

em Manipuladores Robóticos

em Manipuladores Robóticos

Prof. Dr. Marcelo

Prof. Dr. Marcelo Becker

Becker

(2)

Introdução

Introdução

Programação Explícita

Espaço das Juntas

Espaço Cartesiano

Sumário da Aula

Sumário da Aula

Espaço Cartesiano

Observações

Programação Baseada em Modelos

Exercícios Recomendados

(3)

Introdução

Introdução

• Como obter a trajetória que descreve

o movimento desejado para o

manipulador robótico?

– Cinemática e Dinâmica conhecidas...

– Técnicas:

1.

1. Programação ExplícitaProgramação Explícita: usuário fornece uma trajetória pré-definida que o manipulador deve seguir

– Posições, Velocidades e Acelerações desejadas; – Presença de Obstáculos, etc.

(4)

Introdução

Introdução

• Como obter a trajetória que descreve

o movimento desejado para o

manipulador robótico?

– Cinemática e Dinâmica conhecidas...

– Técnicas:

2.

2. Programação Baseada em ModelosProgramação Baseada em Modelos: usuário

especifica modelos geométricos do manipulador e obstáculos e descreve a tarefa a ser executada através desses modelos

(5)

Introdução

Introdução

• Como obter a trajetória que descreve

o movimento desejado para o

manipulador robótico?

– Cinemática e Dinâmica conhecidas...

– Técnicas:

3.

3. Programação Baseada em TarefasProgramação Baseada em Tarefas: usuário especifica comandos para o manipulador: “pegar parafuso A e colocá-lo no furo B” (task-level controller)

(6)

Introdução

Introdução

Programação Explícita

Programação Explícita

Espaço das Juntas

Espaço Cartesiano

Sumário da Aula

Sumário da Aula

Espaço Cartesiano

Observações

Programação Baseada em Modelos

Exercícios Recomendados

(7)

Programação Explícita

Programação Explícita

• Como obter a trajetória que descreve

o movimento desejado para o

manipulador robótico?

– Cinemática e Dinâmica conhecidas...

– Cinemática e Dinâmica conhecidas...

– Trajetória:

• Formas de representação • Tempo real: 60 ~ 2000 Hz

– Trajetória pré-definida:

• Posições, Velocidades e Acelerações desejadas; • Presença de Obstáculos

(8)

Programação Explícita

Programação Explícita

• Modos de controle para manipuladores

robóticos

Presença de Obstáculos

Presença de Obstáculos

SIM

SIM NÃONÃO

SIM

SIM NÃONÃO

SIM SIM

NÃO NÃO

TrajetóriasTrajetórias Definidas Definidas

Planejador de trajetórias Planejador de trajetórias off

off--line livre de colisões e line livre de colisões e

acompanhamento on

acompanhamento on--line line

da trajetória da trajetória

Planejador de trajetórias Planejador de trajetórias off

off--line e acompanhamento line e acompanhamento

on

on--line da trajetórialine da trajetória

Controlador de Posição Controlador de Posição Controlador de posição

Controlador de posição com detecção e desvio com detecção e desvio de obstáculos on

(9)

Programação Explícita

Programação Explícita

• Modos de controle para manipuladores

robóticos

Condições de Contorno da Trajetória Planejador de Planejador de Trajetórias Trajetórias da Trajetória Especificações da Trajetória Limites Dinâmicos do Manipulador

)

(

),

(

),

(

),

(

)

(

,

)

(

),

(

t

t

v

t

t

p

t

t

t

φ

θ

θ

(10)

Programação Explícita

Programação Explícita

• Movimento desejado para o

manipulador robótico?

Sistema de Referência da Ferramenta Câmera

Sistema de Referência da Ferramenta Câmera

– Movimento do sistema

de coordenadas da

Sistema de Referência da Ferramenta

Sistema de Referência do Punho

Sistema de Referência do Robô Ferramenta Sistema de Referência da Estação Sistema de Referência da Peça

Sistema de Referência da Ferramenta

Sistema de Referência do Punho

Sistema de Referência do Robô Ferramenta Sistema de Referência da Estação Sistema de Referência da Peça

de coordenadas da

ferramenta {T} relativo

ao da estação {S}

– Movimento

desacoplado das n

juntas do manipulador,

etc.

{S} {T}

(11)

Programação Explícita

Programação Explícita

• Movimento desejado para o

manipulador robótico?

– Movimento desacoplado:

• Independe do manipulador, ferramentas, peças a • Independe do manipulador, ferramentas, peças a

serem manuseadas, etc.

– Problema básico:

• {Tinicial} → {Tfinal}

• Mudança de posição e orientação da ferramenta com relação à estação {S}

(12)

Programação Explícita

Programação Explícita

• Movimento desejado para o

manipulador robótico?

– No caso de trajetórias mais complexas:

• Seqüência de posições e orientações desejados • Seqüência de posições e orientações desejados

(intermediários às posições inicial {Tinicial} e final da ferramenta {Tfinal})

• Cada “ponto” intermediário: {Tintermediário}i

• Especifica-se atributos espaciais e temporais

 Movimentos “suaves” (funções contínuas cujas derivadas

também são contínuas - 1ªs e às vezes 2ªs)

 Evitar movimentos com variações bruscas de aceleração (Jerk)

(13)

Programação Explícita

Programação Explícita

• Movimento desejado para o

manipulador robótico?

{Tinicial}

(14)

Introdução

Introdução

Programação Explícita

Programação Explícita

––

Espaço das Juntas

Espaço das Juntas

Espaço Cartesiano

Sumário da Aula

Sumário da Aula

Espaço Cartesiano

Observações

Programação Baseada em Modelos

Exercícios Recomendados

(15)

Espaço das Juntas

Espaço das Juntas

• Movimento desejado para o manipulador

robótico é descrito em função das variáveis

de junta

– Não causa problemas de singularidade

– Não é feita correspondência entre as variáveis

– Não é feita correspondência entre as variáveis

de junta e o espaço cartesiano

• Cada “ponto” é descrito como uma posição e orientação de {T} em relação a {S}

• Converte-se os “pontos” para variáveis de junta através da cinemática inversa

• Obtém-se uma função “suave” para cada uma das n juntas do manipuladorfunção “suave”

(16)

Espaço das Juntas

Espaço das Juntas

• Polinômios Cúbicos

– Tem-se:

• O “ponto” inicial (t0, θ0) e o final (tf, θf)

– Deseja-se:

• Uma função “suave” para θ(t)

Função Contínua Função Contínua quanto à velocidade quanto à velocidade

• Uma função “suave” para θ(t)

t0 t θ0 θf f f

t

θ

θ

θ

θ

=

=

)

(

)

0

(

0

0

)

(

0

)

0

(

=

=

f

t

θ

θ

&

&

P o li n ô m io d o 3 º G R A U P o li n ô m io d o 3 º G R A U

(17)

Espaço das Juntas

Espaço das Juntas

• Polinômios Cúbicos

– 4 coeficientes...

3 3 2 2 1 0

.

.

.

)

(

t

=

a

+

a

t

+

a

t

+

a

t

θ

– Assim, para velocidade e aceleração:

– Substituindo as condições para t = 0 e t = t

f

...

t

a

a

t

t

a

t

a

a

t

.

6

2

)

(

.

3

.

2

)

(

3 2 2 3 2 1

+

=

+

+

=

θ

θ

&

&

&

(18)

Espaço das Juntas

Espaço das Juntas

• Polinômios Cúbicos

– Obtém-se para as equações de posição e

velocidade:

0 0

=

a

θ

2 3 2 1 1 3 3 2 2 1 0 0 0

.

3

.

2

0

0

.

.

.

f f f f f f

t

a

t

a

a

a

t

a

t

a

t

a

a

a

+

+

=

=

+

+

+

=

=

θ

θ

(19)

Espaço das Juntas

Espaço das Juntas

• Polinômios Cúbicos

– Obtém-se os 4 coeficientes...

(

)

.

3

θ

θ

=

a

0

1 0 0

=

=

a

a

θ

(

)

(

0

)

3 3 0 2 2

.

2

.

3

θ

θ

θ

θ

=

=

f f f f

t

a

t

a

(20)

Espaço das Juntas

Espaço das Juntas

• Polinômios Cúbicos (MatLab)

– Para as condições: - Tem-se:

º

15

0

=

θ

2 3

.

44

,

4

.

20

15

)

(

t

=

+

t

t

θ

2

=

θ

&

s

t

f

3

º

75

=

=

θ

t

t

t

t

t

.

66

,

26

40

)

(

.

33

,

13

.

40

)

(

2

=

=

θ

θ

&

&

&

(21)

Espaço das Juntas

Espaço das Juntas

• Polinômios Cúbicos

– Nos gráficos:

70 80 0 0.5 1 1.5 2 2.5 3 10 20 30 40 50 60 tempo [s] Â ng ul o [g ra us ] 3 2

.

44

,

4

.

20

15

)

(

t

=

+

t

t

θ

(22)

Espaço das Juntas

Espaço das Juntas

• Polinômios Cúbicos

– Nos gráficos:

30 35 2

.

33

,

13

.

40

)

(

t

=

t

t

θ

&

0 0.5 1 1.5 2 2.5 3 0 5 10 15 20 25 30 tempo [s] V el oc id ad e A ng ul ar [ gr au s/ s]

(23)

Espaço das Juntas

Espaço das Juntas

• Polinômios Cúbicos

– Nos gráficos:

30 40

t

t

)

40

26

,

66

.

(

=

θ

&

&

0 0.5 1 1.5 2 2.5 3 -40 -30 -20 -10 0 10 20 tempo [s] A ce le ra çã o A ng ul ar [ gr au s/ s 2 ]

θ

&

&

(

t

)

=

40

26

,

66

.

t

(24)

Espaço das Juntas

Espaço das Juntas

• Polinômios Cúbicos

– Tem-se:

• O “ponto” inicial (t0, θ0) e o final (tf, θf) • Os “pontos” intermediários

– Deseja-se:

– Deseja-se:

• Uma função “suave” para θ(t)SEM PARAR em cada

“ponto” intermediário...

– Procedimento:

• Converter os pontos inicial, final e intermediário para as variáveis de junta através da cinemática inversa

(25)

Espaço das Juntas

Espaço das Juntas

• Polinômios Cúbicos

– Agora as condições de contorno não são

nulas...

a

=

θ

f f

t

θ

θ

θ

θ

&

&

&

&

=

=

)

(

)

0

(

0 2 3 2 1 1 0 3 3 2 2 1 0 0 0

.

3

.

2

.

.

.

f f f f f f f

t

a

t

a

a

a

t

a

t

a

t

a

a

a

+

+

=

=

+

+

+

=

=

θ

θ

θ

θ

&

&

(26)

Espaço das Juntas

Espaço das Juntas

• Polinômios Cúbicos

– Obtém-se os 4 coeficientes...

(

)

2

1

.

3

θ

θ

θ

θ

& −

&

=

a

0 1 0 0

θ

θ

&

=

=

a

a

(

)

(

0

)

2

(

0

)

3 3 0 0 2 2

.

1

.

2

1

2

.

3

θ

θ

θ

θ

θ

θ

θ

θ

&

&

&

&

+

+

=

=

f f f f f f f f f

t

t

a

t

t

t

a

(27)

Espaço das Juntas

Espaço das Juntas

• Polinômios Cúbicos

– Tendo as velocidades das juntas desejadas

para cada “ponto”, aplica-se as equações

anteriores para cada trecho.

– Especificação das velocidades:

– Especificação das velocidades:

1.

1. Via usuárioVia usuário: fornece para cada posição a

velocidade linear e angular no espaço cartesiano 2.

2. Via SistemaVia Sistema: velocidades escolhidas

automaticamente através de um processo heurístico

3.

3. Via SistemaVia Sistema: velocidades escolhidas

automaticamente para manter uma aceleração contínua

(28)

Espaço das Juntas

Espaço das Juntas

• Polinômios Cúbicos

– Heurística:

• Se ocorre mudança de sinal na inclinação na linha tracejada → velocidade nula...

• Senão, a velocidade é obtida pela média das • Senão, a velocidade é obtida pela média das

inclinações t0 tA tB tC tD θD θC θB θA θ0

(29)

50 55

Espaço das Juntas

Espaço das Juntas

• Polinômios Cúbicos

– Exemplo – “Pontos” desejados (MatLab)

θD θA 50 55 θD θA 0 2 4 6 8 10 12 10 15 20 25 30 35 40 45 Tempo [s] Â ng ul o [g ra us ] θC θB θA θ0 0 2 4 6 8 10 12 10 15 20 25 30 35 40 45 Tempo [s] Â ng ul o [g ra us ] θC θB θA θ0

(30)

50 55 50

55

Espaço das Juntas

Espaço das Juntas

• Polinômios Cúbicos

– Exemplo – Ângulos da Junta

θD θA θA θD 0 2 4 6 8 10 12 10 15 20 25 30 35 40 45 Tempo [s] Â ng ul o [g ra us ] 0 2 4 6 8 10 12 10 15 20 25 30 35 40 45 Tempo [s] Â ng ul o [g ra us ] θC θB θA θ0 θC θB θA θ0

(31)

10 15

Espaço das Juntas

Espaço das Juntas

• Polinômios Cúbicos

– Exemplo - Velocidade

10 15 0 2 4 6 8 10 12 -20 -15 -10 -5 0 5 Tempo [s] V el oc id ad e [g ra us /s ] 0 2 4 6 8 10 12 -20 -15 -10 -5 0 5 Tempo [s] V el oc id ad e [g ra us /s ]

(32)

Espaço das Juntas

Espaço das Juntas

• Polinômios de “Ordem mais Elevada”

– Empregados quando se deseja definir

posição, velocidade e aceleração no início e

o final do segmento da trajetória

– Polinômios de 5ª ordem:

– Polinômios de 5ª ordem:

• 6 coeficientes... 5 5 4 4 3 3 2 2 1 0

.

.

.

.

.

)

(

t

=

a

+

a

t

+

a

t

+

a

t

+

a

t

+

a

t

θ

4 5 3 4 2 3 2 1

2

.

3

.

4

.

5

.

)

(

t

=

a

+

a

t

+

a

t

+

a

t

+

a

t

θ

&

3 5 2 4 3 2

6

.

12

.

20

.

2

)

(

t

=

a

+

a

t

+

a

t

+

a

t

θ

&

&

(33)

Espaço das Juntas

Espaço das Juntas

• Polinômios de 5ª Ordem

– Obtém-se para as equações de posição,

velocidade e aceleração:

5 4 3 2

+

+

+

+

+

=

θ

2 0 1 0 0 0

2a

a

a

=

=

=

θ

θ

θ

&

&

&

3 5 2 4 3 2 4 5 3 4 2 3 2 1 5 5 4 4 3 3 2 2 1 0

.

20

.

12

.

6

2

.

5

.

4

.

3

.

2

.

.

.

.

.

f f f f f f f f f f f f f f f

t

a

t

a

t

a

a

t

a

t

a

t

a

t

a

a

t

a

t

a

t

a

t

a

t

a

a

+

+

+

=

+

+

+

+

=

+

+

+

+

+

=

θ

θ

θ

&

&

&

(34)

Espaço das Juntas

Espaço das Juntas

• Polinômios de 5ª Ordem

– Obtém-se os 6 coeficientes...

0 0

=

θ

a

2 0 0 0 3

).

.

3

(

).

.

12

.

8

(

.

20

.

20

f f

t

f f

t

f

a

=

θ

θ

θ

&

+

θ

&

θ

&

&

θ

&

&

0 0

=

θ

a

5 2 0 0 0 5 4 2 0 0 0 4 3 3

.

2

).

(

).

.

6

.

6

(

.

12

.

12

.

2

).

.

2

.

3

(

).

.

16

.

14

(

.

30

.

30

.

2

f f f f f f f f f f f f f

t

t

t

a

t

t

t

a

t

a

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

&

&

&

&

&

&

&

&

&

&

&

&

+

=

+

+

+

=

=

0 1

=

θ

&

a

2

0 2

θ

&

&

=

a

(35)

Espaço das Juntas

Espaço das Juntas

• Polinômios de 5ª Ordem (MatLab)

– Para as condições iniciais, tem-se:

º

15

0

=

=

θ

θ

θ

&

0

=

0

º

/

s

θ

&

&

0

=

0

º

/

s

2

s

t

t

f f

3

º

75

=

=

=

θ

s

f

=

0

º

/

θ

&

2

/

º

0

s

f

=

θ

&

&

(36)

Espaço das Juntas

Espaço das Juntas

• Polinômios de 5ª Ordem (MatLab)

– Obtém-se as equações:

5 4 3

.

4815

,

1

.

11

,

11

.

22

,

22

15

)

(

t

=

+

t

t

+

t

θ

3 2 4 3 2 5 4 3

.

63

,

29

.

32

,

133

.

32

,

133

)

(

.

4075

,

7

.

44

,

44

.

66

,

66

)

(

.

4815

,

1

.

11

,

11

.

22

,

22

15

)

(

t

t

t

t

t

t

t

t

t

t

t

t

+

=

+

=

+

+

=

θ

θ

θ

&

&

&

(37)

70 80

Espaço das Juntas

Espaço das Juntas

• Polinômios de 5ª Ordem

– Nos gráficos:

0 0.5 1 1.5 2 2.5 3 10 20 30 40 50 60 70 tempo [s] Â ng ul o [g ra us ] 5 4 3

.

4815

,

1

.

11

,

11

.

22

,

22

15

)

(

t

=

+

t

t

+

t

θ

(38)

35 40

Espaço das Juntas

Espaço das Juntas

• Polinômios de 5ª Ordem

– Nos gráficos:

4 3 2

.

4075

,

7

.

44

,

44

.

66

,

66

)

(

t

=

t

t

+

t

θ

&

0 0.5 1 1.5 2 2.5 3 -5 0 5 10 15 20 25 30 tempo [s] V el oc id ad e A ng ul ar [ gr au s/ s]

(39)

30 40

Espaço das Juntas

Espaço das Juntas

• Polinômios de 5ª Ordem

– Nos gráficos:

0 0.5 1 1.5 2 2.5 3 -40 -30 -20 -10 0 10 20 tempo [s] A ce le ra çã o A ng ul ar [ gr au s/ s 2 ] 3 2

.

63

,

29

.

32

,

133

.

32

,

133

)

(

t

=

t

t

+

t

θ

&

&

(40)

Espaço das Juntas

Espaço das Juntas

• Funções Lineares e Parabólicas

– Interpolação linear para mover a junta da

posição atual para a posição final

• Velocidade torna-se descontínua no início e no final do movimento...

movimento...

– Para obter uma trajetória “suave”: adiciona-se

trechos parabólicos...

• Emprega-se trechos de aceleração constante • Comportamento “suave” para a velocidade

• Comportamento contínuo para posição e velocidade • Diversas soluções são possíveis...

(41)

Espaço das Juntas

Espaço das Juntas

• Funções Lineares e Parabólicas

θf θ θf θ θh θf θ θf θ θh

– Como a velocidade na fronteira da parábola é igual à velocidade no segmento de reta:

b h b h b

t

t

t

=

θ

θ

θ

&

&

.

t0 tf θ0 t tb tf - tb t0 tf θ0 t th θh t0 tf θ0 t tb tf - tb t0 tf θ0 t th θh 2 0

.

.

2

1

b b

θ

θ

t

θ

=

+

&

&

(42)

Espaço das Juntas

Espaço das Juntas

• Funções Lineares e Parabólicas

– Assim, para t = 2.th:

0

)

(

.

.

.

2

θ

+

θ

θ

0

=

θ

&

&

t

b

&

&

t

t

b f

Duração desejada para o Movimento Duração desejada para o Movimento

θ

θ

θ

θ

θ

&

&

&

&

&

&

2

)

(

4

2

0 2 2

=

f b

t

t

t

4

(

2 0

)

t

f

θ

θ

θ

&

&

(43)

Espaço das Juntas

Espaço das Juntas

• Funções Lineares e Parabólicas

– Tem-se:

• O “ponto” inicial (t0, θ0) e o final (tf, θf) • Os “pontos” intermediários

– Deseja-se:

– Deseja-se:

• Uma função “suave” para θ(t)SEM PARAR em cada

“ponto” intermediário...

– Procedimento:

• Segmentos lineares unem os pontos especificados; • Segmentos parabólicos suavizam o movimento.

(44)

Espaço das Juntas

Espaço das Juntas

• Funções Lineares e Parabólicas (MatLab)

– Para as condições iniciais, tem-se:

º

15

=

θ

2 1

=

40

º

/

s

θ

&

&

º

75

º

15

0

=

=

f

θ

θ

2 2 1

/

º

30

/

º

40

s

s

=

=

θ

θ

&

&

&

&

(45)

70 80

70 80

Espaço das Juntas

Espaço das Juntas

• Funções Lineares e Parabólicas

– Nos gráficos:

0 0.5 1 1.5 2 2.5 3 10 20 30 40 50 60 tempo [s] Â ng ul o [g ra us ] 0 0.5 1 1.5 2 2.5 3 10 20 30 40 50 60 tempo [s] Â ng ul o [g ra us ]

(46)

Espaço das Juntas

Espaço das Juntas

• Funções Lineares e Parabólicas

– Nos gráficos:

25 30 25 30 0 0.5 1 1.5 2 2.5 3 0 5 10 15 20 tempo [s] V el oc id ad e A ng ul ar [ gr au s/ s] 0 0.5 1 1.5 2 2.5 3 0 5 10 15 20 tempo [s] V el oc id ad e A ng ul ar [ gr au s/ s]

(47)

Espaço das Juntas

Espaço das Juntas

• Funções Lineares e Parabólicas

– Nos gráficos:

20 30 30 40 0 0.5 1 1.5 2 2.5 3 -30 -20 -10 0 10 20 tempo [s] A ce le ra çã o A ng ul ar [ gr au s/ s 2 ] 0 0.5 1 1.5 2 2.5 3 -40 -30 -20 -10 0 10 20 tempo [s] A ce le ra çã o A ng ul ar [ gr au s/ s 2 ]

(48)

Espaço das Juntas

Espaço das Juntas

• Funções Lineares e Parabólicas

– Sejam:

j, k e l 3 pontos consecutivos

• A duração do segmento que conecta os pontos j e k é tdjk

e k é tdjk

• A duração do segmento de parábola que conecta os pontos j e k é tk

• A duração do segmento de reta que conecta os pontos j e k é tjk

• A velocidade durante o trecho linear é

• A aceleração durante o trecho parabólico no ponto j é

j

θ

&

&

jk

(49)

Espaço das Juntas

Espaço das Juntas

• Funções Lineares e Parabólicas

θ θj tjk θ&kl td12 tk θi t tdjk θk θl jk θ&

(50)

Espaço das Juntas

Espaço das Juntas

• Funções Lineares e Parabólicas

– Dados:

• Todos os pontos desejados da trajetória:

• As durações desejadas dos trechos da trajetória: tdjk • A magnitude desejada da aceleração para cada

k

θ

• A magnitude desejada da aceleração para cada trecho:

– Obtém-se:

• A duração dos segmentos parabólicos que conectam os pontos da trajetória: tk

k

(51)

Espaço das Juntas

Espaço das Juntas

• Funções Lineares e Parabólicas

– Para os pontos internos à trajetória:

j k jk

t

=

θ

θ

θ

&

k j djk jk k jk kl k k jk kl k djk jk

t

t

t

t

t

t

2

1

2

1

|

|

)

sgn(

=

=

=

θ

θ

θ

θ

θ

θ

θ

&

&

&

&

&

&

&

&

&

&

(52)

Espaço das Juntas

Espaço das Juntas

• Funções Lineares e Parabólicas

– Para o 1º trecho da trajetória:

1 2 1 1

1

t

t

t

=

θ

θ

θ

&

&

2 1 12 12 1 1 2 2 12 12 1 1 12 1 2 12 1 1 2 1 1 12

2

1

)

(

2

2

1

|

|

)

sgn(

2

t

t

t

t

t

t

t

t

t

t

t

d d d d

=

=

=

=

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

&

&

&

&

&

&

&

&

&

(53)

Espaço das Juntas

Espaço das Juntas

• Funções Lineares e Parabólicas

– Para o último trecho da trajetória:

1

1

=

n n n n

t

θ

θ

θ

&

&

&

&

1 ) 1 ( ) 1 ( 1 2 ) 1 ( ) 1 ( ) 1 ( 1 ) 1 ( 1 ) 1 (

2

1

)

(

2

2

1

|

|

)

sgn(

2

1

− − − − − − − − − − −

=

=

=

=

n n n n d n n n n n n n d n n d n n n n d n n n n n n n n n n d n n

t

t

t

t

t

t

t

t

t

t

t

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

&

&

&

&

&

&

&

&

&

(54)

50 55

Espaço das Juntas

Espaço das Juntas

• Funções Lineares e Parabólicas

– Exemplo – “Pontos” desejados (MatLab)

θD θA 0 2 4 6 8 10 12 10 15 20 25 30 35 40 45 Tempo [s] Â ng ul o [g ra us ] θC θB θA θ0 θ0

(55)

Introdução

Introdução

Programação Explícita

Programação Explícita

––

Espaço das Juntas

Espaço das Juntas

––

Espaço Cartesiano

Espaço Cartesiano

Sumário da Aula

Sumário da Aula

––

Espaço Cartesiano

Espaço Cartesiano

Observações

Programação Baseada em Modelos

Exercícios Recomendados

(56)

Espaço Cartesiano

Espaço Cartesiano

• Movimento desejado para o manipulador

robótico é descrito em função de variáveis

Cartesianas

– Seqüência de “pontos” que fornecem a Posição

e Orientação da ferramenta em função do

e Orientação da ferramenta em função do

tempo

• Cada “ponto” é descrito como uma posição e

orientação de {T} em relação a {S} em Coordenadas Cartesianas

• Trajetórias mais comuns: segmentos de reta, arcos de circunferência, elipses, senoidais, etc.

(57)

Espaço Cartesiano

Espaço Cartesiano

• Movimento desejado para o manipulador

robótico é descrito em função de variáveis

Cartesianas

– Seqüência de “pontos” que fornecem a Posição

e Orientação da ferramenta em função do

e Orientação da ferramenta em função do

tempo

• Não é necessário converter inicialmente os “pontos” para variáveis de junta através da cinemática inversa • São Computacionalmente mais “caras” pois requerem a

solução da cinemática inversacinemática inversa do manipulador “em tempo real” (taxa de atualização – update rate)

(58)

Espaço Cartesiano

Espaço Cartesiano

• Movimento Retilíneo no Espaço Cartesiano

– Movimento comumente empregado

• Seleciona-se uma seqüência de pontos alinhados e próximos

• Emprega-se uma função “suave” para conectar os • Emprega-se uma função “suave” para conectar os

pontos

– Splines, p.e.: funções lineares e parabólicas – Componentes de posição: alinhados

– Componentes de orientação: Matriz de rotação » Não se pode usar interpolação linear

» Emprega-se então a representação ângulo-eixo (angle-axis)

(59)

Espaço Cartesiano

Espaço Cartesiano

• Problemas encontrados no Espaço

Cartesiano com Movimento Retilíneos

– Incompatibilidade com o espaço de trabalho e

singularidades

1. Pontos intermediários da Trajetória fora do espaço de 1. Pontos intermediários da Trajetória fora do espaço de

trabalho

 Posição Inicial e Final

 Posições intermediárias A

(60)

Espaço Cartesiano

Espaço Cartesiano

• Problemas encontrados no Espaço

Cartesiano com Movimento Retilíneos

– Incompatibilidade com o espaço de trabalho e

singularidades

2. Velocidades de Junta Elevadas quando próximos a 2. Velocidades de Junta Elevadas quando próximos a

singularidades

 Manipulador desvia da

trajetória desejada...

B

(61)

Espaço Cartesiano

Espaço Cartesiano

• Problemas encontrados no Espaço

Cartesiano com Movimento Retilíneos

– Incompatibilidade com o espaço de trabalho e

singularidades

3. Posições inicial e final atingíveis em diferentes soluções 3. Posições inicial e final atingíveis em diferentes soluções

B A

(62)

Introdução

Introdução

Programação Explícita

Programação Explícita

––

Espaço das Juntas

Espaço das Juntas

––

Espaço Cartesiano

Espaço Cartesiano

Sumário da Aula

Sumário da Aula

––

Espaço Cartesiano

Espaço Cartesiano

––

Observações

Observações

Programação Baseada em Modelos

Exercícios Recomendados

(63)

Observações

Observações

• Geração de Trajetórias em “Tempo Real”

– Trajetória usualmente gerada em termos de

– Enviadas para o Sistema de Controle do

Manipulador

junta

de

variáveis

e

(

)

)

(

),

(

t

θ

t

θ

t

θ

&

&

&

Manipulador

• Taxa de atualização (update rate)...

RobôRobô Sistema de Controle Gerador de Trajetória

τ

) (t d

θ

& ) (t d

θ

&& ) (t d

θ

θ

θ

& RobôRobô Sistema de Controle Gerador de Trajetória

τ

) (t d

θ

& ) (t d

θ

&& ) (t d

θ

θ

θ

&

(64)

Observações

Observações

• Geração de Trajetórias em “Tempo Real”

– Espaço das Juntas

– Para splines cúbicas (polinômios de 3º grau)

• Todos os coeficientes das n splines cúbicas são • Todos os coeficientes das n splines cúbicas são

calculados previamente:

• Quando se chega ao final de um trecho da

trajetória, um novo conjunto de coeficientes do polinômio é empregado e t reiniciado como 0 (“zero”) 3 3 2 2 1 0

.

.

.

)

(

n n n n n

t

=

a

n

+

a

n

t

+

a

n

t

+

a

n

t

θ

(65)

Observações

Observações

• Geração de Trajetórias em “Tempo Real”

– Espaço das Juntas

– Para splines Lineares e Parabólicas

• O valor de t é verificado a cada atualização para determinar se o trecho atual é linear ou parabólico. determinar se o trecho atual é linear ou parabólico. Para o trecho linear:

0

.

=

=

+

=

θ

θ

θ

θ

θ

θ

&

&

&

&

&

jk jk j

t

(66)

Observações

Observações

• Geração de Trajetórias em “Tempo Real”

– Espaço das Juntas

– Para splines Lineares e Parabólicas

• O valor de t é verificado a cada atualização para determinar se o trecho atual é linear ou parabólico. determinar se o trecho atual é linear ou parabólico. Para o trecho parabólico:

(

)

k inb k jk inb k inb jk j jk j inb

t

t

t

t

t

t

t

t

θ

θ

θ

θ

θ

θ

θ

θ

θ

&

&

&

&

&

&

&

&

&

&

&

=

+

=

+

+

=

+

=

.

.

2

1

)

.(

2

1

2 Para um novo trecho com spline linear e parabólica,

t

é reiniciado como

(67)

Observações

Observações

• Geração de Trajetórias em “Tempo Real”

– Espaço Cartesiano

– Para splines Lineares e Parabólicas

• Valores de posição e orientação representados no espaço cartesiano.

espaço cartesiano.

• x

representa a posição e orientação.

• Para cada grau de liberdade, tem-se, no trecho linear:

0

.

=

=

+

=

x

x

x

t

x

x

x

jk jk j

&

&

&

&

&

(68)

Observações

Observações

• Geração de Trajetórias em “Tempo Real”

– Espaço Cartesiano

– Para splines Lineares e Parabólicas

• No trecho parabólico:

(

)

k inb k jk inb k inb jk j jk j inb

x

x

t

x

x

x

t

x

t

t

x

x

x

t

t

t

t

&

&

&

&

&

&

&

&

&

&

&

=

+

=

+

+

=

+

=

.

.

2

1

)

.(

2

1

2

(69)

Observações

Observações

• Geração de Trajetórias em “Tempo Real”

– Espaço Cartesiano

– Para splines Lineares e Parabólicas

• Converte-se então a trajetória em coordenadas Cartesianas para variáveis de junta

x

,

x

& e

x

&

&

Cartesianas para variáveis de junta :

– Para posição: CINEMÁTICA INVERSACINEMÁTICA INVERSA

– Para velocidade: JACOBIANOJACOBIANO

– Para aceleração: JACOBIANO INVERSO e sua DERIVADAJACOBIANO INVERSO e sua DERIVADA

• Modo mais simples:

– Converter e empregar um SOLVER para se obter um vetor Θ com as variáveis de junta (taxa de aquisiçãotaxa de aquisição); – Diferenciação Numérica é então empregada:

x

x

x

,

& e

&

&

θ

θ

θ

,

& e

&

&

T em S

G

x

Θ Θ& e &&

(70)

Observações

Observações

• Geração de Trajetórias em “Tempo Real”

– Espaço Cartesiano

– Para splines Lineares e Parabólicas

• Algoritmo, para cada instante de tempo t:

t

t)

(t

(t)

(t)

t

t)

(t

(t)

(t)

SOLVE

(t)

SG S G

δ

δ

δ

δ

Θ

Θ

=

Θ

Θ

Θ

=

Θ

=

Θ

&

&

&

&

&

)

(

T

T

x

Θ Θ

Θ, & e &&

Envia-se

para o sistema de controle do Manipulador

(71)

Observações

Observações

• Planejar Trajetórias com o Modelo Dinâmico

– Em geral, considera-se um valor padrão ou

máximo de aceleração na geração de

trajetórias

• Função da dinâmica do Manipulador e de seus limites • Função da dinâmica do Manipulador e de seus limites • Atuadores são caracterizados:

– Não por torque e aceleração máximos... – Por curvas de torque vs. velocidade

• Induz-se Simplificações:

– Considerar uma aceleração máxima (“conservadora”) para cada junta do manipulador

– Não se aproveita completamente as capacidades de velocidade do atuador...

(72)

Observações

Observações

• Planejar Trajetórias com o Modelo Dinâmico

– Para se obter o tempo mínimo para um

manipulador atingir uma posição ou executar

uma trajetória:

• Modelo Dinâmico do Manipulador • Modelo Dinâmico do Manipulador

• Curvas de torque x velocidade dos atuadores  Soluções Numéricas são empregadas...

(73)

Observações

Observações

• Uso de Quartenions

– Comparação entre o uso de quartenions e matrizes

Operação

Operação QuartenionsQuartenions MatrizesMatrizes Operação

Operação QuartenionsQuartenions MatrizesMatrizes

R1R2 9 (+) e 16 (x) 15 (+) e 24 (x) Rv 12 (+) e 22 (x) 6 (+) e 9 (x) R → Rol(n,θθθθ) 24 (x), 1 (√) e 1 (arctan) 8 (+), 10 (x), 2 (√) e 1 (arctan)

(74)

Introdução

Introdução

Programação Explícita

Programação Explícita

––

Espaço das Juntas

Espaço das Juntas

––

Espaço Cartesiano

Espaço Cartesiano

Sumário da Aula

Sumário da Aula

––

Espaço Cartesiano

Espaço Cartesiano

––

Observações

Observações

Programação Baseada em Modelos

Programação Baseada em Modelos

Exercícios Recomendados

(75)

Programação baseada em Modelos

Programação baseada em Modelos

• Planejar Trajetórias Livres de Colisões

– Colisões com obstáculos:

• Fixos (máquinas, paredes, grades, etc.)

• Móveis (pessoas, objetos, outros manipuladores, etc.)

– Não disponíveis comercialmente...

– Não disponíveis comercialmente...

– O sistema deve ter modelos:

• Do manipulador;

• Da área de trabalho;

(76)

• Planejar Trajetórias livres de Colisões

– Várias técnicas são aplicadas:

• Modelar o espaço livre da área de trabalho

empregando a Teoria de GrafosTeoria de Grafos e encontrar uma trajetória livre de colisões

Programação baseada em Modelos

Programação baseada em Modelos

trajetória livre de colisões

– Complexidade exponencial no número de juntas do manipulador...

• Empregar Campos de Potencial ArtificialCampos de Potencial Artificial ao redor dos obstáculos e um pólo de atração na posição desejada

(77)

• Planejar Trajetórias livres de Colisões

– Exemplo: Lozano-Pérez (1987)

• Robô PUMA com garra de 3 dedos • 6 Graus de Liberdade

Programação baseada em Modelos

Programação baseada em Modelos

(78)

• Planejar Trajetórias livres de Colisões

– Exemplo: Lozano-Pérez (1987)

• Manipulador com n graus de liberdade

• Representação no Espaço de Configurações:

– Configuration Space (C-space): Conjunto de parâmetros

Programação baseada em Modelos

Programação baseada em Modelos

– Configuration Space (C-space): Conjunto de parâmetros que definem completamente a posição de qualquer ponto do manipulador ou obstáculo (fixo ou móvel) dentro de seu espaço de trabalho.

– Forma de representação: » Espaço das Juntas » Espaço Cartesiano

 Espaço das Juntas

  

 Espaço Cartesiano

Multiplicidade de Soluções

(79)

• Planejar Trajetórias livres de Colisões

– Exemplo: Lozano-Pérez (1987)

• Mapeia-se os obstáculos no Espaço de Configurações

– C-Space Obstacles (Figura para um manipulador RRR)

Programação baseada em Modelos

Programação baseada em Modelos

• Espaço Livre: complemento do C-Space Obstacles

θ1 θ2 θ3 θ2 θ2 a3 b3 a 3 b3 θ3 R1

(80)

• Planejar Trajetórias livres de Colisões

– Exemplo: Lozano-Pérez (1987)

• Espaço livre é obtido para cada junta • n juntas → n C-spaces...

Programação baseada em Modelos

Programação baseada em Modelos

(81)

• Planejar Trajetórias livres de Colisões

– Exemplo: Lozano-Pérez (1987)

Programação baseada em Modelos

Programação baseada em Modelos

1

θ2

Um manipulador com 2 juntas rotacionais (RR) e obstáculos no espaço cartesiano (2D) e no espaço das juntas (C-space)

1 2 1 2 θ1 2π 0

(82)

• Planejar Trajetórias livres de Colisões

– Exemplo: Lozano-Pérez (1987)

Programação baseada em Modelos

Programação baseada em Modelos

2

Um manipulador com 3 juntas rotacionais (RRR) e obstáculos no espaço cartesiano (2D) e no espaço das juntas (C-space)

(83)

• Planejar Trajetórias livres de Colisões

– Exemplo: Lozano-Pérez (1987)

Programação baseada em Modelos

Programação baseada em Modelos

(84)

• Planejar Trajetórias livres de Colisões

Programação baseada em Modelos

Programação baseada em Modelos

(85)

Introdução

Introdução

Programação Explícita

Programação Explícita

––

Espaço das Juntas

Espaço das Juntas

––

Espaço Cartesiano

Espaço Cartesiano

Sumário da Aula

Sumário da Aula

––

Espaço Cartesiano

Espaço Cartesiano

––

Observações

Observações

Programação Baseada em Modelos

Programação Baseada em Modelos

Exercícios Recomendados

Exercícios Recomendados

Bibliografia Recomendada

(86)

Exercícios Recomendados

Exercícios Recomendados

• Exercícios:

(87)

Introdução

Introdução

Programação Explícita

Programação Explícita

––

Espaço das Juntas

Espaço das Juntas

––

Espaço Cartesiano

Espaço Cartesiano

Sumário da Aula

Sumário da Aula

––

Espaço Cartesiano

Espaço Cartesiano

––

Observações

Observações

Programação Baseada em Modelos

Programação Baseada em Modelos

Exercícios Recomendados

Exercícios Recomendados

(88)

Bibliografia Recomendada

Bibliografia Recomendada

Craig, J.C., 2005, Introduction to Robotics:

Mechanics and Control

, 3

rd

Edition, Pearson

Education Inc., ISBN 0-201-54361-3

Paul, R. P., 1981, Robot Manipulators. Mathematics,

Programming and Control

, The MIT Press.

Paul, R. P., 1981, Robot Manipulators. Mathematics,

Programming and Control

, The MIT Press.

Fu, K.S., Gonzales, R.C., and Lee, C.S.G., 1987,

Robotics: Control, Sensing, Vision, and Intelligence

,

McGraw-Hill Int. Editions, ISBN 0-07-100421-1.

(89)

Bibliografia Recomendada

Bibliografia Recomendada

Lozano-Perez, T., 1987, A Simple Motion-Planning

Algorithm for General Robot Manipulators

, IEEE

Journal of Robotics and Automation, Vol. RA-3, Nº 3,

pp. 224-238.

Lozano-Perez, T., 1981, Automatic Planning of

Manipulator Transfer Movements

, IEEE Transactions

on Systems, Man, and Cybernetics, Vol. SMC-11, Nº

10, pp. 681-698.

Referências

Documentos relacionados

Deste modo, diante da importância econô- mica da produção de citrus no Brasil, e da proble- mática enfrentada decorrente do estresse hídrico, o objetivo deste trabalho foi

O DIRETOR DO LABORATÓRIO NACIONAL DE COMPUTAÇÃO CIENTÍFICA DO MINISTÉRIO DA CIÊNCIA, TECNOLOGIA, INOVAÇÕES E COMUNICAÇÕES, no uso da competência que lhe foi

A psicanálise foi acusada de normatizadora (FOUCAULT, 1996) por haver mantido o modelo familiar burguês nuclear como o centro de sua teoria como é manifestado

Aqui está presente o entendimento de Guattari (1987) ao conceituar a interpretação como algo ao nível da ruptura, operando diretamente no coeficiente de transversalidade,

Hoje o gasto com a saúde equivale a aproximada- mente 8% do Produto Interno Bruto (PIB), sendo que, dessa porcentagem, o setor privado gasta mais que o setor público (Portal

necessidade de entrar preparada para uma nova etapa da vida, que deveria ser usuƒruida e vivenciada da mesma forma que saudavel, alegre e objetiva e que, eu

O objetivo principal deste estudo de caso era verificar o grau de valorização da medicina popular de plantas entre o próprio povo, tendo por base uma comunidade com diferentes

Os modelos matemáticos para os elos que compõem o manipulador robótico em estudo são obtidos através da identificação paramétrica em tempo real... Dos