CONTROLE LONGITUDINAL DE UM VEÍCULO AUTÔNOMO Elias José de Rezende Freitas∗, Orientador: Guilherme Augusto Silva Pereira∗ ∗ Universidade Federal de Minas Gerais Belo Horizonte, MG, Brasil. Emails: [email protected], [email protected] Resumo— Este trabalho de conclusão de curso apresenta o desenvolvimento do controle longitudinal do veı́culo autônomo em construção na Universidade Federal de Minas Gerais. Atualmente, o veı́culo possui automação do freio, do acelerador, do câmbio e da direção e possui, ainda, GPS, IMU (Unidade de Medição Inercial) e sensor de velocidade das rodas dianteiras. Obteve-se neste trabalho um modelo não-linear da dinâmica longitudinal do veı́culo e um controlador baseado em Lógica Fuzzy que foi implementado e testado no veı́culo. Os resultados foram satisfatórios e são mostrados ao final deste trabalho. Palavras-chave— Veı́culo autônomo, controle longitudinal, controle fuzzy . Abstract— This work presents the development of a longitudinal control loop for the autonomous vehicle being developed at Universidade Federal de Minas Gerais. The brake, the gear and the steering of the vehicle are automated. The vehicle also is equiped with GPS, IMU (Inertial Measurement Unit) and velocity sensor at the front wheels. In this work a nonlinear model of longitudinal dynamics the vehicle was obtained. A fuzzy control system was implemented and tested on the vehicle. The results are shown in this paper. Keywords— Autonomous vehicle, cruise control, fuzzy control . 1 INTRODUÇÃO Os veı́culos autônomos são veı́culos capazes de realizar tarefas sem a interferência externa durante um longo intervalo de tempo (Bekey, 2005). Esses veı́culos podem possibilitar maior conforto, maior acessibilidade às pessoas com necessidades especiais, diminuição de acidentes causados pela imprudência dos motoristas, além de poderem aproveitar melhor os espaços das vias urbanas (Sabbagh, 2009). Nos EUA, a D.A.R.P.A. (Defense Advanced Research Projects Agency) promove uma competição que visa o desenvolvimento de veı́culos autônomos e que tem obtido grandes avanços nessa área (DARPA, 2010). Um dos ganhadores dessa competição é o veı́culo autônomo chamado de Stanley que em 2005 foi capaz de detectar e desviar de obstáculos com eficiência, sendo pilotado por computadores a bordo (Thrun et al., Setembro 2006a). Já em 2007, o veı́culo Boss, além de desviar e detectar obstáculos, foi capaz de seguir regras de tráfego (Urmson et al., 2008). Na UFMG, o veı́culo autônomo em desenvolvimento chamado de CADU (Carro Autônomo Desenvolvido na UFMG) é baseado no carro de passeio Chevrolet Astra Sedan 2003 que pode ser visto na Figura 1. Ele foi equipado com atuadores para o freio, para o câmbio, para a direção e para o acelerador, com um sensor de velocidade das rodas dianteiras, com um sensor GPS e com uma Unidade de Medição Inercial, IMU (Inertial Measurement Unit), que informa suas acelerações lineares, suas velocidades angulares e sua atitude. Uma das caracterı́sticas básicas e desejável de um carro autônomo é o controle longitudinal, também chamado de cruise control ou, mesmo, controle de velocidade. Atualmente, é comum em alguns carros, como o Honda Civic LX (Civic, 2010). Figura 1: Visão lateral do CADU (Carro Autônomo Desenvolvido na UFMG), retirado de (CORO - Laboratório de Sistemas de Computação e Robótica, 2010). Em (Rajamani, 2005) é apresentado uma maneira possı́vel de realizar o controle longitudinal, considerando que a aceleração do carro possui apenas uma dinâmica de primeira ordem em relação a aceleração desejada. Também é mostrado, como em (Glavina, 1990), que o conjugado nas rodas do veı́culo possui uma relação não-linear com a aceleração desejada, envolvendo a força de arrasto e a força de rolamento nos pneus. Um modelo um pouco mais simplificado para a aceleração é apresentado em (Kyongsu and Chung, 2001), desprezando a força de rolamento. Ainda é apresentado um modelo linear de segunda ordem para atuação do freio, que no caso é acionado por uma sistema hidráulico. E proposto um controle para o freio e o acelerador baseado em algoritmos CW/CA (Collision Warning and Collision Avoidance). Notou-se que houve a preocupação de fazer o acionamento do freio visando o conforto dos passageiros. É citado que a desaceleração máxima agradável aos passageiros é de 2,5m/s2 . O controle de velocidade, atuando apenas no acelerador, desenvolvido por (Rajamani, 2005) quanto para (Filho and Donha, 2003) e para (Thrun et al., 2006b) é baseado em um controlador PI. Já em (Passino and Yurkovich, 1997) é proposto um controlador por lógica Fuzzy, sendo que as regras de controle são obtidas pela informação das ações executadas por um motorista ao tentar regular a velocidade de um carro. Este trabalho apresenta o desenvolvimento de um sistema de controle de velocidade longitudinal para o CADU, e está subdividido da seguinte forma: na Seção 2 são apresentados a instrumentação e o sistema de atuação do veı́culo autônomo CADU. A Seção 3 apresenta o modelo obtido da dinâmica longitudinal do veı́culo. Já na Seção 4 é apresentada a estrutura de controle. Os resultados práticos são descritos na Seção 5. Por fim, na Seção 6 são feitas as considerações finais e apresentadas as propostas para trabalhos futuros. 2 AUTOMAÇÃO INTEGRADA AO CARRO AUTÔNOMO DA UFMG (CADU) O CADU, atualmente, está equipado, como mencionado na Introdução, com um sistema de automação constituı́do por atuadores para o freio, para o câmbio, para a direção e para o acelerador. E pelos sensores de velocidade das rodas dianteiras, GPS e IMU. Nesta seção serão tratados apenas a automação necessária para o desenvolvimento deste trabalho, mais detalhes podem ser obtidos em (Santos et al., 2008) e (de R. Freitas et al., 2009). 2.1 a frequência do sinal recebido do sensor ABS. A taxa de transmissão das velocidades das rodas é de 100Hz, via usb. E para velocidades inferiores a 1m/s notou-se problemas na medição. 2.4 Unidade de Medição Inercial (IMU) A IMU utilizada é a 3DM-GX1 da fabricante Microstrain. Ela combina as informações de girômetros, acelerômetros e magnetômetros ortogonais para fornecer os dados das acelerações lineares, velocidades angulares, e a atitude do veı́culo nas três dimensões (x,y,z). Essa IMU possui uma taxa de envio de dados via comunicação serial, também, de 100Hz e um conversor A/D de 16 bits (MicroStrain, 2010). Para comunicação com o computador foi utilizada uma biblioteca própria, diferente da fornecida pela fabricante que junto ao software de controle do veı́culo apresentou problemas. 2.5 Software Foi desenvolvida uma biblioteca e uma interface em linguagem C++ para Windows, com o objetivo de possibilitar a comunicação do computador com os diversos equipamentos instalados no veı́culo e implementar o controle longitudinal desenvolvido. Por meio dessa interface, Figura 2, o usuário pode, por meio de comandos simples, como pressionar botões e escolher valores de referência, acionar ou obter dados do CADU. Acelerador A atuação no acelerador é feita diretamente enviando um sinal PWM filtrado à Unidade de Comando Eletrônico (UCE) do CADU, já que o mesmo possui um sistema eletrônico drive-by-wire. Este sinal é gerado por um microcontrolador PIC18F2550 que corresponde a aceleração desejada enviada via usb pelo usuário. O comando enviado emula o acionamento do pedal do acelerador. 2.2 Freio A atuação do freio é feita por um atuador linear modelo LA12 da fabricante LINAK. Por meio de um microcontrolador PIC18F2550 é feito o controle de posição (Baleeiro, 2009). A comunicação com o computador é feita via usb pelo PIC e possibilita o usuário escolher, por exemplo, o valor de referência. O freio também pode ser acionado diretamente em caso de emergência. 2.3 Sensor de velocidade das rodas dianteiras O CADU possui sensor ABS nas rodas dianteiras, constituı́do de uma bomba, de válvulas, de uma unidade controladora e de sensores de velocidade. Estes sensores de velocidade são sensores de relutância magnética que fornecem um sinal com forma de onda cuja freqüência é proporcional à velocidade do veı́culo (Nice, 2010) e (WIKI, 2010). Para processar este sinal é utilizado o PIC18F2550 e um conversor frequência/tensão, LM2917MA (Semiconductor, 2009), que fornece um valor de tensão ao conversor A/D do PIC proporcional Figura 2: Interface de comunicação PC/CADU. 3 MODELAGEM Para desenvolver o controle longitudinal do veı́culo buscou-se obter um modelo que envolvesse sua dinâmica e a dos seus atuadores de freio e de aceleração. A técnica de modelagem utilizada neste trabalho pode ser definida por (Aguirre, 2000) como modelagem caixa cinza, na qual utilizou-se do conhecimento da fı́sica envolvida no movimento do veı́culo 1, dados de fábrica, como a massa do carro, mas, principalmente, dos dados obtidos por experimentos. Figura 3: Forças atuando em um veı́culo em movimento em uma pista inclinada. A dinâmica do veı́culo pode ser obtida, conforme (Rajamani, 2005), aplicando a segunda lei de Newton a um veı́culo em movimento em uma pista inclinada, como mostrado na Figura 3. Dessa forma, obtémse a Equação (1) que é não-linear e cujos parâmetros são difı́ceis de serem determinados. O modelo longitudinal do veı́culo implementado em Matlab/Simulink@ pode ser visto na Figura 4. Como entrada tem-se o comando de aceleração (cmd acel) e o comando de freio (cmd freio), que são saturadas entre 0% e 100%, e a inclinação do veı́culo (em graus). A dinâmica do acelerador é de primeira ordem, com ganho k1 e constante de tempo tau. Após essa dinâmica, o sinal é multiplicado pela massa m do carro, passando a representar a força devido ao comando de aceleração no sentido do movimento. Já a dinâmica do freio escolhida foi apenas um ganho k2 com um atraso puro de tempo tm. O sinal após essa dinâmica é também multiplicado pela massa do carro, passando a representar a força devido ao comando de freio no sentido contrário ao movimento. Para que a velocidade do veı́culo não fique negativa devido ao acionamento do freio, na simulação, é feito uma outra multiplicação por uma função da velocidade, quando a velocidade é negativa essa função é nula. A entrada da inclinação é convertida para radianos, é calculado o seno desse valor e então é obtida a força da gravidade, multiplicando pela massa do carro e pela aceleração da gravidade g. A dinâmica do veı́culo é dada por um integrador e por uma força virtual Fv que representa a não-linearidade do movimento. 3.1 mv̇ = Fxd + Fxt − Faero − Rxd − Rxt − mgsen(θ) (1) em que Fxd é a força de atrito que atua nos pneus dianteiros, Fxt é a força de atrito que atua nos pneus traseiros, Identificação dos parâmetros Pela Figura 4 observa-se que é necessário determinar os seguintes parâmetros: • m - massa do veı́culo [kg]; • k 1 - ganho do comando de aceleração [m/s2 ]; • tau - constante de tempo do acelerador [s]; Rxd é a força longitudinal de rolamento dos pneus dianteiros, • k 2 - ganho do comando de freio [m/s2 ]; Rxt é a força longitudinal de rolamento dos pneus traseiros, • tm - tempo morto envolvido no acionamento do freio [s]; Faero é a força de arrasto, que depende das caracterı́sticas aerodinâmicas, • Fv - Força virtual (Equação de não-linearidade da dinâmica do veı́culo). θ é a inclinação da pista, quando o veı́culo está subindo θ é positivo, A massa do veı́culo foi obtida pelo manual da fabricante (Chevrolet, 2005) e o valor tı́pico é de 1260kg. Para a identificação dos demais parâmetros do modelo caixa cinza para dinâmica do veı́culo em movimento, foram realizados alguns experimentos com o veı́culo no plano e em movimento retilı́neo: m é massa do veı́culo, v é a velocidade do veı́culo e g é a aceleração da gravidade. A dinâmica dos atuadores envolve também a conversão dos comandos para conjugado exercido nas rodas. Em (Thrun et al., 2006b) é dito que o acionamento do freio pode ser visto praticamente como uma força contrária ao movimento do veı́culo e o acionamento do acelerador pode ser simplificado a uma força atuando no sentido do movimento. Segundo (Filho and Donha, 2003) e (Rajamani, 2005) a dinâmica do acelerador pode ser modelada como um sistema de primeira ordem. E por (Kyongsu and Chung, 2001) a dinâmica do freio pode ser vista como um sistema de segunda ordem. 1. Aplicação de um degrau para o comando de aceleração, sendo que após um intervalo de tempo foi colocado o carro em ponto morto e esperado o veı́culo parar utilizando o acionamento do atuador do freio. 2. Aplicação de dois degraus para o comando de aceleração, sendo o segundo degrau maior que o primeiro e aplicado após um intervalo de tempo. Neste experimento o atuador do freio foi acionado para parar o veı́culo. A força virtual Fv tenta representar a nãolinearidade da dinâmica do veı́culo observada na análise Figura 4: Estrutura do modelo implementado no Matlab/Simulink@ para um veı́culo em movimento com acionamento de acelerador e de freio. dos dados de aceleração obtidos pela IMU e do sensor de velocidade da roda direita dianteira nos experimentos. Notou-se que para velocidades acima de 2,5m/s Fv pode ser considerada constante e que abaixo de 2,5m/s Fv cresce linearmente. A partir dos experimentos 1 e 2, percebeu-se que após atuar no freio, o veı́culo demorava um tempo de aproximadamente 0,8 segundos para começar a diminuir a velocidade. Isso foi representado por um tempo morto tm de 0,8s na dinâmica do freio. Como para velocidades menores que 1m/s o sensor de velocidade não forneceu boas medições a constante de tempo do comando de aceleração foi determinada empiricamente de forma a obter um modelo o mais próximo dos dados dos experimentos. O valor de tau escolhido foi 0,1s. Para determinar os últimos três parâmetros k1, k2 e o valor constante de Fv para velocidades acima de 2,5m/s, foi utilizada a seguinte metodologia: 1◦ passo: Utilizando um dos arquivos de dados obtidos no experimento 1, selecionou-se o trecho a partir do qual o freio está acionado no máximo e após o intervalo de tempo morto. Analisando a Figura 4 para essa situação, sendo que a velocidade do veı́culo v0 é superior a 2,5m/s, e fazendo as entradas cmd acel e inclinação nulas e a entrada cmd freio igual a 100%, pode-se obter a Equação (2). Z t (−k2−Fv /m)dt ⇒ (v−v0 ) = −(k2+Fv /m)t v= 2◦ passo: Utilizando o mesmo arquivo de dados anterior, porém selecionando o trecho a partir do qual é aplicado um comando de acelerador de 16% e transcorrido o transitório. Analogamente ao primeiro passo, sendo que a velocidade do veı́culo v0 é superior a 2,5m/s, pode ser obtida Equação 3: Z t (0, 16k1−Fv /m)dt ⇒ 4 v = (0, 16k1−Fv /m)t v= 0 (3) Em que (0,16k1 - Fv /m) é a derivada no ponto v0 e também pode ser obtida pelo gráfico de velocidade dos dados selecionados. 3◦ passo: Utilizando um dos arquivo de dados obtidos pelo experimento 2, selecionou-se o trecho no momento em que é aplicado um comando de acelerador de 30% e transcorrido o transitório. Analogamente aos passos anteriores, sendo que a velocidade do veı́culo v0 também é superior a 2,5m/s, pode ser descrita pela Equação( 4): Z t (0, 3k1−Fv /m)dt ⇒ 4 v = (0, 3k1−Fv /m)t v= 0 (4) Em que (0,3k1 - Fv /m) é a derivada no ponto v0 e também pode ser obtida pelo gráfico de velocidade dos dados selecionados. 0 (2) Em que -(k2 + Fv /m) é a derivada no ponto v0 e pode ser obtida pelo gráfico de velocidade dos dados selecionados. 4o passo: Resolvendo este sistema com 3 equações e 3 incógnitas, obteve-se Fv /m = 0,7364 m/s2 , k1 = 4,8550 m/s2 e k2 = 0,9455 m/s2 . Figura 5: Validação do modelo para situação em que foi dado um comando de aceleração de 0,16. São apresentados os gráficos da aceleração (acima) e velocidade do veı́culo (abaixo) 3.2 Validação do modelo Com os parâmetros obtidos anteriormente, o modelo foi validado com dados diferentes daqueles utilizados na identificação. A Figura 5 apresenta os dados obtidos experimentalmente de velocidade e aceleração para a aplicação de um comando de aceleração de 0,16 e os dados obtidos pelo modelo para esta situação. Percebese que para velocidades menores que 1m/s o sensor de velocidade não fornece medidas confiáveis, mas o modelo correspondeu bem aos dados experimentais tanto para a aceleração do veı́culo quanto para a velocidade. A Figura 6 também apresenta os dados obtidos experimentalmente de velocidade e aceleração para a aplicação de um comando inicial de aceleração de 0,30, depois um comando também de aceleração de 0,35 e por fim o acionamento do freio (comando do freio de 1) e os dados obtidos pelo modelo para esta situação. Podese perceber que o modelo correspondeu bem aos dados experimentais para a velocidade do veı́culo, porém no momento de desaceleração o modelo não correspondeu bem ao olhar para a aceleração do veı́culo. 4 CONTROLE LONGITUDINAL O controlador longitudinal desenvolvido é um controlador fuzzy. Essa escolha está relacionada a duas principais vantagens de utilizar o controle fuzzy ao invés do controle convencional utilizado em (Rajamani, 2005) e (Thrun et al., 2006b): 1o - A lógica fuzzy fornece uma metodologia formal para representar, manipular, e implementar a maneira como o ser humano controlaria o sistema (Passino and Yurkovich, 1997), no caso, a velocidade do veı́culo autônomo. 2o - O modelo do sistema é complexo e possui nãolinearidades, ver Seção 3, o que dificulta e adiciona complexidade ao projeto do controlador convencional. 4.1 Projeto do controlador Fuzzy Para o projeto do controlador foram seguidos os passos indicados em (Coelho et al., 2003): seleção das entradas e das saı́das de controle, definição das funções de pertinência das entradas e das saı́das, especificação das regras de controle, seleção do método de inferência associado as regras de controle, seleção dos métodos de fuzzyficação e de defuzzificação e, por fim, avaliação do controlador. Foi escolhido como entrada do controlador o erro normalizado de velocidade (diferença entre a referência de velocidade e a velocidade medida divido pelo erro máximo admissı́vel de velocidade) e como saı́das o comando de aceleração e o comando de freio. A Figura 7 apresenta as funções de pertinência (membership functions - MF’s) das entradas e saı́das que definem em Figura 6: Validação do modelo na situação em que foi dado um comando de aceleração de 0,30, depois um comando também de aceleração de 0,35 e por fim um comando de freio de 1. São apresentados os gráficos da aceleração (acima) e velocidade do veı́culo (abaixo) que grau um elemento pertence a um conjunto nebuloso (Teodoro, 2009). Pode-se observar que foi escolhido para reduzir a complexidade apenas dois conjuntos nebulosos para as saı́das (em variáveis linguı́sticas: solto e pressionado) e para a entrada três conjuntos nebulosos (em variáveis linguı́sticas: erro negativo, erro nulo e erro positivo). As regras de controle que definem a base de conhecimento nebuloso foram escolhidas de forma intuitiva, ou seja, da mesma forma que um motorista faria o controle de velocidade: - se <erro de velocidade é negativo> então <comando acelerador solto e comando freio pressionado>. - se <erro de velocidade é nulo> então <comando acelerador solto e comando freio solto> - se <erro de velocidade é positivo> então <comando acelerador pressionado e comando freio solto> Utilizou-se o modelo de inferência Mamdani com as seguintes caracterı́sticas: a operação de interseção (e lógico) entre as MF’s é resolvida pelo valor mı́nimo entre elas; a operação de união (ou lógico) de regras é resolvida pelo valor máximo. O processo de agregação é resolvido pela soma e o de defuzzificação por meio do cálculo da média dos pontos de máximo locais. Com o controlador projetado, foi simulado o sistema em malha fechada no Matlab/Simulink@ e a resposta obtida a algumas entradas de velocidade desejada é mostrada na Figura 8. Pode-se perceber que o controle de velocidade é satisfatório: apresenta um erro em Figura 7: Funções de pertinência das entradas e saı́das. estado estacionário máximo de 3km/h, sem sobre-sinal e tanto o comando de aceleração quanto o de freio são suaves. Dessa forma, esse controlador fuzzy foi implementado em linguagem C++ e agregado ao software desenvolvido para a implementação do controle de velocidade no CADU. Verificou-se experimentalmente a necessidade de multiplicar o valor de comando do acelerador fornecido pelo controlador fuzzy pelo fator 0,43 para que não houvesse sobre-sinal e a atuação no acelerador fosse mais suave. 5 RESULTADOS Foram feitos alguns experimentos para validar no CADU o controlador obtido na Seção 4. Esses experimentos foram feitos em local aberto e um motorista controlava a direção e pelo software era modificada o valor desejado de velocidade, calculada a ação de controle e os dados da IMU e do sensor de velocidade das rodas eram gravados em arquivo.Os resultados podem ser visto nas Figuras 9 e 10. Figura 8: Simulação em Matlab/Simulink@ do veı́culo com controle de velocidade controlado pelo controlador fuzzy desenvolvido. São apresentados os gráficos da velocidade desejada junto o da velocidade obtida, além dos comandos de aceleração e de freio. Figura 9: Resultado de experimento feito com o veı́culo CADU em terreno plano. São apresentados os gráficos da velocidade desejada junto o da velocidade obtida, além dos comandos de aceleração e de freio e a inclinação do terreno. Figura 10: Resultado de experimento feito com o veı́culo CADU em terreno plano. São apresentados os gráficos da velocidade desejada junto o da velocidade obtida, além dos comandos de aceleração e de freio. Pode-se observar que o controle foi satisfatório dentro da faixa de trabalho de velocidade (0 a 40km/h). Apresentou um erro de velocidade médio em regime permanente de 3km/h e uma oscilação máxima de aproximadamente 5km/h pico-a-pico em regime permanente que não gerou desconforto aos passageiros e foi apenas observada para velocidades baixas. Para inclinações de terreno inferiores a 10◦ pode-se dizer que o controlador satisfez o desejado. Porém em outro experimento em que se tentou subir um morro com inclinação de aproximadamente 15◦ , o comando de aceleração não foi suficiente para manter a velocidade desejada. Dessa forma, torna-se necessário acrescentar ao sistema de controle um controlador feedforward, para que a ação de controle antecipe a mudança da inclinação. 6 ção 5. Trabalhos futuros relacionados ao veı́culo autônomo CADU visam aumentar o seu nı́vel autonomia como, por exemplo, ser capaz de detectar obstáculos durante um percurso e estacionar autonomamente. Em ambos os casos poderá ser utilizado o controle de velocidade desenvolvido neste trabalho. Agradecimentos Os autores deste trabalho agradecem a Danilo Alves de Lima pela ajuda no desenvolvimento do controlador fuzzy e na execução dos experimentos e ao Prof. Leonardo Antônio Borges Torres pela ajuda na modelagem do veı́culo. Este trabalho é financiado pela Fundação de Amparo à Pesquisa do Estado de Minas Gerais (FAPEMIG). CONCLUSÃO Este trabalho apresentou o desenvolvimento do controle de velocidade longitudinal. Um modelo para a dinâmica do veı́culo contendo não-linearidades foi obtido e um controlador baseado em Lógica Fuzzy foi projetado e implementado, primeiramente, no ambiente de simulação Matlab/Simulink@ e depois no veı́culo autônomo CADU. E para integrar a atuação, os sensores, o sistema de controle e o usuário foi desenvolvida uma interface de operação em linguagem C++. Um próximo passo é acrescentar ao sistema de controle o controlador feedforward, como indicado na Se- Referências Aguirre, L. A. (2000). Introdução à identificação de sistemas, Editora UFMG, Belo Horizonte. Baleeiro, M. F. (2009). Trabalho de conclusão de curso: Desenvolvimento de um sistema de acionamento elétrico para frenagem de um veı́culo autônomo., Technical report. Bekey, G. A. (2005). Autonomous Robots: From Biological Inspiration to Implementation and Con- trol (Intelligent Robotics and Autonomous Agents), The MIT Press. Chevrolet (2005). Manual de utilização do veı́culo Astra 2005. Civic, H. (2010). The 2010 civic sedan, http://automobiles.honda.com/civicsedan/price.aspx. Coelho, L. d. S., da M. Almeida, O. and Coelho, A. A. R. (2003). Projeto e estudo de caso da implementação de um sistema de controle nebuloso, Sba Controle & Automação 14(1): 20–29. CORO Laboratório de Sistemas de Computação e Robótica (2010). http://coro.cpdee.ufmg.br/index.php/projects. DARPA, D. A. R. P. A. (2010). Darpa grand challenge, http:/www.darpa.mil. acesso em 24/06/2010. de R. Freitas, E. J., Vinti, M. N. W., Santos, M. M., Iscold, P., Torres, L. A. B. and Pereira, G. A. S. (2009). Desenvolvimento de automação embarcada para um robô móvel baseado em um carro de passeio, Simpósio Brasileiro de Automação Inteligente (SBAI’09). 9: 16. Filho, S. C. T. and Donha, D. C. (2003). Automobile stop-and-go cruise control system tuned by genetic algorithms, 17 th International Congress of Mechanical Engineering -COBEM2003 1: 355–362. Glavina, B. (1990). Solving findpath by combination of goal-directed and randomized search, Proceedings IEEE International Conference on Robotics & Automation, pp. 1718–1723. Kyongsu, Y. and Chung, J. (2001). Nonlinear brake control for vehicle cw/ca, Systems.IEEE/ASME Transactions on mechatronics 6: 17–25. MicroStrain, I. (2010). Datasheet 3DMGX1 Gyro Enhanced Orientation Sensor, http://www.microstrain.com/pdf/3DM-GX1 Nice, K. (2010). Como funcionam os freios abs, http://carros.hsw.uol.com.br/freios-abs.htm. acesso em 19/03/2010. Passino, K. M. and Yurkovich, S. (1997). Fuzzy Control, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. Rajamani, R. (2005). Vehicle Dynamics and Control, Springer Verlag, New York. Sabbagh, V. V. (2009). Desenvolvimento de um sistema de controle para um veı́culo autônomo, Projeto final de curso., Universidade Federal de Minas Gerais (UFMG). Disponı́vel em http://coro.cpdee.ufmg.br. Santos, M. M., de Rezende Freitas, E. J., Vinti, M. N. W., Iscold, P., Torres, L. A. B. and Pereira, G. A. S. (2008). Automation and localization of a robotic car, Workshop Robocontrol’08. Proceedings of the 3rd Applied Robotics and Collaborative Systems Enginnering. pp. 1–7. Bauru. Semiconductor, N. (2009). Datasheet LM2917MA: Frequency to Voltage Converter, http://www.datasheetcatalog.com. acesso em 19/03/2009. Teodoro, F. H. (2009). Desenvolvimento de um sistema de inferência nebulosa para detecção e diagnóstico de falhas em transformadores de potência, XIII Eriac Décimo Tercer Encuentro Regional Iberoamericano de Cigré . Thrun, S., Montemerlo, M., Dahlkamp, H., Stavens, D., Aron, A., Diebel, J., Fong, P., Gale, J., Halpenny, M., Hoffmann, G., Lau, K., Oakley, C., Palatucci, M., Pratt, V., Stang, P., Strohband, S., Dupont, C., Jendrossek, L.-E., Koelen, C., Markey, C., Rummel, C., van Niekerk, J., Jensen, E., Alessandrini, P., Bradski, G., Davies, B., Ettinger, S., Kaehler, A., Nefian, A. and Mahoney, P. (Setembro 2006a). Stanley: The robot that won the darpa grand challenge, Field Robotics 23(9): 661 – 692. Thrun, S., Montemerlo, M., Dahlkamp, H., Stavens, D., Aron, A., Diebel, J., Fong, P., Gale, J., Halpenny, M., Hoffmann, G., Lau, K., Oakley, C., Palatucci, M., Pratt, V., Stang, P., Strohband, S., Dupont, C., Jendrossek, L.-E., Koelen, C., Markey, C., Rummel, C., van Niekerk, J., Jensen, E., Alessandrini, P., Bradski, G., Davies, B., Ettinger, S., Kaehler, A., Nefian, A. and Mahoney, P. (2006b). Winning the darpa grand challenge, Journal of Field Robotics . Urmson, C., Anhalt, J., Bagnell, D., Baker, C., Bittner, R., Clark, M. N., Dolan, J., Duggins, D., Galatali, T., Geyer, C., Gittleman, M., Harbaugh, S., Hebert, M., Howard, T. M., Kolski, S., Kelly, A., Likhachev, M., McNaughton, M., Miller, N., Peterson, K., Pilnick, B., Rajkumar, R., Rybski, P., Salesky, B., Seo, Y.-W., Singh, S., Snider, J., Stentz, A., Whittaker, W. R., Wolkowicki, Z., Ziglar, J., Bae, H., Brown, T., Demitrish, D., Litkouhi, B., Nickolaou, J., Sadekar, V., Zhang, W., Struble, J., Taylor, M., Darms, M. and Ferguson, D. (2008). Autonomous driving in urban environments: Boss and the urban challenge, J. Field Robot. 25(8): 425–466. WIKI, W. E. (2010). Sensor de velocidade, http://webmecauto.com.br/wikiauto/. acesso em 19/03/2010.