OMNET++ APLICADO À ROBÓTICA COOPERATIVA



Documentos relacionados
TP308 Introdução às Redes de Telecomunicações

Roteamento e Roteadores. Conceitos Diversos

Tempos e Estados Globais. ECO036 - Sistemas Paralelos e Distribuídos

Arquitetura de um sistema integrado de defesa cibernética para detecção. de botnets

# $ % & ' ( ) * ' ( ) *! " " Orientador +, -

Aula 13 Roteamento Dinâmico com Protocolos Link-State (Protocolo OSPF)

Redes P2P Gnutella e Simuladores

Capítulo 7: Roteando Dinamicamente

Capítulo 7: Roteando Dinamicamente

Sistemas Distribuídos Capítulo 8 - Aula 13

Sistemas Operacionais. Tipos de SO

Organização e Arquitetura de Computadores I

Técnicas de acesso múltiplo Aloha. O Nível de Enlace nas Redes Locais. Aloha. Aloha. Aloha. Multiple. Sense. Access) CSMA (Carrier(

Redes de Computadores. Prof. MSc André Y. Kusumoto

Configurar IP SLA que segue para as rotas estáticas IPv4 em um interruptor SG550XG

Sincronização em Sistemas Distribuídos

Protocolos de Roteamento link-state

Compreendendo o Cisco Express Forwarding (CEF)

também conhecido como Interior Gateway Protocols (IGP) protocolos de roteamento intra-as mais comuns:

ROUTER. Alberto Felipe Friderichs Barros

Introdução à Computação

Roteiro. Introdução Sincronização de Relógio Físico Sincronização de Relógio Lógico Exclusão Mútua

Controlador Lógico Programável

Capítulo 4 A camada de REDE

Topologias de redes de computadores

Seminário: André V. S. Cunha

Sistemas Distribuídos Capítulo 3 - Aula 3

CCNA 1 Comutação Ethernet. Kraemer

Capítulo 7: Roteando Dinamicamente (Resumo)

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Redes de Computadores

Zone Routing Protocol - ZRP[1]

Redes de Computadores

Barramento. Prof. Leonardo Barreto Campos 1

LABORATÓRIO DE ARQUITETURA DE COMPUTADORES PREPARAÇÃO 02: DISPLAY DE 7 SEGMENTOS MICROCONTROLADO

Um Algoritmo Probabilista de Recuperação de Erros para Difusão Fiável

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Redes de Computadores

Manual de Instalação do Programa Conexão Digital Fiscal CDF. Versão 2.0.0

Manual de instalação e configuração

Arquiteturas. Capítulo 2

Roteamento BGP. Introdução

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Configurando o interruptor como um cliente SNTP do protocolo de tempo de rede simples do unicast através do CLI

Up-grade do sistema de Self-Healing da Energisa MS, de uma implementação Caseira para uma solução de Mercado. Aluísio de Barros Leite Energisa MS

Redes de Computadores

Sistemas Distribuídos

Pop-Routing: Centrality-based Tuning of Control Messages for Faster Route Convergence

Sistema de Aquisição de Dados em Tempo Real Utilizando Software Livre e Rede Ethernet para Laboratório de Controle

Flávio G F Camacho Vipnet Baixada Telecomunicações e Informática LTDA

Resistindo a Ataques de Personificação no Gerenciamento de Chaves Públicas em Redes Ad Hoc Móveis

Comunicação de Dados II

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores

Capítulo 4 A camada de REDE

(Broadcast - um emissor envia a mensagem para todos os nós do sistema) Multicast um emissor, um grupo de processos como receptores

Algoritmos Distribuídos. AD Algoritmos Básicos 1

4 Arquitetura Adotada

Redes de Computadores. Prof. André Y. Kusumoto

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

2 Fundamentação Conceitual

Redes de Computadores RES 12502

Introdução aos Protocolos de Roteamento Dinâmico

Lista de Exercícios. Camada de Enlace de Dados

Projeto ADAMANTIUM. ADAptative Management of media distribution based on satisfaction oriented User Modelling.

Sistemas Distribuídos Capítulo 8 - Aula 14

Um Repositório Chave-Valor com Garantia de Localidade de Dados. Patrick A. Bungama Wendel M. de Oliveira Flávio R. C. Sousa Carmem S.

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos

Redes de Computadores

Trabalho do Curso de Redes de Computadores COS765/MAB /1

Sincronização em Sistemas Distribuídos

Comunicação em tempo real

Algoritmos Distribuídos para Roteamento em Redes Ad Hoc

Redes de Computadores

Redes de Computadores e Aplicações. Aula 37 Roteamento IP Unicast Dinâmico RIP

Directed Diffusion. Danilo Michalczuk Taveira 1. Grupo de Teleinformática e Automação (GTA) Disciplina CPE825 - Roteamento em Redes de Computadores

4 Sistema Computacional:

CCNA Exploration (Protocolos e Conceitos de Roteamento) Protocolo RIP

Nome: Nº de aluno: 2ª Ficha de Avaliação Teórica Data Limite de Entrega 06/11/2015

Um Serviço Escalável e Robusto para Gerenciamento de Membros em Grades Computacionais de Grande Escala*

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços

Técnicas de Virtualização e Autoconfiguração para o Projeto de Redes de Nova Geração

Sistemas de Detecção de Intrusão

Programação Distribuída. Metas de um Sistema Distribuído

Organização e Arquitetura de Computadores I

O Nível de Enlace nas Redes Locais. Técnicas de acesso múltiplo Aloha. Aloha

Sistemas Distribuídos

Redes de Computadores

5 Impactos Econômicos do Sistema Proposto

Redes de Computadores 2 Prof. Rodrigo da Rosa Righi - Aula 2

Aula 9. Estimar grandezas de desempenho de um sistema (métricas).

Configuração da transmissão múltipla não registrada no Switches controlado 200/300 Series

Introdução 12 que inuenciam a execução do sistema. As informações necessárias para o diagnóstico de tais problemas podem ser obtidas através da instru

Manual SIGOSMS Aplicação de Gerenciamento e Envio SMS

Retrofitting de Robôs. Walter Fetter Lages Universidade Federal do Rio Grande do Sul Departamento de Engenharia Elétrica

CCNA 2 Conceitos Básicos de Roteadores e Roteamento

APLICAÇÃO E DESENVOLVIMENTO DE UM SISTEMA DE TELEMETRIA À ESTAÇÕES METEOROLÓGICAS

AULA 04 CONCEITOS DA CAMADA 02 PARTE 02

4 TRABALHOS RELACIONADOS

Gestão de Segurança da Informação. Interpretação da norma NBR ISO/IEC 27001:2006. Curso e Learning Sistema de

Transcrição:

OMNET++ APLICADO À ROBÓTICA COOPERATIVA Daniel Costa Ramos Doutorando Disciplina de Redes de Comunicação Professor Carlos Montez 07/2014

2/25 Estrutura da Apresentação Introdução Robótica Cooperativa Material e Métodos Software e Estrutura da Simulação Parâmetros e Considerações Resultados Código e Principais Funções Simulação Conclusão Problemas e Trabalhos Futuros

Introdução 3/32

4/25 Introdução O que é um robô? Comunicação

Introdução Representação de um robô y 5/25 x

6/25 Introdução Robótica Cooperativa

7/25 Introdução Arquiteturas de Comunicação Centralizada: robôs enviam seus dados para uma central que realiza as decisões do grupo; Descentralizada: robôs trocam mensagem entre si, sem interferência de um agente central; 2 3 4 1 7 Robo 1..N (x,y) 5 8 6

8/25 Introdução Cooperação Consenso: algoritmos capazes de fazer os robôs entrarem em acordo sobre uma informação; Rendezvous: algoritmos que realizam o encontro dos robôs (após uma missão) em uma posição acordada;

9/25 Introdução Objetivos do trabalho Estudar e aprender o software; Representar os robôs e sua comunicação; Montar algoritmo capaz de enviar mensagens e lidar com o recebimento das mesmas; Realizar o consenso sobre o ponto de encontro; Avaliar a troca de mensagem e a convergência deste ponto para todos os robôs; Detectar problemas e propor soluções; Avaliar a utilização do software para tese.

Materiais e Métodos 10/32

11/25 Materiais e Métodos Software OMNeT++ O OMNeT++ é um simulador e espaço de trabalho extensível, modular e baseado em C++, cujo principal objetivo é construir simulações de redes. >> SO: Windows utilizando terminal do programa. >> Linguagem: C/C++ Protocolo de comunicação para rendezvous/consenso >> Ordoñez, B. (2013) Estratégia de controle cooperativo baseado em consenso para um grupo multi-veículos. Tese de doutorado, UFSC, PGEAS, 2013. Assunto da minha tese

12/25 Preparando a Simulação Cada robô possui estados (x, y), referência (x, y) para onde devem ir e um vetor de estados, com os estados de todos os outros robôs. Conexões limitadas (não há ninguém que saiba todos os estados); A mensagem transmitida aos vizinhos (multi-cast para todas conexões) contém este vetor e são transmitidas sequencialmente (Tese do Bernardo);

13/25 Preparando a Simulação 3 Etapas de elaboração: 1. Etapa 1: robôs estacionários, primeiras trocas de mensagens. Os robôs trocavam mensagem sobre a referência, fazendo a média do valor recebido com o seu valor; 2. Etapa 2: robôs estacionários, trocas de mensagem envolvendo vetores contendo as informações sobre as posições iniciais dos robôs. Foi elaborada falha nas mensagens (10%), algumas análises estatísticas e detecção dos primeiros problemas; 3. Etapa 3: robôs móveis e mudança na aparência da simulação. Foi implementado uma solução para o problema detectado na segunda etapa.

14/25 Parâmetros 10 Robôs com a configuração: Atraso de propagação: 20ms Tempo de Ciclo: 500ms Chance de Perda: 10% Considerações: atraso de propagação, processamento (inicial e final);

15/25 Considerações Não há controle sobre perdas de pacotes ou de informações. É considerado o envio rápido e massivo de mensagens similares. Se houver erro ou perda de uma mensagem, não haverá impacto significativo no sistema; Foi considerada uma rede isolada, sem tráfego paralelo. O atraso de 20ms já possui uma margem de segurança e é considerado o atraso máximo; Foi dado intervalo de 50ms entre os robôs, ou seja, no pior caso, o robô terá 30msde processamento; Foi considerado um número razoável de robôs, o número 10 foi utilizado para facilitar a interpretação dos tempos dos eventos; Os robôs possuem um movimento simples, incrementando ou decrementando seu movimento em direção ao ponto de rendezvous.

Resultados 16/32

17/25 Simulação - Arquivos A simulação consiste de quatro arquivos: Robot.ned : define topologia; Robov2.cc : arquivo principal; Robot.msg: define a mensagem; Omnetpp.ini: inicialização do OMNeT++.

18/25 Simulação Funções Arquivo Principal Inicialização: Executa 1 vez só, no início da simulação; Atribui valor inicial para variáveis; Agenda a primeira auto mensagem para cada robô; Criação de mensagem: Cria uma mensagem, utilizando os parâmetros do arquivo msg; Atribui valores para destinatário e origem.

19/25 Simulação Funções Enviar de mensagem: Copia os dados do vetor de estados para a msg; Envia a msg para o destinatário; Atualização de display: Atualiza o texto no display gráfico; Finalização: Executa uma única vez ao finalizar a simulação; Exibe dados estatísticos;

20/25 Simulação Funções Gerenciador de mensagem: Acionado toda vez que uma mensagem chega ao módulo; Sinal de Mensagem Origem == Destinatário? Sim. Envie mensagens aos vizinhos e agende a próxima auto mensagem. Não. A mensagem falhou? 10% Sim. Deleta a mensagem. 90% Não. Armazene os dados.

21/25 Simulação - Execução

22/25 Simulação Problema Detectado

23/25 Soluções Msg Receb. 10 10 10... Estados 4 7 8... Resultado 10 10 10... Criação de contadores = idade dos dados. X1 X2 X3 X4... X9 X10 1 0 1 2 6 4 Cada robô possui os estados como antes, mas também um vetor indicando a idade dos mesmos. Só há troca de dados se o dado recebido for mais novo que o existente. A cada envio/ciclo, o contador é incrementado em cada robô para todos os estados que o mesmo tem armazenado. Seu próprio dado (posição atual), é atualizado com contador 0.

24/25 Soluções Msg Recebida 10 10 10... Contador Msg 3 1 2... Anterior 20 20 20... Contador Velho 2 5 1... Resultado 20 10 20... 2 1 1...

25/25 Simulação Final

26/25 Simulação Final

27/25 Simulação Final

28/25 Simulação Final

29/25 Simulação Final Executar Simulação;

Conclusão 30/32

31/25 Conclusão Algoritmo funcionando conforme planejado; Melhor detecção de falhas e de problemas relacionados a comunicação; Foi possível determinar um caso que a tese anterior não abordou; A principal dificuldade foi aprender o funcionamento do software e conciliar com falta de familiaridade com C++. Apesar disto, os tutoriais e o manual do software foram de grande ajuda para conseguir elaborar este código. Pretende-se dar continuidade a este trabalho já que está diretamente ligado ao assunto da tese de doutorado. Pretende-se realizar a incorporação de uma solução de consenso mais elaborada;

Obrigado pela Atenção! CONTATO daniel8484@yahoo.com.br 32/32