Fernando Osório [email protected] Farlei José Heinen [email protected]

16
GIA-Grupo de Inteligência Artificial / Mestrado em Computação A GIA-Grupo de Inteligência Artificial / Mestrado em Computação A Controle da Tarefa de Controle da Tarefa de Estacionamento de um Veículo Estacionamento de um Veículo Autônomo através do Autônomo através do Aprendizado de um Autômato Aprendizado de um Autômato Finito usando uma Rede Neural Finito usando uma Rede Neural J-CC J-CC Fernando Osório [email protected] Farlei José Heinen [email protected] Luciane Fortes [email protected] SBRN’02 - Simpósio Brasileiro de Redes Neurais Unisinos

description

SBRN’02 - Simpósio Brasileiro de Redes Neurais. Controle da Tarefa de Estacionamento de um Veículo Autônomo através do Aprendizado de um Autômato Finito usando uma Rede Neural J-CC. Fernando Osório [email protected] Farlei José Heinen [email protected] Luciane Fortes - PowerPoint PPT Presentation

Transcript of Fernando Osório [email protected] Farlei José Heinen [email protected]

Page 1: Fernando Osório osorio@exatas.unisinos.br   Farlei José Heinen farlei@exatas.unisinos.br

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

[email protected]

Farlei José Heinen

[email protected]

Luciane Fortes

[email protected]

SBRN’02 - Simpósio Brasileiro de Redes Neurais

Unisinos

Page 2: Fernando Osório osorio@exatas.unisinos.br   Farlei José Heinen farlei@exatas.unisinos.br

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.

Page 3: Fernando Osório osorio@exatas.unisinos.br   Farlei José Heinen farlei@exatas.unisinos.br

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

Page 4: Fernando Osório osorio@exatas.unisinos.br   Farlei José Heinen farlei@exatas.unisinos.br

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

Page 5: Fernando Osório osorio@exatas.unisinos.br   Farlei José Heinen farlei@exatas.unisinos.br

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]

Page 6: Fernando Osório osorio@exatas.unisinos.br   Farlei José Heinen farlei@exatas.unisinos.br

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

Page 7: Fernando Osório osorio@exatas.unisinos.br   Farlei José Heinen farlei@exatas.unisinos.br

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

Page 8: Fernando Osório osorio@exatas.unisinos.br   Farlei José Heinen farlei@exatas.unisinos.br

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

Page 9: Fernando Osório osorio@exatas.unisinos.br   Farlei José Heinen farlei@exatas.unisinos.br

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

Page 10: Fernando Osório osorio@exatas.unisinos.br   Farlei José Heinen farlei@exatas.unisinos.br

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

Page 11: Fernando Osório osorio@exatas.unisinos.br   Farlei José Heinen farlei@exatas.unisinos.br

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

Page 12: Fernando Osório osorio@exatas.unisinos.br   Farlei José Heinen farlei@exatas.unisinos.br

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

Page 13: Fernando Osório osorio@exatas.unisinos.br   Farlei José Heinen farlei@exatas.unisinos.br

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

Page 14: Fernando Osório osorio@exatas.unisinos.br   Farlei José Heinen farlei@exatas.unisinos.br

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

Page 15: Fernando Osório osorio@exatas.unisinos.br   Farlei José Heinen farlei@exatas.unisinos.br

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;

Page 16: Fernando Osório osorio@exatas.unisinos.br   Farlei José Heinen farlei@exatas.unisinos.br

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!