Sei sulla pagina 1di 12

Controle Inteligente de Veculos Autnomos: Automatizao do Processo de Estacionamento de Carros

Fernando Osrio, Farlei Heinen e Luciane Fortes


UNISINOS Universidade do Vale do Rio dos Sinos Centro de Cincias Exatas e Tecnolgicas C6 Mestrado em Computao Aplicada PIPCA Av. Unisinos, 950 So Leopoldo, RS E-mail: osorio@exatas.unisinos.br farlei@indus.unisinos.br luciane.fortes@gm.com

RESUMO:

Este trabalho tem por objetivo apresentar um sistema de controle inteligente de veculos autnomos. O sistema que estamos desenvolvendo responsvel pela automatizao da tarefa de conduo de um veculo, onde buscamos obter um sistema de controle robusto capaz de estacionar um carro em uma vaga paralela. O sistema SEVA (Simulador de Estacionamento de Veculos Autnomos) permite controlar o carro atravs da leitura de um conjunto de sensores, gerando os comandos de acelerao e de giro de direo, de modo a localizar e estacionar o carro em uma vaga. Atualmente o sistema conta com um controlador baseado em um sistema especialista (conjunto de regras heursticas) e com um controlador gerenciado por uma Rede Neural Artificial com aprendizado supervisionado. Os resultados obtidos at o presente demonstram que ambos os controladores so capazes de estacionar corretamente um carro, baseados apenas nas informaes provenientes de seus sensores externos.

PALAVRAS- CHAVE: robtica autnoma, controle sensorial-motor inteligente, conduo autnoma de veculos, aprendizado neural, sistema especialista.

1. Introduo

Os veculos autnomos (RMA Robs Mveis Autnomos) tem atrado a ateno de um grande nmero de pesquisadores da rea de Inteligncia Artificial, devido ao desafio que este

novo domnio de pesquisas nos prope: dotar sistemas de uma capacidade de raciocnio inteligente e de interao com o meio em que esto inseridos. Os RMAs podem sentir o ambiente em que esto inseridos atravs da leitura de seus sensores (e.g. sensores infravermelho, lasers, bumpers, cmeras de vdeo, etc), e atravs desta percepo sensorial eles podem planejar melhor as suas aes [Medeiros 98, Heinen 99]. Atualmente temos robs mveis atuando em diferentes reas, como por exemplo: robs desarmadores de bombas, robs usados para a explorao de ambientes hostis, e a conduo de veculos (carros) robotizados. Alguns dos exemplos mais famosos de RMAs so: o sistema desenvolvido pelo NavLab da CMU [Pomerleau 90, Batavia 96] que capaz de conduzir uma caminhonete pelas estradas americanas; o rob do tipo rover enviado para Marte pela NASA [Stone 96]; o rob Dante que explora vulces [Lemonick 94]; o sistema de controle de um veculo Ligier eltrico desenvolvido pelos pesquisadores do INRIA na Frana [Paromtchik 96, Scheuer 98]. Todos estes sistemas possuem em comum a capacidade de receber leituras de sensores que lhes do informaes sobre o ambiente em que esto inseridos e de modo semi ou completamente autnomo, geram os comandos que fazem com que eles se desloquem em um ambiente de modo seguro: sem se chocar contra obstculos ou colocar em risco sua integridade ou a dos diferentes elemento presentes no ambiente. A partir de estudos e trabalhos de pesquisa desenvolvidos pelo Grupo de Inteligncia Artificial do PIPCA [WebGIA 01], foram criadas as bases para o desenvolvimento de aplicaes na rea de robtica autnoma mvel. Destaca-se particularmente o desenvolvimento dos projetos HMLT (Hybrid Machine Learning Tools) e COHBRA / HyCAR (Controle Hbrido Inteligente de Robs Autnomos), que contam com a participao de alunos do Mestrado em Computao Aplicada da Unisinos. Especificamente neste trabalho, optamos pela implementao de um sistema capaz de controlar um veculo autnomo similar a um carro (rob no-holonmico forma retangular) equipado com um conjunto de seis sensores infra-vermelhos e/ou ultra-snicos de baixo custo. Baseando-se nos modelos da cinemtica de um veculo real [Garnier 97] e dos sensores [Michel 96] (modelo este usado em simuladores amplamente adotados pela comunidade cientfica internacional, como o Khepera-SIM), implementamos o nosso simulador. O simulador, denominado de SEVA Simulador de Estacionamento de Veculos Autnomos, foi desenvolvido em Visual C++ de forma modular, onde podemos facilmente adaptar os modelos da cinemtica do veculo, dos sensores e o sistema de controle dos atuadores

(acelerao e rotao da direo). Sendo assim, este simulador permite que sejam definidas diferentes configuraes de carros, bem como de mdulos de controle aplicados em diferentes tarefas. Neste artigo iremos tratar especificamente da simulao de um carro equipado com seis sensores infra-vermelhos (medidores de distncia dos obstculos), com um sistema de controle desenvolvido a fim de permitir que este carro localize uma vaga de estacionamento paralelo, realizando a seguir o estacionamento de modo automtico (sem a interveno de um condutor humano). O controle do veculo autnomo pode ser realizado de duas formas distintas: baseado em um sistema especialista composto por um conjunto de regras heursticas, ou, baseado em uma Rede Neural Artificial com aprendizado supervisionado. Ambos os sistemas de controle usam as informaes provenientes dos sensores para definir o comportamento dos atuadores que iro controlar a direo do deslocamento, a velocidade do veculo e a rotao da direo. O simulador permite a visualizao, em uma janela grfica, da trajetria e do comportamento do veculo durante o processo de estacionamento. Uma anlise visual da evoluo do comportamento do veculo controlado pelo sistema demonstra que o controlador realiza as tarefas de estacionamento com sucesso. Podemos tambm considerar nesta anlise a taxa de respostas corretas no aprendizado neural, sendo da ordem de 98% em mdia, a qual demonstra que a rede plenamente capaz de aprender a controlar corretamente o veculo. Estudos esto sendo realizados a fim de determinar de modo mais exato a preciso do sistema de controle, sua capacidade de generalizao (Rede Neural), e a sua robustez, em relao a situaes novas e a impreciso dos seus sensores. Nas sees seguintes vamos descrever o modelo de simulao adotado, e aps descreveremos o controlador baseado em regras, seguido da descrio do funcionamento do controlador baseado na Rede Neural. Por fim, apresentaremos as perspectivas de melhorias que esto sendo estudadas a fim de serem implementadas no sistema.

2. Simulador SEVA

O simulador SEVA (Simulador de Estacionamento de Veculos Autnomos) possui os seguintes componentes principais:

Modelo de simulao dos sensores; Modelo de simulao da cinemtica do veculo (deslocamento do carro); Comandos do atuador relacionado ao deslocamento (avanar / recuar e velocidade); Comandos do atuador relacionado ao giro do veculo (rotao da direo).

A figura 1 apresenta a interface grfica do simulador SEVA, onde na parte superior encontramos uma zona de status que indica: o estados dos sensores, o estado da velocidade de deslocamento do veculo e o estado da rotao do veculo. Na janela principal tambm podemos visualizar uma representao simplificada do cenrio hipottico no qual o veculo est inserido. Um desenho da trajetria do veculo foi sobreposto sobre a imagem da interface grfica, permitindo visualizar o comportamento tpico do veculo, obtido em modo de controle autnomo, sem interferncia humana.

Figura 1 Simulador SEVA

2.1. Modelo dos Sensores

Os sensores de distncia simulam sensores infra-vermelhos, sendo capazes de determinar a distncia entre o carro e os obstculos presentes no ambiente: outro carros e a calada. Os seis sensores utilizados esto distribudos em pontos estratgicos do carro (vide figura 2), estando localizados na frente, na traseira e na lateral direita do carro. Foram implementados apenas os sensores da lateral direita do veculo, pois nossos estudos atuais se restringiram ao estacionamento em vagas paralelas localizadas no lado direito do carro, caso tpico em pistas de duas vias.

Figura 2 Sensores do Veculo

Os sensores retornam um valor numrico entre 0 e 1024, onde o valor 0 indica que houve um contato com o objeto (coliso) e 1024 indica que no h obstculos visveis no campo de percepo do sensor (caminho livre). O simulador apresenta este campo de percepo representado graficamente por segmentos de reta, onde quando este segmento intercepta um objeto isto convertido para um valor entre 0 e 1024 representando a distncia relativa entre o sensor e o objeto interceptado. Os valores numricos dos sensores tambm so apresentados na janela grfica a fim de permitir um melhor acompanhamento das informaes referentes a simulao do estacionamento.
2.2. Modelo da Cinemtica do Veculo

A movimentao do veculo respeita o modelo da cinemtica de um carro, conforme modelo tambm adotado em [Garnier 97]. Neste modelo simulado um veculo representado

por um volume retangular suportado por quatro rodas, onde as rodas traseiras possuem um eixo fixo e as rodas dianteiras podem ser direcionadas, atravs do giro da barra da direo. As coordenadas do veculo so definidas por Vp = (X, Y, ), onde X e Y definem o ponto mdio do eixo traseiro do veculo e indica a sua orientao (ngulo em relao a direo de referncia). A velocidade do veculo representada por V e o ngulo de giro (rotao) da direo denotado por . O valor de L indica o tamanho do eixo das rodas. O deslocamento do veculo descrito pelas seguintes equaes:

X = V * Cos () * Cos () Y = V * Cos () * Cos () = V / L * Sin () Eq. 1

A figura 3 apresenta um esquema do modelo da cinemtica do veculo que foi adotado em nossas simulaes.

X
Figura 3 Cinemtica do veculo com eixo de rotao dianteiro 2.3. Atuador de Deslocamento

O deslocamento do veculo obtido na simulao atravs do controle de sua velocidade V. Para que fosse possvel controlar o veculo na tarefa de estacionamento, definiu-se cinco estados referentes a sua velocidade de deslocamento: Avano_Rpido (AR), Avano_Lento (AL), Parado (P), R_Lenta (RL), R_Rpida (RR). Cada um destes estados associado a um valor numrico correspondente a velocidade real adotada pelo veculo.

2.4. Atuador de Rotao

O giro da direo, assim como a velocidade do veculo, definido atravs de um conjunto de quatro valores adotados como ngulos de rotao: Giro_Esquerda_Max (GPM), Giro_ Esquerda_Pequeno (GEP) , Direo_Reta (DR) , Giro_Direita_Pequeno (GDP), Giro_ Direita_Max (GDM). Cada um destes estados associado a um valor numrico que corresponde ao giro da direo adotado pelo veculo.

3. Controle baseado em um Sistema Especialista

O controle do estacionamento do carro foi implementado atravs da criao de um conjunto de regras que descrevem o comportamento de um motorista (especialista) ao realizar esta tarefa. O responsvel pela criao das regras atuou como analista de conhecimentos, codificando a base de regras, e tambm como especialista do problema, visto que este era um condutor experiente, o que lhe possibilitou explicitar seus prprios conhecimentos a respeito do problema. As regras explicitadas identificaram a necessidade de se definir um conjunto de estados pelos quais passa o condutor durante as diferentes etapas do processo de estacionamento. As etapas identificadas permitiram que fosse definido um autmato de estados finitos (FSA), composto por 7 estados, representados na figura 4: procurando_vaga, posicionando, entrando_vaga, posicionando_ vaga, otimizando_vaga, alinhando e parado.

Procurando_Vaga

Posicionando

Entrando_Vaga

Posicionando_Vaga

Parado

Alinhando

Otimizando_Vaga

Figura 4 Autmato com os estados usados no processo de estacionamento do carro

O uso de um diagrama de estados que definem o autmato permitiu que fosse simplificado o tratamento do problema, visto que o especialista reage de modo diferente aos estmulos sensoriais do ambiente, segundo o estado em que se encontra. Por exemplo, ao procurar uma vaga paralela estamos usualmente andando em linha reta e buscando localizar uma abertura entre dois carros, e quando vamos colocar o carro na vaga estamos usualmente dando uma r, controlando os veculos ao nosso lado de modo a girar corretamente a direo e entrar na vaga sem bater neles. Para que fosse possvel realizar a tarefa de estacionamento, tambm foi adicionado um odmetro, que nos permite controlar o quanto o carro se deslocou. O odmetro usado em casos onde, aps acharmos uma vaga, necessrio primeiro avanar uma certa distncia antes de entrar de r na vaga. O comportamento final do veculo controlado pelo sistema especialista aquele que foi apresentado na figura 1. As regras usadas consultam o estado atual do autmato, dos sensores e do odmetro, e geram como efeito o controle dos atuadores de deslocamento (velocidade controlada pela varivel Speed) e de rotao (giro da direo controlado pela varivel RotVel). O sistema completo possui um total de 30 regras, onde listamos a seguir alguns exemplos destas regras empregadas no simulador:
Se Estado_Atual(Procurando_Vaga) e Prximo_ao_Obstculo(V[4]) e Prximo_ao_Obstculo(V[5]) Ento Speed = Avano_Rpido e RotVel = Direo_Reta;

Se Estado_Atual(Procurando_Vaga) e Longe__do_Obstculo(V[2]) e Longe__do_Obstculo(V[3]) e Longe__do_Obstculo(V[4]) e Longe__do_Obstculo(V[5]) Ento Troca_Estado(Posicionando) e Inicializa(Odmetro); Se Estado_Atual(Posicionando) Ento Speed = Avano_Rpido e Rotvel = Direo_Reta; Se Estado_Atual(Posicionando) e Longe_do_Obstculo(V[4]) e Deslocamento_Suficiente(Odmetro) Ento Estado_atual(Entrando_Vaga) e Inicializa(Odmetro); Se Estado_Atual(Entrando_Vaga) Ento Speed = R_Rpida e RotVel = Giro_Esquerda_Max; Quadro 1 Exemplo das regras usadas no sistema de controle do veculo

4. Controle baseado em uma Rede Neural Artificial

Os resultados obtidos com o controle baseado em um sistema especialista nos levaram ao estudo de uma alternativa para a aquisio de conhecimentos, visto que o processo de codificao de regras muito trabalhoso, alm de no garantir uma grande robustez do sistema na presena de rudos (e.g. valores inexatos dos sensores e situaes no previstas). Buscou-se ento a implementao de uma soluo baseada no aprendizado prtico a partir de uma base de exemplos de conduo do veculo autnomo. A soluo adotada foi a utilizao de Redes Neurais Artificiais (RNA) [Braga 00, Osorio 99], com aprendizado supervisionado, capazes de aprender bases de exemplos que demonstram como se deve estacionar o carro. O primeiro passo foi a construo das bases de exemplos empregadas no aprendizado da Rede Neural. Adaptou-se o simulador de modo a gerar um arquivo de log, contendo o registro do estado dos sensores, estado do autmato e comandos enviados aos atuadores (velocidade e rotao). Este arquivo permite que sejam gravados todos os dados referente a execuo de uma tarefa de estacionamento, seja esta tarefa controlada pelo sistema especialista, ou ento, por um usurio que pode controlar o veculo atravs do teclado. Em nossos experimentos iniciais com a RNA, geramos um arquivo de log que registrou o comportamento de controle do veculo, baseando-se no controle gerado pelo sistema especialista. Nosso objetivo foi o de realizar o aprendizado da rede neural de modo que ela pudesse substituir o controlador baseado em regras. Em uma etapa posterior pretendemos testar o aprendizado da rede usando um controle supervisionado baseado no comportamento de uma pessoa controlando o estacionamento do veculo. O modelo de RNA adotado foi o MLP (Multi-Layer Perceptron) [Braga 00, Osorio 99], com aprendizado supervisionado do tipo Cascade-Correlation [Fahlman 90]. O algoritmo Cascade-Correlation foi empregado no lugar do tradicional algoritmo de Back-Propagation [Rumelhart 86] devido ao fato deste outro algoritmo simplificar a definio da rede (no precisamos indicar o nmero de neurnios da camada oculta) e por ser um algoritmo comprovadamente mais eficiente que o Back-Propagation [Joost 93, Fahlman 90]. As variveis (atributos) de entrada da rede que empregamos foram: o estado dos seis sensores e uma indicao do estado atual do processo de estacionamento (um dos sete estados possveis: procurando_vaga, posicionando, etc). Na sada da rede iremos obter o estado dos atuadores (velocidade e rotao), assim como uma indicao do prximo estado do processo

de estacionamento. Deste modo, a rede ir controlar os atuadores, mas tambm ir decidir quando devemos passar de um estado a outro no autmato de controle. A figura 5 apresenta o esquema das entradas e sadas da RNA adotada. Note que o estado previsto pela rede pode ser re-inserido nela como sendo o estado atual, sendo ento usado no instante de tempo seguinte.

Sensores

Estado Atual

RNA

Rotvel

Speed

Prximo Estado

Figura 5 Descrio da Rede Neural Artificial utilizada para controlar o veculo

Salientamos a importncia de se conhecer o estado atual, para podermos interpretar corretamente os sensores, por exemplo: Quando estamos procurando uma vaga, temos os sensores laterais indicando a proximidade de um carro, onde isto indica que devemos continuar a avanar at encontrar uma vaga, quando ento os sensores laterais iro indicar que o obstculo no est mais to prximo; Quando estamos entrando na vaga, temos os sensores laterais indicando a proximidade de um carro (como na situao anterior), mas isto indica que devemos engatar uma r para colocar o carro na vaga previamente localizada. Apesar de precisarmos de uma indicao do estado do processo de estacionamento em que nos encontramos, a rede neural capaz de aprender a detectar a passagem de um estado a outro, e uma vez terminada a fase de aprendizado, ela ser capaz de realizar o estacionamento de forma autnoma sem a interveno humana. A figura 6 apresenta uma amostra da base de aprendizado utilizada para treinar a rede neural, onde foi usada uma codificao binria do tipo 1 entre N para representar: o estado atual (7 estados possveis), a velocidade (5 velocidades possveis), o giro da direo (onde usamos apenas 4 rotaes possveis) e o prximo estado (que tambm codifica 7 estados possveis).

Figura 6 Arquivo usado para o aprendizado supervisionado da Rede Neural

Os resultados das simulaes do aprendizado da RNA, registrados em um conjunto de 10 simulaes que realizamos, foram os seguintes: obtivemos uma taxa de aprendizado mdia com um acerto de 98.649% nas respostas da rede; foram usadas (inseridas) apenas 2 unidades na camada intermediria (adicionadas pelo algoritmo Cascade-Correlation) e o nmero mdio de pocas de aprendizado foi de 572 pocas. Como foi usada uma base de 392 exemplos, notamos que apenas cerca de 6 exemplos no foram corretamente aprendidos pela rede.

5. Concluso e Perspectivas

Este trabalho teve como objetivo o desenvolvimento de um simulador para o controle de veculos autnomos em uma tarefa de estacionamento em vagas paralelas. Os resultados obtidos nas simulaes realizadas com a ferramenta que desenvolvemos, o SEVA, demonstraram que o sistema de controle, seja ele implementado atravs de um sistema especialista ou atravs de uma Rede Neural Artificial, possui a capacidade de controlar corretamente o veculo, cumprindo seu objetivo principal: estacionar o veculo na vaga, sem bater nos demais obstculos que esto ao seu redor. Atualmente estamos estudando a possibilidade de integrar os conhecimentos representados sob a forma de regras e os conhecimentos representados nas bases de exemplos, de modo a permitir um melhor aproveitamento de toda a experincia disponvel em relao ao problema. No futuro pretendemos aplicar tcnicas de aprendizado hbrido e sistemas hbridos [Osorio 98 e 99b] como forma de tornar o controle do veculo ainda mais robusto. Agradecimentos: Agradecemos a Fapergs, ao CNPq e a Unisinos pelo financiamento de nossas pesquisas e dos bolsistas envolvidos no desenvolvimento destes trabalhos.

Bibliografia
[Batavia 96] Batavia, Parag; Pomerleau, Dean & Thorpe, Charles. Applying Advanced Learning Algorithms to ALVINN. CMU Technical Report CMU-RI-TR-96-31. Carnegie Mellon University. Pittsburgh. 1996. [Braga 00] Braga, Antnio de Pdua; Ludermir, Tereza Bernarda; Carvalho, Andr Carlos Ponce de Leon Ferreira. Redes Neurais Artificiais, Teoria e Aplicaes; LTC Editora, Rio de Janeiro. 2000. [Fahlman 90] Fahlman, Scott E. & Lebiere, Christian. The Cascade-Correlation Learning Architecture. Carnegie-Mellon University CMU, Computer Science Techincal Report. CMU-CS-90-100. 1990. [Garnier 97] Garnier, Philippe; Fraichard, Thierry; Laugier, Christian; Paromtchik, I. and Scheuer. Motion Autonomy Through Sensor-Guided Manoeuvres. IEEE-RSJ International Conference on Intelligent Robots and Systems, Procedings of the Intelligent Cars and Automated Highway Systems Workshop. Sept. 1999. Grenoble, France. [Heinen 99] Heinen, Farlei Jos. Robtica Autnoma: Integrao entre Planificao e Comportamento Reativo; UNISINOS Editora, So Leopoldo, Novembro, 1999. [Joost 93] Joost M, W.Schiffmann, R. Werner. Comparison of Optimized Backpropagtion Algoritms. Presented at ESANN 93, Brssel. [Lemonick 94] Lemonick, Michel. Dante Tours the Inferno. Time Magazine Time Domestic/Science. Vol. 144, No. 7. August 15, 1994. [Medeiros 98] Medeiros, Adelardo. Introduo a Robtica. ENA-98 Encontro Nacional de Automtica (50 Congresso da SBPC). Natal, RN. pp.56-65. 1998. [Michel 96] Michel, Olivier. Khepera Simularor Version 2.0 User Manual. Universit de Nice Sophia Antipolis. Laboratoire I3S - CNRS, France / EPFL Lausanne, Swiss. March 1996. [Osrio 98] Osrio, Fernando Santos. INSS: Un System Hybride Neuro-Symbolique pour lApprentissage Automatique Constructif. Thse de Doctorat (Ph.D) en Informatique. Laboratorie Leibniz - IMAG / INPG. Grenoble, France, 1998. [Osrio 99] Osrio, Fernando S. Redes Neurais Artificiais: Do aprendizado Natural ao Aprendizado Artificial. Tutorial I Frum de Inteligncia Artificial / Ulbra; Canoas, Agosto, 1999. [Osrio 99a] Osrio, Fernando S. & Vieira, Renata. Sistemas Hbridos Inteligentes. Tutorial apresentado no ENIA99 Encontro Nacional de Inteligncia Artificial, Congresso da SBC, Rio de Janeiro 1999. [Osrio 99b] Osrio, Fernando S & Amy, Bernard. INSS: A hybrid system for constructive machine learning. Neurocomputing, Elsevier Press. Netherlands. 1999. [Paromtchik 96] Paromtchik, I. E. & Laugier, C. Autonomous Parallel Parking of a Nonholonomic Vehicle. Procedings of the IEEE International Symposium on Intelligent Vehicles., pp. 13-18. September, 1996. [Pomerleau 90] Pomerleau, D. Neural network based autonomous navigation. In: Thorpe, C.(Ed). Vision and Navigation: The CMU Navlab. Kluwer Academic Publihers, 1990. [Rumelhart 86] Rumelhart, D.; Hinton, G; Williams, R. L. Learning Internal Representations by Error Propagation. In: Parallel Distributed Processing Vol. 1. MIT Press, Cambridge. 1986. [Scheuer 98] Sheuer, A. & Laugier, C. Planning Sub-Optimal and Continuous-Curvature Paths for Car-Like Robots. IEEE-RSJ International Conference on Intelligent Robots and Systems. Victoria, British-Columbia, Canada. Oct. 1998. [Stone 96] Stone, H. W. Mars Pathfinder Microver: A low-cost, low-power Spacecraft. Proceeding of the 1996 AIAA. Forum on advanced developments in Space Robotics. Madison, WI. August 1996. [WebGIA 01] Grupo de Inteligncia Artificial da Unisinos. URL: http://inf.unisinos.br /~osorio/gia.html (Jul. 2001).

Potrebbero piacerti anche