Programa de Navegação e
Comunicações para um Robot Móvel
Emanuel Amaral Oliveira
Paulo Miguel de Jesus Dias
Orientação conjunta de:
Luis Almeida (Dep Electrónica e Telecomunicações)
Victor Santos (Dep Mecânica)
Plano da apresentação
I - Introdução
 II - Ferramentas básicas
 III - Localização natural
 IV - Atravessamento de passagens
estreitas
 V - Demonstração final
 VI - Conclusões

I - Introdução

Especificações do robot
–
–
–
–
Robuter III da Robosoft
Processador 68040 da Motorola
24 sensores de ultra-sons
Sistema operativo tempo real da Robosoft: Albatros
– 150 kg, 100 kg de carga.

Ambiente de trabalho
– Programação e cross-compilação numa Sunsparc
– Download via linha série para o PC de comunicação
– Download via porta paralela para o robot
II - Ferramentas básicas
Estrutura de dados usada para a comunicação entre processos
SERIAL
serial
KERNEL
Kill
EXECUTE
Pos
mov
US
EMERGENCY
emerg
sens
Ferramentas básicas, SERIAL.C

Módulo SERIAL.C
– Módulo responsável pela gestão das
mensagens
– Formato das mensagens permite
compatibilidade
– As três principais categorias são:
• Pedidos de informação
• Envio de comandos
• Mensagens associdas aos ultra-sons
Ferramentas Básicas, US.C

Módulo de leitura dos sensores US.C
– Permite a escolha dos sensores activos
– Definição do tempo de atraso entre o
disparo de nodos (node firing delay)
– Definição do time out
Ferramentas Básicas, EMERG.C

Módulo de emergências EMERG.C
– As suas funções são
• Detecção de aproximação crítica a objectos
• Detecção de colisão
• Detecção de perda de comunicação
– Cada uma destas emergências pode ser
activada ou desactivada
independentemente das outras.
Ferramentas Básicas, EMERG.C

Escolha dos sensores para
aproximação crítica
Função auto-toggle of useless
sensors
 Limitações

Ferramentas Básicas, EXECUTOR.C
Executor de movimentos
EXECUTOR.C
 Este módulo é responsável por três
acções

– Actualizar as variaveis de posição (pos)
– Testar e actualizar o estado do freio
(serv)
– Realizar os movimentos pedidos
III - Localização natural

Realização de uma demonstração
fiável levanta problemas
– Odometria sujeita a erros cumulativos
– Necessidade de calibrar o robot
– Em geral, usam-se referências específicas
(códigos barras, lasers, GPS …)
necessitando sensores extras. Aqui o
objectivo era conseguir essa calibração
sem nenhuma referência externa
específica, mas só com a informação Onboard.
Localização natural, percurso
1m
1m
Zona de calibração
1m
4m
DISTY
DISTX
0.5m
Posição inicial
D
Ponto de recalibração
1m
2.5m
Movimento de calibração
IV - Atravessamento de
passagens estreitas

Problema
– Sensores de ultra-som não conseguem
medir distâncias inferiores a 20cm.

Solução
– Para resolver o problema, colocaram-se
dois sensores adicionais sobre uma
unidade Pan & Tilt que passou a ser
usada como um radar para permitir
mapear o espaço a volta do robot
Atravessamento, medições

Usando a pan & Tilt, conseguiu-se tirar medidas em volta do robot com
uma precisão de 5 graus (72 medidas) como se pode ver nos exemplos
seguintes
Porta a 25º
Porta em frente
0
0
40
45
50
55
60
65
70
75
80
35
30
25
20 15
355350
345340
335
330
325
320
315
310
305
300
295
290
285
10355
2500
2000
1500
1000
500
85
90
0
95
100
105
110
115
120
125
130
135
140
145
150
155
160165
170175
180
35
40
45
50
55
60
20
355
15 10 3000
2000
70
1500
295
180
290
1000
275
85
270
90
265
95
260
100
285
280
500
275
0
270
265
260
105
255
110
250
115
245
120
125
130
135
140
145
150
155
160
165 170
175
180
240
235
230
225
220
215
210
205
200
195
185190
Porta a 90º
0
0
10355
3000
20 15
25
30
35
2500
40
45
2000
50
55
60
1500
65
70
1000
75
80
500
85
90
0
95
100
105
110
115
120
125
130
135
140
145
150
155
160165
170175
355350
345
340
335
330
325
320
315
310
305
300
2500
75
280
Porta a 45º
25
65
80
255
250
245
240
235
230
225
220
215
210
205
195200
185190
30
355350345
340
335
330
325
320
315
310
305
300
295
290
285
280
275
270
265
260
255
250
245
240
235
230
225
220
215
210
205
200
185190195
10355
3000
20 15
25
30
35
2500
40
45
2000
50
55
60
1500
65
70
1000
75
80
500
85
90
0
95
100
105
110
115
120
125
130
135
140
145
150
155
160165
170175
180
355350345
340
335
330
325
320
315
310
305
300
295
290
285
280
275
270
265
260
255
250
245
240
235
230
225
220
215
210
205
200
185190195
Atravessamento, algoritmos

Foram então desenvolvidos dois
algoritmos diferentes:
– para alinhar o robot (GATE.C)
– para passar a porta (DOORS.C).
Atravessamento, GATE.C

O algoritmo GATE.C analisa as derivadas dos
valores medidos pela PTU para detectar uma
passagem estreita e depois tenta alinhar-se com
esta
Derivada dos dados de ultra-sons (porta a 45º)
0
20
30
10
2000
350
340
330
1500
40
320
1000
50
310
500
60
300
0
-500
70
290
-1000
80
280
-1500
90
-2000
270
100
260
110
250
120
240
130
230
140
220
150
210
160
170
190
180
200
Atravessamento, GATE.C

O alinhamento é feito em 4 fases
1 - O robot
alinha-se na
direcção do
ângulo mais
afastado
3 - O robot
alinha-se
com a porta
2 - O robot
avança nessa
direcção até
estar
centrado
com a porta
4 - O robot
avança e
passa ao
modo de
passagem de
portas
Pan & Tilt
d
X1
X4
PT
U
Distância de
X3
segurança
O algoritmo usado para a
passagem da porta
consiste em calcular para
cada direcção a distância
“Mínima” que o robot
pode medir, se numa
dada direcção a medida é
inferior a esse valor, o
robot sabe que está
excessivamente perto da
passagem e que deve
desviar-se para outro
lado.
Sensores

Robot
Atravessamento, DOORS.C
V - Demonstração final

Esta demonstração tenta juntar todo
o trabalho desenvolvido ao longo do
ano, ou seja
• As ferramentas desenvolvidas nas quais se
apoiou todo o trabalho desenvolvido
• A primeira demonstração com o conceito de
localização natural
• O atravessamento de passagens estreitas
Demonstração final, percurso

A demonstração final
começa por pedir ao
utilizador qual o gabinete até
ao qual o robot deve se
dirigir. O robot inicia então o
movimento, deslocando-se
até ao gabinete onde pára
até que o bumper seja
pressionado. Nessa altura,
volta ao seu ponto de
partida.
Robot
Workstation
VI - Conclusões





Desenvovimento das ferramentas base
para trabalho sobre o robot.
Validação de um método simples de
localização natural
Solução para o problema da passagem
estreita
Integração com sucesso das soluções
encontradas
Fácil reconfiguração do sistema
Download

presentation - LAR