desenvolvimento de um veÍculo terrestre … · dústria e campo. mais recentemente, de modo a...

22
133 DESENVOLVIMENTO DE UM VEÍCULO TERRESTRE INTELIGENTE QUE BUSCA O MENOR CAMINHO APLICANDO O ALGORITMO DE OTIMIZAÇÃO POR COLÔNIA DE FORMIGAS DIEGO RODRIGO NEUFERT Coordenador de Sistemas – América Latina Logística/ALL [email protected] MAURÍCIO PERRETTO Professor – Engenharia da Computação e Engenharia Elétrica – Universidade Positivo/UP [email protected] ALESSANDRO BRAWERMAN Professor – Sistemas de Informação e Engenharia da Computação – Universidade Positivo/UP [email protected]

Upload: phamngoc

Post on 01-Dec-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

133

DESENVOLVIMENTO DE UM VEÍCULO TERRESTRE INTELIGENTE QUE BUSCA O MENOR CAMINHO

APLICANDO O ALGORITMO DE OTIMIZAÇÃO POR COLÔNIA DE FORMIGAS

DIEGO RODRIGO NEUFERTCoordenador de Sistemas – América Latina Logística/ALL

[email protected]

MAURÍCIO PERRETTOProfessor – Engenharia da Computação e Engenharia Elétrica – Universidade Positivo/UP

[email protected]

ALESSANDRO BRAWERMANProfessor – Sistemas de Informação e Engenharia da Computação – Universidade Positivo/UP

[email protected]

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008134

DESENVOLVIMENTO DE UM VEÍCULO TERRESTRE INTELIGENTE QUE BUSCA O MENOR CAMINHO APLICANDO O ALGORITMO DE OTIMIZAÇÃO POR COLÔNIA DE FORMIGAS

RESUMO OsVeículosTerrestresAutoguiados(AutomatedGroundVehicles—AGV)vêmsendo tema de estudos há muitos anos, envolvendo diversas modalidades de engenharia,comoMecatrônica,Mecânica,ElétricaeComputação,normalmentecomaplicaçõesnain-dústriaecampo.Maisrecentemente,demodoadistinguirosestudosentreestesAGV’sdeproposta específica e outros de proposta geral, vem-se utilizando o termo Veículos Inteli-gentes Terrestres (Intelligent Ground Vehicles — IGV) nos estudos voltados principalmente ao desenvolvimento de AGV’s para uso urbano. Um dos problemas no estudo dos IGV’s é ocálculodemenorcaminho,noqualemuniversosdelocomoçãodegrandesáreas,torna-seimpraticávelousodealgoritmosdeterminísticos.Ofocodestetrabalhoéaimplementaçãoda heurística de Otimização por Colônia de Formigas (Ant Colony Optimization — ACO) na resolução do problema de menor caminho, verificando sua aplicabilidade aos IGV’s com ousodeGPSparaposicionamentodele. Palavras-chave: Ant Colony Optimization, ACO, Simple-ACO, shortest path pro-blem, AGV, IGV.

ABSTRACT AutomatedGroundVehicles(AGV)hasbeenthefocusof variousstudiesoverthelast years involving some key areas of engineering such as Mechatronics, Mechanic, Electrical and Computer Engineering, normally in applications to solve industry and field problems. Recently, as a better way to distinguish the studies of the specific purpose AGV’s and other of general purpose, it has being used the term Intelligent Ground Vehicles (IGV) in studies of AGV’s for urban use. One of the problems on the study of IGV’s is the computation of the shortest path, which makes the use of deterministic algorithms in large areas of locomo-tion impracticable. The focus of this study is the implementation of the Ant Colony Opti-mization (ACO) algorithm to solve the shortest path problem and verify if it is applicable to the IGV’s routing problem through the use of GPS as the positioning system. Keywords: Ant Colony Optimization, ACO, Simple-ACO, shortest path problem, AGV, IGV.

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008 135

DIEGO RODRIGO NEUFERT, MAURÍCIO PERRETTO E ALESSANDRO BRAWERMAN

1 INTRODUÇÃO

A cultura geral define o robô com aparência antropomórfica (aparência humana). A tendência em associar-se essa imagem aos robôs talvez esteja relacionada aos primórdios da ficção científica, em que robôs eram criaturas com o objetivo de substituir o homem, gerandoassimgrandeantipatiadapopulaçãoemgeral. Oconceitoemrelaçãoarobôscomeçouaseralteradoapartirdapublicaçãodasobras de Isaac Asimov, nas quais os robôs são descritos como criaturas boas e submissas aos seres humanos, por meio das três leis da robótica (ASIMOV, 2004). Apesardesteconceitopopularderobô,oconceitohumanoideéumdosmenosencontrados nos robôs atuais. Hoje, os robôs estão principalmente dispostos em indústrias, realizando tarefas pré-programadas, repetitivas e, muitas vezes, perigosas para serem realiza-dasporsereshumanos. Um exemplo de robô amplamente utilizado na indústria e que vem tendo grande crescimentonaagriculturasãoosveículosterrestresautoguiados,queselocomovem“livre-mente”sema interaçãohumana.Suaformapodevariar,masnormalmenteébaseadaemveículosdedoiseixos,comooscarros. Osveículosterrestresautoguiados,doinglêsAutonomous Ground Vehicle–AGV–,vêmsendotemadeestudoshámuitosanos,envolvendodiversasmodalidadesdeengenha-ria,comoMecatrônica,Mecânica,ElétricaeComputação,normalmentecomaplicaçõesnaindústriaecampo.Maisrecentemente,demodoadistinguirosestudosentreosAGV’sdeproposta específica e outros de proposta geral, tornou-se comum utilizar o termo Veículos Inteligentes Terrestres, do inglês Intelligent Ground Vehicles – IGV –, nos estudos voltados principalmenteaodesenvolvimentodeAGV’sparausourbano. Um dos principais problemas encontrados nos IGV’s é o cálculo de rota a partir deummapa,previamenteconhecidooucriadoemtempodenavegação.Justamentenestaáreaestáacontribuiçãoprincipaldestetrabalho.Apresenta-seumaformaparaconstruçãode um veículo IGV, podendo ser chamado de robô, voltado para movimentação terrena livre, portanto,autônomo,comseleçãodemelhorrotaemummapapreviamenteconhecido.Éconsideradocomomelhorrotaocaminhoquetenhaamenordistânciaaserpercorrida. Demodoadiminuirotempodeprocessamentoparacomputaromelhorcaminho,propõe-se o uso de um novo algoritmo baseado no conceito de Otimização por Colônia de Formigas, que por meio do “rastro de feromônio” deixado nas arestas, pode recalcular o trajeto comumnúmeromenordeiterações,portantoaumentandoaperformancecomoumtodo.

DESENVOLVIMENTO DE UM VEÍCULO TERRESTRE INTELIGENTE QUEBUSCA O MENOR CAMINHO APLICANDO O ALGORITMO DE

OTIMIZAÇÃO POR COLÔNIA DE FORMIGAS

DIEGO RODRIGO NEUFERT / MAURÍCIO PERRETTO / ALESSANDRO BRAWERMAN

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008136

DESENVOLVIMENTO DE UM VEÍCULO TERRESTRE INTELIGENTE QUE BUSCA O MENOR CAMINHO APLICANDO O ALGORITMO DE OTIMIZAÇÃO POR COLÔNIA DE FORMIGAS

O algoritmo de Otimização por Colônia de Formigas usa a simulação computacio-naldatécnicaempregadapelasformigasparabuscademelhorcaminho,conhecidacomorealimentaçãopositiva,doinglêsPositive FeedBack(BONABEAUetal.,1999).Asformigasutilizam o Positive FeedBack por meio do depósito de feromônio por onde passam, de forma queocaminhomaiscurtoentreoninhoeoalimentotenhasempreamaiorconcentraçãodele, permitindo às formigas a realização do menor esforço (BECKERS et al., 1992). O restante deste trabalho está dividido da seguinte maneira: a seção 2 apresenta a base teórica para o leitor ter um maior entendimento do assunto tratado, bem como alguns dos principais trabalhos relacionados; a seção 3 propõe a especificação do trabalho em maiores detalhes; a seção 4 ilustra os principais resultados e, finalmente, a seção 5 apresenta aconclusãodotrabalho.

2 FUNDAMENTAÇÃO TEÓRICA

Como o termo AGV (Autonomous Ground Vehicle) engloba uma ampla gama derobôs capazes que se locomoverem de forma autônoma, ou seja, sem interferência humana, o escopo dos estudos deste trabalho é direcionado especificamente para os Veículos Inteli-gentesTerrestres(Intelligent Ground Vehicles – IGV). Os IGV’s são uma especialidade de AGV’s, voltados exclusivamente para locomo-ção terrestre e de forma autônoma. O termo IGV vem sendo utilizado há pouco tempo para designarestaclassedeveículosautoguiados,originando-sedanecessidadededistinguirdosAVG’s, comumente utilizados em agricultura e chão de fábrica, dos veículos autoguiados para propósito geral como locomoção de pessoas e cargas em ambientes heterogêneos. Tanto os AGV’s como os IGV’s são robôs com implementação de diversos níveis e paradigmas de inteligência artificial. Dada sua natureza específica, os AGV’s tendem a implantar sistemas especializados a sua função. Por exemplo, um AGV para chão de fábrica provavelmente utilizará sensores óticos para efetuar a navegação por meio de uma linha guia dispostanochãodaindústria. Os AGV’s voltados para agricultura implantam sistemas baseados em GPS depouca precisão, dada à natureza livre de obstáculos dos campos de cultivo. Os IGV’s, como possuem um propósito geral, adotam sistemas sofisticados de localização e detecção de obstáculos, como localização por DGPS (Differential Global Positioning System),quepropor-ciona uma margem de erro próxima a um metro, enquanto que o GPS (Global Positioning System) convencional, na melhor das hipóteses, pode chegar a cinco metros, mas corriquei-ramente trabalha-se com 10 a 15 metros. Um dos principais problemas encontrados nos IGV’s é o cálculo de rota a partir deummapapreviamenteconhecidooucriadoemtempodenavegação.Essemapanor-malmente é implementado utilizando-se a teoria dos grafos, de modo a facilitar a busca pela melhor rota, assim como no problema do caixeiro viajante, e posteriormente mapeado para um Sistema de Informação Geográfica (GIS). O problema decorre do crescimento deste grafo,quecomumnúmeroelevadodevérticestornaocálculodarota,pormeiodealgorit-mosdeterminísticos,inviável,dadootempoparaconclusão.Existeentãoanecessidadedautilização de algoritmos probabilísticos, baseados em heurística.

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008 137

DIEGO RODRIGO NEUFERT, MAURÍCIO PERRETTO E ALESSANDRO BRAWERMAN

Diversos desses algoritmos vêm sendo experimentados para solução de pro-blemasderoteamento,comoSimulated Annealing e Busca Tabu (BULLNHEIMER et al., 1999). Esses algoritmos são capazes de encontrar ótimas soluções quando todo o grafo já é conhecido. O problema ocorre quando o grafo, ou mapa, é descoberto em tempo de navegaçãopormeiodesensoresinstaladosnorobô.Acadanovovérticeadicionadoaografo,comessesalgoritmos,ocorreanecessidadedecalcular-senovamenteporcompletoasolução.Demodoadiminuiroimpactodesteprocedimento,diminuirotempodepro-cessamentoeaumentaraperformancegeral,propõe-seousodeumnovoalgoritmobaseadono conceito de Otimização por Colônia de Formigas, que por meio do “rastro de feromô-nio” deixado nas arestas pode recalcular o trajeto com um número menor de iterações.

2.1 Otimização por Colônia de Formigas

OalgoritmoACO(Ant Colony Optimization) foi introduzido em 1992 (DORIGO, 1992) por Marco Dorigo e consiste em uma técnica probabilística para encontrar-se o melhorcaminhoemumgrafo,simulandoocomportamentodeformigasnabuscadeco-mida. Em seu ambiente natural, algumas espécies de formigas possuem padrões deauto-organização (BONABEAU et al., 1999) que lhes permite encontrar o melhor cami-nho, ou próximo dele, entre a colônia e a fonte de alimento, sem a utilização do campo visual. No caso de ocorrer obstrução do melhor caminho, as formigas são capazes de se adaptareencontrarumnovomelhorcaminhoatéafontedealimentos(BECKERSetal.,1992). Édeconhecimentogeralqueatéc-nica utilizada pelas formigas para a escolha domelhorcaminhosãorastrosdeferomôniodepositadosporelas,deformaqueocaminhomais curto entre o ninho e o alimento temsempreamaiorconcentraçãodele,permitin-do às formigas a realização do menor esforço, mesmonapresençadeobstáculos,conformeilustrado na Figura 1. Estepadrãonaturaldasformigasemseguir rastros de feromônio é eficaz devido à evaporaçãodele,casocontráriocriar-se-iaumciclo vicioso, impedindo a busca por outromelhor caminho e novas fontes de alimento(BECKERS et al., 1992). Outro comporta-mentointeressanterefere-seaofatodaesco-lha do caminho seguido ser realizada de forma probabilística pelas formigas (BONABEAUet al., 1999), ou seja, nem sempre o caminho commaiorconcentraçãodeferomônioseráoescolhido, o que também evita a criação dociclovicioso.

Figura 1 – Seleção do menor caminho por formigas após obstrução.

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008138

DESENVOLVIMENTO DE UM VEÍCULO TERRESTRE INTELIGENTE QUE BUSCA O MENOR CAMINHO APLICANDO O ALGORITMO DE OTIMIZAÇÃO POR COLÔNIA DE FORMIGAS

2.2 O Problema do Caixeiro Viajante (TSP — Travelling Salesman Problem)

O problema do caixeiro viajante é um caso típico de otimização combinatória, frequentemente utilizado em computação para demonstrar casos de difícil resolução, tratando-se de um problema de teoria dos grafos (CORMEN et al., 2001). Supõe-se que um caixeiro viajante deseja visitar N cidades (vértices) de certa localização e que, entre alguns pares de cidades existem rotas (arcos ou arestas), pelas quais ele pode viajar a partir de uma cidade para outra. Cada rota tem um número asso-ciado,quepoderepresentaradistânciaouocustonecessárioparapercorrê-la.Assim,o caixeiro viajante deseja encontrar um caminho que passe por cada uma das N cidades apenas uma vez. E, além disso, que tenha um custo menor que certo valor, no qual o custodocaminhoéasomadoscustosdasrotaspercorridas. O problema do caixeiro viajante é considerado como um problema NP. Isto é,onúmerodesoluçõespossíveis,equedevemsertestadasparaseobteramelhorso-luçãopossível,cresceexponencialmenteemrelaçãoaonúmerodevértices,pontosdereferência utilizados no mapa. Isso pode ser observado na Tabela 1, onde n é o número de cidades e o cálculo de tempo leva em conta um computador capaz de realizar um bilhão de somas por segundo (SILVEIRA 2006).

Tabela 1 – Tempo de cálculo do problema do caixeiro viajante.

Dadootamanhodacomplexidadeparaumnúmerodecidadescrescente,exis-te a necessidade de utilização de algoritmos heurísticos que buscam uma solução con-vergente, de forma a minimizar o tempo de cálculo.

2.3 O Algoritmo de Formigas Artificiais na Solução do TSP

Umaformigaartificialéumagentequepercorreosvérticesdeumgrafo,nestecasocidades,escolhendocomosemoverádeformaprobabilística,levandoemconsi-deraçãooníveldeferomônioacumuladonasarestas,eumvalorheurístico,nestecasoem função do peso das arestas (DORIGO; GAMBARDELLA, 1996). Asformigasartificiaispreferemcidadesqueestãoconectadasporarestascommaior quantidade de feromônio e proporcionalmente próximas. Inicialmente, m for-migas artificiais são distribuídas de forma aleatória entre as cidades. A cada passo, elasmovem-separaumanovacidadeealteramaquantidadedeferomônionasarestasusadas – a isso é dado o nome de atualização local de rastro. Quando todas as formi-gascompletaremseucaminho,aformigaquepercorreuomenorcaminhomodificaas

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008 139

DIEGO RODRIGO NEUFERT, MAURÍCIO PERRETTO E ALESSANDRO BRAWERMAN

arestas utilizadas – o que se dá o nome de atualização global de rastro – adicionando umaquantidadede feromônio inversamenteproporcional ao tamanhodocaminho total(DORIGO; GAMBARDELLA, 1996).

2.4 O Algoritmo Ant System (AS)

OalgoritmoAnt System foi o primeiro a utilizar o conceito de ACO e possui de-sempenhosimilaraoutrosalgoritmosdeheurística,comoSimulated Annealingoualgoritmosgenéticos,emproblemasdepequenadimensão,masquenãoescalammuitobemparapro-blemasdedimensõessuperiores(BONABEAUetal.,1999). Asformigasgeramasoluçãopercorrendoografodoproblema,deumacidadepara outra. Durante uma iteração do algoritmo A, cada formiga k, k=1,..., m, gera um caminho executando n=|N| passos. Em cada passo é aplicada a regra probabilística de transição. As interações são indexadas por t, 1 ≤ t ≤ tmax, onde tmax é o número máximo de iterações definidas pelo usuário. UmacomparaçãoentreosalgoritmosAS-TSP,Simulated Annealing (SA)eBuscaTabu (TS) está disposta na tabela 2. Os resultados foram obtidos por Dorigo et al. (1996) e asiglaud significa unidades de distância. Nota-se que em termos de performanceoalgoritmoSimulated Annealingéoqueobtevepiorresultado.

Tabela 2 – Comparação de algoritmos para TSP.

2.5. O Algoritmo Ant Colony System (ACS)

O algoritmo ACS foi introduzido por Dorigo e Gambardella (1996) para melhorar o desempenho AS. O ACS é baseado em quatro modificações do AS:

1–Umadiferenteregradetransição. 2 – Uma diferente regra de atualização de rastro feromônio. 3 – O uso de atualizações locais ao rastro de feromônio para favorecer a explo-

raçãonografo. 4 – O uso de uma lista de cidades candidatas para restringir a escolha da nova

cidadeaservisitada.

OalgoritmoACS-TSPfoitestadoemproblemasdeváriostamanhosecomparadocomoutrosalgoritmos,comooElastic Net algorithm (EN) (DURBIN et al., 1989), Self-Orga-nizing Maps (SOM) (KOHONEN, 2001) e Simulated Anneling (SA) (BULLNHEIMER et al., 1999).Atabela3apresentacomparaçãoentreestesdiversosalgoritmos,naqualéobserva-doqueoACS-TSPretornouemquasetodososgruposdecidadesgerandoaleatoriamenteomelhorresultado(BONABEAUetal.,1999).

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008140

DESENVOLVIMENTO DE UM VEÍCULO TERRESTRE INTELIGENTE QUE BUSCA O MENOR CAMINHO APLICANDO O ALGORITMO DE OTIMIZAÇÃO POR COLÔNIA DE FORMIGAS

Tabela3–ComparaçãoentrealgoritmosdeTSP.

3 ESPECIFICAÇÃO

A implementação deste projeto é composta de dois elementos, sendo eles:• Veículo, contendo os motores elétricos, GPS, Access Point WiFi, microcontrola-

dor 8051 e o computador para sistemas embarcado eBox-II executando o siste-ma operacional em tempo real Windows CE, responsável pelo controle autôno-modoveículo.

• Estação controladora, composta de um notebook executando o sistema ope-racional Windows XP e .NET Framework 2.0, no qual é realizado o cálculo de menorrotaatéopontodestinoetambématelemetriadoveículo.

3.1. Especificação de hardware

Ohardware desenvolvido neste projeto tem por objetivo coletar informações do ambiente no qual o IGV estiver se locomovendo, ou seja, o posicionamento informado pelo GPS, disponibilizando-as ao computador embarcado. Este, por sua vez é responsável pelo controleeconferênciadarotademenorcaminhoatéodestinoinformado. Oscomponentesbasedaimplementaçãodehardwaresãoosseguintes:

• Computador embarcado eBox-II – responsável por executar o algoritmo de cál-culodemelhorrotabaseadoemACOetambémocontrolededireçãodoveículoautoguiado.

• Microcontrolador 8051 – responsável por acionar os motores elétricos para con-troledevelocidadeedireçãopormeioumaportaparalelanormal.Esseaciona-mentodemotoressedádeacordocomoscomandosrecebidosdocomputadorembarcadoviaportaserial.

• Access Point WiFi 802.11b/g – responsável por gerenciar a comunicação sem fio entre o controlador e o módulo robótico.

A comunicação entre o computador embarcado e o microcontrolador 8051 é reali-zada por portas seriais de ambos os dispositivos. Como a porta serial do computador embar-cado utiliza o padrão RS-232 e a porta serial do 8051 ao padrão TTL, é necessária a utilização de um circuito conversor RS-232/TTL. O dispositivo GPS a ser utilizado, modelo RGPSM002 da Semtech (SEMTECH, 2008), também utiliza o padrão de comunicação serial, o que cria um problema já que o com-putador embarcado eBox-II possui apenas uma porta serial, que é usada para a comunicação com o microcontrolador 8051. Uma das soluções para este problema é a utilização de um cabo conversor Serial/USB,oqueéconfortáveldevidoaograndenúmerodedispositivosàvendanomercado,a

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008 141

DIEGO RODRIGO NEUFERT, MAURÍCIO PERRETTO E ALESSANDRO BRAWERMAN

grande maioria usando o componente serial-USB da Prolific (PROLIFIC, 2008) ou da Texas Instruments (TEXAS, 2008). Mas esta solução torna-se impraticável devido à falta de drivers dos fabricantes Prolific e Texas Intruments para Windows CE, que roda no computador embarcado. Dessa maneira, a solução encontrada foi a utilização do componente FT232-BM da FTDI Chip (FTDI, 2008), único com suporte e drivers para Windows CE disponível no mercado. Com o problema de comunicação resolvido, as vantagens de se usar o RGPSM002 são:altasensibilidade,posicionamentocomprecisão,baixoconsumo,processadorcomaltopoder de cálculos embarcado, memória RAM embarcada e interface NMEA bidirecional. Comessasconsiderações,odiagramaemblocosdohardwareimplementadoéapre-sentado na figura 2. Note que o controlador envia a rota de menor caminho para o robô por uma rede sem fio, o que dá maior liberdade de movimentos ao protótipo robótico. Este processaainformaçãoeporGPSseguearotainformada.Ocomputadorembutido(e-box)controlaosmotorese,portanto,avelocidadeedireçãodorobô,pelomicrocontrolador.

Figura 2 – Diagrama em blocos do IGV.

A figura 3 ilustra o protótipo do módulo robótico utilizado para este projeto. Ini-cialmente, foi adquirido um veículo controlado remotamente por rádio-frequência. Foram, então,retiradososhardwaresdecontroledoveículoeapartirdestemomentoforammon-tadososhardwares especificados neste projeto, de modo que, ao final, o veículo pudesse ser autônomo e, também, com opção de controle via rede sem fio. Ao veículo adquirido foram acoplados um conjunto de motores com duas finalida-desdiferentes,umadecontroledeaceleraçãoevelocidadeeoutraparacontrolededireção.OsmotoressãoelétricoseacionadospormodulaçãoPWM(Pulse-Width Modulation),comalimentação em 12 V.

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008142

DESENVOLVIMENTO DE UM VEÍCULO TERRESTRE INTELIGENTE QUE BUSCA O MENOR CAMINHO APLICANDO O ALGORITMO DE OTIMIZAÇÃO POR COLÔNIA DE FORMIGAS

AModulaçãoporLarguradePulso (MLP),mais conhecidapela sigla em inglês“PWM”, envolve a modulação de sua razão cíclica (duty cycle)paratransportarqualquerinfor-mação sobreumcanalde comunicaçãooucontrolar o valor da alimentação entregueàcarga.OPWMconvertesinaldigitalparaanalógico usando apenas um bit(TORRES,2005), poupando razoavelmente a memória internaaocomputadorembarcado. Do conjunto de motores utilizados peloveículo,doisdelessãoresponsáveispelaaceleração e velocidade do veículo. Ambossão acoplados às rodas traseiras, conformefigura 4. Oterceiromotoréresponsávelpelocontrolededireçãoetambémécontroladopor modulação PWM, ficando acoplado ao eixo dianteiro. Dessa forma, movimenta ambas asrodasdianteirasnamesmadireção. A figura 5 ilustra o motor de direção.

3.2 Especificação de software Osoftware deste projeto executa os seguintes processos: calcula a menor rota entre duas posições geográficas, efetua a transmissão dessa menor rota entre a estação do con-

Figura 3 – Veículo utilizado no projeto.

Figura 4 – Motores traseiros.

Figura 5 – Motor de direção.

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008 143

DIEGO RODRIGO NEUFERT, MAURÍCIO PERRETTO E ALESSANDRO BRAWERMAN

trolador e o computador embarcado no veículo e realiza o controle de direção e de objetivo atingidopeloveículo. Para realizar o cálculo de menor rota, foi implementado, em C#, um novo algorit-mo de otimização por colônia de formigas, criado especialmente para este, que é executado naestaçãodocontrolador. Essa menor rota é então transferida para o computador embarcado no veículopor uma rede sem fio WiFi, usando a pilha dos protocolos TCP/IP. Para esta comunicação desenvolveu-se uma camada adicional de protocolo sobre o TCP/IP, elaborada para este tra-balho,protocoloestedenominadoVRCCP(Vehicle Route, Configuration and Control Protocol ) . Depossedessamenorrota,oveículoiniciaanavegaçãoatéospontosdetermina-dos,seguindosempreumadireção.Essanavegaçãoécontroladapelocomputadorembarca-do,combasenasposiçõesfornecidaspelodispositivoGPSpelodoprotocoloNMEA. Como o acionamento dos motores é realizado pelo microcontrolador para efetuar acomunicaçãoentreocomputadorembarcadoeomicrocontroladortambémfoicriadoumprotocoloexclusivo,denominadodeVCP(Vehicle Control Protocol ). O sistema lógico implementado no projeto foi lucubrado conforme o diagrama em blocos da arquitetura lógica na figura 6 que complementa a arquitetura física disposta na figura 2. Por meio do uso do protocolo VRCCP, o controlador transmite a melhor rota para o computadorembarcado,queinterpretaarota,eusandooprotocoloVCPinformaaomicro-controladorcomoprocederemrelaçãoaoacionamentodosmotores,direçãoevelocidade. O software ainda permite ao usuário o controle do IGV em modo manual, ou o modo automático, permitido após o cálculo de menor caminho entre o ponto inicial e final.

Figura 6 – Diagrama em blocos da arquitetura lógica.

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008144

DESENVOLVIMENTO DE UM VEÍCULO TERRESTRE INTELIGENTE QUE BUSCA O MENOR CAMINHO APLICANDO O ALGORITMO DE OTIMIZAÇÃO POR COLÔNIA DE FORMIGAS

Épermitidoaousuáriocontroladorretomarocontrolemanualaqualquermomen-to.Casoativeomodoautomáticonovamente,nãoénecessárioumnovocálculodomenorcaminho. Umsistemadetelemetriainformaaousuáriocontroladoremtemporealaposiçãodoveículo,precisãodaposição,velocidade,direçãoesatélitesusadospeloGPSassimcomoonível de sinal deles. Toda interação entre usuário controlador e IGV, e vice-versa, é feita sem qualquer tipo de conexão por cabos, ou seja, por meio da rede sem fio.

3.3 O Algoritmo Shortest Path-ACO (SP-ACO)

O algoritmo SP-ACO foi desenvolvido especialmente para este projeto, de modo asolucionaroproblemadomenorcaminhoemumgrafo,umaderivaçãodoproblemadocaixeiro viajante. A necessidade da implementação desse algoritmo se deu, pois os algoritmos de ACO disponíveis em publicações científicas para o problema do menor caminho são ex-tremamentesimples,nãoseadaptandobemagrafoscommuitosnodos,como,nessecaso,oSimple-ACO. Visando melhorar o desempenho, a regra de seleção probabilística do próximo nodofoiadaptadaapartirdoalgoritmoAnt System e a regra de atualização e evaporação de feromônio alteradas com base em experimentos realizados durante a implementação. A regra de seleção do próximo nodo, apresentada na equação 1, foi alterada de modo a considerar os nodos já visitados, com exceção do último, a fim de evitar um ciclo vicioso entre dois nodos cuja distância seja muito pequena.

A regra de atualização de feromônio é dada pelo inverso da distância total percorri-daacadapercursocompleto,sendoessepercursobomounão.Paracadaiteraçãoéaplicadaa regra de reforço do feromônio que é dada por cinco vezes o inverso do caminho, conforme literatura (BONABEAU, DORIGO e THERAULAZ, 1999).

3.4 Controle do Veículo

O algoritmo de controle é responsável por gerenciar o movimento do IGV por meio do espaço definido, garantindo que ele esteja no caminho calculado pelo SP-ACO. Para realizar tal controle, ele atua diretamente sobre a aceleração e direção do veí-culo (esquerda/direita), a partir dos parâmetros de direção, posição geográfica atual e posição geográfica destino.

Equação1–RegradetransiçãoSP-ACO.

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008 145

DIEGO RODRIGO NEUFERT, MAURÍCIO PERRETTO E ALESSANDRO BRAWERMAN

Oalgoritmotematuaçãonosmotoresdeaceleraçãoededireçãopormeiocomu-nicação serial com o microcontrolador 8051 pelo protocolo VCP e é implementado em C#, oquegaranteportabilidade. O sistema de controle do veículo verifica se o módulo GPS está fornecendo a loca-lização geográfica com uma precisão mínima de 15 metros. Se essa precisão não é obtida pelo módulo GPS, o veículo não se movimenta de modo autônomo, sendo necessário o controle manual. O direcionamento do veículo funciona com uma pilha de objetivos e cada objetivo é uma coordenada geográfica. O veículo busca movimentar-se sempre em linha reta, até o próximo objetivo, por meio da bússola do GPS, até atingir o objetivo final. Um objetivo é declaradoatingidoquandooveículoentraremumaáreaderaioigualaoerroatualdodis-positivo GPS em torno da coordenada geográfica objetivo. Ao atingir um objetivo, o veículo imediatamente dirige ao objetivo seguinte. Caso tenha atingido o objetivo final, o veículo permaneceparadoatérecebernovoscomandos. O módulo de controle de direção do veículo realiza a movimentação de uma coor-denada a outra de forma mais próxima possível de uma linha até o objetivo em questão. Isto é garantido por uma realização obtida a partir da direção (bearing azimuth) informadapeloGPS. Esse controle é realizado internamente ao veículo, sem qualquer interação do usuário controladoroudesuaestaçãocontroladora.

3.5 Protocolos VCP e VRCCP

Os protocolos implementados nesse projeto, denominados VCP e VRCCP, foram ba-seados da maneira mais fiel possível ao protocolo NMEA0183, utilizado pelos dispositivos GPS. Em relação ao NMEA0183, a principal diferença diz respeito ao checksumadicionadono final de cada pacote NMEA. Este checksum foiremovidonosprotocolosVCPeVRCCPporelesseremprotocolosdeestudoenãoestaremsendoaplicadosemmissãocrítica,dessaformanãoexisteapreocupaçãocomatransferênciadeumpacoteincorreto. OprotocoloVCPécompostodeapenasumtipodepacote,opacotedecontrole.Já o protocolo VRCCP possui três tipos de pacotes diferentes, um para configuração remota do IGV, outro para transferência da pilha de posições que compõem a rota a ser percorrida e o terceiro para finalizar uma sentença de ponte (bridge), que é capaz de encapsular um pacote VCPinternamenteaumpacoteVRCCP. O tipo do pacote contém a informação de qual tipo de dados o pacote carrega. Isso é importante para que o módulo robótico saiba como tratar os dados subsequentes. Abaixo são apresentados os tipos de pacotes definidos e qual a sua finalidade.

• CACON(CARCONTROL)—usadapeloprotocoloVCPparacontrolaroveí-culo,passandoparâmetrosdevelocidadeedireção.

• CONFG (GPS Configuration) — usada pelo protocolo VRCCP para configurar oacionamentodoveículo,semanualouautomáticoe,nocasodeautomático,informandoonúmeromínimodesatélitesaseremusadosparaefetuaromovi-mento.

• ROUTE — usada pelo protocolo VRCCP para definir a coordenada física para onde o módulo robótico deve se mover.

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008146

DESENVOLVIMENTO DE UM VEÍCULO TERRESTRE INTELIGENTE QUE BUSCA O MENOR CAMINHO APLICANDO O ALGORITMO DE OTIMIZAÇÃO POR COLÔNIA DE FORMIGAS

• BRIDG — usada pelo protocolo VRCCP para encapsular mensagens do proto-coloVCPinternamenteàsmensagensdoprotocoloVRCCP.

A especificação base dos protocolos define que:• Cadapacotedeveiniciarcomumsímbolodecifrão($).• Os próximos cinco caracteres formam uma palavra que define o tipo do pacote,

CACON, CONFG, ROUTE ou BRIDG. • Todososcamposdeinformaçõesqueseguemdevemserdelimitadosporvírgula.

OprotocoloVCPéresponsávelporcarregarasinformaçõesdeestadodoveículoaserinterpretadapelofirmware do microcontrolador com o objetivo de realizar o acionamento dosmotoreselétricos. OtipodepacoteCACON,querepresentaocontroledoveículo,éapresentadonastabelas 4 e 5.

Tabela 4 – Descrição do pacote CACON.

Tabela 5 – Definição do pacote CACON.

Por outro lado, o protocolo VRCCP foi concebido para efetuar a comunicaçãoentreaestaçãodocontroladoreosistemaembarcadonoveículo.Deseustrêspacotes,doissão para configuração e passagem de valores para o veículo, sendo eles, CONFG, para con-figuração de parâmetros como DOP (Dilution of Precision)emododefuncionamento,eose-gundo,ROUTE,parapassagemdosvaloresdascoordenadasquecompõemarotadomenorcaminho a ser seguido quando o modo automático estiver ativo. O terceiro pacote, BRIDG, temafuncionalidadedeencapsularoprotocoloVCPdentrodoVRCCPdemodoapermitiro controle manual remoto do veículo por parte do operador. As tabelas 6 a 11 detalham os tiposdepacotesusadospeloprotocoloVRCCP.

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008 147

DIEGO RODRIGO NEUFERT, MAURÍCIO PERRETTO E ALESSANDRO BRAWERMAN

Tabela 6 – Descrição do pacote CONFG.

Tabela 7 – Definição do pacote CONFG.

Tabela 8 – Descrição do pacote ROUTE.

Tabela 9 – Definição do pacote ROUTE.

Tabela 10 – Descrição do pacote BRIDG.

Tabela 11 – Definição do pacote BRIDG.

3.6 Firmware

Ofirmware, residente na memória do microcontrolador 8051, foi implementado de modoainterpretarossinaisrecebidospelaportaserialdocomputadorembarcado.Cadabyte recebidonaportaserialativaainterrupçãodeportaserialquelêobyteeadiciona-oaumarray de caracteres para formar o pacote completo dos protocolos. Quando o fim de um pacote é detectado,esteéinterpretadoeosmotoressãoacionadosdeacordocomainformaçãocontidanopacoteVCP.Ofirmwaremantémesteacionamentopordoissegundosecasonenhumoutropacote seja recebido neste tempo o acionamento dos motores é interrompido.

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008148

DESENVOLVIMENTO DE UM VEÍCULO TERRESTRE INTELIGENTE QUE BUSCA O MENOR CAMINHO APLICANDO O ALGORITMO DE OTIMIZAÇÃO POR COLÔNIA DE FORMIGAS

O fluxograma do firmware implementado é apresentado na figura 7. O diagrama é composto de duas lógicas de fluxo de dados, a primeira, denotada pelo “Início”, é executada na inicialização do microcontrolador e é responsável por configurar a porta serial e a interrupção dela. A segunda lógica de fluxo de dados representa uma interrupção serial. Como pode ser observado, a primeira lógica não possui fim, sendo colocada em um loop infinito. Isso é necessário para manter o processo ativo no microcontrolador possibilitando assimacapturadeinterrupçõesnaportaserial.

3.7 Interface do usuário

Ainterfacedousuárioécom-postadequatrotelas,todaselasexecu-tadasnaestaçãodousuáriooperador,sendo: tela principal, configuração do clienteVRCCP,cálculodemenorrotaedireçãomanual. Atelaprincipaldaaplicaçãoexecutadanaestaçãodousuárioope-rador é apresentada na figura 8. Por essatelaooperadoracompanhatodaatelemetriadoveículo,comodireção,velocidade, posição e satélites usadospelodispositivoGPS,alémdeacessarasoutrastelasdaaplicação. A tela de configuração do cliente VRCCP é apresentada na fi-gura IX. Nessa tela o usuário deve configurar o endereço IP do servidor VRCCP, normalmente o mesmo IP docomputadorembarcadonoveícu-lo. Por padrão, este IP foi configura-do para 192.168.0.1, tanto no compu-tadorembarcadocomonaaplicação.Além do IP é possível a configuração da porta de conexão, sendo a portapadrão 8002 já configurada em am-bostambém. A figura 10 ilustra a tela de cálculodemenor rota.A funçãodeentrada para matriz de posições e ligações entre as posições (Positions Matrix) representa um grafo. Após a entrada dessa matriz por parte do usuário, é necessária a especificação doíndicedaposiçãoinicialeoíndice

Figura 7 – DFD do firmware.

Figura 8 – Interface do usuário – tela principal.

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008 149

DIEGO RODRIGO NEUFERT, MAURÍCIO PERRETTO E ALESSANDRO BRAWERMAN

3.8 Validação do Projeto

A validação do projeto ocorreu em campo amplo e aberto, sem obstruções para o veículo ou objetos que pos-samseratingidos. Paraavalidação,odiadeveriaestarclaroesemchu-va,poisoscircuitosimplementadosnãopossuemnenhumtipodeproteçãocontracondiçõesclimáticasadversas. Foi importante também que as coordenadas ali-mentadasnoveículoestivessemcomumnívelbomdepreci-são,poiscasoexistisseerronessascoordenadas,esseerroiriasesomaraoerrodeleituradoGPSnomomentodanavega-ção,acarretando,assim,umapossívelfalhadoteste.

da posição final. Após a execução do cálculo, os índi-cesdasposiçõesquecompõemomenorcaminhoserãoapresentadosnocampo“Bestroutenodes”. A tela de direção manual, apresentada na figura 11, só pode ser executada caso o veículo esteja configu-rado para operação em modo manual. Essa configuração éfeitanatelainicialnocampo“operationmode”. Parainiciaraoperaçãoemmodomanual,éne-cessário que o botão “Ignition” seja clicado. Os botões de ajuste de velocidade “Speed Up” e “Speed Down” só terãofuncionalidadecasoofirmware usado no microcontrolador 8051 do veículo tenha PWM implementado,casocontrárioapenasumavelocidadeestarádisponível.

Figura 9 – Configuração do cliente VRCCP.

Figura 10 – Tela para cálculo de menor caminho.

Figura 11 – Direção manual.

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008150

DESENVOLVIMENTO DE UM VEÍCULO TERRESTRE INTELIGENTE QUE BUSCA O MENOR CAMINHO APLICANDO O ALGORITMO DE OTIMIZAÇÃO POR COLÔNIA DE FORMIGAS

4 RESULTADOS

A implementação do algoritmo SP-ACO obteve a menor rota em 20 testes reali-zados em grafos previamente escolhidos no site tsp.org (TSP – 2008) com até 30 vértices, sendoestenúmeroescolhidodevidoaoambientedetestesnãocomportarumnúmeroele-vado de vértices, dado o erro do dispositivo GPS de 5 metros, que multiplicado pelo DOP médio de 3, gera um erro aproximado de 15 metros. Dependendo da disposição geográfica dos vértices no ambiente de testes, pode-se atingir uma distância de até 450 metros entre a posição inicial e a final. Dado o tamanho reduzido do grafo a ser processado, os melhores resultados foramobtidoscomdistribuiçãohomogêneadospesosdavisibilidadeedorastrodefero-mônio, dessa forma os parâmetros α (rastro de feromônio) e β (visibilidade) foram defini-dos com o valor de 1 (um). Em grafos maiores, a tendência é que β tenha um peso maior, visandopossibilitaraexploraçãototaldografoporpartedasformigas,inibindoassimaconvergência para um resultado não desejado. Ométodopropostoparaaobtençãodamelhorrota,Shortest-PathACO,apre-sentou uma variação de acordo com a bibliografia conhecida (BULLNHEUMER, HARTL eSTRAUSS,1999).Aalteraçãodosparâmetrosdeentradapermitiuaobtençãodomelhorconjunto de valores. Estes, por sua vez, permitiram a obtenção da melhor rota em diversos grafos em que o valor mínimo já é conhecido. A avaliação do desempenho do algoritmo proposto evidencia melhora em relação aos algoritmos já conhecidos em máquinas co-muns, porém não foi possível realizar uma comparação com outro sistema embarcado devido à falta de material e referência equivalente ao ambiente usado no projeto. Emrelaçãoaohardware,foramimplementadasasdiversasinterfacesparacontroledos motores e comunicação com o sistema embarcado. A principal dificuldade encontrada foi a aquisição e definição da posição das rodas dianteiras em relação a seu eixo de movi-mento.Essefatodeve-seaomotordecontroledelas,serummotorelétricoconvencionale não um motor de passo. Não foi possível a utilização de um motor de passo devido ao peso do veículo. Para contornar este entrave, foi definido como premissa o estado inicial das rodas como centralizado e a movimentação delas sobre o eixo sendo feita por meio de pulsos de mesma duração, o que permitiu ajuste razoável da direção. Em algumas si-tuações,dadoo impactoexternooualgumaoutravariávelnãoprevista,podeocorreradescalibração da posição das rodas no eixo, o que requer a reinicialização do processo. Quanto à comunicação entre a estação do operador e o veículo, foram realizados 20 testes com distâncias entre 10 e 200 metros, variando a cada 10 metros. Esses testes foram realizados para verificar a ocorrência de erros na transmissão, não havendo nenhum erro de transmissão dos pacotes em nenhum dos testes. Esses testes foram realizados com o servidor e o cliente TCP/IP, tanto sobre redes sem fio, como em redes cabeadas. A dis-tância máxima da estação ao veículo testada foi de aproximadamente 250 metros, mas este valorpodevariardeacordocomapotênciadoAccess Point utilizado. OGPSsecomunicousemaocorrênciadenenhumerro,comodispositivoem-barcado usando o conversor Serial/USB implementado especificamente para o projeto. Ofirmware do microcontrolador 8051 foi testado via emulador e posteriormente testadonoveículo,damesmamaneiraqueacomunicaçãoserialentreomicrocontroladoreocomputadorembarcado.

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008 151

DIEGO RODRIGO NEUFERT, MAURÍCIO PERRETTO E ALESSANDRO BRAWERMAN

OalgoritmodecontrolefoitestadocomemuladordeGPSrodandonocompu-tador embarcado, sendo verificado e dado como funcional. Inicialmente, a sua escolha de direçãonãoapresentavaaescolhadomenorânguloparamudançadedireçãodevidoaoazimute variar de 0° a 360° e quando o ângulo menor passar por 359° e 0°, o algoritmo fariao caminho inverso.Essa imprecisão foi corrigida coma adiçãodeuma expressãocondicional à lógica para testar a diferença angular inversa do azimute, fazendo-o seguir porelacasoestatenhamenorângulo. Osistemade telemetria foi implementadopormeioda replicaçãodospacotesNMEA lidos do dispositivo GPS via rede TCP/IP para a estação de controle.

5 CONCLUSÃO

Este trabalho apresentou a criação de um veículo inteligente, capaz de calcular o menorcaminhodadoumpontodeorigemeumdeterminadopontodedestino.Essepro-jeto foi desenvolvido utilizando-se tecnologia de sistemas embarcados baseado no sistema operacional Windows CE e uma variação do algoritmo de ACO para calcular a melhor rota emumcaminhopreviamenteestabelecidocomointuitodeadaptaçãoeobteromelhordesempenhoparaestetipodesistema. Ométodopropostoparaaobtençãodamelhorrota,Shortest-PathACO,apre-sentou variação de acordo com a bibliografia conhecida. A alteração dos parâmetros de entrada permitiu a obtenção do melhor conjunto de valores. Estes, por sua vez, permitiram a obtenção da melhor rota em diversos grafos em que o valor mínimo já é conhecido. A avaliaçãododesempenhodoalgoritmopropostoevidenciamelhoraemrelaçãoaosalgo-ritmos já conhecidos em máquinas comuns. O sistema de controle de direção, implementado utilizando um algoritmo simples comapenasumacomparação,permitiumelhoradedesempenhoemrelaçãoaoscálculosnormalmente utilizados, sem, no entanto, inserir erros na leitura. Esse sistema obteve pre-cisãodeposicionamentocompatívelcomosvaloresdereferênciadoGPS,permitindoodeslocamentodoveículonoterrenoestipulado. Ocontrolemanualremotoeatelemetria,pormeiodainterfacedeumPCco-mum, apresentaram um tempo de latência bastante baixo, permitindo que o operadorassumaocontroledoveículocasoestesedesviedarotapré-estipuladaenãoreconheçaoseu erro. Este processo mostrou a eficiência dos servidores TCP/IP e do protocolo VCP eVRCCPdesenvolvidos,sendoportáveisaqualquersistemaembarcadodesenvolvido.

5.1 Trabalhos futuros

Apesar do projeto cumprir com seus intuitos iniciais, ainda há uma grande gama deaplicaçõespara seremestudadaseépassíveldediversasmelhoriaspara torná-loumsistemaembarcadorobustoetoleranteafalhas. UmaáreainteressanteseriaaaplicaçãodecálculodomenorcaminhoporACOdinâmico,comoveículoreconhecendonovosobstáculos,alterandoografodeposiçõeserecalculando o caminho em tempo real. Para tal, seria necessário a utilização de sensores capazes de detectar objetos à distância, assim como o tamanho deles.

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008152

DESENVOLVIMENTO DE UM VEÍCULO TERRESTRE INTELIGENTE QUE BUSCA O MENOR CAMINHO APLICANDO O ALGORITMO DE OTIMIZAÇÃO POR COLÔNIA DE FORMIGAS

Outra possibilidade é a criação de um sistema para reduzir o erro do GPS por meio deacelerômetros,contandocomumaposiçãoinicialprecisa.

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008 153

DIEGO RODRIGO NEUFERT, MAURÍCIO PERRETTO E ALESSANDRO BRAWERMAN

REFERÊNCIAS

ASIMOV, I. Eu, robô. Rio de Janeiro: Ediouro, 2004.

BECKERS,R.;DENEUBOURG,J.L.;GOSS,S.Trailsandu-turnsintheselectionof theshor-test path by the ant lasius niger. Journal of theoretical biology, v. 159, p. 397-415, 1992.

BONABEAU, E.; DORIGO, M.; THERAULAZ, G. Swarm intelligence: fromnaturaltoartificial systems. New York: Oxford University Press, 1999.

BULLNHEUMER, B.; HARTL, R. F.; STRAUSS, C. Applying the ant system to the vehicle routing problem. In: ______. Meta-Heuristics:advancesandtrendsinlocalsearchparadig-ms for optimization. Boston: Kluwer Academic Publishers, 1999.

CORMEN,T.H. et aL.Introduction to algorithms. 2nd ed. London: MIT Press; Mc-Graw-Hill, 2001.

DORIGO, M. Ottimizzazione, apprendimento automatico, ed algoritmi basati su me-tafora naturale. Itália: Politecnico di Milano, 1992.

DORIGO, M.; GAMBARDELLA, L. M. Ant colonies for the traveling salesman pro-blem. Bélgica: Université Libre de Bruxelles, 1996.

DURBIN, R.; SZELISKI, R.; YUILLIE, A. An analysis of the elastic net approach to the travelingsalesmanproblem.Neural Computation, v. 1, n. 3, p. 348-358, 1989.

FUTURE TECHNOLOGY DEVICES IINTERNATIONAL Ltd. Disponível em: <http://www.ftdichip.com>. Acesso em: out. de 2008.

KOHONEN,T.Self-organizing maps. 3. ed. Springer, 2001.

PROLIFIC TECHNOLOGY INC. Disponível em: <http://www.prolific.com.tw> . Aces-so em: out. de 2008.

SEMTECH. Disponível em: <http://www.semtech.com>. Acesso em: out. de 2008.

SILVEIRA, J. F. O problema do caixeiro viajante. Disponível em: <http://www.mat.ufr-gs.br/~portosil/caixeiro.html>. Acesso em: 22 out. de 2008.

TEXAS INSTRUMENTS. Disponível em: <http://www.ti.com>. Acesso em: 22 out. de 2008.

TORRES, G. PWM. Disponível em: <http://www.clubedohardware.com.br/dicionario/termo/77>. Acesso em: 22 out. de 2008.

da Vinci, Curitiba, v. 5, n. 1, p. 133-154, 2008154

DESENVOLVIMENTO DE UM VEÍCULO TERRESTRE INTELIGENTE QUE BUSCA O MENOR CAMINHO APLICANDO O ALGORITMO DE OTIMIZAÇÃO POR COLÔNIA DE FORMIGAS

GEORGIA INSTITUTE OF TECHNOLOGY. The travelling salesman problem.Dis-ponível em:<http://www.tsp.gatech.edu.>. Acesso em: 22 out. de 2008.