sem0317 sem0317 – aula aula 9 planejamento de trajetórias … · espaço das juntas •...
TRANSCRIPT
SEM0317 SEM0317 –– Aula Aula 99
Planejamento de Trajetórias Planejamento de Trajetórias em Manipuladores Robóticosem Manipuladores Robóticosem Manipuladores Robóticosem Manipuladores Robóticos
Prof. Dr. Marcelo Prof. Dr. Marcelo BeckerBeckerSEM - EESC - USP
•• IntroduçãoIntrodução
• Programação Explícita
– Espaço das Juntas
– Espaço Cartesiano
Sumário da AulaSumário da Aula
EESC-USP © M. Becker 2007
– Espaço Cartesiano
– Observações
• Programação Baseada em Modelos
• Exercícios Recomendados
• Bibliografia Recomendada
2/89
IntroduçãoIntrodução
• Como obter a trajetória que descreve o movimento desejado para o manipulador robótico?
EESC-USP © M. Becker 2007
– 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.
3/89
IntroduçãoIntrodução
• Como obter a trajetória que descreve o movimento desejado para o manipulador robótico?
EESC-USP © M. Becker 2007
– 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– Condições de contorno para obter a trajetória desejada
4/89
IntroduçãoIntrodução
• Como obter a trajetória que descreve o movimento desejado para o manipulador robótico?
EESC-USP © M. Becker 2007
– 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)– Cuidado com singularidades...
5/89
•• IntroduçãoIntrodução
•• Programação ExplícitaProgramação Explícita– Espaço das Juntas
– Espaço Cartesiano
Sumário da AulaSumário da Aula
EESC-USP © M. Becker 2007
– Espaço Cartesiano
– Observações
• Programação Baseada em Modelos
• Exercícios Recomendados
• Bibliografia Recomendada
6/89
Programação ExplícitaProgramação Explícita
• Como obter a trajetória que descreve o movimento desejado para o manipulador robótico?
– Cinemática e Dinâmica conhecidas...
EESC-USP © M. Becker 2007
– 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• Interface com usuário
7/89
Programação ExplícitaProgramação Explícita
• Modos de controle para manipuladores robóticos
Presença de ObstáculosPresença de ObstáculosSIMSIM NÃONÃO
EESC-USP © M. Becker 2007
SIMSIM NÃONÃO
SIMSIM
NÃONÃOTra
jetó
rias
Tra
jetó
rias
De
finid
as
De
finid
as
Planejador de trajetórias Planejador de trajetórias offoff--line livre de colisões e line livre de colisões e acompanhamento onacompanhamento on--line line da trajetóriada trajetória
Planejador de trajetórias Planejador de trajetórias offoff--line e acompanhamento line e acompanhamento onon--line da trajetórialine da trajetória
Controlador de PosiçãoControlador de PosiçãoControlador de posição Controlador de posição com detecção e desvio com detecção e desvio de obstáculos onde obstáculos on--line line
8/89
Programação ExplícitaProgramação Explícita
• Modos de controle para manipuladores robóticos
Condições de Contornoda Trajetória
EESC-USP © M. Becker 2007
Planejador de Planejador de TrajetóriasTrajetórias
da Trajetória
Especificaçõesda Trajetória
Limites Dinâmicos do Manipulador
)(),(),(),(
)(,)(),(
ttvttp
ttt
Ωφ
θθθ &&&
9/89
Programação ExplícitaProgramaçã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
EESC-USP © M. Becker 2007
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 njuntas do manipulador, etc.
S
T
10/89
Programação ExplícitaProgramação Explícita
• Movimento desejado para o manipulador robótico?
– Movimento desacoplado: • Independe do manipulador, ferramentas, peças a
EESC-USP © M. Becker 2007
• 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
11/89
Programação ExplícitaProgramaçã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
EESC-USP © M. Becker 2007
• 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árioi
• 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)
pois geram altas vibrações e atritos...
12/89
Programação ExplícitaProgramação Explícita
• Movimento desejado para o manipulador robótico?
EESC-USP © M. Becker 2007
Tinicial
Tfinal
13/89
•• IntroduçãoIntrodução
•• Programação ExplícitaProgramação Explícita–– Espaço das JuntasEspaço das Juntas
– Espaço Cartesiano
Sumário da AulaSumário da Aula
EESC-USP © M. Becker 2007
– Espaço Cartesiano
– Observações
• Programação Baseada em Modelos
• Exercícios Recomendados
• Bibliografia Recomendada
14/89
Espaço das JuntasEspaç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
EESC-USP © M. Becker 2007
– 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 njuntas do manipulador
função “suave”
15/89
Espaço das JuntasEspaç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)
EESC-USP © M. Becker 2007
Função Contínua Função Contínua quanto à velocidadequanto à velocidade
• Uma função “suave” para θ(t)
t0 tf
θ0
θf
fft θθ
θθ
=
=
)(
)0( 0
0)(
0)0(
=
=
ftθ
θ&
&
Po
lin
ôm
io d
o 3
º G
RA
UP
oli
nô
mio
do
3º
GR
AU
16/89
Espaço das JuntasEspaço das Juntas
• Polinômios Cúbicos– 4 coeficientes...
3
3
2
210 ...)( tatataat +++=θ
EESC-USP © M. Becker 2007
– Assim, para velocidade e aceleração:
– Substituindo as condições para t = 0 e t = tf...
taat
tataat
.62)(
.3.2)(
32
2
321
+=
++=
θ
θ&&
&
17/89
Espaço das JuntasEspaço das Juntas
• Polinômios Cúbicos– Obtém-se para as equações de posição e
velocidade:
00 a=θ
EESC-USP © M. Becker 2007
2
321
1
3
3
2
210
00
.3.20
0
...
ff
ffff
tataa
a
tatataa
a
++=
=
+++=
=
θ
θ
18/89
Espaço das JuntasEspaço das Juntas
• Polinômios Cúbicos– Obtém-se os 4 coeficientes...
( ).3
θθ −=a
EESC-USP © M. Becker 2007
01
00
=
=
a
a θ( )
( )033
022
.2
.3
θθ
θθ
−−=
−=
f
f
f
f
ta
ta
19/89
Espaço das JuntasEspaço das Juntas
• Polinômios Cúbicos (MatLab)– Para as condições: - Tem-se:
º150 =θ 32 .44,4.2015)( ttt −+=θ2−=θ&
EESC-USP © M. Becker 2007
st
f
3
º75
=∆
=θ
tt
ttt
.66,2640)(
.33,13.40)( 2
−=
−=
θ
θ&&
&
20/89
Espaço das JuntasEspaço das Juntas
• Polinômios Cúbicos– Nos gráficos:
70
80
EESC-USP © M. Becker 2007
0 0.5 1 1.5 2 2.5 310
20
30
40
50
60
tempo [s]
Âng
ulo
[gra
us]
32 .44,4.2015)( ttt −+=θ
21/89
Espaço das JuntasEspaço das Juntas
• Polinômios Cúbicos– Nos gráficos:
30
35
2.33,13.40)( ttt −=θ&
EESC-USP © M. Becker 2007
0 0.5 1 1.5 2 2.5 30
5
10
15
20
25
30
tempo [s]
Vel
ocid
ade
Ang
ular
[gr
aus/
s]
22/89
Espaço das JuntasEspaço das Juntas
• Polinômios Cúbicos– Nos gráficos:
30
40
tt .66,2640)( −=θ&&
EESC-USP © M. Becker 2007
0 0.5 1 1.5 2 2.5 3-40
-30
-20
-10
0
10
20
tempo [s]
Ace
lera
ção
Ang
ular
[gr
aus/
s2 ] tt .66,2640)( −=θ&&
23/89
Espaço das JuntasEspaç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:
EESC-USP © M. Becker 2007
– 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
• Obter as cúbicas que conectam os pontos.
24/89
Espaço das JuntasEspaço das Juntas
• Polinômios Cúbicos– Agora as condições de contorno não são
nulas...
a=θ
EESC-USP © M. Becker 2007
fft θθ
θθ&&
&&
=
=
)(
)0( 0
2
321
10
3
3
2
210
00
.3.2
...
fff
ffff
tataa
a
tatataa
a
++=
=
+++=
=
θ
θ
θ
θ
&
&
25/89
Espaço das JuntasEspaço das Juntas
• Polinômios Cúbicos– Obtém-se os 4 coeficientes...
( ) 12.
3θθθθ && −−−=a
EESC-USP © M. Becker 2007
01
00
θ
θ&=
=
a
a ( )
( ) ( )02033
0022
.1
.2
12.
3
θθθθ
θθθθ
&&
&&
++−−=
−−−=
f
f
f
f
f
ff
f
f
tta
ttta
26/89
Espaço das JuntasEspaç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:
EESC-USP © M. Becker 2007
– Especificação das velocidades:1.1. Via usuárioVia usuário: fornece para cada posição a
velocidade linear e angular no espaço cartesiano2.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
27/89
Espaço das JuntasEspaç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
EESC-USP © M. Becker 2007
• Senão, a velocidade é obtida pela média das inclinações
t0 tA tB tC tD
θD
θC
θB
θA
θ0
28/89
50
55
Espaço das JuntasEspaço das Juntas
• Polinômios Cúbicos– Exemplo – “Pontos” desejados (MatLab)
θD
θA
50
55
θD
θA
EESC-USP © M. Becker 2007
0 2 4 6 8 10 1210
15
20
25
30
35
40
45
Tempo [s]
Âng
ulo
[gra
us]
θC
θB
θA
θ0
0 2 4 6 8 10 1210
15
20
25
30
35
40
45
Tempo [s]
Âng
ulo
[gra
us]
θC
θB
θA
θ0
29/89
50
55
50
55
Espaço das JuntasEspaço das Juntas
• Polinômios Cúbicos– Exemplo – Ângulos da Junta
θD
θA θA
θD
EESC-USP © M. Becker 2007
0 2 4 6 8 10 1210
15
20
25
30
35
40
45
Tempo [s]
Âng
ulo
[gra
us]
0 2 4 6 8 10 1210
15
20
25
30
35
40
45
Tempo [s]
Âng
ulo
[gra
us]
θC
θB
θA
θ0
θC
θB
θA
θ0
30/89
10
15
Espaço das JuntasEspaço das Juntas
• Polinômios Cúbicos– Exemplo - Velocidade
10
15
EESC-USP © M. Becker 2007
0 2 4 6 8 10 12-20
-15
-10
-5
0
5
Tempo [s]
Vel
ocid
ade
[gra
us/s
]
0 2 4 6 8 10 12-20
-15
-10
-5
0
5
Tempo [s]
Vel
ocid
ade
[gra
us/s
]
31/89
Espaço das JuntasEspaç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:
EESC-USP © M. Becker 2007
– Polinômios de 5ª ordem:• 6 coeficientes...
5
5
4
4
3
3
2
210 .....)( tatatatataat +++++=θ4
5
3
4
2
321 .5.4.3.2)( tatatataat ++++=θ&
3
5
2
432 .20.12.62)( tatataat +++=θ&&
32/89
Espaço das JuntasEspaço das Juntas
• Polinômios de 5ª Ordem– Obtém-se para as equações de posição,
velocidade e aceleração:
5432 +++++=θ
EESC-USP © M. Becker 2007
20
10
00
2a
a
a
=
=
=
θ
θ
θ
&&
&
3
5
2
432
4
5
3
4
2
321
5
5
4
4
3
3
2
210
.20.12.62
.5.4.3.2
.....
ffff
fffff
ffffff
tatataa
tatatataa
tatatatataa
+++=
++++=
+++++=
θ
θ
θ
&&
&
33/89
Espaço das JuntasEspaço das Juntas
• Polinômios de 5ª Ordem– Obtém-se os 6 coeficientes...
00 θ=a
2
000
3
)..3()..12.8(.20.20 fffff tta
θθθθθθ &&&&&& −−+−−=
EESC-USP © M. Becker 2007
00 θ=a
5
2
000
5
4
2
000
4
33
.2
).()..6.6(.12.12
.2
)..2.3()..16.14(.30.30
.2
f
fffff
f
fffff
f
t
tta
t
tta
ta
θθθθθθ
θθθθθθ
&&&&&&
&&&&&&
−−+−−=
−+++−=
=
01 θ&=a
2
02
θ&&=a
34/89
Espaço das JuntasEspaço das Juntas
• Polinômios de 5ª Ordem (MatLab)– Para as condições iniciais, tem-se:
º150
=
=
θ
θ s/º00 =θ& 2
0 /º0 s=θ&&
EESC-USP © M. Becker 2007
stt f
f
3
º75
==∆
=θ sf /º0=θ& 2/º0 sf =θ&&
35/89
Espaço das JuntasEspaço das Juntas
• Polinômios de 5ª Ordem (MatLab)– Obtém-se as equações:
543 .4815,1.11,11.22,2215)( tttt +−+=θ
EESC-USP © M. Becker 2007
32
432
543
.63,29.32,133.32,133)(
.4075,7.44,44.66,66)(
.4815,1.11,11.22,2215)(
tttt
tttt
tttt
+−=
+−=
+−+=
θ
θ
θ
&&
&
36/89
70
80
Espaço das JuntasEspaço das Juntas
• Polinômios de 5ª Ordem– Nos gráficos:
EESC-USP © M. Becker 2007
0 0.5 1 1.5 2 2.5 310
20
30
40
50
60
70
tempo [s]
Âng
ulo
[gra
us]
543 .4815,1.11,11.22,2215)( tttt +−+=θ
37/89
35
40
Espaço das JuntasEspaço das Juntas
• Polinômios de 5ª Ordem– Nos gráficos:
432 .4075,7.44,44.66,66)( tttt +−=θ&
EESC-USP © M. Becker 2007
0 0.5 1 1.5 2 2.5 3-5
0
5
10
15
20
25
30
tempo [s]
Vel
ocid
ade
Ang
ular
[gr
aus/
s]
38/89
30
40
Espaço das JuntasEspaço das Juntas
• Polinômios de 5ª Ordem– Nos gráficos:
EESC-USP © M. Becker 2007
0 0.5 1 1.5 2 2.5 3-40
-30
-20
-10
0
10
20
tempo [s]
Ace
lera
ção
Ang
ular
[gr
aus/
s2 ]
32 .63,29.32,133.32,133)( tttt +−=θ&&
39/89
Espaço das JuntasEspaç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...
EESC-USP © M. Becker 2007
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...
– Simetria com relação a th na solução!
40/89
Espaço das JuntasEspaço das Juntas
• Funções Lineares e Parabólicas
θf
θ
θf
θ
θh
θf
θ
θf
θ
θh
EESC-USP © M. Becker 2007
– Como a velocidade na fronteira da parábola é igual à velocidade no segmento de reta:
bh
bhb
ttt
−−
=θθ
θ .&&
t0 tf
θ0
ttb tf - tb t0 tf
θ0
tth
θh
t0 tf
θ0
ttb tf - tb t0 tf
θ0
tth
θh
2
0 ..2
1bb tθθθ &&+=
41/89
Espaço das JuntasEspaço das Juntas
• Funções Lineares e Parabólicas– Assim, para t = 2.th:
0)(... 0
2 =−+− θθθθ fbb ttt &&&&
EESC-USP © M. Becker 2007
Duração desejada para o MovimentoDuração desejada para o Movimento
θ
θθθθ&&
&&&&
2
)(4
2
0
22 −−−=
f
b
ttt
2
0 )(4
t
f θθθ
−≥&&
42/89
Espaço das JuntasEspaç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:
EESC-USP © M. Becker 2007
– 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.
43/89
Espaço das JuntasEspaço das Juntas
• Funções Lineares e Parabólicas (MatLab)– Para as condições iniciais, tem-se:
º15=θ 2
1 /º40 s=θ&&
EESC-USP © M. Becker 2007
º75
º150
=
=
fθ
θ2
2
1
/º30
/º40
s
s
=
=
θ
θ&&
&&
44/89
70
80
70
80
Espaço das JuntasEspaço das Juntas
• Funções Lineares e Parabólicas– Nos gráficos:
EESC-USP © M. Becker 2007
0 0.5 1 1.5 2 2.5 310
20
30
40
50
60
tempo [s]
Âng
ulo
[gra
us]
0 0.5 1 1.5 2 2.5 310
20
30
40
50
60
tempo [s]
Âng
ulo
[gra
us]
45/89
Espaço das JuntasEspaço das Juntas
• Funções Lineares e Parabólicas– Nos gráficos:
25
30
25
30
EESC-USP © M. Becker 2007
0 0.5 1 1.5 2 2.5 30
5
10
15
20
tempo [s]
Vel
ocid
ade
Ang
ular
[gr
aus/
s]
0 0.5 1 1.5 2 2.5 30
5
10
15
20
tempo [s]
Vel
ocid
ade
Ang
ular
[gr
aus/
s]
46/89
Espaço das JuntasEspaço das Juntas
• Funções Lineares e Parabólicas– Nos gráficos:
20
30
30
40
EESC-USP © M. Becker 2007
0 0.5 1 1.5 2 2.5 3-30
-20
-10
0
10
20
tempo [s]
Ace
lera
ção
Ang
ular
[gr
aus/
s2 ]
0 0.5 1 1.5 2 2.5 3-40
-30
-20
-10
0
10
20
tempo [s]
Ace
lera
ção
Ang
ular
[gr
aus/
s2 ]
47/89
Espaço das JuntasEspaç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
EESC-USP © M. Becker 2007
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θ&
48/89
Espaço das JuntasEspaço das Juntas
• Funções Lineares e Parabólicas
θ
θj
tjk klθ&
EESC-USP © M. Becker 2007
td12
tkθi
ttdjk
θk θl
jkθ&
49/89
Espaço das JuntasEspaç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θ
EESC-USP © M. Becker 2007
• 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θ&&
50/89
Espaço das JuntasEspaço das Juntas
• Funções Lineares e Parabólicas– Para os pontos internos à trajetória:
jk
jkt
−=
θθθ&
EESC-USP © M. Becker 2007
kjdjkjk
k
jkkl
k
kjkklk
djk
jk
tttt
t
t
2
1
2
1
||)sgn(
−−=
−=
−=
θ
θθ
θθθθ
&&
&&
&&&&&&
51/89
Espaço das JuntasEspaço das Juntas
• Funções Lineares e Parabólicas– Para o 1º trecho da trajetória:
1211 1
tt
t
−
−=
θθθ&&
EESC-USP © M. Becker 2007
211212
1
122
12121
112
12121121
112
2
1)(2
2
1||)sgn(
2
ttttttt
tt
tt
ddd
d
−−=−
−−=
−
−=−=
−
θθθ
θθθθθθθ
&&
&&&&&&&
52/89
Espaço das JuntasEspaço das Juntas
• Funções Lineares e Parabólicas– Para o último trecho da trajetória:
1
1− −
= nnnnt
θθθ
&&&&
EESC-USP © M. Becker 2007
1)1()1(12
)1()1(
)1(
1)1(1
)1(
2
1)(2
2
1||)sgn(
2
1
−−−−
−−
−
−−−
−
−−=−
−−=
−
−=−=
−
nnnndnn
n
nnnndnndn
nnnd
nnnnnnnn
nnd
nn
ttttttt
tt
tt
θθθ
θθθθθθθ
&&
&&&&&&&
53/89
50
55
Espaço das JuntasEspaço das Juntas
• Funções Lineares e Parabólicas– Exemplo – “Pontos” desejados (MatLab)
θD
θA
EESC-USP © M. Becker 2007
0 2 4 6 8 10 1210
15
20
25
30
35
40
45
Tempo [s]
Âng
ulo
[gra
us]
θC
θB
θA
θ0 θ0
54/89
•• IntroduçãoIntrodução
•• Programação ExplícitaProgramação Explícita–– Espaço das JuntasEspaço das Juntas
–– Espaço CartesianoEspaço Cartesiano
Sumário da AulaSumário da Aula
EESC-USP © M. Becker 2007
–– Espaço CartesianoEspaço Cartesiano
– Observações
• Programação Baseada em Modelos
• Exercícios Recomendados
• Bibliografia Recomendada
55/89
Espaço CartesianoEspaç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
EESC-USP © M. Becker 2007
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.
56/89
Espaço CartesianoEspaç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
EESC-USP © M. Becker 2007
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)
57/89
Espaço CartesianoEspaç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
EESC-USP © M. Becker 2007
• 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)
58/89
Espaço CartesianoEspaço Cartesiano
• Problemas encontrados no Espaço Cartesiano com Movimento Retilíneos– Incompatibilidade com o espaço de trabalho e
singularidades1. Pontos intermediários da Trajetória fora do espaço de
EESC-USP © M. Becker 2007
1. Pontos intermediários da Trajetória fora do espaço de trabalho Posição Inicial e Final Posições intermediárias A
B
59/89
Espaço CartesianoEspaço Cartesiano
• Problemas encontrados no Espaço Cartesiano com Movimento Retilíneos– Incompatibilidade com o espaço de trabalho e
singularidades2. Velocidades de Junta Elevadas quando próximos a
EESC-USP © M. Becker 2007
2. Velocidades de Junta Elevadas quando próximos a singularidades Manipulador desvia da trajetória desejada...
B
A60/89
Espaço CartesianoEspaço Cartesiano
• Problemas encontrados no Espaço Cartesiano com Movimento Retilíneos– Incompatibilidade com o espaço de trabalho e
singularidades3. Posições inicial e final atingíveis em diferentes soluções
EESC-USP © M. Becker 2007
3. Posições inicial e final atingíveis em diferentes soluções
BA
61/89
•• IntroduçãoIntrodução
•• Programação ExplícitaProgramação Explícita–– Espaço das JuntasEspaço das Juntas
–– Espaço CartesianoEspaço Cartesiano
Sumário da AulaSumário da Aula
EESC-USP © M. Becker 2007
–– Espaço CartesianoEspaço Cartesiano
–– ObservaçõesObservações
• Programação Baseada em Modelos
• Exercícios Recomendados
• Bibliografia Recomendada
62/89
ObservaçõesObservações
• Geração de Trajetórias em “Tempo Real”– Trajetória usualmente gerada em termos de
– Enviadas para o Sistema de Controle do Manipulador
juntadevariáveise →)()(),( ttt θθθ &&&
EESC-USP © M. Becker 2007
Manipulador• Taxa de atualização (update rate)...
RobôRobôSistema de
ControleGerador deTrajetória
τ)(tdθ&
)(tdθ&&
)(tdθθ
θ&RobôRobô
Sistema deControle
Gerador deTrajetória
τ)(tdθ&
)(tdθ&&
)(tdθθ
θ&
63/89
ObservaçõesObservaçõ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
EESC-USP © M. Becker 2007
• 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
210 ...)( nnnnn tatataatnnnn
+++=θ
64/89
ObservaçõesObservaçõ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.
EESC-USP © M. Becker 2007
determinar se o trecho atual é linear ou parabólico.Para o trecho linear:
0
.
=
=
+=
θ
θθ
θθθ
&&
&&
&
jk
jkj t
65/89
ObservaçõesObservaçõ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.
EESC-USP © M. Becker 2007
determinar se o trecho atual é linear ou parabólico.Para o trecho parabólico:
( )
k
inbkjk
inbkinbjkj
jkjinb
t
ttt
tttt
θθ
θθθ
θθθθ
&&&&
&&&&
&&&
=
+=
+−+=
+−=
.
.2
1).(
21
2
Para um novo trecho com spline
linear e parabólica, t é reiniciado como
sendo tk/2
66/89
ObservaçõesObservaçõ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.
EESC-USP © M. Becker 2007
espaço cartesiano.
• x representa a posição e orientação.
• Para cada grau de liberdade, tem-se, no trecho linear:
0
.
=
=
+=
x
xx
txxx
jk
jkj
&&
&&
&
67/89
ObservaçõesObservações
• Geração de Trajetórias em “Tempo Real”– Espaço Cartesiano– Para splines Lineares e Parabólicas
• No trecho parabólico:
EESC-USP © M. Becker 2007
( )
k
inbkjk
inbkinbjkj
jkjinb
xx
txxx
txttxxx
tttt
&&&&
&&&&
&&&
=
+=
+−+=
+−=
.
.2
1).(
21
2
68/89
ObservaçõesObservaçõ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 xxx &&& e,
EESC-USP © M. Becker 2007
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:
xxx &&& e,θθθ &&& e,
Tem S
Gx
ΘΘ &&& e
69/89
ObservaçõesObservaçõ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:
EESC-USP © M. Becker 2007
t
t)(t(t)(t)
t
t)(t(t)(t)
SOLVE(t)S
G
S
G
δδ
δδ
−Θ−Θ=Θ
−Θ−Θ=Θ
=Θ
→
&&&&
&
)( T
Tx
ΘΘΘ &&& e,Envia-se para o sistema de controledo Manipulador
70/89
ObservaçõesObservaçõ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
EESC-USP © M. Becker 2007
• 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...
71/89
ObservaçõesObservaçõ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
EESC-USP © M. Becker 2007
• Modelo Dinâmico do Manipulador• Curvas de torque x velocidade dos atuadores
Soluções Numéricas são empregadas...
72/89
ObservaçõesObservações
• Uso de Quartenions– Comparação entre o uso de quartenions e matrizes
OperaçãoOperação QuartenionsQuartenions MatrizesMatrizes
EESC-USP © M. Becker 2007
OperaçãoOperaçã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)
73/89
•• IntroduçãoIntrodução
•• Programação ExplícitaProgramação Explícita–– Espaço das JuntasEspaço das Juntas
–– Espaço CartesianoEspaço Cartesiano
Sumário da AulaSumário da Aula
EESC-USP © M. Becker 2007
–– Espaço CartesianoEspaço Cartesiano
–– ObservaçõesObservações
•• Programação Baseada em ModelosProgramação Baseada em Modelos
• Exercícios Recomendados
• Bibliografia Recomendada
74/89
Programação baseada em ModelosProgramaçã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...
EESC-USP © M. Becker 2007
– Não disponíveis comercialmente...– O sistema deve ter modelos:
• Do manipulador;• Da área de trabalho;• Dos obstáculos potenciais.
75/89
• 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 ModelosProgramação baseada em Modelos
EESC-USP © M. Becker 2007
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– Mínimos Locais...
76/89
• 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 ModelosProgramação baseada em Modelos
EESC-USP © M. Becker 2007 77/89
• 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 ModelosProgramação baseada em Modelos
EESC-USP © M. Becker 2007
– 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çõesobtidas na cinemática inversa...
78/89
• 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 ModelosProgramação baseada em Modelos
EESC-USP © M. Becker 2007
• Espaço Livre: complemento do C-Space Obstacles
θ1
θ2
θ3
θ2
θ2
a3
b3 a3
b3
θ3
R1
79/89
• 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 ModelosProgramação baseada em Modelos
EESC-USP © M. Becker 2007 80/89
• Planejar Trajetórias livres de Colisões– Exemplo: Lozano-Pérez (1987)
Programação baseada em ModelosProgramação baseada em Modelos
1
θ22π
EESC-USP © M. Becker 2007
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
12
θ1
2π0
81/89
• Planejar Trajetórias livres de Colisões– Exemplo: Lozano-Pérez (1987)
Programação baseada em ModelosProgramação baseada em Modelos
2
EESC-USP © M. Becker 2007
Um manipulador com 3 juntas rotacionais (RRR) e obstáculos no espaço cartesiano (2D) e no espaço das juntas (C-space)
1
82/89
• Planejar Trajetórias livres de Colisões– Exemplo: Lozano-Pérez (1987)
Programação baseada em ModelosProgramação baseada em Modelos
EESC-USP © M. Becker 2007
Quando a ferramenta executa uma tarefa em uma região interna...
83/89
• Planejar Trajetórias livres de Colisões
Programação baseada em ModelosProgramação baseada em Modelos
EESC-USP © M. Becker 2007 84/89
•• IntroduçãoIntrodução
•• Programação ExplícitaProgramação Explícita–– Espaço das JuntasEspaço das Juntas
–– Espaço CartesianoEspaço Cartesiano
Sumário da AulaSumário da Aula
EESC-USP © M. Becker 2007
–– Espaço CartesianoEspaço Cartesiano
–– ObservaçõesObservações
•• Programação Baseada em ModelosProgramação Baseada em Modelos
•• Exercícios RecomendadosExercícios Recomendados
• Bibliografia Recomendada
85/89
Exercícios RecomendadosExercícios Recomendados
• Exercícios:– Livro do Craig (2005): pp. 226-229
EESC-USP © M. Becker 2007 86/89
•• IntroduçãoIntrodução
•• Programação ExplícitaProgramação Explícita–– Espaço das JuntasEspaço das Juntas
–– Espaço CartesianoEspaço Cartesiano
Sumário da AulaSumário da Aula
EESC-USP © M. Becker 2007
–– Espaço CartesianoEspaço Cartesiano
–– ObservaçõesObservações
•• Programação Baseada em ModelosProgramação Baseada em Modelos
•• Exercícios RecomendadosExercícios Recomendados
•• Bibliografia RecomendadaBibliografia Recomendada
87/89
Bibliografia RecomendadaBibliografia Recomendada• Craig, J.C., 2005, Introduction to Robotics:
Mechanics and Control, 3rd Edition, Pearson Education Inc., ISBN 0-201-54361-3
• Paul, R. P., 1981, Robot Manipulators. Mathematics, Programming and Control, The MIT Press.
EESC-USP © M. Becker 2007
• 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.
• Corke, P., Robotics Toolbox for MatLab (Release 7).
88/89
Bibliografia RecomendadaBibliografia 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.
EESC-USP © M. Becker 2007 89/89
• 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.