Introdução • A robótica promove diversos benefícios a sociedade; • Os robôs podem ser divididos em diferentes tipos, onde cada um se encaixa com propósitos diferentes, arquitetados de maneiras distintas. Exemplo de robôs de mobilidade terrestre O Axel Rover é um exemplo de robô com duas rodas. Desenvolvido pela NASA, o robô permite uma maior versatilidade em seu movimento, e é usado para exploração de terrenos em Marte, em lugares que a Curiosity pode ter dificuldade de acesso. O EOD-Robots, exemplo de robôs com esteira, construídos para poupar a vida de soldados no campo de batalha. Estes robôs são equipados com esteiras iguais a tanques de guerra, a fim de suportar grandes pesos em diferentes tipos de terrenos. Alguns destes robôs, por exemplo, são utilizados para o desarmamento de bombas Robôs autônomos • Robôs autônomos podem tomar decisões e realizar tarefas especificas em ambientes desestrudos sem a intervenção humana. • Existem diferentes tipos de automação, que introduzem técnicas diferentes para a realização de determinada tarefa: – Robôs executores; – Robôs baseados em sensores; Aplicações de robôs autônomos • • • • Indústria Transporte e Vigilância Pesquisa e Ciência Serviços Quais habilidades um robô autônomo precisa? • Identificação: O que é isto? - Detecção/reconhecimento de objetos • Movimentação: Como eu me movo com segurança? - Desvio de obstáculos, direção • Manipulação: Como eu mudo isto? - Interação com objeto / ambiente • Navegação: Onde eu estou? - Mapeamento / localização O Projeto • Este trabalho tem como propósito o desenvolvimento de um robô semiautônomo, que utilizará um smartphone como principal fonte de processamento, além de ser o principal sensor ao meio externo, utilizando sua câmera como guia para se orientar por trilhas ou caminhos através de métodos de visão computacional, a fim de se chegar a um destino. Visão Computacional • Conjunto de técnicas e métodos que permitem que um sistema consiga interpretar imagens. • Passos: – Aquisição da imagem; – Pré-processamento; – Extração de características; – Detecção e segmentação; – Processamento de alto nível; Por que visão computacional? • Pontos positivos: – Fonte rica de informação sobre o ambiente; – Principal sensor humano; • Pontos negativos: – Complexidade em extrair informações de imagens – Requer alto processamento; Proposta de solução Implementação 1. Construção do protótipo do robô NXT. 2. Desenvolvimento da API de comunicação via Bluetooth entre o Celular e o NXT. 3. Desenvolvimento do controle manual 4. Desenvolvimento do módulo de detecção e perseguição de linhas. 5. Desenvolvimento do módulo de detecção e perseguição de pistas. 6. Desenvolvimento do módulo de detecção de círculos para execução de alguma ação pré-determinada. Ambiente de desenvolvimento Tegra Android Developer Pack 1.0r8 • IDE Eclipse • SDK Android • Biblioteca OpenCV http://www.nvidia.com/content/devzone/tegra-android-developer-pack.html A linguagem utilizada para o desenvolvimento da aplicação é o Java. Construção do protótipo API de comunicação A API de comunicação foi desenvolvida para permitir que o Celular se comunique com o NXT. Foi desenvolvida baseada no protocolo Lego Communication Protocol (LCP, Bluetooth). Sua documentação é descrita em: http://mindstorms.lego.com/en-us/support/files/default.aspx Controle manual Detecção de Linha por Cor Detecção da Pista Detecção de Circulo por Cor Funcionamento da Aplicação Resultados do Controle Manual • Através da interação do usuário, o robô passou a se locomover na direção desejada • O protótipo inicial se baseou na utilização do módulo de controle manual • Um dos problemas encontrados neste módulo foi o tratamento da conexão bluetooth. Caso a mesma não fosse fechada corretamente após seu uso, a aplicação passava a exibir mensagens de erro, impossibilitando seu uso em diante. Resultados do Controle Manual • Com o protótipo inicial fechado, foi possível trabalhar no desenvolvimento da autonomia do robô. • O módulo de detecção de linhas por cores foi desenvolvido com o propósito da detecção de trajetos e rotas baseado em cores específicas. • O robô conseguiu se locomover em linha reta como esperado quando identificado à rota, porém, teve problemas quando o trajeto possuía curvas, ou o robô saísse de uma trajetória linear Resultados do Controle Autônomo • Com o desenvolvimento do módulo de detecção de pistas, o robô passou a ter uma autonomia maior, independendo da necessidade específica de rotas pré-determinadas. • O desempenho da locomoção do robô também é influenciado pela luz ambiente. • O módulo de detecção de símbolos permite que o robô consiga identificar quando chegar a seu caminho. A princípio, este processo seria realizado via o reconhecimento de QR Code, porém, foi identificado uma maior complexidade neste processo, e comparado ao tempo final de entrega do projeto, a identificação de símbolos utilizando a biblioteca OpenCV se tornou uma saída viável. Desta maneira, o robô pára ao identificar um número de círculos pré-determinados. Resultados do Controle Autônomo O robô conseguiu se locomover em linha reta como esperado quando identificado à rota, porém, teve problemas quando o trajeto possuía curvas, ou o robô saísse de uma trajetória linear. Desta forma, foi identificada a necessidade de regular a velocidade dos motores baseado no número de pontos encontrados no trajeto, garantindo uma melhor locomoção mais suave. Resultados do Controle Autônomo Resultados do Controle Autônomo Conclusões • O objetivo do projeto foi alcançado com êxito. • As demais etapas do desenvolvimento foram concluídas completamente, onde cada módulo funcionou como esperado; • Entre os módulos aplicados, a detecção de linha foi a mais fácil de ser implementada, e a mais precisa, ao contrário da detecção de pista; • Além da aplicação e da compreensão de novos conceitos, foram adquiridos conceitos ao longo do curso. Trabalhos Futuros • Aprimorar as técnicas de visão computacional, para permitir que o robô consiga se adaptar a novos ambientes fechados, como faculdades e outros locais públicos. • Também se sugere a implementação de novos recursos, como a possibilidade de locomoção em ambientes abertos, utilizando o GPS como sensor externo, aproveitando a utilização do módulo de lane detection para locomoção autônoma. • O robô também pode sofrer adaptações em sua estrutura, para melhor locomoção, com a inclusão de novos sensores para permitir a interpretação do mundo externo. Entre elas, a inclusão do sensor ultrassônico para identificação de obstáculos a frente, além do sensor laser, para permitir detecção de degraus a frente. Referências • • • • • • • • • • • • • • DA SILVA, LUCIANO ROTTAVA. Análise e programação de robôs móveis autônomos na plataforma Eyebot. Disponível em: <http://www.das.ufsc.br/~rottava/download/dissertacao.pdf>. DE SOUZA, FELIPPE. Automação Industrial e Robótica. Disponível em: <http://webx.ubi.pt/~felippe/texts3/autom_ind_cap1.pdf>. BROOKS, R. A., Achieving Artificial Intelligence Through Building Robots, MIT AI Lab Memo No. 899, May 1986. Disponível em: <http://people.csail.mit.edu/brooks/papers/aim-899.pdf> http://www.newtoncbraga.com.br/index.php/robotica/4018-rp0001.html http://asimo.honda.com/ RAMOS, B. RAMOS, R. CALADO, S, Automatic Guided Vehicle. Disponível em: < http://users.isr.ist.utl.pt/~pjcro/cadeiras/api0405/pdf_files/G03_SEM.pdf> http://thenxtstep.blogspot.com.br/ http://mindstorms.lego.com SHIH, Bih-Yaw. CHEN, Chen-Yuan. CHOU Wei-Chung. Obstacle avoidance using a path correction method for autonomous control of a biped intelligent robot. 2010. CUBEK, RICHARD. A Color Blob Based Robot Vision, 2010. Disponível em: <http://amser.hsweingarten.de/cms/administrator/components/com_intranet/uploads/paper/70/pa_c ubek.pdf>. [2] MELO, Leonimer Flávio de. Proposta de Simulador Virtual para Sistemas de Navegação de Robôs Móveis Utilizando Conceitos de Prototipagem Rápida, 2007. 293p. Tese (Doutorado) – Faculdade de Engenharia Mecânica, Universidade Estadual de Campinas, Campinas. Orth, A. Desenvolvimento de um sistema de visão para medir o desgaste de flanco de ferramentas de corte. Dissertação de Mestrado, Universidade Federal de Santa Catarina, 2001. REN, F. HUANG, J. TERAUCHI, M. JIANG, R. KETTLE, R. Lane Detection on the iPhone Suzuki, S. and Abe, K., Topological Structural Analysis of Digitized Binary Images by Border Following. CVGIP 30 1, pp 32-46 (1985)