Evolvere Scientia, V. 1, N. 1,p.6-13 2013 Evolvere Scientia ARTIGO UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO DESENVOLVIMENTO DE UM VEÍCULO AUTÔNOMO INTELIGENTE PARA TAREFAS DE NAVEGAÇÃO LIVRE DE COLISÕES Igo Rafael Alves Silva, Anderson Luiz Fernandes Perez Universidade Federal do Vale do São Francisco, 48902-300 Juazeiro, BA, Brasil. Palavras-chave: robôs microcontrolador móveis, veículo autônomo INTRODUÇÃO inteligente, controle inteligente, O desenvolvimento de um Veículo Autônomo Inteligente (VAI) possui as A indústria automotiva vem fazendo um mesmas grande esforço no desenvolvimento de desenvolvimento de um robô autônomo dispositivos que auxiliem o motorista no móvel. Por isso, várias técnicas adotadas no processo de condução de um veículo desenvolvimento de robôs móveis podem (MENTZER, 2009). Estes dispositivos ser também adotadas no desenvolvimento visam auxiliar o motorista desde o processo de um VAI (MADHAVAN, 2007). de frenagem do veículo, passando por mecanismos de injeção eletrônica, até controle de colisões em auto-estradas (HITCHCOCK, 1995). características que o Um VAI pode ser definido como um veículo que toma decisões por si só e de forma inteligente. De maneira geral, um veículo qualquer pode ir em quatro Algumas tecnologias de veículos direções: frente, trás, direita e esquerda. inteligentes permitem que os veículos Quando não há inteligência existe apenas cooperem trocarem um sistema reativo, ou seja, um sistema que informações para que os mesmos evitem reage aos acontecimentos do meio. Por colisões com outros veículos ou até mesmo exemplo, supondo que sempre ao perceber obstáculos. É possível um veículo que está um objeto o veículo se movimentasse para atrás de outro regular sua velocidade de o sentido contrário, então se existir um acordo com a velocidade do que está em obstáculo à frente e outro atrás ter-se-á o sua frente (BABER, 2005). seguinte resultado: o veículo irá para frente no sentido de e para trás infinitamente, não haverá em 6 Evolvere Science, V. 1, N. 1,p. 6-13, 2013 nenhum momento uma interpretação mais carrinho de controle remoto em um VAI; na inteligente desta situação (JONES, 1999). Seção Descrição do Experimento são A área de Inteligência Computacional (IC) desempenha um papel importante no desenvolvimento de um robô móvel ou de um VAI (SICHMAN, 1992). É ela a responsável por fazer com que o veículo não seja apenas uma simples máquina com um comportamento fixo, ao contrário, permite que o veículo seja totalmente autônomo, capaz de tomar decisões independentemente de um operador humano. De apresentados os detalhes do experimento realizado, a navegação livre de colisões; a Seção Conclusão finaliza este capítulo com algumas considerações dos autores, bem como perspectivas para eventuais trabalhos futuros. OBJETIVOS O principal objetivo deste trabalho é adaptar um carrinho de controle remoto para ser utilizado como um Veículo Autônomo Inteligente (VAI). acordo O VAI com (NEHMZOW, desenvolvido poderá ser utilizado como 2000), para os pesquisadores de IC, robôs plataforma experimental para algoritmos de autônomos móveis oferecem meios para inteligência testar móvel. hipóteses sobre comportamento inteligente, cognição e percepção. Para que um robô realize alguma tarefa é necessário uma arquitetura de software para controlar o ciclo percepção-ação. Uma arquitetura de computacional e robótica Os objetivos abaixo listados são fundamentais para o desenvolvimento do VAI proposto neste trabalho: controle para um robô móvel é responsável Retirar do carrinho original as partes que por interpretar as informações coletadas do não ambiente pelos sensores e em seguida tomar desenvolvimento do VAI, tais como: placa alguma decisão sobre qual ação deve ser de controle remoto, buzina, faróis etc; são importantes para o executada. Este capítulo está organizado da seguinte forma: na Seção Objetivos são listados os principais objetivos que levaram a construção do VAI, bem como as possíveis tarefas que poderão ser realizadas pelo mesmo; a Seção Metodologia apresenta detalhadamente os passos que foram necessários para a adaptação de um 7 Desenvolver uma placa que seja capaz de controlar o motor dianteiro, responsável pela direção do carrinho, e o motor traseiro, responsável pela velocidade; Testar e validar a placa desenvolvida para então utilizá-las em tarefas específicas que o VAI poderá realizar; Evolvere Science, V. 1, N. 1,p. 6-13, 2013 Desenvolver um sistema de controle que será executado de maneira embarcada no carrinho para executar tarefas de navegação livre de colisões e estacionamento em vagas paralelas. É importante ressaltar que o VAI desenvolvido poderá ser utilizado em experimentos com algoritmos de Inteligência Computacional, bem como em problemas que envolvam conceitos de robótica móvel. Figura 1. Carrinho usado como base para a construção do VAI. METODOLOGIA A primeira adaptação realizada foi O VAI desenvolvido é baseado na retirar a placa de controle remoto e então estrutura de um carrinho de controle desenvolver um driver responsável pelo remoto, que pode ser adquirido em lojas controle dos motores dianteiro e traseiro. O que comercializam brinquedos. O carrinho motor dianteiro é responsável pela direção usado como base é uma caminhonete do veículo, para isso foi utilizado um composta por dois motores, um para definir circuito chamado “Ponte H”, que funciona a direção e o outro para definir a como uma chave, determinando que o velocidade, uma placa de controle remoto, motor hora gire em sentido horário e hora responsável por receber os comandos do em sentido anti-horário. Para facilitar o controle remoto e então traduzi-los em desenvolvimento do driver foi utilizado um sinais de controle para os motores. A Figura CI (Circuito Integrado) pronto, conhecido 1 ilustra o carrinho de controle remoto já como L298N. A Figura 2 ilustra o CI com alguns sensores instalados em sua L298N já fixado na placa de controle lateral. desenvolvida. 8 Evolvere Science, V. 1, N. 1,p. 6-13, 2013 detectar um obstáculo a pelo menos a 8 cm de distância, possui um tempo de resposta rápida, e principalmente, é facilmente adquirido em componentes empresas que vendem eletrônicos. Foram construídos 8 (oito) sensores de infravermelho. Figura 2. Driver de corrente L298N. Os sensores de infra-vermelho foram montados a partir de um par de Para o controle da velocidade do sensores óticos (foto-emissor e foto- motor, como o mesmo é de Corrente receptor) com uma disposição específica Contínua (CC), foi necessário usar um sinal para que se pudesse ter o valor máximo de modulado por largura de pulso (PWM, do detecção do obstáculo ajustado. Conforme a Inglês Pulse Witdh Modulation). Com o proximidade do objeto, é possível ter uma PWM, pode-se determinar o ciclo de iluminação máxima ou mínima no foto- trabalho (ou duty cycle) fazendo com que o receptor, assim o receptor irá conduzir mais motor seja energizado proporcional a ele. ou menos corrente. Por exemplo, se o ciclo de trabalho do sensores é gerada uma tensão proporcional PWM corresponder a 50% (cinquenta por a 5 V (volts) e os mesmos estão cento), a tensão no motor será a metade da constantemente sendo alimentados. Para cada um dos sua alimentação. Sempre se terá uma tensão proporcional ao ciclo de trabalho. Com isso, é possível ter velocidades diferentes nos motores já que ela varia de acordo com a tensão aplicada nos terminais. Para o motor dianteiro, optou-se por mantê-lo em A alimentação de cada um dos sensores é de 5 volts e o consumo dos oito sensores é de 500 mA. A Figura 3 ilustra a disposição, bem como as características dos sensores construídos. velocidade máxima, ou para a direita ou para a esquerda, quando acionado, o que comprometeu a precisão nas curvas. Também alguns foram desenvolvidos de infra-vermelho, sensores responsáveis pela detecção de obstáculos próximos ao veículo. A escolha desse tipo de sensor deu-se pelas seguintes características: é preciso, é capaz de 9 Figura 3. Placa do sensor de infravermelho. Evolvere Science, V. 1, N. 1,p. 6-13, 2013 Os conversores A/D são necessários porque Os sensores foram fixados no carrinho conforme ilustrado pela Figura 4, dois em cada lado (incluindo frente e traseira). Com essa disposição tem-se uma noção maior da realidade onde veículo está localizado no ambiente. a leitura dos sensores é feita em formato analógico, para que o PIC possa tratá-lo deve-se fazer uma conversão para o formato digital. A Figura 5 ilustra a placa de controle desenvolvida contendo o PIC 18F452 instalado. SENSORES Figura 5. Placa de controle com o microcontrolador PIC 18F452. Figura 4. Disposição dos sensores no veículo. Foi necessário o desenvolvimento Uma outra alternativa como sensor seria usar sonares. Apesar de um sonar conseguir detectar qualquer tipo de obstáculo, não importando a sua coloração, ele não é capaz de detectar um obstáculo a uma distância menor do que 6 (seis) polegadas. Essa característica impede que o VAI consiga fazer uma manobra próxima a de um programa de computador para controlar o VAI. O programa, chamado de sistema de controle, foi desenvolvido em linguagem de programação C na plataforma de desenvolvimento de sistemas embarcados CCS. O CCS é um compilador cruzado, capaz de gerar códigos executáveis para a família de microcontroladores PIC da um obstáculo. Microchip. Todo o sistema de controle do veículo é baseado em um microcontrolador da família 18F fabricado pela Microchip. O microcontrolador utilizado é um PIC 18F452 com as seguintes características: possui módulo PWM, 8 conversores Analógico/Digital e memória de 32 Kbytes. 10 O sistema de controle desenvolvido forma uma malha aberta, ou seja, não existe uma maneira de saber se o veículo atendeu ou não um determinado comando. Por exemplo, não há como saber se o veículo se deslocou a uma determinada distância. Esse Evolvere Science, V. 1, N. 1,p. 6-13, 2013 problema poderia ser resolvido com a adoção de um encoder em cada uma das rodas traseiras. A carrinho vantagem de em controle utilizar remoto um como plataforma básica para o desenvolvimento de um VAI é que toda a parte mecânica, isto é, chassi, amortecedores e rodas, carenagem, motores, já estão Figura 6. Ambiente de teste do VAI. prontos, não sendo necessário projetar e desenvolver tais componentes. O custo Para a realização do experimento também é outro fator importante pela foi suprimido a bateria original do carrinho escolha de um carrinho de controle remoto. por conta do alto consumo de corrente dos O custo de um robô móvel comercializado sensores. Em substituição a bateria foi por empresas especializadas é dezena de utilizada uma fonte comum de computador vezes mais caro que o custo de um carrinho (PC) conectada ao carrinho através de um de controle remoto. fio, chamado de cordão umbilical. Isto propiciou DESCRIÇÃO DO EXPERIMENTO Livre de Colisões. experimento fosse sem interrupções. Este experimento é bem difundido na área de robótica móvel e tem como principal objetivo fazer com que o veículo autônomo navegue por um ambiente desconhecido evitando colidir com obstáculos. A Figura 6 ilustra o ambiente de teste, um tablado de madeira onde o VAI deve navegar sem se chocar com obstáculos. o executado por um longo período de tempo O experimento realizado com o VAI foi a Navegação que Durante o experimento foram analisados diferentes comportamentos do veículo, tais como: a reação do mesmo ao encontrar um obstáculos; o tempo de resposta a partir do momento em que um obstáculo foi encontrado até o momento em que o veículo tomou a decisão de desviar ou não; a confiabilidade das placas desenvolvidas; e o comportamento do sistema de controle. O experimento realizado demonstrou que as adaptações feitas no carrinho original foram bem sucedidas. A placa 11 de controle, onde está o Evolvere Science, V. 1, N. 1,p. 6-13, 2013 microcontrolador, obteve um bom desempenho durante todo o experimento. alimentação de um computador desktop – PC. Entretanto, devido ao grande número de interrupções geradas pelos sensores, algumas vezes, o sistema de controle tinha um comportamento anômalo, o que prejudicou a obtenção de dados fidedignos do experimento. No experimento de navegação livre de colisões o VAI obteve um bom desempenho. Entretanto, por gerar muitas informações ao microcontrolador, os sensores causaram, em alguns momentos, a interrupção do sistema de controle, fazendo com que algumas vezes o VAI tivesse um CONCLUSÃO comportamento anômalo ao esperado. Este capitulo apresentou o desenvolvimento Como trabalhos futuros é de um veículo autônomo inteligente a partir necessário melhorar os sensores e utilizar de alterações realizadas na estrutura e no um sistema operacional embarcado para controle eletrônico de um carrinho de que controle remoto. As alterações foram hardware, sem que o programador precise necessárias para tornar o carrinho um desenvolver rotinas específicas, como por Veículo Autônomo Inteligente para que o exemplo um tratador de interrupções. mesmo possa ser utilizado como plataforma Também é necessário adaptar um rádio ao de testes e experimentos com algoritmos de VAI para que o mesmo possa enviar e inteligência receber informações de um computador. computacional e robótica móvel. o mesmo gerencie detalhes do Isto facilitará a interação com o VAI e A adaptação de um carrinho de controle remoto para comportar-se como também servirá como ferramenta para a depuração do sistema de controle. um Veículo Autônomo Inteligente não é uma tarefa fácil, é necessário fazer muitos ajustes e testes. O VAI desenvolvido REFERÊNCIAS mostrou ser muito robusto, principalmente em tarefas como a navegação livre de colisões, tarefa em que a precisão dos movimentos não é um fator determinante. Nos experimentos realizados não foi utilizado a bateria original do carrinho, pois BEKEY, George A. Autonomous Robots. From Biological Inspiration to Implementation and Control. MIT Press, 2005. os sensores consomem muita corrente. A JONES, Joseph L.; Flynn, Anita M. e alimentação foi feita através de um fonte de Seiger, Bruce. Mobile Robots. Inspiration 12 Evolvere Science, V. 1, N. 1,p. 6-13, 2013 to Implementation. 2ª edição. A K Peters, 1999. NEHMZOW, Ulrich. Mobile Robotics: A Practical Introduction. Springer, 2000. SICHMAN, J.S.; DEMAZEAU, Y. and BOISSER, O. When can knowledge-based systems be called agents?. Anais do IX Seminário Brasileiro de Inteligência Artificial, pg. 172-185, 1992. HITCHCOCK, Anthony. Intelligent Vehicle Highway System Safety: Multiple Collisions in Automated Highway Systems. California Tech research report UCB-ITS-PRR-95-10, 1995. BABER, Jonathan; KOLODKO, Julian; NOËL, Tony; PARENT, Michel; VLACIC, Ljubo. Cooperative Autonomous Driving. IEEE Robotics & Automation Magazin, pg. 44-49, 2005. MENTZER, Christopher; MCWILLIAMS, George; KOZAK, Kristopher. Dynamic Autonomous Ground Vehicle Re-Routing in an Urban Environment. Proceedings of the 2009 Ground Vehicle Systems Engineering and Technology Symposium (GVSETS), pg. 1-6. 2009. MADHAVAN, Raj; MESSINA, Elena R.; ALBUS, James S. Intelligent Vehicle Systems: A 4D/RCS Approach. Nova Science Publishers, January 15, pg. 6-12, 2007. 13