Implementação de Algoritmos de Controle de Topologia em Times de Robôs Orientador – Dr. Carlos H. C. Ribeiro Aluno - Edney da S. Souza Disciplina CES-35 : Redes de Computadores e Internet Professora - Dr. Cecília de Azevedo Castro César 05 de Outubro de 2015 Roteiro Introdução • Linhas de Pesquisa • Aplicações • Objetivos do Mestrado • O robô E-puck • Dificuldades encontradas Apresentação dos Projetos • Projeto 1 • Projeto 2 Contatos Referências Linhas de Pesquisa Controle de Topologia em redes móveis ad-hoc O problema de controle de topologia em redes sem fio consiste em se determinar uma configuração (topologia) para a rede de forma a se fazer com que uma determinada propriedade seja válida. (por exemplo, conectividade), ao mesmo tempo em que se procura minimizar o gasto de energia e/ou interferências. Linhas de Pesquisa Algoritmos para Controle de Topologia • KHOPCA - K-hop clustering algorithm • LMST - Local Minimum Spanning Tree • CBTC - Cone-Based Topology Control Linhas de Pesquisa Times de Robôs Um conjunto de robôs no qual, através das interações entre eles e interações entre eles e o ambiente, fazem surgir um comportamento coletivo (desejável). Atualmente os times de robôs são muito utilizados em trabalhos que oferecem algum tipo de risco ao ser humano. Exemplo: Missões de resgate em desastres, tarefas em áreas classificadas, inspeção em locais de difícil acesso, etc. Linhas de Pesquisa Modelo de mobilidade para os times de robôs Normalmente os robôs móveis possuem um modelo de mobilidade: • Random Waypoint • Manhattan Mobility Model • Random Walk Aplicações “ Onde os conceitos de mobilidade e controle de topologia podem ser aplicados no mundo real ?” Aplicações Fonte: http://www.flightradar24.com/ Aplicações Backbone de rede Celular 3G Fonte: www.revistadoparafuso.com.br Aplicações Fonte: www.pinterest.com Fonte: visualstudiomagazine.com Aplicações Fonte: http://sinda.crn2.inpe.br/PCD/SITE/novo/site/index.php Aplicações Objetivos 1 – Implementar o algoritmo KHOPCA em um time de robôs “e-puck” Versão Simulador Vrep 3.0 Versão Robôs reais 2 – Analisar os resultados das duas versões 3 – Implementar outros algoritmos para controle da topologia e analisar os resultados no simulador e nos robôs reais. Exemplo: LMST - Local Minimum Spanning Tree CBTC - Cone-Based Topology Control Objetivos Como objetivos secundários: 4 – Provar que esses algoritmos idealizados no mundo dos simuladores se comportam da mesma forma no mundo real. 5 – Uma vez que funcione em ambiente real, poderia aplicar em: • Problemas de roteamento • Aplicação de vacinas em problemas epidemiológicos • Escolha de rotas de manutenção em meios aéreos, terrestres e navais • Problemas de vulnerabilidades em redes em geral. 6 – Obter uma plataforma para experimentos em times de robôs O Robô E-Puck • Robô móvel com duas rodas paralelas e controle diferencial • Processador dsPIC30 – 30Mhz • 7 cm de diâmetro • Peso 200g • Velocidade máxima 13cm/s • Adaptador bluetooth • Sensor infra-vermelho • 2 motores de passo • 8KB de memória RAM • 144KB memória Flash • Câmera VGA colorida • Acelerômetro 3D • 3 microfones e 1 auto-falante Visão Computacional Câmera • Logitech HD Pro Webcam C920 • Vídeo em Full HD 1080p • Resolução Máxima 1920 x 1080 pixels • Lentes Carl Zeiss • 78° Field of View Comunicação Outros componentes de hardware 1 – Computador com processador core i5, 12GB de RAM, placa de vídeo AMD Radeon™ HD R9 270 2GB GDDR5 2 – Adaptadores wireless bluetooth dongle, Range 10m, Usb 2.0. O projeto Cenário •Arena confeccionada em MDF branco fosco com bordas de 8 cm de altura. (180cm x 180cm x 8cm) •Suporte para a câmera - estrutura metálica com 200cm x 270cm. Detecção de Objetos Bibliotecas Zxing (Zebra Crossing) • Biblioteca open-source para processamento de imagens de código de barras 1D/2D • Implementada em Java • Formatos suportados: UPC-A, QR Code, Datamatrix, etc Comunicação Serial Bibliotecas JSSC 2.8 – Java Simple Serial Connector • Biblioteca java para comunicação utilizando a porta serial • Pode trabalhar com Event Listeners Visão Computacional Bibliotecas BoofCV • Biblioteca open-source para visão computacional de tempo real e aplicações robóticas • Implementada em Java • Possui diversos pacotes: Processamento de imagens, Visão Geométrica, Reconhecimento de imagens, Integração de Hardware, etc Versão Robôs reais Bibliotecas BoofCV Versão Robôs reais Projeto EpuckNet EpuckNet RobotWindow Camwindow Communication System Tracking System ConfigWindow Detalhes Detalhes do Projeto • Ambiente de desenvolvimento Eclipse e Java 1.7 • Rodando em Linux Ubuntu 14.04 • Os algoritmos para embarcar nos robôs foram desenvolvidos em C. • Ambiente de desenvolvimento para os algoritmos a serem embarcados no robôs – Mplab X • A gravação do firmware é feita através do TinyBootloader. Versão Robôs reais Fonte: https://www.youtube.com/watch?v=PaswrjgyW-M Dificuldades Encontradas 1 – Comunicação Bluetooth entre os robôs; 2 – Comunicação Bluetooth entre os robôs e o computador; 3 – Conexão de mais de 7 robôs em uma mesma rede através do Bluetooth. Apresentação dos Projetos Projeto 1: Desenvolver um protocolo de comunicação entre os robôs e entre um robô e o computador, utilizando a tecnologia bluetooth; Avaliar a utilização do protocolo desenvolvido para a comunicação com até 10 robôs; Realizar experimentos para mostrar os tempos de comunicação. Dica: Os robôs podem ser programados em linguagem C e já possuem bibliotecas para a manipulação do bluetooth. Apresentação dos Projetos Projeto 2: Desenvolver um projeto eletrônico que permita interligar o módulo ESP8266 com o robô e-puck, para permitir a utilização do adaptador wifi pelo robô; Desenvolver um programa de controle “Bridge” para converter os sinais AT do ESP8266 em sinais aceitos pela porta UART do e-puck. Projeto 2 Contatos 1° Ten Eng. Edney da Silva Souza Centro de Computação da Aeronáutica de São José dos Campos Email: [email protected] Ramal: 6840 Referências S. Siddharth, "On the applicability of random mobility models for swarm robot movements“, 2007. Thesis. Rochester Institute of Technology MONDANA, F., BONANI, M., RAEMY, X., PUGH, J., CIANCI, C., KLAPTOCZ, A., MAGNENAT, S., ZUFFEREY, J.-C., FLOREANO, D. and MARTINOLI, A. (2009) The e-puck, a Robot Designed for Education in Engineering. Proceedings of the 9th Conference on Autonomous Robot Systems and Competitions, 1(1) pp. 59-65. V-REP simulator : Disponível em: <http://www.coppeliarobotics.com> Acesso em: 21/05/2015. Matthias, R. Brust Matthias , Carlos, H. C. Ribeiro Carlos , Turgut, Damla Turgut , Rothkugel, Steffen Rothkugel, LSWTC: A local small-world topology control algorithm for backbone-assisted mobile ad hoc networks, Proceedings of the 2010 IEEE 35th Conference on Local Computer Networks, p.144151, October 10-14, 2010. Lua: Disponível em: <http://www.lua.org> Acesso em: 21/05/2015 ABELES, P. BoofCV. Disponível em: <http://boofcv.org/>. Acessado em: 02/06/2015. DENSO, W. Sobre o QRCode. Disponível em: <http://www.qrcode.com/en/about/ >. Acessado em 30/09/2014.