ita – iee-s projeto e construção de uma plataforma móvel para navegação em ambiente...
TRANSCRIPT
ITA – IEE-S
Projeto e Construção de uma Plataforma Móvel para Navegação em Ambiente
Estruturado
Gabriela Werner Gabriel
Orientador: Prof. Cairo L. Nascimento Jr.
Co-Orientador: Prof. Eduardo H. Yagyu
http://www.ele.ita.br/romeo/
ITA – IEE-S 2
ÍNDICE• Introdução• Objetivo• Histórico• Estrutura de Hardware da Plataforma• Estrutura de Software da Plataforma• Testes Realizados• Conclusões• Trabalhos Futuros
ITA – IEE-S 3
INTRODUÇÃODesde a metade do século XX o ser humano procura desenvolver uma máquina que se assemelhe a ele, que saiba tomar decisões simples e com isso possa realizar tarefas simples hoje delegadas ao ser humano.
LOCALIZAÇÃO : onde estou?
MAPEAMENTO : onde posso estar?
PLANEJAMENTO : como vou?
PROBLEMAS:
ITA – IEE-S 4
• Projeto:Desenvolver uma plataforma móvel capaz de estudar e propor soluções para os problemas relacionados à navegação de robôs móveis.
• Dissertação:Projeto, construção e testes de um robô móvel (hardware e software) capaz de movimentar-se autonomamente em um ambiente estruturado e estático.
OBJETIVO
ITA – IEE-S 5
HISTÓRICO
ROMEO I
- plataforma não autônoma;
-programa ROMEO;
-não possuía sensores;
-mapa conhecido.
ROMEO II
-plataforma autônoma;
-programa ROMEO;
-não possuía sensores;
- mapa conhecido.
ROMEO III
-plataforma autônoma;
-programa ROMEO;
-possui sensores;
-mapa conhecido.
ITA – IEE-S 6
HISTÓRICO• Ambiente conhecido• Células conectadas entre si
ITA – IEE-S 7
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Plataforma composta por 5 sistemas:– sistema de propulsão– sistema de computação embarcada– sistema de sensoriamento– sistema de comunicação externa– sistema de energia
ITA – IEE-S 8
ESTRUTURA DEHARDWARE DA PLATAFORMA
ITA – IEE-S 9
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Sistema de propulsão– 2 motores DC Canon CN35-09720
• dados de carcaça : 24 V e 0,14 A
• redução acoplada
– 2 rodas tracionadas– 2 rodas livres– circuito de acionamento
ITA – IEE-S 10
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Diagrama de sinais (circuito de acionamento):
ITA – IEE-S 11
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Sistema de computação embarcada:– 3 placas de computação embarcada:
• placa Flashlite 386Ex• placa C515• placa AT89C52
– características do sistemade computação embarcada:
• maior quantidade de pinosde I/O
• resposta mais rápida àeventos críticos
• facilidade de escrita e teste do programa
ITA – IEE-S 12
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Hierarquia do sistema de computação embarcada: nível tático e nível operacional
Placa 386Ex
Placa 386Ex Placa C515 Placa AT89C52
Nível Tático
Nível Operacional
Supervisão e Gerenciamento
•Acionar o buzzer;
•Monitorar a bateria;
•Monitorar os sensores de IR.
•Acionar os motores;
•Intermediar a comunicação entre o AT89C52 e o 386Ex.
•Monitorar os sensores de colisão.
•Monitorar os encoders;
•Gerar o sianl de PWM.
ITA – IEE-S 13
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Comunicação entre as placas de computação embarcada:– comunicação serial padrão RS-232– comunicação via barramento de dados
Sentido Direto Sentido DiretoSentido Reverso Sentido Reverso
Placa Flashlite 386Ex
Placa C515 Placa AT89C52
Comunicação via
cabo serial
Comunicação via
barramento de dados
ITA – IEE-S 14
ESTRUTURA DEHARDWARE DA PLATAFORMA
Sentido Direto Sentido Reverso
Código Informação Código Informação
AA valor da velocidade - -
BB valor do tipo do movimento - -
CCvalor do tempo para executar o
movimentoCC
número de pulsos e sentido de rotação dos encoders
DD retornar valores dos encoders 41 fim do movimento
EEzerar contador de pulsos dos
encoders42 colisão detectada
• Protocolo de comunicação – serial padrão RS-232
ITA – IEE-S 15
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Protocolo de Comunicação – Barramento de Dados
Sentido Direto Sentido Reverso
Código Informação Código Informação
AA valor da velocidade - -
BB início do movimento - -
CC fim do movimento CCnúmero de pulsos e sentido de
rotação dos encoders
DD retornar valores dos encoders 41 -
EEzerar contador de pulsos dos
encoders42 -
ITA – IEE-S 16
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Placa 386Ex:– placa Flashlite 386Ex (JKMicrosystems)– microprocessador Intel 386Ex– 512 Kbytes de memória RAM– 512 Kbytes de memória Flash– 2 portas seriais padrão RS-232– 36 pinos de I/O– alimentação de 7-34 V DC não-regulada– sistema operacional embarcado
ITA – IEE-S 17
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Placa C515:– microcontrolador C515 (Siemems)– 32 Kbytes de memória RAM externa– 32 Kbytes de memória EPROM externa– 16 bits de I/O– 1 porta serial padrão RS-232– comunicação via barramento de dados– alimentação em 5V
ITA – IEE-S 18
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Placa AT89C52:– microcontrolador AT89C52 (Atmel)– 256 bytes de memória RAM interna– 8 Kbytes de memória Flash interna– 31 bits de I/O– comunicação via barramento
de dados– 2 saídas de PWM– alimentação em 5V
ITA – IEE-S 19
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Circuito de PWM realizado via software
B0~B3
A0~A3
Clk Q0
Q1
Q2
Q3
P2.0
P2.1
P2.2
P2.3
A0
A1
A2
A3
B0
B1
B2
B3
Contador4 Bits
P1.0
Comparador4 Bits
A<B
(PWM)
ITA – IEE-S 20
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Sistema de sensoriamento:– subsistema de detecção de obstáculo– subsistema de detecção de tensão da bateria– subsistema de detecção de posição e orientação
da plataforma
ITA – IEE-S 21
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Subsistema de detecção de obstáculos:– sensores de contato (snap-action microswitches
with levers )– cobertura da parte frontal da plataforma– rotina de interrupção (INT0) na placa C515
ITA – IEE-S 22
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Subsistema de detecção de tensão da bateria:– tensão de limiar : 10,1 V– circuito comparador:
ITA – IEE-S 23
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Subsistema de detecção da posição e orientação da plataforma:– sensores de infravermelho– encoders ópticos incrementais
ITA – IEE-S 24
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Sensores de infravermelho:– 5 pares foto-diodo/foto-transistor– foto-diodo : TIL32– foto-transistor : TIL78
L1
L2 L3 L4
L5Eixo das RodasTracionadas
3 cm
Centro da Plataforma
Frente da Plataforma
Trás da Plataforma
1,75 cm 1,75 cm
ITA – IEE-S 25
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Níveis de tensão lida nos sensores de infravermelho:– tensão de acoplamento
Sensor L1 L2 L3 L4 L5
Tensão [V] 5,0 0,1 5,0 0,1 5,0 0,1 5,0 0,1 5,0 0,1
Sensor L1 L2 L3 L4 L5
Tensão [V] 4,5 0,1 4,6 0,1 4,4 0,1 4,4 0,1 4,4 0,1
Com barreira física entre o par:
Sem barreira física entre o par:
ITA – IEE-S 26
ESTRUTURA DEHARDWARE DA PLATAFORMA
– Leitura dos sensores (níveis de tensão)• “reflexão” em objeto preto:
– Noite: 4,4 V
– Dia: 4,4 V
• reflexão em objeto branco:– Noite: 2,6 V
– Dia: 2,0 V
– Circuito comparador – tensão de threshold em 3,9 V.
ITA – IEE-S 27
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Encoders ópticos incrementais:– construção em rodas auxiliares– medida da distância percorrida– contagem de pulsos (interrupção)
ITA – IEE-S 28
ESTRUTURA DEHARDWARE DA PLATAFORMA
– erros na leitura dos encoders:• de discretização• devido à inércia dos motores entre 2 movimentos
consecutivos
– fator de correção:
1,0531e-0,0003.de ENCAf
1,0833d-0,0003.de ENCBf
ITA – IEE-S 29
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Sistema de comunicação externa:– comunicação serial RS-232 wireless– buzina Sonalarme
ITA – IEE-S 30
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Comunicação serial RS-232 wireless– módulo Serial-Bluetooth
• 9600 baud rate• sem paridade• 1 stop bit• sem controle de fluxo• simplicidade de implantação• custo elelvado
Computador BasePorta Serial RS-232
Conector Macho DTE(9 pinos)
Módulo Serial Bluetooth
Conector fêmea DCE
Placa Flashlite 386ExPorta Serial RS-232
Conector macho DCE(10 pinos)
Módulo Serial Bluetooth
Conector fêmea DTE(Comunicação Wireless)
Computador BasePorta Serial RS-232
Conector Macho DTE(9 pinos)
Módulo Serial Bluetooth
Conector fêmea DCE
Computador BasePorta Serial RS-232
Conector Macho DTE(9 pinos)
Módulo Serial Bluetooth
Conector fêmea DCE
Placa Flashlite 386ExPorta Serial RS-232
Conector macho DCE(10 pinos)
Módulo Serial Bluetooth
Conector fêmea DTE
Placa Flashlite 386ExPorta Serial RS-232
Conector macho DCE(10 pinos)
Módulo Serial Bluetooth
Conector fêmea DTE(Comunicação Wireless)
ITA – IEE-S 31
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Buzina Sonalarme:– código sonoro para identificação de erros
Número de Beeps Erro Ocorrido
1 time out na comunicação embarcada
2 tensão da bateria abaixo do nível mínimo permitido
3 colisão detectada
4 leitura errada nos sensores de infravermelho
5 plataforma se dirigindo para fora do labirinto
6 ponto final desejado não alcançado
ITA – IEE-S 32
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Sistema de energia:– Bateria modelo CP1232 vision
• 12 V e 3,2 Ah• 134 mm x 67 mm x 61 mm (c x l x h)• 1,4 kg
– regulador 7805– corrente máxima consumida : 940 mA
ITA – IEE-S 33
ESTRUTURA DEHARDWARE DA PLATAFORMA
• Consumo de energia da plataforma
Hardware Corrente I [A]
sistema de propulsão placa de acionamento sem motores 0,07 0,01
placa de acionamento com motores 0,43 0,01
sistema de computação embarcada
placa Flashlite 386Ex 0,20 0,01
placa C515 0,04 0,01
placa AT89C52 0,10 0,01
sistema de sensoriamento placa inferior 0,08 0,01
sistema de comunicação externa
módulo Bluetooth sem comunicação 0,09 0,01
módulo Bluetooth com comunicação 0,03 0,01
ITA – IEE-S 34
ESTRUTURA DEHARDWARE DA PLATAFORMA
• ROMEO III– Dimensões: 35 cm de diâmetro x 20 cm de altura– Peso: 3,5 kg
ITA – IEE-S 35
ESTRUTURA DESOFTWARE DA PLATAFORMA
• 2 programas no computador base• 3 programas embarcados na plataforma
LABIRINTO.TXT
ROMEO.CPPv.2.1
TABM_V3.TXT
PLT386c.C PLT1558.A51 PLT5228.A51
INTERFACE.M
1
1
2 3
COMPUTADOR BASE
1 Comunicação Bluetooth
2 Comunicação através de cabo de comunicação serial
3 Comunicação através de barramento de dados
LABIRINTO.TXT
ROMEO.CPPv.2.1
TABM_V3.TXT
PLT386c.C PLT1558.A51 PLT5228.A51
INTERFACE.M
1
1
2 3
COMPUTADOR BASE
1 Comunicação Bluetooth
2 Comunicação através de cabo de comunicação serial
3 Comunicação através de barramento de dados
ITA – IEE-S 36
ESTRUTURA DESOFTWARE DA PLATAFORMA
• Arquivo LABIRINTO.txt
ITA – IEE-S 37
ESTRUTURA DESOFTWARE DA PLATAFORMA
• Programa ROMEO.c:– linguagem C– entrada: labirinto e dimensões físicas do labirinto,
velocidade da plataforma– algoritmo de procura A*– saída: arquivo de movimento codificado em alto
nível
ITA – IEE-S 38
ESTRUTURA DESOFTWARE DA PLATAFORMA
• Arquivo TABM_V3.txt (tabela de movimentos):
50.0050.0090.0004 ; 05 ; 01 ; 01 ; 01 ; 0403 ; 45.001 ; 70.714 ; 90.001 ; 70.71...9
ITA – IEE-S 39
ESTRUTURA DESOFTWARE DA PLATAFORMA
• Codificação dos movimentos (modos):Modo Movimento
tipos de movimentos
1 translação para frente
2 translação para trás
3 rotação horária (duas rodas)
4 rotação anti-horária (duas rodas)
movimentos de correção
5 rotação horária com a roda direita
6 rotação anti-horária com a roda direita
7 rotação horária com a roda esquerda
8 rotação anti-horária com a roda esquerda
ITA – IEE-S 40
ESTRUTURA DESOFTWARE DA PLATAFORMA
• Programa PLT386C.c– linguagem C– movimentos lidos sequencialmente do arquivo
TABM_V3.txt– monitoração dos sensores de infravermelho– monitoração da bateria– discretização do movimento– algoritmo de controle da plataforma– algoritmo de estimação da trajetória
ITA – IEE-S 41
ITA – IEE-S 42
ESTRUTURA DESOFTWARE DA PLATAFORMA
• Algoritmo de controle– correção da trajetória baseada nas fases de
movimento e na leitura dos sensores– correção da orientação da plataforma
ITA – IEE-S 43
ESTRUTURA DESOFTWARE DA PLATAFORMA
• Algoritmo de estimação da trajetória:– baseado na leitura dos encoders– fusão sensorial dos encoders + sensores de
infravermelho– uso das equações de odometria da plataforma– considerações:
• variação na orientação (translação) desprezada• variação na posição (rotação) desprezada
ITA – IEE-S 44
ESTRUTURA DESOFTWARE DA PLATAFORMA
• Programa PT1558.a51:– linguagem Assembly– placa C515– monitoração dos sensores de contato– acionamento dos motores DC
ITA – IEE-S 45
ITA – IEE-S 46
ESTRUTURA DESOFTWARE DA PLATAFORMA
• Programa PLT5228.a51:– linguagem Assemly– placa AT89C52– monitoração dos encoders– geração do PWM
ITA – IEE-S 47
ITA – IEE-S 48
ESTRUTURA DESOFTWARE DA PLATAFORMA
• Programa INTERFACE.m– linguagem Matlab– computador base– implementa a comunicação entre o computador base e a
plataforma– interface gráfica na comunicação homem-máquina– apresentação da:
• trajetória estimada pela plataforma (encoders)
• trajetória estimada pela plataforma (encoders + infravermelho)
• trajétória planejada
– comunicação serial padrão RS-232 - Bluetooth
ITA – IEE-S 49
ITA – IEE-S 50
TESTES REALIZADOS• Verificação da odometria da plataforma• Verificação da ação do programa de controle
sobre a odometria da plataforma• Verificação do desempenho do algoritmo de
estimação• Verificação de uma execução completa pela
plataforma de uma trajetória previamente programada
ITA – IEE-S 51
TESTES REALIZADOS• Verificação da odometria da plataforma:
– teste UBMark (Borenstein e Feng, 1996)– sem algoritmo de controle– com intervalos de discretização– trajetórias realizadas no teste:
ITA – IEE-S 52
TESTES REALIZADOS• Verificação da odometria da plataforma:
ITA – IEE-S 53
TESTES REALIZADOS• Verificação da odometria da plataforma:
Grandeza Sentido Horário Sentido Anti-Horário
centro de gravidade 52,6 cm 79,1 cm
desvio padrão 3,9 cm 1,3 cm
ITA – IEE-S 54
TESTES REALIZADOS• Verificação do algoritmo de controle:
– teste UBMark (Borenstein e Feng, 1996)– mesma plataforma e mesmo ambiente– com intervalos de discretização– com algoritmo de controle
ITA – IEE-S 55
TESTES REALIZADOS• Verificação do algoritmo de controle:
Grandeza Sentido Horário Sentido Anti-Horário
centro de gravidade 1,26 cm 1,13 cm
desvio padrão 0,29 cm 0,19 cm
Grandeza Sentido Horário Sentido Anti-Horário
desvio angular médio
1,7o -4,7o
desvio padrão 0,7o 1,1o
ITA – IEE-S 56
TESTES REALIZADOS• Verificação do algoritmo de estimação da
trajetória:– trajetória em “8”– trajetória em “V”– estimativa utilizando encoders– estimativa utilizando encoders + infravermelho
ITA – IEE-S 57
TESTES REALIZADOS• Estimativa da trajetória utilizando encoders:
ITA – IEE-S 58
TESTES REALIZADOS• Estimativa da trajetória utilizando encoders:
ITA – IEE-S 59
TESTES REALIZADOS• Verificação da estimativa realizada pelo
sistema de encoders:
Medida
Ângulo Estimado
para 45 graus Planejados
[graus]
Ângulo Estimado para
90 graus Planejados
[graus]
Distância Estimada
para 50 cm Planejados
[graus]
Distância Estimada
para 70,71 cm Planejados
[graus]
valor médio 38,1 84,7 44,5 64,0
desvio padrão 1,8 1,8 2,0 2,5
ITA – IEE-S 60
TESTES REALIZADOS• Estimativa da trajetória utilizando encoders e
infravermelho:
ITA – IEE-S 61
TESTES REALIZADOS• Estimativa da trajetória utilizando encoders e
infravermelho
ITA – IEE-S 62
TESTES REALIZADOS• Desenvolvimento de uma trajetória real:
ITA – IEE-S 63
ITA – IEE-S 64
TESTES REALIZADOS
0 10 20 30 40 50 60 70 800
100
200
300
400D
ista
ncia
Tot
al P
erco
rrid
a E
stim
ada
[cm
]
Tempo [s]
Desenvolvimento Temporal da Trajetoria
0 10 20 30 40 50 60 70 80
-100
-50
0
50
100
Ang
ulo
Est
imad
o [g
raus
]
Tempo [s]
ITA – IEE-S 65
TESTES REALIZADOS• Desenvolvimento de uma trajetória real:
ITA – IEE-S 66
Trajetória RealizadaQuantidade
de Correções
Quantidade Máxima de Correções Seguidas
Estimativa da Posição ou do
Ânguo
Erro Absoluto da Estimativa
Realizada
Erro Relativo da Estimativa
Reaizada
rotação h 45 graus 5 2 37,58 graus 7,42 graus 16,48 %
translação de 70,71 cm 11 4 68,81 cm 2,1 cm 2,97 %
rotação ah de 90 graus 12 3 88,95 graus 1,05 graus 1,16 %
translação de 70,71 cm 7 1 61,35 cm 9,36 cm 13,24 %
rotação h de 90 grus 16 4 88,57 gruas 1,43graus 1,59 %
rranslação de 70,71 cm 7 1 56,67 cm 11,04 cm 15,61 %
rotação h de 45 graus 9 4 46,49 graus 1,49 graus 3,31 %
translação de 50 cm 7 2 40,56 cm 9,44 cm 18,88 %
translação de 50 cm 4 1 44,66 cm 5,34 cm 10,68 %
rotação h de 45 graus 10 5 40,90 graus 4,1 graus 9,11 %
translação de 70,71 cm 11 2 65,99 cm 4,72 cm 6,68 %
rotação h de 90 graus 11 4 84,37 graus 5,63 graus 6,26 %
translação de 70,71 cm 11 4 65,63 cm 5,08 cm 7,18 %
rotação ah de 45 graus 6 3 40,31 graus 4,69 graus 10,42 %
translação de 50 cm 5 1 39,34 cm 10,66 cm 21,32 %
ITA – IEE-S 67
CONCLUSÕES• Realização de uma trajetória real muito próxima da trajetória
desejada:– Grade reticulada
– Sensores de infravermelho
– Feedback do estado de alguns sistemas
• Método adotado realiza compensação dos erros sistemáticos e aleatórios
• Utilização de elementos reais na solução do problema proposto• Algoritmo de estimação utilizando fusão sensorial leva a
resultados melhores que aqueles obtidos utilizando apenas o sistema de encoders na estimação
ITA – IEE-S 68
CONCLUSÕES• Uso de sensores de infravermelho
– Eficientes
– Fácil implementação
– Pouca robustez
• Uso de diferentes computadores embarcados:– Maior quantidade de I/O
– Necessidade de multitask com resposta rápida
• Comunicação serial mais lenta que a comunicação via barramento de dados
• Ocorrência de time-out durante a execução da trajetória pela plataforma devido a mau contato nas placas de computação embarcada
ITA – IEE-S 69
TRABALHOS FUTUROS• Testes para avaliar a robustez da plataforma quanto
a luminosidades e refletividades do chão e da fita diferentes
• Método que permita o recálculo da trajetória em tempo real
• Mapeamento de obstáculos reais no labirinto• Retirada da grade reticulada fazendo a plataforma
localizar-se utilizando apenas os obstáculos reais• Implementação de controle de velocidade• Implementação de uma monitoração de saúde da
plataforma
ITA – IEE-S 70
TRABALHOS FUTUROS• Implementação de comunicação utilizando
barramento de dados• Confecção de novas placas de computação
embarcada com componentes soldados• Implementação da comunicação externa utilizando
um link de RF• Implementação de uma estação de carga da bateria
ITA – IEE-S 71
AGRADECIMENTOS• ITA• CNPq• FAPESP