Post on 21-Apr-2015
GIA-Grupo de Inteligência Artificial / Mestrado em Computação AplicadaGIA-Grupo de Inteligência Artificial / Mestrado em Computação Aplicada
Controle da Tarefa de Estacionamento de Controle da Tarefa de Estacionamento de um Veículo Autônomo através doum Veículo Autônomo através do
Aprendizado de um Autômato Finito Aprendizado de um Autômato Finito usando uma Rede Neural J-CCusando uma Rede Neural J-CC
Fernando Osório
osorio@exatas.unisinos.br
Farlei José Heinen
farlei@exatas.unisinos.br
Luciane Fortes
luciane.fortes@gm.com
SBRN’02 - Simpósio Brasileiro de Redes Neurais
Unisinos
GIA-Grupo de Inteligência Artificial / Mestrado em Computação AplicadaGIA-Grupo de Inteligência Artificial / Mestrado em Computação Aplicada
Introdução
Este trabalho tem por objetivo apresentar um sistema de controle inteligente de
veículos autônomos (carros).
O sistema que estamos desenvolvendo é responsável pela automatização da tarefa de condução de um veículo,
onde buscamos obter um sistema de controle robusto capaz de
estacionar um carro em uma vaga paralela.
GIA-Grupo de Inteligência Artificial / Mestrado em Computação AplicadaGIA-Grupo de Inteligência Artificial / Mestrado em Computação Aplicada
SEVASEVA Simulador de Estacionamento Simulador de Estacionamento
de Veículos Autônomosde Veículos Autônomos
Componentes principais:
- Modelo de simulação dos sensores;- Modelo de simulação da cinemática do veículo (modelo do deslocamento de um carro [Garnier 99]);- Comandos do atuador relacionado ao deslocamento (avançar / recuar e velocidade);- Comandos do atuador relacionado ao giro do veículo (rotação da direção).
Desenvolvido em Visual C++ utilizando OpenGLDesenvolvido em Visual C++ utilizando OpenGL
GIA-Grupo de Inteligência Artificial / Mestrado em Computação AplicadaGIA-Grupo de Inteligência Artificial / Mestrado em Computação Aplicada
SEVASEVA Simulador de Estacionamento de Veículos AutônomosSimulador de Estacionamento de Veículos Autônomos
SEVA-ASEVA-ASeva AutômatoSeva Autômato
SEVA-HSEVA-HSeva HumanoSeva Humano
SEVA-NSEVA-NSeva NeuralSeva Neural
GIA-Grupo de Inteligência Artificial / Mestrado em Computação AplicadaGIA-Grupo de Inteligência Artificial / Mestrado em Computação Aplicada
Modelo Sensorial
-Sensores de distância -Sensores de distância Infravermelhos (V[0] a V[5]).Infravermelhos (V[0] a V[5]).
-Sensores posicionados de forma -Sensores posicionados de forma estratégica, especificamente para estratégica, especificamente para estacionamento em vagas estacionamento em vagas paralelas.paralelas.
Limitações / Melhorias:Limitações / Melhorias: - Modelagem de “sensores perfeitos” (sem ruído)- Modelagem de “sensores perfeitos” (sem ruído)- Poucos sensores: limitam as possibilidades de execução de tarefas- Poucos sensores: limitam as possibilidades de execução de tarefas
V[1] V[0]
V[2] V[3]V[4] V[5]
GIA-Grupo de Inteligência Artificial / Mestrado em Computação AplicadaGIA-Grupo de Inteligência Artificial / Mestrado em Computação Aplicada
Modelo Cinemático
X
Y
X = V * Cos () * Cos ()Y = V * Cos () * Cos () += V / L * Sin ()
““Comportamento Comportamento de um automóvel”de um automóvel”
Limitações / Melhorias:Limitações / Melhorias: - Aceleração / Inércia- Aceleração / Inércia - Erros nos comando dos atuadores- Erros nos comando dos atuadores
GIA-Grupo de Inteligência Artificial / Mestrado em Computação AplicadaGIA-Grupo de Inteligência Artificial / Mestrado em Computação Aplicada
SEVA-A: Autômato de ControleProcurando_Vaga Posicionando Entrando_Vaga
Posicionando_Vaga
Otimizando_VagaAlinhandoParado
Autômato de estados finitos (FSA):Autômato de estados finitos (FSA):
Estado E, Sensores S => Estado E’, Comando CEstado E, Sensores S => Estado E’, Comando C
GIA-Grupo de Inteligência Artificial / Mestrado em Computação AplicadaGIA-Grupo de Inteligência Artificial / Mestrado em Computação Aplicada
Se Estado_Atual(Procurando_Vaga) e Próximo_ao_Obstáculo(V[4]) e Próximo_ao_Obstáculo(V[5]) Então Speed = Avanço_Rápido e RotVel = Direção_Reta;
Se Estado_Atual(Procurando_Vaga) e Longe__do_Obstáculo(V[2])e Longe__do_Obstáculo(V[3]) e Longe__do_Obstáculo(V[4]) e Longe__do_Obstáculo(V[5]) Então Troca_Estado(Posicionando) e Inicializa(Odômetro);
Se Estado_Atual(Posicionando)Então Speed = Avanço_Rápido e Rotvel = Direção_Reta;
Se Estado_Atual(Posicionando) e Longe_do_Obstáculo(V[4]) e Deslocamento_Suficiente(Odômetro)Então Estado_atual(Entrando_Vaga) e Inicializa(Odômetro);
Se Estado_Atual(Entrando_Vaga)Então Speed = Ré_Rápida e RotVel = Giro_Esquerda_Max;
Problemas:
• Usuário deve explicitar as regras, estas regras são pouco robustas, estão sujeitas a erros, são pouco flexíveis e de difícil adaptação a novas situações;
SEVA-A: Autômato de Controle
GIA-Grupo de Inteligência Artificial / Mestrado em Computação AplicadaGIA-Grupo de Inteligência Artificial / Mestrado em Computação Aplicada
SEVA-A: Autômato de Controle
GIA-Grupo de Inteligência Artificial / Mestrado em Computação AplicadaGIA-Grupo de Inteligência Artificial / Mestrado em Computação Aplicada
* Optamos por um modelo de Rede Neural Artificial baseado na arquitetura MLP (Multi-Layer Perceptron), com aprendizado supervisionado do tipo Incremental (Cascade-Correlation).
* Devido a necessidade de nesta implementação se informar a rede sobre o contexto (memória), adotamos uma arquitetura de rede recorrente baseada nas redes de Jordan (Jordan Nets) permitindo assim tratar este problema.
* A rede adotada foi assim denominada de J-CC
>> Jordan-Cascade-Correlation Network <<
SEVA-N: Rede Neural J-CC
Rede Neural Artificial (RNA J-CC):Rede Neural Artificial (RNA J-CC):
Estado E, Sensores S => Estado E’, Comando CEstado E, Sensores S => Estado E’, Comando C
GIA-Grupo de Inteligência Artificial / Mestrado em Computação AplicadaGIA-Grupo de Inteligência Artificial / Mestrado em Computação Aplicada
As variáveis (atributos) de entrada da rede que empregamos foram:O estado dos seis sensores e uma indicação do estado atual do processo de estacionamento.
Na saída da rede iremos obter:O estado dos atuadores (velocidade e rotação), assim como uma indicação do próximo estado do processo de estacionamento
SEVA-N: Rede Neural J-CC
Sensores (Valsens[0..5]) Estado Inicial
RNARNA
Rotvel Speed Próximo Estado
GIA-Grupo de Inteligência Artificial / Mestrado em Computação AplicadaGIA-Grupo de Inteligência Artificial / Mestrado em Computação Aplicada
SEVA-N: Base de Aprendizado
Estado Inicial: 1 - Procurando VagaEstado Inicial: 1 - Procurando Vaga Speed: Avanço RápidoSpeed: Avanço Rápido Rotvel:Rotvel:Prox. Estado 2 - Posicionando para EntrarProx. Estado 2 - Posicionando para Entrar Avanço Lento Avanço Lento Vira Esquerda Vira Esquerda
3 - Parado3 - Parado Parado Parado Direção Reta Direção Reta 4 - Entrando na Vaga4 - Entrando na Vaga Ré Lenta Ré Lenta Vira Direita Vira Direita 5 - Posicionando 5 - Posicionando Ré Rápida Ré Rápida Direita Max Direita Max 6 - Ajustando Posição6 - Ajustando Posição 7 - Alinhando na Vaga 7 - Alinhando na Vaga
GIA-Grupo de Inteligência Artificial / Mestrado em Computação AplicadaGIA-Grupo de Inteligência Artificial / Mestrado em Computação Aplicada
SEVA-N: Base de Aprendizado
GIA-Grupo de Inteligência Artificial / Mestrado em Computação AplicadaGIA-Grupo de Inteligência Artificial / Mestrado em Computação Aplicada
SEVA-N: Resultados da Simulações
Conjunto de 10 Experimentos - Resultados são valores médios
Base de Aprendizado: 392 exemplos
Base de Validação: 392 exemplos
Médias:
• Nro. de Épocas de aprendizado: 572 (Best epoch)
• Nº de Neurônios Adicionados: 2
• Taxa de Erro do Aprendizado (% Acertos): 98,469
• Nº de Exemplos Classificados Incorretamente: 6
GIA-Grupo de Inteligência Artificial / Mestrado em Computação AplicadaGIA-Grupo de Inteligência Artificial / Mestrado em Computação Aplicada
Conclusões e Perspectivas
Os resultados obtidos até o presente demonstram que
- Ambos os controladores (SEVA-A e SEVA-N) são capazes de estacionar corretamente um carro, baseados apenas nas informações provenientes de seus sensores externos;
- O automato é bem mais sensível ao “ruído externo”;
- A rede neural J-CC foi capaz da “aprender” o autômato;
GIA-Grupo de Inteligência Artificial / Mestrado em Computação AplicadaGIA-Grupo de Inteligência Artificial / Mestrado em Computação Aplicada
Conclusões e PerspectivasPerspectivas:
- Este é um trabalho em fase de desenvolvimento onde devemos avaliar mais concretamente a robustez da rede neural usada para controlar o veículo;
- Realizar MAIS experimentos usando o simulador;
- Realizar experimentos usando um veículo real!