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.
Download

Notas de Robótica