Você está na página 1de 54

UNIVERSIDADE POSITIVO NCLEO DE CINCIAS EXATAS E TECNOLGICAS CURSO DE ENGENHARIA DA COMPUTAO

ROBERTO AUGUSTO PASCHOAL

Rob para Mapeamento de Ambientes Estruturados

Trabalho de Concluso de Curso.

Prof. Valfredo Pilla Jr Orientador

Curitiba, 14 de dezembro de 2009.

UNIVERSIDADE POSITIVO Reitor: Prof. Oriovisto Guimares Vice-Reitor: Prof. Jos Pio Martins Pr-Reitor de Graduao: Prof. Renato Casagrande Diretor do Ncleo de Cincias Exatas e Tecnolgicas: Prof. Marcos Jos Tozzi Coordenador do Curso de Engenharia da Computao: Prof. Edson Pedro Ferlin

TERMO DE APROVAO

Roberto Augusto Paschoal

Rob para Mapeamento de Ambientes Estruturados

Monografia aprovada como requisito parcial concluso do curso de Engenharia da Computao da Universidade Positivo, pela seguinte banca examinadora:

Prof. Valfredo Pilla Jr (Orientador) Prof. Edson Pedro Ferlin Prof. Maristela Regina Weinfurter

Curitiba, 14 de dezembro de 2009.

AGRADECIMENTOS

Agradeo aos meus amigos que nos momentos difceis me ajudaram a manter a estabilidade fsica e mental, e tambm ao professor Valfredo Pilla Jr que sempre com muita tranquilidade incentivou a concluso desse projeto e orientou da melhor forma possvel.

SUMRIO

LISTA DE FIGURAS ............................................................................................ 9 LISTA DE TABELAS .......................................................................................... 11 LISTA DE SIGLAS .............................................................................................. 12 RESUMO .............................................................................................................. 13 ABSTRACT .......................................................................................................... 14 CAPTULO 1 INTRODUO ........................................................................ 15 CAPTULO 2 - FUNDAMENTAO TERICA .......................................... 16
Conceito........................................................................................................................................................ 16
Controle Reativo....................................................................................................................................................... 20 Controle Deliberativo ............................................................................................................................................... 20 Arquitetura de Controle Hierrquico ........................................................................................................................ 21 Arquitetura de Controle Hibrido .............................................................................................................................. 21 Controle Robtico Robusto e Inteligente ................................................................................................................. 21

Projetos de Sistemas de Robs Mveis Inteligentes ................................................................................. 21


Localizao ............................................................................................................................................................... 22 Mapeamento ............................................................................................................................................................. 22 Navegao Robtica ................................................................................................................................................. 23 Aplicaes prticas de Robtica Mvel ................................................................................................................... 23 Navegao autnoma em ambientes externos .......................................................................................................... 23

Aplicao de Sucesso de Robs Mveis ..................................................................................................... 24

CAPTULO 3 - ESPECIFICAO DO PROJETO ........................................ 25


Sistema ......................................................................................................................................................... 25 Sensores ........................................................................................................................................................ 26

Microcontrolador ........................................................................................................................................ 27 Motores ........................................................................................................................................................ 27 ZigBee ........................................................................................................................................................... 28 Software - SICROMAE .............................................................................................................................. 29


Protocolo de comunicao ........................................................................................................................................ 29

CAPTULO 4 - PROJETO ................................................................................. 31


Projeto do Hardware .................................................................................................................................. 31
Mdulo do Microcontrolador ................................................................................................................................... 31 Mdulo do Sensor..................................................................................................................................................... 33 Mdulo dos Motores................................................................................................................................................. 33 Mdulo de Comunicao.......................................................................................................................................... 35 Integrao dos Mdulos ........................................................................................................................................... 36 Circuito Impresso ..................................................................................................................................................... 37

Prottipo ...................................................................................................................................................... 37 Projeto do Firmware ................................................................................................................................... 38 Projeto do Software SICROMAE .......................................................................................................... 39 Testes e validaes ....................................................................................................................................... 46
Rob ......................................................................................................................................................................... 46 Software SICROMAE ........................................................................................................................................... 47 Sistema ..................................................................................................................................................................... 47

CAPTULO 5 - RESULTADOS ......................................................................... 48


Rob.............................................................................................................................................................. 48 Software SICROMEA ............................................................................................................................. 50 Sistema ......................................................................................................................................................... 50

CAPTULO 6 CONCLUSO .......................................................................... 52


Concluso ..................................................................................................................................................... 52 Trabalhos Futuros....................................................................................................................................... 52 Dificuldades Encontradas........................................................................................................................... 52

REFERENCIAS BIBLIOGRFICAS ............................................................... 53

LISTA DE FIGURAS

Figura 2-1 Roomba ........................................................................................................................................... 17 Figura 2-2 Auto Mower .................................................................................................................................... 17 Figura 2-3 Aibo ................................................................................................................................................. 18 Figura 2-4 Os Rovers gmeos Spirit e Opportunity....................................................................................... 24 Figura 3-1 Diagrama do Sistema ...................................................................................................................... 26 Figura 3-2 Desenho da reflexo dos sensores ................................................................................................... 26 Figura 3-3 Prottipo dos motores montados ..................................................................................................... 27 Figura 3-4 Mdulo ZigBee ............................................................................................................................... 28 Figura 3-5 Mdulo CON-USBBEE .................................................................................................................. 28 Figura 3-6 Sistema de comunicao (non-beacon) ........................................................................................... 29 Figura 3-7 Frame de dado padro RS232 ......................................................................................................... 29 Figura 4-1 Diagrama esquemtico do mdulo microcontrolador ..................................................................... 32 Figura 4-2 Diagrama esquemtico do sensor .................................................................................................... 33 Figura 4-3 Diagrama esquemtico do mdulo de controle dos motores........................................................... 34 Figura 4-4 Circuito Integrado L298 .................................................................................................................. 35 Figura 4-5 Diagrama esquemtico mdulo de comunicao ............................................................................ 35 Figura 4-6 Diagrama do esquemtico do hardware .......................................................................................... 36 Figura 4-7 Diagrama esquemtico do circuito impresso do hardware.............................................................. 37 Figura 4-8 Prottipo do rob ............................................................................................................................. 38 Figura 4-9 Fluxograma do firmware ................................................................................................................. 39 Figura 4-10 Fluxograma do software SICROMAE .......................................................................................... 40 Figura 4-11 Tela principal do software SICROMAE ....................................................................................... 41 Figura 4-12 Tela do software da opo Comunicao .................................................................................. 42 Figura 4-13 Tela do software da opo Mapeamento ................................................................................... 43

10 Figura 4-14 Tela do software da opo Configuraes ................................................................................. 44 Figura 4-15 Tela do software de configurao do rob da opo Configuraes ......................................... 45 Figura 4-16 Tela do software da opo Sobre ............................................................................................... 45 Figura 4-17 Tela do software com o mapeamento em andamento ................................................................... 46 Figura 4-18 Planta do projeto do ambiente estruturado dos testes e validaes ............................................... 47 Figura 5-1 Validao do sensor da frente ......................................................................................................... 48 Figura 5-2 Validao do sensor da direita ........................................................................................................ 49 Figura 5-3 Validao do sensor da esquerda .................................................................................................... 49 Figura 5-4 Validao do sensor de trs ............................................................................................................. 49 Figura 5-5 Validao do software ..................................................................................................................... 50 Figura 5-6 Validao do sistema ....................................................................................................................... 51

11

LISTA DE TABELAS

Tabela 3-1 Especificao dos comandos de comunicao................................................................................ 30 Tabela 3-2 Comandos de comunicao entre Rob e PC ................................................................................. 30 Tabela 4-1 Componentes do microcontrolador ................................................................................................. 32 Tabela 4-2 Legenda de sinais do microcontrolador .......................................................................................... 32 Tabela 4-3 Saida dos sensores/Entrada no microcontorolador ......................................................................... 33 Tabela 4-4 Componentes do esquemtico do sensor ........................................................................................ 33 Tabela 4-5 Componentes do mdulo de controle dos motores ......................................................................... 34 Tabela 4-6 Legenda de sinais do mdulo de controle de motores .................................................................... 34 Tabela 4-7 Legenda de sinais da comunicao ................................................................................................. 36 Tabela 4-8 Componentes do mdulo de hardware............................................................................................ 37

12

LISTA DE SIGLAS

AMR - Autonomies Mobile Robots AGVs - Automated Guided Vehicles CER - Comisso Especial de Robtica PWM - Pulse Width Modulation RMA - Rob Mvel Autnomo SBC - Sociedade Brasileira de Computao SLAM - Simultaneous Localization And Mapping VANT - Veculos Areos No-Tripulados

13

RESUMO

Neste trabalho desenvolveu se uma planta de teste para um controlador baseado em computao reconfigurvel. Esta planta um rob mvel com telecomando, o qual possui sensores em duas dimenses para a medida de distncias. O sistema controlador em teste implementado via software em um computador remoto hospedeiro. Mais especificamente, este sistema tem como finalidade mapear um ambiente estruturado. Alm disso, deseja-se ajudar na evoluo da robtica, em especial ao desenvolvimento de Robs Moveis Autnomos, conhecidos como RMA's.

Palavras-chave:

Robtica, Sem fio, Telecomando, Robs Moveis Autnomos, Computao Reconfiguravel, Ambiente Estruturado

14

ROBOT FOR MAPPING STRUCTURED ENVIRONMENT

ABSTRACT

The main project objective is the development of a controller test map designed under reconfigured computer. This map is a mobile robot with controlled commands which have sensor in two dimensions for assign measures and distances. The test controller system is implemented via software in a client computer. Effectively, this system will map a structured environment. In addition, the expected result is to increase the robotic evolution, in special for development of new Autonomies Mobile Robots, known as AMR's.

Keywords:

Robotic, Wireless, Mobile, Autonomies Mobile Robots, Reconfigured Computer, Structured Environment

15

CAPTULO 1 INTRODUO

Nesse captulo apresentada uma breve introduo sobre a robtica mvel. O estudo da robtica mvel um tema bastante relevante e atual, sendo que esta rea de estudo, pesquisa e desenvolvimento apresentou um grande salto em seu desenvolvimento nas ltimas dcadas. A aplicao prtica de robs mveis aliada a diferentes atividades na sociedade vem demonstrando o quanto promissor o futuro desta rea. Por exemplo, seu uso em aplicaes domsticas (aspiradores de p e cortadores de grama robticos), industriais (transporte automatizado e veculos de carga autnomos), urbanas (transporte pblico, cadeiras com rodas robotizadas), militares (sistemas de monitoramento areo remoto, transporte de suprimentos e de armamento em zonas de guerra, sistemas tticos e de combate) e de segurana e defesa civil e militar (controle e patrulhamento de ambientes, resgate e explorao em ambientes hostis), demonstra grande gama de aplicaes atuais dos robs mveis e os interesses econmicos envolvidos em relao ao seu desenvolvimento e aplicao. Dentro deste contexto, constata-se a grande importncia do desenvolvimento desta rea de pesquisas em nosso pas, de modo que essa revoluo vai transformar nossas vidas em um futuro prximo. A pesquisa e desenvolvimento em robtica mvel requerem conhecimentos de diversas reas, da Engenharia Mecnica, Engenharia Eltrica, Engenharia da Computao e das diferentes reas dentro da Computao. Em particular, a rea de computao possui um papel muito importante como rea que prov o suporte de conhecimentos e tcnicas que permitiro dotar estes robs mveis de sistemas de controle mais robustos, seguros, autnomos e inteligentes. Dessa forma, faz-se necessria a formao de profissionais capacitados para atuar nesta rea, e alem disso, de grande importncia que se possa incentivar a formao de pessoal capacitado a trabalhar nesta rea. O objetivo com este trabalho de concluso de curso justamente o de apresentar uma viso geral da rea para motivar e introduzir conceitos importantes e atuais relacionados robtica mvel, contribuindo assim para disseminar conhecimentos e tcnicas da rea de computao que so atualmente empregadas no desenvolvimento dos robs mveis inteligentes. Mais especificadamente, este projeto consiste em uma planta de teste para um controlador baseado em computao reconfigurvel. Esta planta um rob mvel com telecomando, o qual possui sensores em duas dimenses para a medida de distncias. O sistema controlador em teste foi implementado via software em um computador remoto hospedeiro. Dessa forma, este sistema tem como finalidade mapear um ambiente estruturado.

16

CAPTULO 2 - FUNDAMENTAO TERICA

Neste captulo so apresentados conceitos e tcnicas atualmente empregas na robtica mvel. Assim como projetos da rea.

Conceito
A evoluo dos robs, e em especial dos robs mveis, tem recebido nos ltimos anos um amplo destaque junto mdia e sociedade de um modo geral. Onde se falava muito em robs industriais e braos mecnicos robticos, atualmente as atenes se voltaram para robs mveis, capazes de se deslocar no ambiente em que se encontram e principalmente nos Robs Mveis Autnomos RMAs e Veculos Autnomos Inteligentes (JUNG, 2005). Os RMAs possuem como caractersticas fundamentais, as capacidades de locomoo e de operao de modo semi ou completamente autnomo. Tambm deve ser considerado que maiores nveis de autonomia sero alcanados somente medida que o rob passe a integrar outros aspectos considerados da maior importncia, como: capacidade de percepo (sensores que conseguem ler o ambiente onde ele atua), capacidade de agir (atuadores e motores capazes de produzir aes, tais como o deslocamento do rob no ambiente), robustez e inteligncia (capacidade de lidar com as mais diversas situaes, de modo a resolver e executar tarefas por mais complexas que sejam). O uso de tcnicas de planejamento e controle robusto para a navegao e operao autnoma dos robs conhecido pelo termo Controle Robtico Inteligente, no qual este controle inteligente permite dotar os RMAs da capacidade de executar as mais diversas e complexas tarefas. Pode-se citar alguns exemplos famosos de Robs Mveis, resultantes da pesquisa e desenvolvimento que vem ocorrendo nesta rea: os robs de explorao espacial como o Mars Pathfinder's Sojourner, Spirit e Opportunity Rovers (Bajracharya, 2008); robs domsticos usados para limpar a casa como o Roomba (ver fig. 2-1) e Scooba (IROBOT, 2009), e para cortar grama como o AutoMower (HUSKVARNA, 2009), Sahin 2007 (ver fig. 2-2); os robs com pernas capazes de caminhar como o cachorro Aibo (HONDA, 2009) (ver fig 2-3), o humanide Asimo (SONY, 2009) e o BigDog (BOSTON DYNAMICS, 2009); veculos terrestres no tripulados como o Stanley de Stanford (THRUN 2006, GIBBS 2006, JUNG 2005); e veculos areos no tripulados (UAVs) como os VANTs brasileiros do Projeto Arara (NERIS, 2001) e AGplane (AVX, 2009). Estes exemplos demonstram claramente os progressos e resultados da pesquisa e desenvolvimento em robtica mvel desta ltima dcada.

17

Figura 2-1 Roomba

Fonte: AMARKONMYWALL, 2008.

Figura 2-2 Auto Mower

Fonte: WALYOU, 2009

18

Figura 2-3 Aibo

Fonte: SONY, 2009. Os Robs Mveis Autnomos, como se pode constatar pelos exemplos acima, possuem diferentes configuraes de dispositivos de hardware embarcados, de acordo com a funo e as tarefas para as quais so projetados. Os principais dispositivos de hardware de um rob so seus sensores e atuadores. Um sistema robtico envolve a especificao e seleo de diferentes componentes (DUDEK, 2000), sensores e atuadores (cada um com suas especificidades), e a combinao destes em um sistema autnomo normalmente complexa. Estes sistemas devem ser projetados de modo a ser dotado de dispositivos capazes de prover os dados necessrios (obtidos por meio dos seus sensores), para que o sistema de controle robtico inteligente possa planejar e realizar o acionamento dos seus dispositivos de modo a executar a ao desejada. Um dos grandes desafios da robtica justamente como integrar as informaes vindas de todos estes sensores, de modo a gerar comandos e controlar os diferentes dispositivos de atuao do rob, garantindo que a tarefa seja executada de modo correto e sem colocar em risco tanto o rob quanto aqueles que o cercam. O rob deve preservar a sua integridade bem como dos elementos presentes no ambientes (seres humanos, objetos como utenslios e mobilirio, outros robs). Um rob s deve agir de modo ativo sobre um determinado objeto-alvo, se realmente for programada, isto , prevista a sua ao sobre este objeto. Esta questo sempre foi alvo de muitas discusses, pois um rob mvel pode causar danos tanto a pessoas como a objetos que o cercam, de modo deliberado ou no, constituindo-se assim de um Sistema Embarcado Crtico (executa misses crticas), onde seu desenvolvimento deve imperativamente envolver um cuidadoso projeto tanto de hardware como de software. Em funo desta execuo de tarefas crticas, que podem causar tanto danos em humanos como materiais, o projeto do sistema de controle de um rob mvel deve garantir um controle robusto, tolerante a falhas e a situaes imprevistas (que no esto exatamente de acordo com um plano previamente estabelecido), constituindo assim um sistema de controle que denominamos aqui de sistema de controle inteligente. importante destacar que o projeto do sistema de controle de um rob deve levar em conta uma srie de quesitos e componentes, como por exemplo: Tipo de tarefa do rob; Tipo e preciso dos sensores embarcados; Tipo e preciso dos atuadores;

19 Os sensores individualmente fornecem apenas uma viso de mundo, parcial, incompleta e sujeita a erros, sendo papel do sistema de controle adquirir, unificar (realizar a fuso de sensores) e tratar estas informaes de forma robusta e inteligente. Alm disto, os comandos de atuao tambm no so precisos, sendo que muitas vezes uma instruo de avanar em linha reta ou de girar em certa direo tambm pode no ser executada de forma correta e precisa, pois est sujeita a erros de posicionamento do rob, de acionamento dos motores, bem como est sujeita tambm a foras e componentes externos (frico, gravidade, acelerao, desacelerao, inrcia, coliso com obstculos e derrapagem das rodas). Cabe ao sistema de controle robusto prover tcnicas que permitam compensar e corrigir estes erros de modo que as tarefas do rob possam ser executadas corretamente e em segurana. O projeto do sistema de controle de um rob deve tambm usualmente fazem adoo de uma arquitetura especfica de controle, ser capaz de realizar algumas ou todas das seguintes tarefas de (DUDEK, 2000):

Fuso de Sensores: adquirir e integrar os diversos dados recebidos a partir dos sensores, compensando as limitaes de alcance e preciso de cada sensor, por meio da fuso dos dados; Desviar de obstculos: detectar obstculos e poder assim evitar a coliso com os mesmos, preservando a integridade do rob e dos elementos externos. O desvio de obstculos deve evitar tanto obstculos estticos, como obstculos dinmicos (elementos mveis como pessoas e outros robs); Auto-Localizao: determinar a localizao do rob no ambiente (posio e orientao), com ou sem o uso de um mapa do ambiente, de modo a poder planejar e executar o deslocamento seguindo uma determinada trajetria; Mapeamento do ambiente: explorao e construo de um mapa do ambiente, onde o rob capaz de realizar uma reconstruo digital do mapa do ambiente, identificando onde existem paredes e obstculos no ambiente gerando, por exemplo, um mapa de ocupao do ambiente. Uma tcnicas muito usada o SLAM (Simultaneous Localization And Mapping) (THRUN, 2005), que realiza ao mesmo tempo a auto-localizao do rob, enquanto mapeia o ambiente. Planejamento de trajetrias: por meio do uso de um mapa possvel planejar aes de alto-nvel, como definir previamente uma trajetria a ser executada pelo rob, especificando as aes elementares a serem realizadas de modo a se deslocar de uma posio-origem at uma posio-alvo; Planejamento de aes: uma vez definida a tarefa a ser realizada pelo rob mvel, possvel estabelecer um plano de aes, que pode ser composto da execuo de sub-tarefas mais elementares, como por exemplo: explorar o ambiente; seguir uma parede ou corredor at o seu final, se deslocar em uma direo-alvo desviando de obstculos, recolher objetos, seguir um comboio, patrulhar uma rea, etc; Navegao robtica: capacidade de executar as aes planejadas de modo robusto, como por exemplo, executar o deslocamento de uma posio-origem at uma posio-alvo, realizando os devidos ajustes durante o deslocamento para evitar a coliso com obstculos. A navegao robtica a execuo do plano de trajetrias e aes previamente definido; Interao e Comunicao: capacidade de interagir e se comunicar com outros agentes presentes no ambiente. Por exemplo, um rob pode ter a capacidade de agir de modo colaborativo, interagindo e trocando informaes com outros robs de modo a executar uma tarefa de forma cooperativa e compor assim um sistema multi robtico. Um exemplo clssico deste tipo de sistema o futebol de robs, no qual mltiplos robs devem coordenar suas aes a fim de atingir objetivos comuns.

20 As arquiteturas computacionais de controle de robs mveis autnomos permitem que tarefas como as listadas acima sejam planejadas e executadas, por meio do gerenciamento dos diferentes dispositivos embarcados no rob. Os principais aspetos destas arquiteturas so relativos Percepo (incluindo a comunicao), Raciocnio/Deciso e Ao. As arquiteturas computacionais de controle de veculos autnomos so bastante diversas e mesmo na literatura so encontrados diferentes enfoques, entretanto, podem ser citadas algumas das arquiteturas de controle que se tornaram as mais conhecidas e reconhecidas pelas suas caractersticas e potencialidades: controle reativo, controle deliberativo, controle hierrquico e controle hbrido. Sero detalhadas a seguir estas principais arquiteturas de controle. Controle Reativo O controle reativo consiste de um sistema de reao sensorial-motora (DUDEK, 2000). Este tipo de controle normalmente o mais simples de ser implementado, usualmente no necessitando de muitos recursos computacionais para sua implementao. O controle reativo composto basicamente de um ciclo, como descrito a seguir:

Leitura dos sensores. Processamento imediato destas informaes. Gerao de um comando de resposta para os atuadores.

Usualmente um esquema de controle reativo considera apenas as leituras sensoriais realizadas no presente para tomada de deciso e gerao de comandos de ao. Um sistema reativo bastante til para implementar comportamentos elementares como: desviar de obstculos (reage a presena de um obstculo), seguir um objeto (acompanhar um elemento guia) e seguir uma fonte luminosa (mover em direo a uma fonte de luz). Controle Deliberativo O controle deliberativo (ou cognitivo) consiste na aplicao de um mecanismo de planejamento das aes (DUDEK, 2000), podendo ser estabelecido um plano prvio de execuo de uma seqncia de aes, baseado nos conhecimentos que os sistema possuem sobre o problema a ser resolvido (mapa do ambiente, rotas disponveis). No controle deliberativo assumida a existncia de um processo de alto nvel de raciocnio e tomada de decises, usualmente mais complexo de serem implementados do que os controles reativos. Este processo permite que sejam planejadas aes de modo a tratar e executar tarefas que exigem um nvel de controle mais sofisticado, como exemplo, definir (traar uma rota) e executar a tarefa de se deslocar de um ponto a outro do ambiente, considerando um mapa do mesmo. As arquiteturas baseadas em controle deliberativo, incorporam este tipo de estratgia para realizar o controle dos robs mveis. Entretanto, o controle deliberativo puro possui limitaes quando colocado frente a eventos imprevistos, como por exemplo, um obstculo que se moveu obstruindo a sua rota. Neste caso, o controle deliberativo puro ter dificuldades de reagir a uma nova configurao do ambiente, que no havia sido prevista em seu planejamento inicial. Pode-se dizer que o ideal em um sistema de controle seria que este tivesse a capacidade de reao de um sistema reativo, com a capacidade de planejamento e execuo de tarefas complexas de um sistema deliberativo. Desta combinao entre reativo e deliberativo surgem os sistemas hierrquicos e hbridos.

21

Arquitetura de Controle Hierrquico O controle hierrquico consiste da combinao de mltiplos mdulos de controle reativo e/ou deliberativo em camadas dispostas de modo que estes possam operar de modo hierrquico. A combinao dos diferentes mdulos de controle leva a adoo de um esquema de prioridades em relao s mltiplas camadas do sistema, em que comum encontrar estes sistemas de controle classificados como: sistemas hierrquicos com decomposio vertical e decomposio horizontal (DUDEK, 2000). Arquitetura de Controle Hibrido Os sistemas hbridos apresentam a vantagem de poderem combinar os comportamentos obtidos de seus diferentes mdulos (reativos e deliberativos), que podem inclusive ser executados em paralelo, a fim de obter um comportamento mais robusto e uma execuo de tarefas mais complexas. Por exemplo, possvel implementar um mdulo de controle deliberativo que realiza o planejamento e execuo de uma trajetria com o uso de um mapa, ao mesmo tempo em que um mdulo reativo de maior prioridade pode intervir para realizar o desvio no caso da presena de um obstculos, e finalmente ainda podemos ter um outro mdulo que realiza a auto-localizao, permitindo que sejam realizados ajustes no plano de trajetria por meio de um constante monitoramento da posio atual do rob (JUNG, 2005). Este tipo de arquitetura uma das mais sofisticadas e adotadas nas implementaes dos sistemas de controle dos robs mveis autnomos modernos. Controle Robtico Robusto e Inteligente O sistema computacional de controle robusto e inteligente um sistema capaz de controlar um rob mvel autnomo, garantindo a execuo de suas tarefas de modo autnomo, correto e seguro (DUDEK, 2000). Um sistema de controle robusto de um rob mvel autnomo deve ser projetado de modo a permitir a correta execuo das tarefas que lhe so atribudas, mesmo na presena de imprecises, erros e eventos externos no planejados. Em algumas situaes, um sistema de controle reativo pode ser adotado, demonstrando ser robusto o suficiente para a execuo de uma determinada tarefa. Por exemplo, alguns sistemas simples de controle reativo permitem a um rob mvel executar tarefas como: seguir uma marcao no cho (AGVs Automated Guided Vehicles), seguir um comboio, se dirigir em direo a um foco de luz ou calor, realizar tarefas como a limpeza de um ambiente (alternando entre comportamentos de vagar livremente e se dirigir para uma base de recarga). Tambm possvel implementar com sucesso sistemas de controle deliberativo puro, que executam tarefas em ambientes bem estruturados e controlados, em que no h ocorrncia de imprevistos na execuo das tarefas e os erros/imprecises so bem conhecidos e modelados no processo (inclusive pela adio de dispositivos que permitem compensar/adequar o sistema a estes erros). Porm, o desenvolvimento de uma arquitetura de controle robtico robusto com diferentes mdulos, capazes de tratar questes como a fuso de sensores, a autolocalizao, o mapeamento do ambiente (construo de mapas), o desvio de obstculos estticos ou dinmicos, o planejamento de trajetrias (com ou sem uso de mapas), a navegao robtica autnoma em ambientes no estruturados, a execuo de tarefas de alto nvel e a comunicao e cooperao em sistemas multi robticos, uma tarefa bastante complexa e que demanda um grande esforo em termos do projeto e desenvolvimento de um sistema computacional de controle robtico com estas funcionalidades.

Projetos de Sistemas de Robs Mveis Inteligentes


O projeto de um Sistema Robtico Mvel Inteligente, conforme apresentado anteriormente, envolve o projeto de hardware e o projeto de software (DUDEK, 2000). O hardware responsvel pela implementao fsica de sensores, atuadores, interfaces e do processamento dos dados por meio do uso de um processador embarcado: microprocessadores, microcontroladores, hardware dedicado, hardware reconfigurvel (FPGAs,

22 Soft-Cores, SoPC, PSoC Programmable System-on-Chip). Grande parte da dificuldade em se programar robs mveis deve-se ao fato de que os elementos que compe o rob, como sensores e atuadores, apresentam um certo grau de incerteza nos dados obtidos ou nas aes desempenhadas. Alm disso, o ambiente em que esses robs operam, normalmente, dinmico e imprevisvel. A simples tarefa de se mover de uma extremidade de um corredor at a outra pode se tornar consideravelmente mais difcil se existirem pessoas andando nos corredores, se objetos que possam bloquear a passagem do rob forem colocados em seu caminho ou se os sensores e atuadores do rob no funcionarem com preciso. Dentre os algoritmos usados na rea de robtica mvel, a maioria baseada em estimao estatstica. A teoria das probabilidades vem sendo usada com sucesso para acomodar a incerteza existente, tanto internamente no rob, como no ambiente em que ele opera. Hoje em dia, a maior parte dos algoritmos de localizao e mapeamento utilizam teoria probabilstica de alguma forma. Localizao Localizao consiste em estimar a posio de um rob no ambiente. Determinar sua prpria posio uma capacidade bsica para que qualquer tarefa de navegao seja executada. fundamental que um rob consiga determinar exatamente a posio em que se encontra dentro de um ambiente para que o mesmo possa planejar a uma trajetria at o seu destino e cumprir as tarefas que lhe forem alocadas (FOX, 1999). A grande maioria dos robs mveis possui um sistema de odometria que permite estimar o deslocamento dos mesmos e, consequentemente, calcular a posio dos robs no ambiente. Normalmente, as informaes odomtricas so obtidas por meio de sensores acoplados s rodas dos robs, de forma a calcular o deslocamento dos mesmos a partir do movimento destas. Na prtica, existem diversos fatores que causam erros nesse tipo de dispositivo como a impreciso mecnica do sistema e irregularidades do terreno em que o rob atua. Outro fator que dificulta e pode at inviabilizar a localizao do rob a partir da odometria o fato de que os pequenos erros causados durante o clculo da posio do rob vo se acumulando ao longo do tempo. Uma pequena variao na presso dos pneus de um rob pode facilmente gerar um erro de muitos metros na estimativa de localizao aps algum tempo de navegao do rob. Devido sua grande importncia dentro da rea de robtica mvel, o problema da localizao vem sendo amplamente estudado pelos pesquisadores da rea e, atualmente, existem algoritmos bastante eficientes na soluo do mesmo. Normalmente, fornecido um mapa do ambiente e a localizao estimada com base nas informaes fornecidas pelos sensores. O grande desafio na soluo do problema de localizao est no fato de que tanto as informaes sobre o ambiente como os dados fornecidos pelos sensores so normalmente limitados e imprecisos. Nesse contexto, tcnicas probabilsticas tm sido amplamente utilizadas na soluo desse problema. O problema da localizao de robs mveis pode ser dividido nas categorias local e global. No problema de localizao local (THRUN 2005), a posio inicial do rob conhecida. A soluo para esse problema consiste em lidar com a impreciso dos sensores e manter uma estimativa consistente da posio do rob no ambiente. No caso da localizao global, o rob no tem informaes prvias de sua posio no mapa, o que torna o processo de localizao consideravelmente mais complexo. Mapeamento O levantamento de dados sobre o ambiente e a conseqente construo de mapas (criao de uma representao do ambiente onde est inserido o rob) um problema de estimao que consiste em uma tarefa fundamental para o desenvolvimento de robs mveis autnomos. Normalmente, tarefas bsicas executadas por um rob necessitam de uma representao do ambiente para serem executadas. Supondo, por exemplo, que um rob deve planejar uma trajetria para se locomover de sua posio atual at uma posio de destino. Nesse caso, um mapa do ambiente fundamental para que o caminho mais eficiente seja

23 encontrado. Utilizando o mapa, o rob verifica os possveis caminhos que levam at a posio desejada e os obstculos que devem ser evitados (THRUN, 2005). Outra aplicao robtica que normalmente necessita de um mapa a localizao, que consiste em estimar a posio de um rob em um ambiente previamente conhecido. Dentro do contexto da navegao, necessrio que o rob saiba com preciso sua localizao dentro do ambiente para que o mesmo possa determinar uma trajetria at o ponto de destino. Uma vez que os sensores odomtricos dos robs comerciais normalmente apresentam algum grau de impreciso, so utilizadas informaes dos sensores, juntamente com um mapa do ambiente, para se estimar a posio do rob. Existem tambm tcnicas que permitem que o mapa seja criado ao mesmo tempo em que o rob se localiza no ambiente. Essas tcnicas so chamadas de localizao e mapeamento simultneos (SLAM Simultaneous Localization And Mapping), e so consideravelmente mais complexas do que tcnicas de mapeamento e localizao em separado. Existem basicamente dois tipos de mapas criados por robs mveis: topolgicos e mtricos. Os mapas topolgicos representam o ambiente por grafos, no qual os vrtices representam regies de interesse no ambiente e os arcos representam as vias que interligam essas regies. Os mapas topolgicos so bastante eficientes para se estimar trajetrias em um ambiente, mas apresentam uma representao muito pobre do ambiente fsico. Os mapas mtricos representam os ambientes fsicos em detalhes e tambm podem ser utilizados para se estimar trajetrias (DUDEK, 2000). Navegao Robtica O problema da navegao em robtica consiste em controlar o deslocamento do rob de uma posio inicial at uma posio de destino (DUDEK, 2000). Este tipo de tarefa envolve diferentes tcnicas, como exemplo, o planejamento de uma trajetria e a execuo da navegao utilizando um mapa previamente disponibilizado do ambiente, ou at mesmo a navegao baseada em uma experincia prvia de navegao supervisionada, usando tcnicas como a navegao visual. A tarefa de navegao usualmente implementada utilizando uma arquitetura de controle do tipo reativo, deliberativo ou hierrquico/hbrido, devendo incluir mecanismos para evitar colises, incluindo o desvio de obstculos e o tratamento de situaes imprevistas. Aplicaes prticas de Robtica Mvel O desenvolvimento de pesquisas e aplicaes de robtica mvel autnoma e inteligente (DUDEK, 2000), seja no Brasil ou no exterior, tem crescido de forma muito ampla e consistente nos ltimos anos. Pode-se constar isto por meio do alto nvel das publicaes de trabalhos cientficos da rea em diversos eventos internacionais especializados (IEEE IROS, IEEE ICRA, IEEE ICAR, ACM SAC Robot, EPIA IROBOT) e nos eventos nacionais (JRI/EnRI/LARS, SBIA, SBRN, ENIA, CBRN, SBAI, CBA, entre outros), alm do crescimento do nmero de publicaes e edies especiais em peridicos nacionais e estrangeiros. Em particular, a SBC (Sociedade Brasileira de Computao), possui atualmente entre as suas comisses especiais, uma que atende especificamente os interesses da comunidade brasileira de robtica, a CER Comisso Especial de Robtica da SBC, sendo um importante rgo de incentivo e apoio a eventos, competies e ao desenvolvimento da robtica junto comunidade brasileira. Navegao autnoma em ambientes externos A navegao um dos problemas fundamentais da robtica mvel, sendo um pr-requisito para que outras tarefas possam ser executadas (DUDEK, 2000). A grande maioria dos algoritmos de navegao desenvolvida para atuar em ambientes internos estruturados, onde o grande desafio da navegao o desvio de obstculos. A navegao em ambientes externos consiste em um problema muito mais interessante e complexo. Alm do desvio de obstculos, necessrio que o rob identifique o terreno em que pode navegar. Uma aplicao direta dessa tecnologia o desenvolvimento de sistemas de direo autnoma para veculos. Neste caso, necessrio identificar os limites da rua (rea em que o carro pode navegar), e possveis

24 obstculos e depresses em seu caminho. Dentro desse contexto, so desenvolvidos sistemas de navegao em ambientes externos baseados em viso computacional. Baseado nas informaes obtidas por uma cmera, o sistema deve encontrar a via navegvel (rua ou calada).

Aplicao de Sucesso de Robs Mveis


Recebeu uma grande ateno da mdia e do pblico em geral a aplicao do caso dos Rovers (Sojourner, Spirit e Opportunity rovers) enviados a Marte (ROVERS, 2009). A misso dos robs Spirit e Opportunity completou cinco anos no solo de Marte em Janeiro de 2009, demonstrando o grande avano alcanado pela robtica mvel, que possibilitou esta sobrevivncia em um ambiente hostil por um perodo bastante longo.

Figura 2-4 Os Rovers gmeos Spirit e Opportunity

Fonte: RHEA, 2004.

25

CAPTULO 3 - ESPECIFICAO DO PROJETO

Neste captulo apresentada a especificao do projeto. Podem ser encontradas informaes do rob e do software controlador.

Sistema
O sistema composto uma planta de teste controladora baseada em computao reconfigurvel. A planta constituda de um rob mvel com telecomando, o qual possui sensores em duas dimenses para a medida de distncias. O sistema controlador em teste implementado via software em um computador remoto hospedeiro. Mais especificamente, o sistema tem como finalidade mapear um ambiente estruturado. Esses ambientes no devem sofre interferncias climticas como chuvas e ventos, e o piso deve ser plano e com poucas deformaes. O projeto pode ser dividido em seis blocos principais, sendo eles:

Sensores Microcontrolador Motores e drives de potncia Comunicao sem fio Computador central Interface grfica e programa de controle

Para cada bloco do projeto tm-se circuitos esquemticos, protocolos de comunicao, diagramas de relacionamento e prottipo de telas respectivas. A lgica de funcionamento do projeto se da a cada instante de tempo, ou ciclo de processamento, o microcontrolador ler os sinais de cada sensor e enviar ao computador central, este verifica os dados enviados e retorna ao microcontrolador o que deve ser efetuado em seu andamento, acionando ou no os motores necessrios para o desvio de obstculos, assim o computador central ir desenhar este ponto na interface grfica, isto ser feito a cada ciclo de processamento, desenhando todo o trajeto na interface grfica para o usurio.

26

Figura 3-1 Diagrama do Sistema

O diagrama apresentado na figura 3-1 mostra um modelo de relacionamento entre os blocos que compem o sistema. Neste o microcontrolador o ponto principal do rob o qual l as informaes dos sensores envia, via rede ZigBee, para o computador central os dados e recebe deste mesmo computador as informaes para acionamento dos motores.

Sensores
Os sensores utilizados so fotoeltricos, isto , composto por um emissor infravermelho e um foto-transistor receptor. Estes sensores foram selecionados pela facilidade de implementao em circuitos, rpida resposta ao deslocamento e baixo consumo de energia. O princpio de funcionamento , enquanto os sensores estiverem distantes de um anteparo o receptor no recebe nenhuma emisso de luz infravermelha na base do transistor, ento a tenso de sada no foto-transistor 0 volt. Com a proximidade dos sensores em um anteparo, o receptor tem o retorno da luz infravermelha emitida e a tenso de sada aumenta gradativamente conforme diminui a proximidade ao anteparo, conforme mostra a figura 3-2. Este pino do transistor conectado diretamente a um pino do Microcontrolador que trata esta tenso.

Figura 3-2 Desenho da reflexo dos sensores

27

Microcontrolador
O Microcontrolador utilizado foi o PIC 16F877A, este micro-processador alimentado com uma bateria fornecendo uma tenso de 5 volts, resultante de um regulador de tenso. Foi utilizado 4 portas analgicas para controle dos quatro sensores. O PIC trabalha com valores analgicos nestas portas, dessa forma, foi efetuada a leitura da tenso de sada dos sensores, utilizando os pinos RA0, RA1, RA2 e RA3. Em cada ciclo de processamento do PIC lido os valores de cada porta dos sensores e enviado ao mdulo ZigBee conectado em 2 pinos do Microcontrolador (RC7/RX e RC6/TX) estes pinos so utilizados para comunicao serial com o mdulo. O PIC tem mais 4 portas utilizadas para o controle, acionamento ou no, dos motores. De acordo com a informao recebida do Computador Central, o PIC aciona ou desativa cada um dos motores, isto faz com que o rob vire na direo necessria para a correo do trajeto a ser seguido. A programao desenvolvida em linguagem C traz como benefcio ao projeto, cdigos mais curtos e mais claros, porm traz como um prejuzo que durante a compilao so carregados mais mdulos, isto faz com que seja utilizada mais memria do PIC.

Motores
No rob so utilizados dois motores DC, um faz a trao das rodas da direita e outro para as rodas da esquerda, para alimentao dos motores se utiliza baterias que fornecem at seis volts em cada motor. Os dois motores possuem uma caixa de reduo de 100:30 fazendo com que diminua a velocidade do rob, mas que aumente o torque. Como necessrio ser efetuada a inverso de polaridade dos motores possibilitando a movimentao do rob para todas as direes foi utilizado um circuito integrado L298, que possui duas pontes de Wheatstone. Na figura 3-3 tem-se o prottipo dos motores.

Figura 3-3 Prottipo dos motores montados

28

ZigBee
A utilizao da comunicao via ZigBee traz como maior benefcio a fcil mobilidade do rob para os ambientes, no restringindo o acesso a locais distantes do computador central ou de difcil acesso. O mdulo ZigBee utilizado destina-se apenas a transferncia dos dados entre Microcontrolador e Computador Central. O Mdulo utilizado o ZigBee-Pr/XBee da MaxStream, alm de dois mdulos deste modelo, utilizado um outro mdulo, CON-USBBEE, que destina-se a fazer a converso do ZigBee para porta USB. O mdulo ZigBee que est acoplado ao rob alimentado por baterias fornecendo tenso de 3,3 volts e o mdulo que fica acoplado ao conversor para USB alimentado pela prpria porta USB, esta fornece uma tenso de 5 volts, no mdulo conversor possui um divisor de tenso para fornecer apenas 3,3 volts ao ZigBee. Nas figuras 3-5 e 3-6 tem-se respectivamente, o mdulo ZigBee e o mdulo COM-USBBEE.

Figura 3-4 Mdulo ZigBee

Figura 3-5 Mdulo CON-USBBEE

Neste projeto, como sero utilizados dois mdulos, a topologia, neste caso, chamada peer-to-peer ou pontoa-ponto. Este tipo de topologia utiliza um mdulo ZigBee como coordenador da rede, este o mdulo conectado o PC, e o outro mdulo denominado end-point ou dispositivo-final conectado ao rob. O protocolo utilizado par comunicao entre os dispositivos ZigBee chamado de Comunicao via Mensagens (Communicating Via Messaging), isto significa que cada dispositivo comunica com outro, que esteja na mesma rede, por meio de mensagens. Cada dispositivo requer primeiramente descobrir e manter os endereos dos outros dispositivos possveis de envio e cada mensagem enviada direcionada diretamente para o dispositivo de interesse. Este tipo de comunicao chamado Endereamento Direto (Direct Addressing). A Faixa de freqncia utilizada na transmisso do ZigBee, por padro 2,4 GHz, a taxa de transferncia dentro desta banda 250 Kbps e a taxa de transferncia entre o mdulo e os circuitos implementados 115,200 Kbps (XBEE, 2009). O sistema de comunicao de dados em uma rede feita por meio do modo no guiado (non-beacon), cada dispositivo que deseja enviar um dado aguarda um canal disponvel (become idle), dentro da banda de 2,4Ghz, como mostra a figura 3-7.

29

Figura 3-6 Sistema de comunicao (non-beacon)

Os dados no ZigBee recebidos da UART pelo pino DI(RX) so colocados na fila para transmisso via RF. J os dados recebidos do canal de RF, so transmitidos por meio do pino DO(TX). O mdulo ZigBee estar configurado para o modo transparente, os dados so transmitidos e recebidos da mesma forma que uma comunicao Serial RS232 padro. Os mdulos dispem de buffers de transmisso e recepo para um melhor desempenho na comunicao serial. Na figura 3-8 tem-se o frame de dado padro do RS232.

Figura 3-7 Frame de dado padro RS232

Software - SICROMAE
O software em C++ instalado no computador remoto foi batizado como SICROMAE (Sistema de Controle de Robs para Mapeamento de Ambientes Estruturados), capaz de teleguiar o rob utilizando uma rede sem fio ZigBee, por meio da porta serial com o auxilio de um mdulo conversor conectado a porta USB. Tambm capaz de mostrar o mapeamento online. Protocolo de comunicao A comunicao entre o PC e o Rob efetuada por meio de um protocolo, descrito e especificado na tabela 3-2.

30
Tabela 3-1 Especificao dos comandos de comunicao Sentido do Sinal Comando Significado Comando/Byte Vai para trs 1000 100 PC ROBO Ao vai para frente vai para esq 10 vai para dir 1 0 0 ROBO PC Sensor ativo Atrs Frente Esquerda 0 Direita 0

Na tabela 3-3 tem-se os comandos para efetuar a comunicao PC->Rob e Rob->PC:

Tabela 3-2 Comandos de comunicao entre Rob e PC

ndice 1 2 3 4 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Comando 9 9 9 9 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 1 2 4 7 8

Descrio PC->Rob, conectar Rob->PC, confirmao conectar PC->Rob, desconectar Rob->PC, confirmao desconectar Rob->PC, nenhum sensor ativado Rob->PC, sensor da direita ativado Rob->PC, sensor da esquerda ativado Rob->PC, sensor da direita e esquerda ativados Rob->PC, sensor da frente ativado Rob->PC, sensor da direita e frente ativado Rob->PC, sensor da esquerda e frente ativados Rob->PC, sensor da direita, esquerda e frente ativados Rob->PC, sensor de tras ativado Rob->PC, sensor da direita e tras ativados Rob->PC, sensor da esquerda e tras ativados Rob->PC, sensor da direita, esquerda e tras ativados Rob->PC, sensor da frente e tras ativados Rob->PC, sensor da direita, frente e tras ativados Rob->PC, sensor da esquerda, frente e tras ativados Rob->PC, todos os sensores ativos PC->Rob, mover para direita PC->Rob, mover para esquerda PC->Rob, mover para frente PC->Rob, girar 180 graus PC->Rob, mover para trs

31

CAPTULO 4 - PROJETO

Neste captulo sero descritos os mdulos do projeto. Em cada mdulo do projeto tm-se diagramas esquemticos, fluxogramas e prottipos de telas.

Projeto do Hardware
Para o projeto de hardware tm-se os diagramas esquemticos dos mdulos de:

Microcontrolador Sensores Motores Comunicao Mdulo do Microcontrolador Foram utilizados 4 pinos do PORTB como sada, 2 pinos de PWM, os pinos de RX e TX da porta serial e 4 pinos da entrada analgica do microcontrolador. As funcionalidades dos pinos utilizados sero descritas nas prximas sees. Na figura 4-2 tem-se o esquemtico do mdulo do microcontrolador, seguida da tabela 4-3 de componentes do esquemtico.

32

Figura 4-1 Diagrama esquemtico do mdulo microcontrolador

Tabela 4-1 Componentes do microcontrolador

Legenda C2 X1

Componente 10n F 12K Hz

Na figura 4-4 tem-se a legenda dos sinais do mdulo do microcontrolador.

Tabela 4-2 Legenda de sinais do microcontrolador

Legenda Vcc OSC1 OSC2 O-MD O-ME I-SSD I-SSE I-SSF I-SST O-XBT I-XBR O-ME-IN1 O-ME-IN2 O-ME-ENA O-MD-IN1 O-MD-IN2

Pinagem 1 13 14 16 17 19 20 21 22 25 26 33 34 35 36 37

Sinal Alimentao Oscilador porta 1 Oscilador porta 2 Sada do PWM2 para motor direito Sada do PWM1 para motor esquerdo Entrada do sinal do sensor da direita Entrada do sinal do sensor da esquerda Entrada do sinal do sensor da frente Entrada do sinal do sensor de trs Sada serial para o mdulo ZigBee Entrada serial para o mdulo ZigBee Sada para controle do motor esquerdo pino 1 Sada para controle do motor esquerdo pino 2 Sada para habilitar motor esquerdo Sada para controle do motor direito pino 1 Sada para controle do motor direito pino 2

33

O-MD-ENB

38

Sada para habilitar motor direito

Mdulo do Sensor O mdulo de sensores dotado de quatro sensores, direita, esquerda, frente e trs. Todos so alimentados com 5 volts e suas sadas so conectadas as portas de entrada analgicas do microcontrolador como mostra a tabela 4-1.

Tabela 4-3 Saida dos sensores/Entrada no microcontorolador

Sensor Direita Esquerda Frente Trs

Entrada Microcontrolador RA0 RA1 RA2 RA3

Na figura 4-1 tem-se o diagrama de esquemtico do mdulo de sensor, seguida da tabela 4-2 das legendas dos componentes do esquemtico.

Figura 4-2 Diagrama esquemtico do sensor

Tabela 4-4 Componentes do esquemtico do sensor

Legenda R1 R2 U3

Componente 0,0047K Oms 22K Oms Sensor de Infravermelho

Mdulo dos Motores Como j citado foi utilizado o drive de potncia L298N para controle da polaridade e velocidade dos motores. Os pinos 5, 7, 10 e 12 so acoplados nos pinos 33, 34, 35 e 36 do microcontrolador para controle da polaridade e os pinos 6 e 11 acoplados no pinos 16 e 17, para controle da velocidade dos motores.

34 Na figura 4-3 tem-se o diagrama de esquemtico do mdulo de controle dos motores, seguida da tabela 4-5 dos componentes deste esquemtico.

Figura 4-3 Diagrama esquemtico do mdulo de controle dos motores Tabela 4-5 Componentes do mdulo de controle dos motores

Legenda R2 C3 L298

Componente 1 Ohm 100 nF Circuito integrado para inverso de polaridade

Na tabela 4-6 tem-se a legendas dos sinais do mdulo de controle dos motores.

Tabela 4-6 Legenda de sinais do mdulo de controle de motores

Legenda SENSA O-ME1 O-ME2 Vs I-ME-IN1 I-ME-ENA I-ME-IN2 GND Vcc I-MD-IN1 I-MD-ENB I-MD-IN2 O-MD1 O-MD2 SENSB

Pinagem 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Sinal Sada para o terra Sada 1 para o motor esquerdo Sada 2 para o motor esquerdo Tenso de referncia Entrada 1 do controle do motor esquerdo Entrada para habilitar motor esquerdo Entrada 2 do controle do motor esquerdo Terra Tenso de alimentao dos motores Entrada 1 do controle do motor direito Entrada para habilitar motor direito Entrada 2 do controle do motor direito Sada 1 para o motor direito Sada 2 para o motor direito Sada para o terra

35

Na figura 4-4 tem-se o diagrama esquemtico do circuito integrado L298.

Figura 4-4 Circuito Integrado L298

Mdulo de Comunicao O mdulo de comunicao utilizado foi o XBee da MaxStream, srie 1. Para a comunicao foi utilizado os pinos de RX e TX (2 e 3) acoplados nos pinos RX e TX (26 e 25) do microcontrolador. Este mdulo alimentado com 3,3 volts. Na figura 4-5, tem-se o diagrama de esquemtico deste, seguida da tabela 4-7 descrevendo as legendas dos sinais deste mdulo.

Figura 4-5 Diagrama esquemtico mdulo de comunicao

36
Tabela 4-7 Legenda de sinais da comunicao

Legenda Vcc O-XBT I-XBR GND

Pinagem 1 2 3 10

Sinal Tenso de alimentao Sada 1 para o motor esquerdo Sada 2 para o motor esquerdo Terra

Integrao dos Mdulos O circuito alimentado por duas baterias, uma de 9 volts e outra de 6 volts utilizada apenas no mdulo de controle dos motores. Possu dois reguladores de tenso, um regulando 9 para 5 volts, utilizado para os mdulos de sensor e microcontrolador, e outro regulando 5 para 3,3 volts utilizado no mdulo de comunicao. Na figura 4-6 tem-se o diagrama de esquemtico da integrao dos mdulos de hardware, formando assim o circuito do rob.

Figura 4-6 Diagrama do esquemtico do hardware

37 Na tabela 4-8 tem-se a tabela dos componentes do mdulo de hardware.

Tabela 4-8 Componentes do mdulo de hardware

Legenda B1 B2 C1 C2 D1 R1 R2 R3 R4 R5 R6 R7 U1 U2 U3 U4 U5

Componente Bateria de 9 volts Bateria de 6 volts Capacitor de 22pF Capacitor de 22pF LED de alto brilho na cor verde Resistor de 22K Ohm Resistor de 47 Ohm Resistor de 1 Ohm Resistor de 1 Ohm Resistor de 330 Ohm Resistor de 330 Ohm Resistor de 1K Ohm Microprocessador PIC 16F877A LM7805 Sensor de Infravermelho CI L298N LM317T

Circuito Impresso Na figura 4-7 tem-se a placa de circuito impresso do hardware.

Figura 4-7 Diagrama esquemtico do circuito impresso do hardware

Prottipo
O rob pesa aproximadamente 350 gramas e suas dimenses so de 18x18x15 centmetros. Na figura 4-8

38 tem-se o prottipo do rob batizado de PAS01.

Figura 4-8 Prottipo do rob

Projeto do Firmware
Como j foi citado, o firmware foi desenvolvido na linguagem C e foi utilizada a IDE MikroC, verso 8.0. O programa tem como funo fazer a leitura dos sensores e enviar esses dados para o computador remoto, utilizando o mdulo de comunicao citado neste capitulo, e assim ficar aguardando receber instrues da comunicao. E por fim fazer o tratamento dos dados recebidos. Na figura 4-9 tem-se o fluxograma do firmware.

39

Figura 4-9 Fluxograma do firmware

Projeto do Software SICROMAE


O software foi desenvolvido na linguagem C++, utilizando a IDE do Borland Builder 6.0. Na figura 4-10 tem-se o fluxograma do software.

40

Figura 4-10 Fluxograma do software SICROMAE

A tela principal composta de um menu, uma rea de log utilizada para mostrar o mapeamento, uma rea que mostra quais sensores esto ativados e desativados e uma rea que indica que movimento o rob esta executando. Na figura 4-11 tem-se a tela principal do software.

41

Figura 4-11 Tela principal do software SICROMAE

42 Se pressionado a opo do menu Comunicao podemos conectar ou desconectar a comunicao com o rob, como mostrado na figura 4-12.

Figura 4-12 Tela do software da opo Comunicao

43 Se a opo Mapeamento do menu for selecionada poderemos parar, continuar, carregar, salvar ou limpar o mapeamento, como mostra a figura 4-13.

Figura 4-13 Tela do software da opo Mapeamento

44 Quando a opo Configuraes do menu for solicitada, teremos a opo para selecionar a porta que est conectado o conversor USB/Serial do ZigBee ou a opo de configurao do rob, como mostra a figura 414.

Figura 4-14 Tela do software da opo Configuraes

45

Caso seja selecionado a opo Rob do menu Configuraes, pode-se configurar os sensores e os movimentos do rob, como mostra a figura 4-15.

Figura 4-15 Tela do software de configurao do rob da opo Configuraes

Os valores aceitos para configurao dos sensores variam de 0 999, sendo que 0 equivale 0 volt e 999 5 volts. Se o sensor da direita for configurado com o valor 499, este sensor ser ativado quando a leitura do sensor foi inferior a 2,5 volts. Para a configurao dos motores os valores variam de 0 255, sendo que 0 equivale a 0 volt e 255 5 volts. Para a configurao dos movimentos para a direita, esquerda e giro de 180 tambm tem-se a configurao do tempo que cada motor fica ativa. Esse valor varia de 0 999 milisegundos. Quando so efetuadas essas converses os motores so acionados em sentidos oposto sequencialmente. Utilizando a converso da direita como exemplo, tm-se os motores ativados na sequncia: direita para trs, esquerda para frente, direita para trs e finalmente esquerda para trs. Os tempos configurados so os tempos exatos que os motores ficam ativos. Na opo Sobre tem-se as informaes do software, como mostrado na figura 4-16.

Figura 4-16 Tela do software da opo Sobre

46

Na figura 4-17 tem-se um exemplo do software efetuando o mapeamento de uma ambiente estruturado.

Figura 4-17 Tela do software com o mapeamento em andamento

A inteligncia do rob no utiliza algoritimos genticos existentes, foi desenvolvido totalmente pelo autor do projeto. Foi utilizado o conceito de Controle Reativo (ver Captulo 2) no desenvolvimento.O cdigo pode ser visualizado no apndice C.

Testes e validaes
Nesta seo sero descritos os teste e validaes realizados no rob, software SICROMAE e sistema. Os resultados podem ser visualizados no Captulo 5 Resultados. Rob Utilizando um programa de teste no computador remoto foram efetuadas as seguintes validaes no rob: 1. Validar a comunicao com o PC. 2. Validar se o rob esta detectando corretamente os obstculos aproximados dos sensores da direita, esquerda, frente e trs. Tambm ser verificado se est enviando os dados corretamente para o PC. 3. Validar se o rob esta se movimentado em linha reta e efetuando as converses para a esquerda, direita e giro de 180 graus corretamente.

47 Software SICROMAE Abaixo tem-se os as validaes realizadas utilizando o software SICFROMEA: 1. Validar a comunicao com o rob. 2. Validar a inteligncia do rob. 3. Validar o mapeamento online. Para validar a comunicao foi repetido o de comunicao realizado para validar a comunicao do rob com o computador remoto. Foram efetuados testes de mesa utilizando ambientes estruturados virtuais, para validar a inteligncia do rob e o mapeamento online. Sistema Abaixo esto descritas as validaes realizadas para a o sistema: 1. Validar comunicao entre PC->Rob e Rob->PC. 2. Analisar se as informaes recebidas e enviadas ao rob foram corretas. 3. Verificar se as opes do software SICROMEA, Parar Mapeamento e Continuar Mapeamento estavam funcionando corretamente. 4. Verificar se o campo de Log do software SICROMEA est apresentando as informaes corretas do mapeamento. 5. Verificar se o mapeamento online na tela do SICROMEA est correto. 6. Analisar a velocidade media em que o rob se movimenta e a distncia percorrida por pixel no sistema SICROMEA. 7. Verificar a autonomia das baterias de 6 e 9 volts do rob. As configuraes para o rob no software SICROMAE foram de 650 para os sensores, 145 para PWM da esquerda e 130 para PWM da Direita. Na figura 4-18 tem-se o projeto do ambiente estruturado utilizado nos testes:

Figura 4-18 Planta do projeto do ambiente estruturado dos testes e validaes

48

CAPTULO 5 - RESULTADOS

Neste captulo so apresentados os resultados obtidos nos teste e validaes.

Rob
Para a validao da comunicao do rob foi utilizado um led de conexo conectado ao microcontrolador e aps efetuada a conexo o led de cor verde foi ativado com sucesso. O teste foi repetido por dez vezes e em todas foi obtido xito em todos. A segunda validao foi verificar se o rob esta detectando corretamente os obstculos aproximados dos sensores e tambm se estava enviando os dados corretamente para o PC. Assim, foram desligados os motores e foram aproximados objetos na direo dos sensores. Todos os sensores detectaram os objetos sem problemas e enviaram corretamente as informaes para o PC. A distncia mnima e mxima entre os sensores e os objetos medida foi de trs a seis centmetros. Essa variao decorrente da luminosidade do ambiente. As validaes foram repetidas dez vezes para cada sensor (direita, esquerda, frente e trs) e foi obtido xito em todas.

Figura 5-1 Validao do sensor da frente

49

Figura 5-2 Validao do sensor da direita

Figura 5-3 Validao do sensor da esquerda

Figura 5-4 Validao do sensor de trs

Por fim foi validado se o rob estava efetuado as converses para direita, esquerda e giro de 180

50 corretamente. Foram realizadas trinta converses no total, sendo elas dividas igualmente para esquerda, direita e giro de 180. Todas as converses foram efetuadas com xito, mas em vinte por cento das converses para a direita e esquerda o rob no fez a converso prximo de 90 graus, variando entre 90 e 100. Para os giros de cento e oitenta graus no ocorreram erros.

Software SICROMEA
Para efetuar a validao da comunicao do software com o rob foi repetido o teste de comunicao realizado para o rob, mas agora utilizando o software SICROMAE. A validao foi repetida por dez vezes e em todas foi obtido xito. Por fim, foram validadas a inteligncia e o mapeamento do online do software. Foram efetuados testes de mesa minuciosos utilizando ambientes virtuais para estas validaes. Tambm foram desligados os motores do rob e em seguida efetuada a comunicao do computador remoto com o rob. Assim, foram aproximados objetos na direo dos sensores do rob e verificado se a inteligncia trabalhava corretamente e se o software efetuava o mapeamento online na tela. Os testes foram satisfatrios quando utilizados ambientes estruturados com ngulos derivados de 90 graus. Para estes ambientes a inteligncia no encontrou dificuldades para efetuar o mapeamento. Na figura 5-5 tem-se o software executando o mapeamento.

Figura 5-5 Validao do software

Sistema
Para efetuar a validao do sistema foi utilizado o ambiente estruturado mostrado na figura 4-18 do captulo

51 4. Foram repetidas dez vezes o mapeamento deste ambiente e foram obtidos os resultados descritos abaixo:

Velocidade Mdia do rob igual a 0,2 m/s. Cada pixel apresentado na tela do software SICROMEA equivalente a 0,13 metros mapeado, podendo ocorrer uma variao de um centmetro, tanto para cima como para baixo. A luminosidade do ambiente estruturado interfere na distncia em que os obstculos so detectados. O rob se comporta muito bem em ambientes estruturados com obstculos de ngulos quadrados, derivados de noventa graus, caso existam obstculos no derivados destes ngulos o mapeamento no ser preciso. Tanto o software SICROMEA como o firmware no apresentaram erros. Houve correo da direo do rob em vinte por cento dos movimentos para frente. As causas podem estar relacionadas a obstculos deformados ou calibrao errada do rob para o ambiente (sensores e PWMs). A autonomia do rob foi de aproximadamente 25 a 30 minutos utilizando baterias alcalinas.

Na figura 5-6 tem-se imagens da validao do sistema.

Figura 5-6 Validao do sistema

Vale ressaltar que o rob deve ser calibrado para cada ambiente estruturado, podendo ocorrer problemas no mapeamento caso isso no ocorra.

52

CAPTULO 6 CONCLUSO

Neste captulo apresentada a concluso do projeto, assim como trabalhos futuros e as dificuldades encontradas.

Concluso
Ao final dos testes e validaes realizadas com o sistema pode-se afirmar que ao final do projeto, o sistema para mapeamento de ambientes estruturados, composto de um rob telecomandado, um computador remoto e o software SICROMAE atendeu as expectativas inicialmente estabelecidas neste projeto, efetuando o mapeamento de ambientes estruturados. Logo, esse projeto se mostrou capaz de ser utilizado para aplicaes domsticas, como robs autnomos que limpam a casa e brinquedos autnomos.

Trabalhos Futuros
Para melhor funcionamento do sistema seria muito importante aumentar a quantidade de sensores, de quatro para oito, sendo alocados nas extremidades das arestas do rob, com isso aumentaria o desempenho para mapeamento de ambientes estruturados com obstculos irregulares. Outra modificao importante seria a instalao de uma cmera fotogrfica para o armazenamento de imagens do ambiente mapeado, com isso seria necessrio utilizar motores com potncia superior dos atuais de 0,5A. Mas a mais ambiciosa seria incrementar a inteligncia para mapeamento de ambientes diversos, com diferentes tipos de solos e obstculos mveis.

Dificuldades Encontradas
Foram encontradas poucas dificuldades em relao ao desenvolvimento do software SICROMEA, apenas um gasto maior de tempo com o desenvolvimento da inteligncia do rob. Em relao ao desenvolvimento do firmware ocorreram problemas em virtude da falta da opo de debug apresentada no gravador de PIC, sendo ela solucionada efetuando testes minuciosos no firmware. No mdulo de hardware as dificuldades foram maiores, a principal foi devido caixa de reduo do conjunto de rodas serem de plstico causando um desgaste diferenciado e abusivo em cada conjunto, tambm causando um desgaste desnecessrio de tempo para a calibrao em diferentes pisos para que o rob se movimentasse corretamente, em linha reta e efetuasse as converses para a direita, esquerda e 180. Tambm encontrei dificuldades para a utilizao de baterias seladas devido baixa potncia (0,5A) dos motores para transport-las.

53

REFERENCIAS BIBLIOGRFICAS

AGUIRRE, L. A.; DA SILVA, A.P.A.; Campos, M.F.M; Do Amaral, W.C. (2007). "Enciclopdia de Automtica: Controle e Automao". Editora Blucher: So Paulo, Vol.3 (Robtica). AGX (2009). AGX - AGplane. Disponvel em: http://www.agx.com.br/. Visitado em: 21 de outubro de 2009. AMARKONMYWALL. Disponvel em: http://amarkonmywall.wordpress.com/2008/03/29/the-high-cost-ofkiddos/. Visitado em: 22 de outubro de 2009. ASIMOV, I. (1968) I, Robot (a collection of short stories originally published between 1940 and 1950 ), Voyager - HarperCollinsPublishers, 249p. BEKEY, GEORGE A. (2005) Autonomous Robots: From Biological Inspiration to Implementation and Control. The MIT Press: Cambrigde, London. 563p. DE SOUZA, D. J; LAVINIA, N. C. PIC16F877A Conectando o PIC: Recursos Avanados. So Paulo: rica, 2008. 389p. DUDEK, G.; JENKIN, M. (2000). Computational Principles of Mobile Robotics. Cambridge, London, UK: The MIT Press, 280 p. FOX, D., BURGARD, W., AND THRUN, S. (1999A) Markov localization for mobile robots in dynamic environments, Journal of Artificial Intelligence Research, vol.11, pp.391-427. GISLASO, D. (2006). ZigBee Wireless Networking, CMP Books, 2006, 256 p. GUNTLE, G; SCHILDT, H. Borland C++ Builder: Referncia Completa. So Paulo: Campus, 2001. 780p. HEINEN, M. R.; OSRIO, F. S. (2006a). Applying Genetic Algorithms to Control Gait of Physically Based Simulated Robots. In: IEEE Congress on Evolutionary Computation. Proceedings of the WCCI - CEC. Vancouver: IEEE Press. v. 1. p. 6714-6721. HONDA (2009). Humanoid robot ASIMO. Disponvel em: http://world.honda.com/ASIMO/. Visitado em: 20 de outubro de 2009. IROBOT (2009). Cleaning Robots (Roomba, Scooba, Dirt Dog, Verro). Disponvel http://www.irobot.com/ ou http://en.wikipedia.org/wiki/Roomba. Visitado em: 20 de outubro de 2009. em:

JUNG, C. R.; OSRIO, F. S.; KELBER, C.; HEINEN, F. (2005) Computao embarcada: Projeto e implementao de veculos autnomos inteligentes, In: Anais do CSBC05 XXIV Jornada de Atualizao em Informtica (JAI). So Leopoldo, RS: SBC, v. 1, p. 13581406. Disponvel em: http://osorio.wait4.org/palestras/jai2005.html Visitado em: 20 de outubro de 2009. MICROCHIP, PIC 16F87XA 28/40/44 PIN ENHANCED FLASH MICROCONTROLERS, Data Sheet, 2003.

54 NERIS, LUCIANO DE OLIVEIRA (2001). Um piloto automtico para as aeronaves do projeto ARARA, USP ICMC. Dissertao de Mestrado do PGCCMC. Orientador: Onofre Trindade Junior. Disponvel em: http://www.teses.usp.br/]. Visualizado em: 20 de outubro de 2009. RHEA. Disponvel em: http://rhea.la.asu.edu/spl/missions/mer/. Visitado em: 22 de outubro de 2009. ROVERS. Disponivel em: http://pt.wikipedia.org/wiki/Mars_Exploration_Rovers. Visitado em : 8 de dezembro de 2009. SONY. Disponvel em: http://support.sony-europe.com/aibo/. Visitado em: 22 de outubro de 2009.

ST MICROELECTRONICS, L298N DUAL FULL-BRIDGE DRIVER, Data Sheet, 2000.


XBEE. Disponvel em: http://www.digi.com/register/index.jsp?mu=/pdf/ds_xbeemultipointmodules.pdf. Visitado em: 08 de dezembro de 2009. WALYOU. Disponvel em: http://www.walyou.com/blog/2008/11/17/automower-solar-powered-lawnmower/. Visitado em: 22 de outubro de 2009. THRUN, S.; BURGARD, W.; FOX, D. (2005). Probabilistic Robotics. Cambridge: The MIT Press. 667p.