Simulação de coleta de dados em redes de sensores sem o por robôs móveis utilizando a ferramenta Player/Stage

Documentos relacionados
Simulação de coleta de dados em redes de sensores sem o por robôs móveis utilizando a ferramenta Player/Stage

Simulação de coleta de dados em redes de sensores sem o por robôs móveis utilizando a ferramenta Player/Stage

Simulação de coleta de dados em redes de sensores sem o por robôs móveis utilizando a ferramenta Player/Stage

Simulação de coleta de dados em redes de sensores sem o por robôs móveis utilizando a ferramenta Player/Stage

Construção de Wiki para a MISTOOL, uma Ferramenta de Aplicação do Método de Inspeção Semiótica

Simulação de Dispositivos Dinamicos para Jogos

Compressão Adaptativa de Arquivos HTML em Ambientes de Comunicação Sem Fio

ESTUDO DE MÉTODOS DE APRENDIZADO DE MÁQUINA CAPAZES DE IDENTIFICAR AS VARIÁVEIS MAIS IMPACTANTES NO DESEMPENHO DE UMA MINERADORA

(P AA) 2 PACOTE DE APOIO A APRENDIZAGEM DE PROJETO E ANÁLISE DE ALGORITMOS: IMPLEMENTAÇÃO EM JAVA

SIMULAÇÃO DE COLETA DE DADOS EM REDES DE SENSORES SEM FIO POR ROBÔS MÓVEIS UTILIZANDO A FERRAMENTA PLAYER STAGE

DGPAPP Tutorial. Introdução. Daniel Centeno Einloft Vinicius Meirelles Pereira. 20 May 2014

DESENVOLVIMENTO DE UM REPOSITÓRIO DE DADOS DO FUTEBOL BRASILEIRO

UMA AUTENTICAÇÃO SEGURA USANDO BLUETOOTH PARA A PLATAFORMA ANDROID

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Disciplina de Programação de Robôs Móveis SSC-0712

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Modelagem de ferramentas focadas em ontologias para a EaD baseadas em teorias sociais e agentes inteligentes

4 Análise de Dados. 4.1.Procedimentos

Redes de Computadores I REDES AD HOC. Seminário Novas Tecnologias em Redes. Katharine Schaeffer Fertig Kristhine Schaeffer Fertig

Introdução ao Python. Programa Computacional

Disciplina de. Programação de Robôs Móveis SSC-0712

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

Data: 28/05/2010 8h as 12h. IP addresses and the port numbers of the components.

INTEGRAÇÃO DE UMA REDE DE SENSORES SEM FIO COM A WEB UTILIZANDO UMA ARQUITETURA ORIENTADA A SERVIÇO

IP addresses and the port numbers of the components.

CloudGuide - Uma plataforma de suporte ao turista em Ouro Preto com pontos de acesso sem o

Métodos de implementação de linguagens. Kellen Pinagé

SSC0748 Redes Móveis

UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO Data: 23/09/2015 Currículo de Cursos Hora: 07:48:26

Noções de sistemas de computação

Conceitos computacionais

Sistema Operacional. Etapa

Caracterização de Padrões de Uso da Rede do DECOM Proposta de Projeto de Monograa.

Aula 1: Apresentação do Curso

IA - Planejamento II

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

MAC Trabalho de formatura Supervisionado. Avaliação de Duas Monograas Passadas

Sis i te t mas a O perac a i c o i nai a s um p ouco c d a a h is i tó t ria i. a... SO His i t s ó t r ó ic i o

Introdução à Programação Aula 01. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

1 Objetivo. 2 Descrição do domínio. Primeiro Trabalho - Segundo semestre de 2007 Sistema de Apoio a Jogos Lotéricos. 2.1 Caracterização dos jogos

Chamadas de Sistema (SYSCALL)

Aluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER

Introdução a Teste de Software

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

TinyOS. Saymon Castro de Souza. Orientador: Prof. Dr. José Gonçalves Pereira Filho

2.1 NesC Seguem alguns dos principais desafios impostos à linguagem NesC:

Sistemas Operacionais Estrutura do Sistema Operacional. Arquiteturas do Kernel

Trabalho de Sistemas Operacionais

Aula 1: Apresentação do Curso

Palavras-chave: (banco de dados; prontuário médico; paciente); deve vir logo abaixo do resumo

AULA 1 INTRODUÇÃO AO JAVA

SSC0548 Redes Móveis

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO Data: 29/08/2011 Currículo de Cursos Hora: 16:19:21

SSC0748 Redes Móveis

Unidade III. Unidade III. Existe uma tendência dos sistemas de informação a funcionarem cada vez mais em Intranets e na Internet.

Tipos de Sistemas Distribuídos

Projeto Integrador. <Projeto Integrador> Documento Visão. Versão <1.0>

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO Data: 05/07/2017 Currículo de Cursos Hora: 17:30:22

DESENVOLVIMENTO DO JOGO DE DAMAS UTILIZANDO A BIBLIOTECA ALLEGRO

Análise e projeto de sistemas

INTERNET DAS COISAS: PROTÓTIPO DE BAIXO CUSTO PARA MONITORAR TEMPERATURA E UMIDADE

PROJETO DE UM MODELO DE UM CONVERSOR ANALÓGICO DIGITAL PARA SOC S

Implementação de um protópito de uma interface para um controlador de cadeira. de rodas guiado pela direção do olhar.

Nuvem e Virtualização Redes Programáveis

UMA IMPLEMENTAÇÃO PARALELA DO ALGORITMO DE EVOLUÇÃO DIFERENCIAL AUTOADAPTATIVO

Arquitetura geral. Redes de Sensores. Características. Arquitetura

Redes de Sensores. Arquitetura geral. Características

Inteligência Artificial Agentes Inteligentes

4 Arquitetura Adotada

Introdução à Computação

Gerando um programa executável a partir de um módulo Python

Matéria: Sistema Computacional - SC. Prof.: Esp.: Patrícia Dias da Silva Peixoto

Subsistemas de E/S Device Driver Controlador de E/S Dispositivos de E/S Discos Magnéticos Desempenho, redundância, proteção de dados

USO DE PARALELISMO DE DADOS PARA MAIOR EFICIÊNCIA DE ALGORITMOS DE PROCESSAMENTO DE IMAGENS

Universidade Metodista de Piracicaba. Trabalho de Inteligência Artificial LABIRINTO

Algoritmos, Estruturas de Dados e Tipos Abstratos de Dados (TADs)

Material baseado nos slides de: Marcos José Santana Regina Helena Carlucci Santana

SSC0548 Redes Móveis

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

MINICURSO - PLATAFORMA ARDUINO Eixo de Informação e Comunicação Gil Eduardo de Andrade

Análise empírica de algoritmos de ordenação

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

ESTUDO DA TRANSFERÊNCIA AUTOMÁTICA DE DADOS PARA UM ROBÔ MÓVEL NA PLATAFORMA LEGO MINDSTORMS

PRODUÇÃO DE UMA INTERFACE GRÁFICA (SOFTWARE ACADÊMICO) PARA SIMULAÇÃO DE UMA COLUNA DE DESTILAÇÃO

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Desenvolvimento de Aplicações Distribuídas

Introdução à Computação: Máquinas Multiníveis

3 Aprendizado por reforço

Padronização da interface dos Sistemas da UFOP

Manual de Compilação/Execução da Aplicação SmartHome

Aula 12. Aquisição de Hardware

Transcrição:

Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM Simulação de coleta de dados em redes de sensores sem o por robôs móveis utilizando a ferramenta Player/Stage Aluno: Gabriel Angelo Nazário Matrícula: 06.1.4057 Orientadora: Andréa Iabrudi Tavares Ouro Preto 11 de julho de 2011

Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM Simulação de coleta de dados em redes de sensores sem o por robôs móveis utilizando a ferramenta Player/Stage Relatório de atividades desenvolvidas apresentado ao curso de Bacharelado em Ciência da Computação, Universidade Federal de Ouro Preto, como requisito parcial para a conclusão da disciplina Monograa I (BCC390). Aluno: Gabriel Angelo Nazário Matricula: 06.1.4057 Orientadora: Andréa Iabrudi Tavares Ouro Preto 11 de julho de 2011

Resumo As Redes de Sensores Sem Fio (RSSF, ou WSN, sigla de Wireless Sensor Networks) são redes usadas com o intuito de monitorar algum fenômeno, onde se tem diversos dispositivos distribuídos no espaço a ser estudado. As RSSFs podem ser usadas em diversos estudos, como por exemplo, no monitoramento de condições ambientais de uma oresta. Porém, um fator importante que deve ser observado diz respeito ao consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados. Para essa tarefa, é possível contar com o apoio de robôs móveis, o que pode representar uma diminuição do consumo de energia. Palavras-chave: Redes de sensores sem o. Coleta de dados. Robôs móveis.

Sumário 1 Introdução 1 2 Justicativa 3 3 Objetivos 7 3.1 Objetivo geral................................ 7 3.2 Objetivos especícos............................ 7 4 Metodologia 8 5 Desenvolvimento 11 5.1 Instalação e conguração do Player/Stage................ 11 5.2 Aprendizado do uso do Player/Stage................... 11 6 Trabalhos Futuros 14 7 Cronograma de atividades 15

Lista de Figuras 1 Capacidade de comunicação dos sensores................. 2 2 Envio dos dados dos sensores de forma multi-hop............ 3 3 Coleta dos dados com ajuda de robôs................... 4 4 Player sendo usado em um robô real................... 5 5 Player/Stage sendo usados numa simulação................ 6 6 Situação real................................ 9 7 Situação simplicada............................ 10 8 Caminhamento simples........................... 12 9 Desvio simples do obstáculo........................ 13 10 Desvio com vetor de repulsão entre robô e obstáculo........... 13 Lista de Tabelas 1 Cronograma de Atividades......................... 15 2 Trabalhos futuros a serem desenvolvidos.................. 15

1 Introdução O uso de Redes de Sensores Sem Fio (RSSF) é algo relativamente novo. Esse novo tipo de tecnologia se fez possível graças ao avanço no desenvolvimento de circuitos integrados, micro-processadores e comunicação sem o. Uma rede de sensores (não somente as wireless, mas também as cabeadas) é constituída basicamente de: Fenômeno: aquilo que se deseja observar ou estudar. Observador: usuário nal, grupo de usuários, ou até mesmo um sistema computacional, que deseja obter respostas sobre o fenômeno monitorado através de seu estudo. Sensor: responsável pela monitoração do fenômeno (através de medidas), e por passar as informações ao observador, que depois irá estudá-las. Cada nó da rede possui pelo menos um tipo de sensor, de acordo com o que se deseja observar. Esses sensores podem ser para medidas de temperatura, umidade, calor, acústico, infravermelho, entre outros. E cada sensor possui uma certa capacidade de armazenamento de dados, e um raio de comunicação, onde seu sinal pode ser alcançado (Figura 1). As RSSFs podem ser usadas num amplo conjunto de áreas e aplicações onde se queira monitorar algo. Entre essas áreas, podem ser citadas como exemplo: Meio ambiente: monitoramento de variáveis ambientais (calor, umidade, temperatura, etc) em prédios, casas, orestas, oceanos, entre outros. Militar: monitoramento, rastreamento, segurança, principalmente em áreas perigosas e/ou de difícil acesso. Tráfego: monitoramento de vias, controle de tráfego. Industrial. 1

Figura 1: Capacidade de comunicação dos sensores 2

2 Justicativa Numa Rede de Sensores Sem Fio (RSSF), cada sensor pode operar por longos períodos de tempo, indo de semanas até mesmo a anos. Isso, é claro, depende da quantidade de energia disponível na bateria que o alimenta e sua capacidade de armazenamento de dados. Logo, percebe-se que a questão de energia é um ponto muito importante nesse contexto. Muitas vezes, o processo de envio de dados dos sensores até o observador (ou nó central) se dá de forma multi-salto (Figura 2), ou seja, passando de um nó para o outro, o que leva a um grande consumo de energia. Nesse tipo de aplicação, o bom aproveitamento dos recursos energéticos é um ponto essencial. Figura 2: Envio dos dados dos sensores de forma multi-hop Uma alternativa a esse tipo de coleta é a utilização de robôs móveis, como mostrado na Figura 3. Com isso, não há necessidade de transmissão dos dados de forma multisalto, passando por todos os nós da rede até o nó central. Com a ajuda dos robôs, há economia da energia, tornando esse processo viável. Outra vantagem: pode-se alcançar ambientes de difícil acesso para seres humanos (por exemplo, um ambiente muito frio). A coleta dos dados armazenados nos nós sensores da rede se faz com os robôs percorrendo o ambiente onde estão localizados. Um ponto importante a se observar é que essa atividade geralmente se dá em um domínio estocástico, guiado por fatores não determinísticos. Por exemplo, um nó sensor pode estar numa posição diferente daquela que o robô procura (ou que ele esperava encontrá-lo). Estudar esse problema levando em conta as suas características não determinísticas implica em um alto grau de complexidade computacional, devido à incerteza de suas ações, tomadas de decisão, aspectos físicos, entre outros. 3

Figura 3: Coleta dos dados com ajuda de robôs As simulações são importantes pelo fato de permitir modelar e estudar uma situação real em um ambiente virtual, ou seja, caso uma simulação não dê certo, não haverá perdas e/ou danos a equipamentos. Com isso, há uma diminuição dos custos (dinheiro, tempo, equipamentos, etc.) envolvidos no estudo. Por meio da simulação, é possível também explorar diferentes cenários. A modelagem é uma abstração do problema real. Além dessa abstração, o problema será ainda simplicado, não considerando suas características não determinísticas. Para essas simulações, serão utilizados os softwares Player e Stage. O Player é uma ferramenta voltada a aplicações de controle de robôs móveis. É muito utilizado em universidades e centros de pesquisa. É de código aberto e de livre distribuição, e por isso está em constante desenvolvimento. Utiliza a arquitetura cliente/servidor, e possui suporte a diversas linguagens (entre elas C, C++, Python e Java). Nesse trabalho, o código-fonte dos programas de controle que se comunicam com o Player será em C++. O Stage é um simulador de robôs e ambientes em 2 dimensões, compatível com o Player. O Stage é muito usado no desenvolvimento inicial de código, através das simulações, para que depois possa ser testado em robôs reais. De acordo com o manual [6], a comunicação entre o código e o Player/Stage se baseia no modelo cliente/servidor. O Player é uma camada de abstração do hardware do robô, que pega as intruções do código implementado e envia as instruções para um robô. Do robô ele recebe os dados coletados pelos sensores, e os envia para o código. O Stage faz uma interface com o Player, da mesma maneira como o hardware de um robô real faria. Ele recebe instruções do Player e faz a movimentação de um robô em um mundo virtual, pega os dados dos sensores desse robô e os envia ao Player. 4

A Figura 4 mostra a estrutura cliente/servidor do Player quando usado em um robô real. A Figura 5 mostra a estrutura do Player/Stage sendo usados em um ambiente de simulação. Figura 4: Player sendo usado em um robô real 5

Figura 5: Player/Stage sendo usados numa simulação 6

3 Objetivos 3.1 Objetivo geral O principal objetivo desse trabalho é o estudo da coleta de dados em redes de sensores sem o auxiliada por robôs móveis, onde os nós sensores podem ter diferentes capacidades de armazenamento. Para esse estudo, serão feitas simulações utilizando o Player/Stage. Como descrito anteriormente, serão feitas de forma bem mais simples do que da maneira que realmente ocorrem na natureza. 3.2 Objetivos especícos Para que o objetivo geral do trabalho seja alcançado, podemos destacar como etapas intermediárias: Instalação e conguração do Player/Stage. Realizar simulações simples, visando o aprendizado de como usar o software, e conhecer seus recursos e limitações. Estudo de estratégias para o problema da coleta dos dados. Denições das políticas (comportamento do robô, forma de atuação com o meio, percepção de outros objetos que constituem o meio) que serão adotadas durante a coleta, de acordo com as estratégias estudadas e escolhidas. Implementação dessas estratégias. Realização das simulações. Estudo dos resultados obtidos. 7

4 Metodologia Para a realização deste trabalho, o primeiro passo é a instalação e conguração do Player/Stage. Feito isso, é preciso um breve estudo sobre a ferramenta em questão: como funciona, linguagens de programação suportadas, tipos de arquivos necessários, como congurá-lo, etc. Com a ferramenta já instalada e congurada, através de um pequeno tutorial (disponível pela própria desenvolvedora), deve-se implementar uma pequena simulação, com o intuito de se familiarizar com o ambiente de desenvolvimento e também para testar se tudo está funcionando corretamente. Após essa etapa inicial, pode-se dar início ao próximo passo, que é desenvolver outras simulações mais simples, para um melhor aprendizado. Com as ferramentas necessárias já disponíveis, deve-se iniciar o estudo das estratégias que serão usadas no trabalho, as quais podem resultar num melhor desempenho dos robôs que farão a coleta dos dados. As políticas usadas nas simulações são resultado desse estudo de estratégias. Com isso, é possível realizar as simulações e, na etapa nal, um estudo dos resultados obtidos. Esse problema será abordado de forma simplicada, isto é, serão feitos estudos e simulações voltadas para problemas de natureza mais simples do que realmente ocorrem em situações do mundo real. Não serão levadas em conta todas as características encontradas numa situação real. Não simplicar o problema tomaria um tempo muito maior do que o disponível para realização desse trabalho. A Figura 6 exemplica uma situação real, com os sensores e seus respectivos raios de comunicação. Entre eles, encontram-se alguns obstáculos. Já a Figura 7 mostra como será um ambiente mais simples. O ambiente de simulação será um grid de tamanho xo. Nesse grid, encontram-se os elementos que constituem o mundo: robôs, nós sensores e obstáculos. Uma posição pode estar vazia, pode conter um sensor ou um obstáculo. Os elementos que estarão disponíveis no mundo serão denidos previamente, ou seja, trata-se de um ambiente estático: não haverão interferências externas (como mudança na posição do sensor, por exemplo). Feito isso, será implementado o comportamento do robô nesse mundo. É nessa implementação que serão denidas quais decisões o robô deverá tomar caso encontre um nó sensor, por exemplo. Denido que cada nó da rede possui uma certa capacidade de armazenamento, é preciso fazer uma coleta de forma a minimizar a perda de dados. Para isso é necessário denir a ordem de visita dos nós. Esse é um ponto importante do planejamento da rota a ser seguida, como dito anteriormente, a m de se evitar perda de dados. Por exemplo: um sensor com menor capacidade de armazenamento deve ser visitado antes de um com maior capacidade? Tudo isso será estudado de acordo com as decisões tomadas. Serão comparadas soluções mais simples (como as soluções gulosas) e soluções mais elaboradas. Ao se denir uma rota, deve-se levar em conta que há um deadline para a coleta ser feita, ou seja, um prazo que, caso seja extrapolado, acarretará na perda dos dados armazenados no sensor. O problema do roteamento entre os nós deve ser muito bem explorado, pois a perda dos dados coletados signica desperdício de tempo e recursos envolvidos na aplicação da rede sem o. Os códigos serão implementados na linguagem C++. Os testes serão feitos através da execução desse código sobre o robô. Com isso, será feita a análise de seu desempenho: se as ações tomadas eram as esperadas, se o objetivo foi alcançado, etc. Caso 8

o desempenho não seja satisfatório, deve-se voltar ao código e modicá-lo, até que o objetivo esperado seja alcançado. Figura 6: Situação real 9

Figura 7: Situação simplicada 10

5 Desenvolvimento Seguindo os passos descritos nos objetivos, as atividades desenvolvidas serão apresentadas a seguir. 5.1 Instalação e conguração do Player/Stage O Player e o Stage formam um conjunto de ferramentas usadas em aplicações voltadas a pesquisa e atividades que envolvem robótica. Está disponível para diversos sistemas operacionais, e possui suporte a várias linguagens de programação. Foi escolhida a versão para Linux. A primeira tentativa de instalação foi na distribuição Ubuntu 10.04. Nessa distribuição, a instalação do Player se fez seguindo um pequeno tutorial [6], com sucesso ao nal. Já a instalação do Stage (também seguindo os passos em [6]) não foi bem sucedida. Mesmo procurando a causa dos erros, o programa não funcionou. A wiki do Player/Stage [2] informa que algumas distribuições Linux possuem esses programas diretamente nos seus repositórios. Mudando para o sistema operacional Fedora 14, os programas foram procurados no assistente de instalação e, após encontrá-los, foram instalados sem nenhum problema. Em seguida, foram realizados alguns testes (disponíveis pelo próprio programa), funcionando corretamente. Porém, ocorreram erros quando um programa fonte (na linguagem C++) precisava ser compilado para rodar sobre uma simulação. Esse erro não era de instalação do Player/Stage, mas devido a falta do pacote com o compilador GCC. Esse erro foi sanado instalando-se o pacote com o compilador. Após isso, um pequeno programa foi compilado e rodado sobre o Player, com sua execução ocorrendo como esperado. 5.2 Aprendizado do uso do Player/Stage Através do tutorial [6] disponível no próprio site do Player/Stage [1], é possível aprender sobre o funcionamento da plataforma. Através desse guia, é explicado ao novo usuário sobre o funcionamento, tipos de arquivos necessários para o desenvolvimento das simulações, parâmetros envolvidos em cada tipo de arquivo, etc. Paralelamente a essa explicação, um pequeno exemplo bem simples é desenvolvido, para que o usuário possa ir acompanhando tudo aos poucos. Assim, foi possível saber como criar um robô, sua forma, seus dispositivos, obstáculos, etc. O guia foi seguido e, depois de algumas tentativas e vários erros, o exemplo pôde ser concluído. O próximo passo foi a realização de pequenas simulações, ainda com o objetivo de se familiarizar mais com a plataforma. A primeira delas consistiu em um mundo simples, com apenas um objeto: um robô. O objetivo foi fazer com que o robô caminhasse de um ponto para outro. Tanto o ponto inicial do robô quanto o nal são conhecidos. Essa simulação foi realizada com sucesso. A segunda simulação também consistiu no deslocamento do robô de um ponto a outro, mas foi dividida em 3 partes: na primeira, a posição inicial já era conhecida pelo robô, e a nal seria informada pela linha de comando; na segunda, tanto a posição inicial quanto a nal seriam informadas pela linha de comando, fazendo com que o robô utilizasse algum sensor para se localizar; e na terceira, a posição inicial seria informada pela linha de comando, e a nal seria aleatória, gerada durante a execução 11

do programa, onde novamente o robô seria obrigado a usar algum sensor para perceber sua posição. Todas essas três partes foram implementadas e executadas corretamente. Uma terceira simulação consisitiu em fazer o robô se deslocar num ambiente com obstáculo, ou seja, o robô deveria desviar caso algum objeto estivesse em seu caminho. Em todas as situações, o caminhamento foi feito da forma mais simples: primeiro o robô se deslocava no eixo x, depois no eixo y, como mostrado na Figura 8. Figura 8: Caminhamento simples Como foi desenvolvida uma atividade onde o robô se desloca e desvia de obstáculos, foi preciso escolher a forma de se fazer esse desvio. A primeira opção, onde o robô contorna o obstáculo de forma mais simples, é apresentada na Figura 9. Foi proposta também uma outra forma de desvio, onde seria calculado um vetor de repulsão entre o robô e o obstáculo, e a cada momento que o robô se aproximasse do obstáculo sua rota sofreria um desvio (Figura 10). Porém não foi possível desenvolvê-lo, devido a diculdades de implementação. Assim, essa opção foi descartada, e o desvio simples (mostrado anteriormente) será utilizado. 12

Figura 9: Desvio simples do obstáculo Figura 10: Desvio com vetor de repulsão entre robô e obstáculo 13

6 Trabalhos Futuros Algumas estratégias que serão utilizadas no trabalho já foram estudadas e escolhidas. A forma de como o problema será abordado, de maneira simplicada, uso do grid de tamanho xo, escolha do caminhamento do robô e desvio de obstáculos foram estratégias escolhidas tendo em vista a simplicação do problema. Para trabalhos futuros, cam as decisões de implementação das ações do robô com relação à coleta de dados: quantos nós serão visitados, ordem dessas visitas. Juntamente com essas decisões implementadas, será analisado se houve perda de dados, eciência da estratégia. Essas decisões fazem parte do estudo da coleta sem perda de dados. 14

7 Cronograma de atividades Na Tabela 1, é apresentado o cronograma das atividades que serão realizadas durante esse trabalho. Os trabalhos futuros estão na Tabela 2 Atividades Março Abril Maio Junho Julho Instalação e conguração do X Player/Stage Estudo do funcionamento da ferramenta, através de tutoriais X X Estudo de algumas estratégias que serão utilizadas X X X Apresentação do Relatório de Atividades X Tabela 1: Cronograma de Atividades. Atividades Futuras Estudo das estratégias que serão implementadas Implementação Realização das simulações Estudo dos resultados obtidos Redigir a Monograa Apresentação da Monograa Tabela 2: Trabalhos futuros a serem desenvolvidos. 15

Referências [1] The Player Project. http://playerstage.sourceforge.net. Acessado pela última vez em 15/05/2011. [2] Player/stage wiki. http://playerstage.sourceforge.net/wiki/main_page. Acessado pela última vez em 15/05/2011. [3] Leslie Pack Kaelbling, Michael L. Littman, and Anthony R. Cassandra. Planning and acting in partially observable stochastic domains. ARTIFICIAL INTELLI- GENCE, 1998. [4] Antonio Alfredo Ferreira Loureiro. Redes de sensores sem o. Disponível em http: //www.ic.unicamp.br/~cmbm/desafios_sbc/loureiroredesensores.pdf. [5] Mário Montenegro Campos Marcelo Boghetti Soares. On robotic data collection strategies in wireless sensor networks: From deterministic to stochastic approaches. [6] Jennifer Owen. How to Use Player/Stage, 2010. Disponível em http:// playerstage.sourceforge.net/index.php?src=doc. [7] Denis Fernando Wolf. Player/Stage: controlador e simulador de robôs móveis. Disponível em http://www.icmc.usp.br/~denis/files/player_man_v20.pdf. 16