simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de...

19

Upload: phamnga

Post on 22-Dec-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

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árioMatrícula: 06.1.4057

Orientador: Andréa Iabrudi Tavares

Ouro Preto

1 de julho de 2011

Page 2: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

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 porrobôs móveis utilizando a ferramenta Player/Stage

Relatório de atividades desenvolvidas apre-sentado ao curso de Bacharelado em Ciên-cia da Computação, Universidade Federalde Ouro Preto, como requisito parcial paraa conclusão da disciplina Monogra�a I(BCC390).

Aluno: Gabriel Angelo NazárioMatricula: 06.1.4057

Orientador: Andréa Iabrudi Tavares

Ouro Preto

1 de julho de 2011

Page 3: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

Resumo

As Redes de Sensores Sem Fio (RSSF, ou WSN, sigla deWireless Sensor Networks)são redes usadas com o intuito de monitorar algum fenômeno, onde se tem diversosdispositivos distribuídos no espaço a ser estudado. As RSSFs podem ser usadas emdiversos estudos, como por exemplo, no monitoramento de condições ambientais deuma �oresta. Porém, um fator importante que deve ser observado diz respeito aoconsumo 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 derobô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.

Page 4: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

Sumário

1 Introdução 1

2 Justi�cativa 3

3 Objetivos 5

3.1 Objetivo geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.2 Objetivos especí�cos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4 Metodologia 6

5 Desenvolvimento 9

5.1 Instalação e con�guração do Player/Stage . . . . . . . . . . . . . . . . 95.2 Aprendizado do uso do Player/Stage . . . . . . . . . . . . . . . . . . . 9

6 Trabalhos Futuros 12

7 Cronograma de atividades 13

Page 5: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

Lista de Figuras

1 Capacidade de comunicação dos sensores . . . . . . . . . . . . . . . . . 22 Envio dos dados dos sensores de forma multi-hop . . . . . . . . . . . . 33 Coleta dos dados com ajuda de robôs . . . . . . . . . . . . . . . . . . . 44 Situação real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Situação simpli�cada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Caminhamento simples . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Desvio simples do obstáculo . . . . . . . . . . . . . . . . . . . . . . . . 118 Desvio com vetor de repulsão entre robô e obstáculo . . . . . . . . . . . 11

Lista de Tabelas

1 Cronograma de Atividades. . . . . . . . . . . . . . . . . . . . . . . . . 132 Trabalhos futuros a serem desenvolvidos. . . . . . . . . . . . . . . . . . 13

Page 6: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

1 Introdução

O uso de Redes de Sensores Sem Fio (RSSF) é algo relativamente novo. Esse novotipo de tecnologia se fez possível graças ao avanço no desenvolvimento de circuitosintegrados, micro-processadores e comunicação sem �o. Uma rede de sensores (nãosomente 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 com-putacional, que deseja obter respostas sobre o fenômeno monitorado através deseu estudo.

• Sensor: responsável pela monitoração do fenômeno (através de medidas), e porpassar 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 desejaobservar. Esses sensores podem ser para medidas de temperatura, umidade, calor,acústico, infravermelho, entre outros. E cada sensor possui uma certa capacidade dearmazenamento de dados, e um raio de comunicação, onde seu sinal pode ser alcançado(�gura 1).

As RSSFs podem ser usadas num amplo conjunto de áreas e aplicações onde sequeira monitorar algo. Entre essas áreas, podem ser citadas como exemplo:

• Meio ambiente: monitoramento de variáveis ambientais (calor, umidade, temper-atura, etc) em prédios, casas, �orestas, oceanos, entre outros.

• Militar: monitoramento, rastreamento, segurança, principalmente em áreasperigosas e/ou de difícil acesso.

• Tráfego: monitoramento de vias, controle de tráfego.

• Industrial.

1

Page 7: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

Figura 1: Capacidade de comunicação dos sensores

2

Page 8: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

2 Justi�cativa

Numa Rede de Sensores Sem Fio (RSSF), cada sensor pode operar por longos perío-dos de tempo, indo de semanas até mesmo a anos. Isso, é claro, depende da quantidadede energia disponível na bateria que o alimenta e sua capacidade de armazenamento dedados. Logo, percebe-se que a questão de energia é um ponto muito importante nessecontexto. Muitas vezes, o processo de envio de dados dos sensores até o observador(ou nó central) se dá de forma multi-salto (�gura 2), ou seja, passando de um nó parao outro, o que leva a um grande consumo de energia. Nesse tipo de aplicação, o bomaproveitamento 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 mostradona �gura 3. Com isso, não há necessidade de transmissão dos dados de forma multi-salto, 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-sealcançar ambientes de difícil acesso para seres humanos (por exemplo, um ambientemuito frio). A coleta dos dados armazenados nos nós sensores da rede se faz comos robôs percorrendo o ambiente onde estão localizados. Um ponto importante a seobservar é que essa atividade geralmente se dá em um domínio estocástico, guiadopor fatores não determinísticos. Por exemplo, um nó sensor pode estar numa posiçãodiferente daquela que o robô procura (ou que ele esperava encontrá-lo). Estudar esseproblema levando em conta as suas características não determinísticas implica em umalto grau de complexidade computacional, devido a incerteza de suas ações, tomadasde decisão, aspectos físicos, etc.

3

Page 9: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

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çãoreal 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. Através da simulação, é possíveltambém explorar diferentes cenários. A modelagem é uma abstração do problemareal. Além dessa abstração, o problema será ainda simpli�cado, não considerando suascaracterísticas não determinísticas. Para essas simulações, serão utilizados os softwaresPlayer 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 delivre distribuição, e por isso está em constante desenvolvimento. Utiliza a arquiteturacliente/servidor, e possui suporte a diversas linguagens (entre elas C, C++, Python eJava). Nesse trabalho, o código-fonte dos programas de controle que se comunicam como 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.

4

Page 10: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

3 Objetivos

3.1 Objetivo geral

O principal objetivo desse trabalho é o estudo da coleta de dados em redes desensores sem �o auxiliada por robôs móveis, onde os nós sensores podem ter diferentescapacidades de armazenamento. Para esse estudo, serão feitas simulações utilizando oPlayer/Stage. Como descrito anteriormente, serão feitas de forma bem mais simplesdo 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 etapasintermediárias:

• Instalação e con�guração do Player/Stage.

• Realizar simulações simples, visando o aprendizado de como usar o software, econhecer seus recursos e limitações.

• Estudo de estratégias para o problema da coleta dos dados.

• De�niçõ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 durantea coleta, de acordo com as estratégias estudadas e escolhidas.

• Implementação dessas estratégias.

• Realização das simulações.

• Estudo dos resultados obtidos.

5

Page 11: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

4 Metodologia

Para a realização desse trabalho, o primeiro passo é a instalação e con�guração doPlayer/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 con�gurá-lo, etc. Com a ferramenta já instalada e con�gurada, através de umpequeno tutorial (disponível pela própria desenvolvedora), deve-se implementar umapequena simulação, com o intuito de se familiarizar com o ambiente de desenvolvimentoe também para testar se tudo está funcionando corretamente.

Após essa etapa inicial, pode-se dar início ao próximo passo, que é desenvolveroutras simulações mais simples, para um melhor aprendizado. Com as ferramentasnecessárias já disponíveis, deve-se iniciar o estudo das estratégias que serão usadasno trabalho, as quais podem resultar num melhor desempenho dos robôs que farão acoleta dos dados. As políticas usadas nas simulações são resultado desse estudo deestratégias. Com isso, é possível realizar as simulações e, na etapa �nal, um estudo dosresultados obtidos.

Esse problema será abordado de forma simpli�cada, isto é, serão feitos estudos esimulações voltadas para problemas de natureza mais simples do que realmente ocorremem situações do mundo real. Não serão levadas em conta todas as característicasencontradas numa situação real. Não simpli�car o problema tomaria um tempo muitomaior do que o disponível para realização desse trabalho. A �gura 4 exempli�ca umasituação real, com os sensores e seus respectivos raios de comunicação. Entre eles,encontram-se alguns obstáculos. Já a �gura 5 mostra como será um ambiente maissimples.

O ambiente de simulação será um grid de tamanho �xo. Nesse grid, encontram-seos elementos que constituem o mundo: robôs, nós sensores e obstáculos. Uma posiçãopode estar vazia, pode conter um sensor ou um obstáculo. Os elementos que estarãodisponíveis no mundo serão de�nidos previamente, ou seja, trata-se de um ambienteestático: não haverão interferências externas (como mudança na posição do sensor, porexemplo).

Feito isso, será implementado o comportamento do robô nesse mundo. É nessaimplementação que serão de�nidas quais decisões o robô deverá tomar caso encontreum nó sensor, por exemplo. De�nido que cada nó da rede possui uma certa capacidadede armazenamento, é preciso fazer uma coleta de forma minimizar a perda de dados.Para isso é necessário de�nir a ordem de visita dos nós. Esse é um ponto importante doplanejamento da rota a ser seguida, como dito anteriormente, a �m de se evitar perdade dados. Por exemplo: um sensor com menor capacidade de armazenamento deveser visitado antes de um com maior capacidade? Tudo isso será estudado de acordocom as decisões tomadas. Serão comparadas soluções mais simples (como as soluçõesgulosas) e soluções mais elaboradas. Ao se de�nir uma rota, deve-se levar em conta quehá 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 roteamentoentre os nós deve ser muito bem explorado, pois a perda dos dados coletados signi�cadesperdí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 daexecuçã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 o desem-

6

Page 12: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

penho não seja satisfatório, deve-se voltar ao código e modi�cá-lo, até que o objetivoesperado seja alcançado.

Figura 4: Situação real

7

Page 13: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

Figura 5: Situação simpli�cada

8

Page 14: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

5 Desenvolvimento

Seguindo os passos descritos nos objetivos, as atividades desenvolvidas serão apre-sentadas a seguir.

5.1 Instalação e con�guração do Player/Stage

O Player e o Stage formam um conjunto de ferramentas usadas em aplicaçõesvoltadas a pesquisa e atividades que envolvem robótica. Está disponível para diver-sos sistemas operacionais, e possui suporte a várias linguagens de programação. Foiescolhida a versão para Linux. A primeira tentativa de instalação foi na distribuiçãoUbuntu 10.04. Nessa distribuição, a instalação do Player se fez seguindo um pequenotutorial ( [6]), com sucesso ao �nal. Já a instalação do Stage (também seguindo ospassos em [6]) não foi bem sucedida. Mesmo procurando a causa dos erros, o pro-grama não funcionou. A wiki do Player/Stage ( [2]) informa que algumas distribuiçõesLinux possuem esses programas diretamente nos seus repositórios. Mudando para osistema operacional Fedora 14, os programas foram procurados no assistente de in-stalação e, após encontrá-los, foram instalados sem nenhum problema. Em seguida,foram realizados alguns testes (disponíveis pelo próprio programa), funcionando cor-retamente. 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 insta-lação do Player/Stage, mas devido a falta do pacote com o compilador GCC. Esse errofoi sanado instalando-se o pacote com o compilador. Após isso, um pequeno programafoi 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ívelaprender sobre o funcionamento da plataforma. Através desse guia, é explicado ao novousuário sobre o funcionamento, tipos de arquivos necessários para o desenvolvimentodas simulações, parâmetros envolvidos em cada tipo de arquivo, etc. Paralelamente aessa explicação, um pequeno exemplo bem simples é desenvolvido, para que o usuáriopossa ir acompanhando tudo aos poucos. Através dele, foi possível sabe como criarum robô, sua forma, seus dispositivos, obstáculos, etc. O guia foi seguido e, depois dealgumas 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 sefamiliarizar 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 deum 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 nodeslocamento 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 decomando; na segunda, tanto a posição inicial quanto a �nal seriam informadas pelalinha 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 seriaaleatória, gerada durante a execução do programa, onde novamente o robô seria obri-gado a usar algum sensor para perceber sua posição. Todas essas três partes foramimplementadas e executadas corretamente. Uma terceira simulação consisitiu em fazer

9

Page 15: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

o robô se deslocar num ambiente com obstáculo, ou seja, o robô deveria desviar casoalgum objeto estivesse em seu caminho. Em todas as situações, o caminhamento foifeito da forma mais simples: primeiro o robô se deslocava no eixo x, depois no eixo y,como mostrado na �gura 6.

Figura 6: 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 �gura 7. Foi propostatambém uma outra forma de desvio, onde seria calculado um vetor de repulsão entreo robô e o obstáculo, onde a cada momento que o robô se aproximasse do obstáculosua rota sofreria um desvio (�gura 8). Porém não foi possível desenvolvê-lo, devido adi�culdades de implementação. Assim, essa opção foi descartada, e o desvio simples(mostrado anteriormente) será utilizado.

10

Page 16: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

Figura 7: Desvio simples do obstáculo

Figura 8: Desvio com vetor de repulsão entre robô e obstáculo

11

Page 17: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

6 Trabalhos Futuros

Algumas estratégias que serão utilizadas no trabalho já foram estudadas e escol-hidas. A forma de como o problema será abordado, de maneira simpli�cada, uso dogrid de tamanho �xo, escolha do caminhamento do robô e desvio de obstáculos foramestratégias escolhidas tendo em vista a simpli�cação do problema. Para trabalhos fu-turos, �cam as decisões de implementação das ações do robô com relação a coleta dedados: quantos nós serão visitados, ordem dessas visitas. Juntamente com essas de-cisões implementadas, será analisado se houve perda de dados, e�ciência da estratégia.Essas decisões fazem parte do estudo da coleta sem perda de dados.

12

Page 18: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

7 Cronograma de atividades

Na Tabela 1, é apresentado o cronograma das atividades que serão realizadas du-rante esse trabalho. Os trabalhos futuros estão na tabela 2

Atividades Março Abril Maio Junho Julho

Instalação e con�guração doPlayer/Stage

X

Estudo do funcionamento da fer-ramenta, através de tutoriais

X X

Estudo de algumas estratégiasque serão utilizadas

X X X

Apresentação do Relatório deAtividades

X

Tabela 1: Cronograma de Atividades.

Atividades Futuras

Estudo das estratégias que serãoimplementadasImplementaçãoRealização das simulaçõesEstudo dos resultados obtidosRedigir a Monogra�aApresentação da Monogra�a

Tabela 2: Trabalhos futuros a serem desenvolvidos.

13

Page 19: Simulação de coleta de dados em redes de sensores sem o ... · consumo de energia no processo de transmissão dos dados coletados até um nó central, onde os mesmos serão estudados

Referências

[1] The Player Project. http://playerstage.sourceforge.net. Acessado pela úl-tima 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. Planningand 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 collectionstrategies 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.

14