scieee AI-readable full text Open interactive document viewer

Localização para Smart Devices tirando partido de iBeacons

Marcos Brandão Duarte

Abstract

A massificacao dos dispositivos de localização por satélite popularizou este tema, que hoje em dia se encontra amplamente experimentado e testado. Por outro lado, a evolução dos dispositivos móveis traz novas tecnologias e funcionalidades. O Bluetooth v4.0 é uma delas. Os iBeacons contém esta tecnologia e com base nas vantagens que traz, como o baixo custo e o baixo consumo, foi desenvolvido um sistema de localização baseado no RSSI. Este sistema é composto por dispositivos móveis, como os telemóveis de última geraçao, com o Sistema Operativo Android e uma aplicação criada para o efeito da localizaçao e os iBeacons como pontos de referência

Full text

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Localização para Smart Devices tirando partido de iBeacons Marcos Brandão Duarte Mestrado Integrado em Engenharia Informática e Computação Orientador: Armando Jorge Miranda de Sousa Co-orientador: António Miguel Pontes Pimenta Monteiro 29 de Fevereiro de 2016 Localização para Smart Devices tirando partido de iBeacons Marcos Brandão Duarte Mestrado Integrado em Engenharia Informática e Computação Aprovado em provas públicas pelo Júri: Presidente: Carlos Manuel Milheiro de Oliveira Pinto Soares Arguente: Helena Rodrigues Vogal: Armando Jorge Miranda de Sousa 29 de Fevereiro de 2016 Resumo O estado atual da tecnologia no ano de 2016 não oferece ainda uma solução sem limitações para a localização de bens ou pessoas. O presente trabalho tira partido da tecnologia Bluetooth v4.0 também conhecido como “Bluetooth Low Energy”, concretamente dos iBeacons. E pretende caracterizar a qualidade da localização que é possível alcançar num ambiente com diversos destes dispositivos. Este tipo de beacons ativos para localização são considerados como tendo custo acessível e baixo consumo elétrico, sendo uma opção válida quando é necessário acrescentar elementos de localização ao ambiente. Começou-se por caracterizar experimentalmente a curva de distância com relação a força do sinal recebido (RSSI - Received Signal Strength Indicator) para os iBeacons da empresa Kontakt.io. Esta anuncia custos de cerca de 20 euros por beacon, que são detetáveis a aproximadamente 50m, com a respetiva pilha durando no mínimo um ano. Esta dissertação propõe uma estratégia de localização que tira partido da informação de RSSI e da identificação dos iBeacons detetados num dado instante para produzir uma estimativa de localização (dado que se considera que todos os iBeacons estão em posições conhecidas). A implementação utilizou o Sistema Operativo Android e dois Smartphones de gama de consumo para a validação das propostas. O sistema foi ainda testado a bordo do robô para a agricultura AGROB V14 que se destina a trabalhar em zonas onde o GPS não estará disponível. A experiência realizada com o referido robô e um Smartphone Samsung Galaxy S4 num percurso de cerca de 100m com utilização de dados de 3 iBeacons detetados em simultâneo revelaram um precisão em torno de 1.5 m. i ii Abstract The current state of technology in the year 2016 does not offer a solution without limitations to the location of assets or people. This work takes advantage of Bluetooth v4.0 technology also known as “Bluetooth Low Energy” present in the iBeacons. And tries to characterize the quality of the location that can be achieved in an environment with several of these devices. This type of active beacons for location are considered as having affordable cost and low power consumption, being a valid option when you need to add location elements to the environment. It was started to experimentally characterize the distance curve related to the Received Signal Strength Indicator (RSSI) of the iBeacons from Kontakt.io company. This company announces costs of about 20 euros per beacon, that can be detectable from approximately 50m, with respective battery lasting at least one year. This dissertation proposes a localization strategy that takes advantage of the RSSI information and the identification of iBeacons detected in a given time to produce an estimated location (as it is considered that all iBeacons are at known positions). The implementation used the Android operating system and two consumer range mobile phones to validate the proposals. The system was also tested on board the agriculture robot AGROB V14 that is intended to work in areas where GPS is not available. The experiment done with said robot and a Samsung Galaxy S4 in a course of about 100m and using data of 3 simultaneously detected iBeacons showed an accuracy around 1.5 m. iii iv Agradecimentos Aos meus pais que me deram a possibilidade de prosseguir os meus estudos até o nível ao qual estou hoje. À minha esposa que me apoia e acompanha desde 2001 em todos os momentos de dificuldade e também nos de felicidade. À minha irmã que me apoiou em todo o percurso académico. À toda a minha família em geral e aos meus amigos mais próximos e aos mais distantes, mesmo àqueles que já não estão entre nós. À todos os Professores e comunidade FEUP, em especial aos meu orientadores, Prof. Armando Jorge Miranda de Sousa e Prof. António Miguel Pontes Pimenta Monteiro, ao Dr. Filipe Neves dos Santos que deu um grande apoio na publicação de um artigo relacionado com esta dissertação. Enfim, à todos aqueles que me ajudaram a ser quem sou hoje. Marcos Brandão Duarte v LISTA DE FIGURAS xii Lista de Tabelas 4.1 Constantes para o modelo referido na Equação 4.1 ................. 14 xiii LISTA DE TABELAS xiv Abreviaturas e Símbolos API Interface de Programação de Aplicações BLE Bluetooth de Baixo Consumo BT Bluetooth GATT Atributo Genérico GLONASS Sistema de Navegação Global por Satélite GPS Sistema de Posicionamento Global GSM Sistema Global para Comunicações Móveis IMU Unidade de Medição Inercial IP Protocolo de Internet RF Rádio Frequência RFID Identificação por Rádio Frequência RSSI Indicador da Força do Sinal Recebido SDK Kit de Desenvolvimento de Software SLAM Localização e Mapeamento Simultâneos SO Sistema Operativo UDP User Datagram Protocol xv Capítulo 1 Introdução 1.1 Contexto/Enquadramento Hoje em dia, a localização de objetos e pessoas ou de quaisquer alvos em geral traz imensas vantagens como a autonomia e independência de quem ou do que beneficia com a sua utilização. Encontra-se largamente testada e experimentada através de diversas tecnologias. Talvez, a tecnologia mais conhecida seja a de localização por satélite, como é o caso do GPS1/GLONASS2. Contudo existem muitas outras tecnologias, como a utilização dos pontos de acesso de uma rede sem fios, das redes de endereços IP, da rádio frequência, das redes GSM, da visão, do laser, do Bluetooth, sem prejuízo de outras. Para a escolha de cada uma dessas tecnologias, é preciso que se analise quais os objetivos pretendidos e se verifique para cada caso qual será a mais adequada. 1.2 Motivação e Objetivos Com a massificação dos dispositivos móveis de última geração, consegue-se ter acesso a cada vez mais capacidade de processamento e com uma variedade de componentes que frequentemente trazem novas e aprimoradas funcionalidades. No final de Junho de 2010[Blu10], surgiu o Bluetooth v4.0, também conhecido como “Bluetooth Low Energy” (BLE) 3e com isto, a mundialmente conhecida empresa de tecnologia – Apple, lançou e divulgou estar presente nos seus dispositivos os iBeacons. Embora não tenha surtido logo o impacto esperado, outras empresas começaram a fabricar e disponibilizar estes iBeacons colocando a disposição dos seus clientes, API’s, SDK’S e aplicações para o uso dos mesmos. Assim, nesta dissertação, na tentativa de clarificar as expectativas relativas a localização utilizando iBeacons, são estudados métodos que recorrem a utilização da tecnologia existente nos dispositivos móveis mais atuais e nos iBeacons, aproveitando as suas apelativas características 1Sistema de localização por satélite dos EUA. 2Sistema de localização por satélite da Rússia. 3Uma breve descrição e algumas das suas vantagens podem ser consultadas em: https://www.bluetooth. com/what-is-bluetooth-technology/bluetooth-technology-basics/low-energy. 1 Introdução de baixos consumo e custo. Mais concretamente, através de uma aplicação para o SO Android4, criada para o efeito, obtêm-se os sinais emitidos pelos iBeacons e captados por um dispositivo móvel, recolhendo dados como o RSSI que permitem calcular a localização de um qualquer alvo em um mapa determinado. Este tipo de solução permite a localização mais precisa ou menos, conforme a necessidade de cada caso e em diversas áreas de aplicação. Uma delas é a área da agricultura, em específico o caso das vinhas na região do Douro em Portugal, onde as características do terreno íngreme e em socalcos impedem a utilização do GPS, pois a qualidade do sinal é reduzida devido ao seu bloqueio que o torna frequentemente indisponível. Portanto, foram feitos diversos testes para caracterização do funcionamento dos iBeacons, em particular, com a ligação a um robô de agricultura. 1.3 Estrutura da Dissertação Para além desta introdução, esta dissertação contém mais 4 capítulos. No Capítulo 2é descrito o estado da arte e são referidos os estudos existentes no âmbito da localização. No Capítulo 3 define-se o problema e apresentam-se os conceitos-chave do tema, a localização, os Smart Devices e os iBeacons . No Capítulo 4explica-se como se implementaram os conceitos que foram sendo descritos nos capítulos anteriores e como foram recolhidos, testados e validados os resultados obtidos. No capítulo 5conclui-se aquilo que foi o objetivo final desta dissertação e o seu cumprimento, fazendo uma análise do trabalho futuro. 4http://www.android.com/ 2 Capítulo 2 Revisão Bibliográfica 2.1 Introdução A localização pode ser realizada com recurso a diversas tecnologias, dentre as quais: a localização baseada em RF [BP00,OA14], RFID [LL06,HBF+04,NLLP04,KHLH03], Bluetooth [Oks14,MnOJD12,Zhu12,ABFB10,Apa08,Yip05], Wi-Fi [Zhu12,TgStMHj10,Apa08, KHNF05], sem prejuízo de outras. Claro que todas estas tecnologias estão suscetíveis às interferências sofridas pelos sinais transmitidos o que implica a necessidade da correção de erros, como é o caso da utilização dos filtros de kalman [FWZJ14,ODAA13,OA14,OLAA14,TgStMHj10]. Nesta dissertação está em causa a utilização do RSSI, pelo que é necessário também o seu estudo [RHYHHW+08,ZZZZ08,ODAA13,OLAA14]. 2.2 Tecnologias para localização Todas as tecnologias mencionadas anteriormente têm um fator comum, utilizam sinais de rádio emitidos por pontos de referência. Estes, são captados por outros dispositivos que os usam da maneira que necessitam. Para a localização, existem diversos métodos que podem ser utilizados para que se possa tentar calcular a posição de um alvo determinado. Alguns deles, são: •ângulo de chegada - obtenção do ângulo de chegada de um sinal de um determinado ponto; •tempo de chegada - cálculo do tempo de chegada de um sinal como resposta a um pedido feito a determinado ponto; •força do sinal recebido - receção de dados que indiquem a força do sinal recebido de um determinado ponto. Estes dados, podem ser utilizados em algoritmos que calculam a posição de um determinado alvo. 3 Revisão Bibliográfica 2.3 Problemas na receção dos sinais Um dos maiores obstáculos existentes para a utilização destes dados é a variação sofrida no caminho percorrido desde a origem do sinal, até o dispositivo que o capta. Os ambientes onde se utilizam estes sinais são sempre suscetíveis de causar interferências que trazem problemas como: •reflexão - obstáculos existentes no ambiente fazem com que o sinal seja refletido e redirecionado; •difração - o sinal é atenuado, atravessando o obstáculo; •propagação em múltiplos caminhos - devido aos dois anteriores, o sinal segue diferentes caminhos. 2.4 Algoritmos e correção de erros Todos os algoritmos que possam ser utilizados terão sempre de prever erros nos dados. Assim, todos os dados podem e devem ser muito bem analisados para sejam corrigidos conforme necessário. Alguns dos algoritmos utilizados são: •multilateração - baseia-se na obtenção de sinais de diversas origens e faz o cálculo da posição de cada um com base num círculo centrado no dispositivo que capta o sinal, tentando encontrar uma área comum dos mesmos; •triangulação - semelhante ao anterior, mas utiliza também ângulos de chegada dos sinais; •impressão digital de RSSI - divide a área onde se pretende fazer a localização por diversas células e mede, em cada uma, os RSSI’s das diversas origens, construindo uma base de dados com esses valores, para que posteriormente se possam comparar com os dados recebidos por um alvo. Para correção do erro, um dos métodos utilizados são os filtros de Kalman. Numa análise muito superficial, este método, utiliza uma amostra suficientemente larga dos dados que necessitam de alguma correção e aprimora-os de modo a que se aproximem dos valores esperados. 2.5 Resumo e Conclusões A literatura existente no âmbito do tema desta dissertação é vasta, abordando o problema da localização e diversas técnicas para a tornar o mais precisa possível. Cada uma deve ser analisada e escolhida de forma a tentar manter a estabilidade necessária para a solução pretendida. No caso concreto desta dissertação, utilizaremos o Bluetooth, o RSSI e a sua caracterização baseada em modelos de path loss. 4 Capítulo 3 Definição do problema Existem 3 conceitos-chave que são utilizados, o de localização, Smart Devices eiBeacons. Adiante faz-se uma breve explicação do significado de cada um deles e como se interligam para o fim proposto. 3.1 Localização A localização teve a sua popularização com a massificação dos dispositivos que utilizam as tecnologias de localização por satélite (GPS/GLONASS). E é amplamente utilizada em sistemas que necessitam de autonomia, nomeadamente na área da robótica. Existem muitos outras tecnologias para a localização de pessoas ou coisas, que têm de ter em conta um aspeto essencial, o ambiente onde se encontra o alvo da localização. Para isto, definem-se dois tipos de ambiente: •fechado - interior de edifícios; •aberto - fora de edifícios. Esta distinção tem de ser feita, pois cada tecnologia utilizada pode ter o seu funcionamento influenciado conforme os ambientes em que estamos. Outros fatores que devem ser levados em consideração para a localização: •interferências causadas por coisas que pertencem ao ambiente onde está o alvo; •precisão que se quer obter; •algoritmos a utilizar no cálculo da localização, seus tempos de execução e cargas de processamento; •necessidade de um mapa com pontos de referência, que pode ser predefinido ou construido à medida que seja necessário com base em algoritmos de Mapeamento e Localização Simultâneos (SLAM); 5 Implementação (a) Ecrã com menu de opções. (b) Ecrã com configurações para a localização. Figura 4.3: Principais ecrãs do modo de testes de localização. 4.2 Recolha de dados e validação de resultados Para confirmação e validação do funcionamento dos iBeacons e da sua utilidade na localização foram realizados diversos testes que se descrevem nas secções seguintes. 4.2.1 Caracterização dos iBeacons Como se pode depreender das características de funcionamento dos dispositivos Bluetooth, há uma ampla variação nos valores de RSSI que se utiliza. Mas ainda há mais aspetos que alteram estes valores e os podem fazer variar de acordo com cada um dos dispositivos móveis utilizados. Conforme os tipos de antenas que utilizam e o seu posicionamento dentro da estrutura física do dispositivo, poderá haver alterações ao modo como devemos utilizar os dados recebidos. Quanto aos iBeacons, como são todos iguais, em princípio as suas características mantêm-se semelhantes entre todos os que são utilizados. Assim, para se poder definir uma função que relacione o RSSI com a distância, é preciso caracterizar o funcionamento dos iBeacons com cada dispositivo móvel (esta relação é também sugerida pela AltBeacon na sua Android Beacon Library que fornece API’s de interação com iBeacons 2, de modo a que se obtenha melhores resultados nas medições e conversões do RSSI). Seguindo àquilo que já foi experimentado nos desenvolvimentos feitos na criação das referidas API’s, num campo de futebol, foram colocados dois bancos de madeira (para redução das interferências com o sinal Bluetooth) com altura aproximada de 0.7m. Num dos bancos, colocou-se um 2Disponível em: https://altbeacon.github.io/android-beacon-library/ distance-calculations.html 12 Implementação único iBeacon e noutro o dispositivo móvel com SO Android. Convém referir que estes iBeacons vêm configurados de fábrica para transmitir o pacote de anúncio em intervalos de 350 ms, com potência do sinal definida para um valor moderado de 12 dBm, de forma que se prolongue a vida útil da bateria e que se tenha desempenhos minimamente aceitáveis para a localização. Portanto, decidiu-se manter estas opções. Depois, para distâncias conhecidas (0.25, 0.5, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20 e 25 m) foram recolhidas as leituras de RSSI, através da aplicação Android. Estes dados são também recolhidos em intervalos de 350ms durante um período de 2 minutos, sendo então guardadas em um ficheiro 342 amostras do RSSI para cada distância. Portanto, como foram usados dois dispositivos móveis, foi possível fazer duas caracterizações, uma para cada par de iBeacon/Smartphone. Nas Figuras. 4.4 e4.5, podem se visualizar alguns dos dados recolhidos. Figura 4.4: Valores médios de RSSI para caracterização com Samsung Galaxy S4. Figura 4.5: Valores médios de RSSI para caracterização com Vodafone Smart Ultra 6. Após esta recolha, seguindo ainda o que é descrito pela AltBeacon, utiliza-se o seguinte modelo para definição de uma função f:RSSI(dBm)→dist ˆancia(m): 13 Implementação d=A∗RSSI Re f Power B +C.(4.1) Na Equação 4.1 dé o valor, em metros, da distância que queremos obter, RSSI é o recebido do iBeacon pela aplicação Android, Re f Power é o RSSI de referência para a potência de transmissão configurada no iBeacon para a distância de 1 m entre os dispositivos (este valor de “RefPower” pode ser retirado do “Pacote de Anúncio” ou da calibração que foi feita com o par iBeacon/Smartphone, podendo levar a uma maior precisão), A,BeCsão constantes. Com estes dados, utilizando os dados recolhidos, o modelo referido na Equação 4.1 e o método não linear dos mínimos quadrados, as constantes podem ser definidas: Tabela 4.1: Constantes para o modelo referido na Equação 4.1 Constantes Samsung Galaxy S4 Vodafone Smart Ultra 6 A0.3534536 0.0139812 B14.8393466 27.4110804 C0.7566785 1.5668953 Usando a Equação 4.1 e os dados constantes da Tabela 4.1, construi-se um gráfico das distâncias correspondentes ao valor médio do RSSI (ver Figuras 4.6 e4.7). Figura 4.6: Valores estimados da distância com Samsung Galaxy S4. 4.2.2 Algoritmo de multilateração Antes de se poder continuar com a descrição da recolha dos dados, torna-se necessário explicar o algoritmo que foi utilizado na análise de alguns dos dados recolhidos. O termo já foi referido na Secção 2.4 e baseia-se na receção e análise dos sinais recebido por diversas fontes, neste caso os iBeacons. Também há quem utilize o termo trilateração, já que são necessários pelo menos 3 pontos de referência em posições diferentes, para que se consiga fazer 14 Implementação Figura 4.7: Valores estimados da distância com Vodafone Smart Ultra 6. a junção dos círculos centrados em cada um deles para se poder definir um ponto comum que represente a posição do alvo que se deseja. No caso em concreto desta dissertação, embora não sejam usados mais do que 3 pontos de referência, o algoritmo prevê a sua utilização, ou até de apenas 2 (como pode ser visto num dos testes que se apresenta a seguir), mas leva sempre em consideração o facto da possibilidade de existência de pontos que estejam na mesma posição, não permitindo que sejam analisados ao mesmo tempo, obrigando sempre a que se faça a utilização de referências que estejam distantes entre si. Importa também salientar, que uma leitura com os dados de RSSI de um ponto de referência a um dado instante é utilizada mais do que uma vez, já que o algoritmo na análise de uma leitura utiliza sempre os dados de 2 leituras anteriores de mais 2 pontos, que estejam em posições diferentes e dentro de um limite temporal definido. Não há qualquer salto ou inutilização de uma leitura por já ter sido utilizada. Este algoritmo utiliza uma matriz 2D para referenciar os dados que vão sendo lidos, atualizando a sua probabilidade de ocupação a cada análise. No fim, recorre a conversão desta matriz em uma imagem para que possa ser fácil a visualização do resultado final, como se poderá ver nos resultados dos testes apresentados a seguir. 4.2.3 Teste estático Um dos testes foi realizado de modo estático. Procedeu-se a montagem de um cenário para o teste, onde os iBeacons ficaram fixos em pontos conhecidos e medidos, assim como o dispositivo móvel. 4.2.3.1 Teste de multilateração No teste de multilateração, foi criado um esquema base de fixação dos iBeacons, para permitir o cálculo da localização com uma alta frequência. Como o próprio título indica, recorreu-se ao 15 Implementação algoritmo simples de multilateração descrito na Secção 4.2.2. Assim, recorrendo mais uma vez ao campo de futebol, foram colocados três bancos de madeira com aproximadamente 0.7 m de altura, separados por distâncias aproximadas de 6 m entre cada um deles, formando entre si um triângulo equilátero. Chamemos os bancos de “banco 1”, “banco 2” e “banco 3”. Figura 4.8: Local de teste de multilateração. Em cada um dos bancos foram posicionados os iBeacons da seguinte forma (para se poder identificar os iBeacons, apenas utilizaremos um ID que está presente numa etiqueta por baixo de cada iBeacon): 1. banco 1 - o7nO, gQ0Q, hbdi; 2. banco 2 - B0Vw, yvlm, gmta, unPx; 3. banco 3 - 9MBi, gjV2, XK4T. Foram então realizados 4 testes com esta configuração, onde o que varia é a posição do dispositivo móvel de acordo com a enumeração abaixo relativa a cada um dos testes: 1. entre os 3 bancos, próximo do centro do triângulo formado, mais especificamente, a 3.68 m do banco 1, 3.95 m do banco 2, 3.74 m do banco 3, direcionado para o banco1; 2. fora do triângulo formado, entre o banco 1 e o banco 2, a 3.46 m do banco 1, 3.16 m do banco 2, direcionado para a linha entre banco 1 e banco 3; 3. fora do triângulo formado, entre o banco 2 e o banco 3, a 1.39 m do banco 2, 5.25 m do banco 3, direcionado para o centro do triângulo; 4. em linha com o banco 1 e o banco 3, a 0.5m do banco 1 e a 5.5 m do banco 3, direcionado para o banco 2. Nestes testes, os dados de RSSI foram recolhidos durante dois minutos. Os dados recolhidos são de todos os iBeacons visíveis, o que nos traz uma grande quantidade de dados, mas também 16 Implementação traz a necessidade de fazer uma análise cuidadosa dos mesmos. O facto de termos apenas 3 bancos com 10 iBeacons, faz com que se tenha cerca de 3 vezes mais dados do que teríamos com apenas 1iBeacon em cada banco. Isto faz com que a localização possa ser feita com uma frequência mais alta, já que temos uma leitura a cada 50 a 100ms (valores médios aproximados obtidos nos testes realizados). Os dados aqui recolhidos foram analisados em bruto, não se recorrendo a nenhuns métodos para correção de erros. O que se verifica é que como esperado, não se consegue a definição de uma localização exata ou pelo menos de uma pequena área a que se possa cingir a posição do dispositivo móvel. Como se pode ver na Figura 4.9, os números visíveis em cada um dos resultados representam cada um dos bancos mencionados no cenário do teste (número 1 para o banco 1, número 2 para o banco 2, número 3 para o banco 3), cada imagem representa um quadrado com 10m de lado, o que representa uma resolução 3de 0.1 m/pixel. Com a observação, o que se consegue é definir uma região onde o dispositivo possa estar. 4.2.4 Testes dinâmicos Nestes testes, ao contrário dos anteriores, os dispositivos móveis recolhem os dados enquanto estão em movimento. Consoante o teste, pode haver ou não o registo da localização do dispositivo móvel com base em outros dados recolhidos, como de GPS ou IMU. Não havendo acesso a dados deste género, há uma descrição do modo como o teste foi realizado. 4.2.4.1 Teste de passagem em região A montagem deste cenário de teste foi feita numa sala de um jardim de infância, com forma essencialmente retangular, com aproximadamente 6 x 11 m. Foram colocados dois suportes de esferovite com cerca de 1.3m de altura distanciados de 5m, centrados com a sala (na Figura 4.10 podemos ver o local de testes). Chamemos os suportes de “suporte 1” e “suporte 2”. Em cada um deles foram colocados os 10 iBeacons da seguinte forma (como anteriormente, utilizamos o ID para identificação dos iBeacons): 1. suporte 1 - gQ0Q, B0Vw, yvlm, gmta, 9MBi; 2. suporte 2 - o7nO, hbdi, unPx, gjV2, XK4T. Também aqui, foram realizados 4 testes com a configuração descrita, onde com o dispositivo móvel, se realizaram diferentes passagens pelas zonas dos suportes como se descreve a seguir: 1. passagem entre o suporte 1 e o suporte 2; 2. passagem entre o suporte 1 e o suporte 2 exatamente na linha perpendicular à medida dos 2.5 m da linha que liga os dois suportes; 3. entrada na sala e passagem à esquerda do suporte 1; 3De referir que nas imagens impressas a resolução é alterada pela sua redução. 17 Implementação (a) Resultado do teste 1. (b) Resultado do teste 2. (c) Resultado do teste 3. (d) Resultado do teste 4. Figura 4.9: Resultados dos testes de multilateração. 4. entrada na sala e passagem à direita do suporte 2. As análises feitas aos dados deste teste também fora analisadas com recurso ao algoritmo simples de multilateração descrito na Secção 4.2.2. Na Figura 4.11, podem ver-se as imagens geradas com as áreas onde é feito o teste. Os números que são visíveis nas imagens representam cada um dos suportes referidos anteriormente (o número 1 para o suporte 1 e o número 2 para o suporte 2). Cada imagem representa um quadrado com 10 m de lado, o que nos dá uma resolução 4 de 0.1 m/pixel. Embora não se torne muito claro ao primeiro olhar, já que a figura é uma soma dos possíveis locais de presença do dispositivo móvel ao longo do teste, se verificarmos com cuidado e de acordo com os dados de cada teste, podemos ver que será possível determinar uma região onde o dispositivo passou, ainda que com a utilização de apenas dois pontos de referência. 4De referir que nas imagens impressas a resolução é alterada pela sua redução. 18 Implementação (a) Vista do suporte 1. (b) Vista do suporte 2. Figura 4.10: Local dos testes de passagem em região. 4.2.4.2 Teste com robô para agricultura AGROB V14 Para realização deste teste foi montado um cenário num jardim próximo à Faculdade de Engenharia da Universidade do Porto. Onde foram espalhados os iBeacons por bancos desse jardim. Com vista à recolha dos dados, continuou-se a utilizar o dispositivo móvel Samsung Galaxy S4, mas agora, acoplado à plataforma do robô para agricultura, AGROB V14, cujas especificações podem ser vistas em [NDSSC+15]. Neste teste, a aplicação envia todos os dados das leituras dos iBeacons para este robô, através de uma ligação à rede sem fios do mesmo utilizando o UDP. Com isto, estes dados são guardados num ficheiro ROSbag 5para posterior análise. Na prática, o teste consistiu na passagem do robô pelos bancos do jardim, recolhendo o RSSI dos iBeacons visíveis entre outros dados dos seus sensores, como a localização dada pelo GPS e de velocidade dada pela IMU. De seguida, os dados são analisados de acordo com o algoritmo de “Procedimento para Mapeamento de Beacons” (BMP) descrito em [DNdSSM15]. Resumidamente, é criada uma matriz para representar a probabilidade da presença de um iBeacon em determinado local. Assim, sempre que um iBeacon é detectado pela primeira vez, uma matriz é gerada e o seu centro representa a posição do robô naquele instante. Depois, sempre que houver uma nova detecção do mesmo iBeacon essa matriz é atualizada refletindo a sobreposição dos dados anteriores com as novas probabilidades da localização do iBeacon na matriz. Claro é, que existem algumas restrições que são utilizadas para o bom funcionamento do BMP. A primeira delas tem relação com o tamanho e o que representa a matriz criada inicialmente. Assim, surge a seguinte equação [DNdSSM15]: Scale ∗NumberCells =maxBeaconDistance .(4.2) 5Tipo de ficheiro utilizado pelo Robot Operating System (ROS). Uma definição mais profunda pode ser vista em: http://wiki.ros.org/rosbag 19 Implementação (a) Resultado teste 1. (b) Resultado teste 2. (c) Resultado teste 3. (d) Resultado teste 4. Figura 4.11: Resultados dos testes de passagem em região. Na Equação 4.2 maxBeaconDistance é a distância máxima a qual um iBeacon é visível, Scale o valor de escala para os eixos que representam latitude e longitude, e NumberCells a resolução vertical e horizontal da matriz. A seguir, temos a formulação da probabilidade de existência de um iBeacon numa determinada célula da matriz: P t(x,y) = 1 σRB√2π e−(dRB−zbeacon t)2.2σ2 RB .(4.3) Na Equação 4.3,dRB é a distância entre o robô e o centro da matriz, σRB é a soma das incertezas associadas as posições estimadas do robô e da distância do iBeacon. Portanto, para a junção de várias medidas em diferentes momentos na matriz temos a seguinte equação: 20 Implementação Figura 4.12: Local de teste com robô agricultor AGROB V14. P(x,y) = P t(x,y)∗P t−1(x,y)∗P t−2(x,y)∗.... ∑T t=0∑X i=0∑Y j=0P t(i,j).(4.4) Baseado nestes valores das probabilidades, a posição estimada para um iBeacon é dada pela seguinte fórmula: Bx,y= X ∑ i=0 Y ∑ j=0 Ci,j∗P(i,j).(4.5) Na Equação 4.5 Bx,yé o vetor bidimensional que representa a posição do iBeacon eCi,jé o vetor bidimensional que representa a posição central da célula. Usando o ficheiro ROSbag criado com os dados recolhidos pelo robô no local dos testes, dois testes foram realizados. No primeiro, a localização estimada do robô foi feita com a fusão entre dados do GPS e de velocidade, utilizando um simples filtro de partículas. Na Figura 4.13(c) é mostrada a trajetória estimada do robô com a linha a vermelho e as posições dos iBeacons com os alfinetes coloridos. É possível verificar uma melhor estimação da trajetória do robô em comparação com a do GPS mostrada na linha verde. No segundo teste, a trajetória estimada do robô foi obtida da fusão do GPS, da velocidade e considerando os iBeacons já mapeados e suas distâncias observadas, com um simples filtro de partículas. Na Figura 4.13(d) é mostrada a trajetória estimada do robô com a linha verde e as posições dos iBeacons com os alfinetes coloridos. Em comparação com o primeiro teste, é possível verificar que a utilização dos dados já recolhidos dos iBeacons melhoram as estimações da trajetória do robô e consequentemente as dos próprios iBeacons. A Figura 4.14 mostra a matriz de localização do iBeacon com Minor 64416 construída com dados do segundo teste em diferentes instantes. 21 REFERÊNCIAS Int. Conf. Inf. Technol. Coding Comput., pages 297–303. IEEE Comput. Soc, 2003. URL: http://ieeexplore.ieee.org/lpdocs/epic03/ wrapper.htm?arnumber=1197544. [KHNF05] T. Kitasuka, K. Hisazumi, T. Nakanishi e A. Fukuda. WiPS: Location and Motion Sensing Technique of IEEE 802.11 Devices. In Third Int. Conf. Inf. Technol. Appl., volume 2, pages 346–349. IEEE, 2005. URL: http://ieeexplore. ieee.org/lpdocs/epic03/wrapper.htm?arnumber=1488983. [Kon14] Kontakt. Kontakt.io Beacon Datasheet v2.0, 2014. URL: http://docs. kontakt.io/beacon/kontakt-beacon-v2.pdf. [LL06] Hyun-jeong Lee e Min Lee. Localization of Mobile Robot Based on Radio Frequency Identification Devices. In 2006 SICE-ICASE Int. Jt. Conf., pages 5934–5939. IEEE, 2006. URL: http://ieeexplore.ieee.org/ lpdocs/epic03/wrapper.htm?arnumber=4108641. [MnOJD12] Mario Muñoz Organero, Pedro J. Muñoz-Merino e Carlos Delgado Kloo. Using bluetooth to implement a pervasive indoor positioning system with minimal requirements at the application level. Mob. Inf. Syst., 8(1):73 – 82, 2012. URL: http://iospress.metapress.com/content/2n232146240lt3g7/. [NDSSC+15] F. Neves Dos Santos, H. Sobreira, D. Campos, R. Morais, A.P. Moreira e O. Contente. Towards a reliable monitoring robot for mountain vineyards. In Autonomous Robot Systems and Competitions (ICARSC), 2015 IEEE International Conference, pages 37–43, April 2015. [NLLP04] Lionel M. Ni, Yunhao Liu, Yiu Cho Lau e Abhishek P. Patil. LANDMARC: Indoor Location Sensing Using Active RFID. Wirel. Networks, 10(6):701– 710, November 2004. URL: http://link.springer.com/10.1023/B: WINE.0000044029.06344.dd. [OA14] Luis Oliveira e Luis Almeida. RF-based Relative Position Estimation in Mobile Ad-Hoc Networks with Confidence Regions. In Rob. 2014, 2014. [ODAA13] Luis Oliveira, Carmelo Di Franco, Luis Almeida e Traian E. Abrudan. Fusing Time-of-Flight and Received Signal Strength for Adaptive Radio-Frequency Ranging. In 2013 IEEE Int. Conf. Adv. Robot., 2013. [Oks14] Irfan Oksar. A Bluetooth signal strength based indoor localization method, 2014. URL: http://ieeexplore.ieee.org/stamp/stamp.jsp? arnumber=6837678. [OLAA14] Luis Oliveira, Hongbin Li, Luis Almeida e Traian E. Abrudan. RSSI-based relative localisation for mobile robots. Ad Hoc Networks, 13:321–335, February 2014. URL: http://www.sciencedirect.com/science/article/ pii/S1570870513001741. [RHYHHW+08] Wu Rong-Hou, Lee Yang-Han, Tseng Hsien-Wei, Jan Yih-Guang e Chuang Ming-Hsueh. Study of characteristics of RSSI signal. In 2008 IEEE Int. Conf. Ind. Technol., pages 1–3. IEEE, April 2008. URL: http://ieeexplore. ieee.org/lpdocs/epic03/wrapper.htm?arnumber=4608603. 28 REFERÊNCIAS [TgStMHj10] Frede Aakmann Tø gersen, Flemming Skjø th, Lene Munksgaard e Sø ren Hø jsgaard. Wireless indoor tracking network based on Kalman filters with an application to monitoring dairy cows. Comput. Electron. Agric., 72(2):119–126, July 2010. URL: http://www.sciencedirect.com/science/article/ pii/S0168169910000748. [Yip05] Jason Yipin Ye. Atlantis: Location Based Services with Bluetooth. PhD thesis, Brown University, 2005. URL: https://cs.brown.edu/research/ pubs/theses/ugrad/2005/jye.pdf. [Zhu12] Improving crowd-sourced Wi-Fi localization systems using Bluetooth beacons. pages 290–298. IEEE, June 2012. URL: http://ieeexplore.ieee.org/ lpdocs/epic03/wrapper.htm?arnumber=6275790. [ZZZZ08] Giovanni Zanca, Francesco Zorzi, Andrea Zanella e Michele Zorzi. Experimental comparison of RSSI-based localization algorithms for indoor wireless sensor networks. In Proc. Work. Real-world Wirel. Sens. networks - REALWSN ’08, page 1, New York, New York, USA, April 2008. ACM Press. URL: http://dl.acm.org/citation.cfm?id=1435473.1435475. 29 REFERÊNCIAS 30 Anexo A Artigo - Agricultural Wireless Sensor Mapping for Robot Localization Artigo desenvolvido em simultâneo com esta dissertação e apresentado na conferência Robot 2015 1 2. 1https://web.fe.up.pt/~robot2015/. 2A publicação final está disponível na Springer via http://dx.doi.org/10.1007/978-3-319-27146-0_ 28. 31 Agricultural Wireless Sensor Mapping for Robot Localization Marcos Duarte1, Filipe Neves dos Santos1, Armando Sousa1, Raul Morais2 1INESC TEC - INESC Technology and Science (formerly INESC Porto) and Faculty of Engineering, University of Porto, Porto, Portugal, [email protected],[email protected],[email protected] 2INESC TEC - INESC Technology and Science (formerly INESC Porto) and Universidade de Tr´as-os-Montes e Alto Douro, UTAD, Vila Real, Portugal [email protected] Abstract. Crop monitoring and harvesting by ground robots in steep slope vineyards is an intrinsically complex challenge, due to two main reasons: harsh conditions of the terrain and reduced time availability and unstable localization accuracy of the Global Positioning System (GPS). In this paper the use of agricultural wireless sensors as artificial landmarks for robot localization is explored. The Received Signal Strength Indication (RSSI), of Bluetooth (BT) based sensors/technology, has been characterized for distance estimation. Based on this characterization, a mapping procedure based on Histogram Mapping concept was evaluated. The results allow us to conclude that agricultural wireless sensors can be used to support the robot localization procedures in critical moments (GPS blockage) and to create redundant localization information. 1 Introduction Crop monitoring and harvesting by robots remains a complex challenge, particularly due its low efficiency, accuracy, and robustness on sensing, perception and interpretation of the agricultural environment [1]. The strategic European research agenda for robotics [2] states that robots can improve agriculture efficiency and competitiveness. But there are still very few available commercial robots for agricultural applications [1]. In Europe space we can identify two ongoing research and development projects to deploy monitoring robots on flat vineyards: the VineRobot [3], and Vinbot [4]. However, there are other kinds of vineyards that are not built on flat terrains but on steep slope hills which is a complex environment for the machinery and for the robotic algorithms (such as localization, mapping and path planning). These called steep slope vineyards exist in Portugal in the Douro region - an UNESCO heritage place - Fig. 1, and in other regions of five European countries. As these crops are not built on flat terrain but in steep hills, the development of robotic localization and mapping module that is accurate, reliable and all-time-available is a challenge because [5]: Fig. 1. A typical steep slope Terraced Vineyard in the Douro region of Portugal. –the GPS availability and accuracy are largely reduced due to the signal blockage or multi-reflection; –the dead-reckoning systems (for example odometry and inertial measurement systems) accuracy is drastically reduced due to the harsh conditions of the terrain. In [5], a localization system based on natural vineyard features, such as the trunks and poles of the vine, is proposed. This system can be seen as an alternative/complement to GPS-based localization systems. However, localization systems based on natural feature detectors are not all the time reliable, because the detector accuracy depends largely on the environment conditions (light, fog and dust) and for that reason the use of artificial beacons is advisable to increase the accuracy, reliability and availability of these localization systems. The latest techniques for precision agriculture are applying static sensors to the fields for continuously monitoring important variables, such as temperature, humidity and conductivity. The use of wires to connect these sensors to the base station is not always easy or an option and for that reason wireless sensors are a common approach. These sensors inserted in Wireless Sensor Network (WSN) can be used as artificial beacons and they have an enormous potential to increase the accuracy of the robot location estimation. Various international standards have been established for WSN applications in the past decades. Among them, the standards for wirelless LAN IEEE802.11b (“WiFi”), IEEE 802.15.1 (BT) and IEEE 802.15.4 (ZigBee) are the most commonly used [6]. In this work, BT version 4.0 also known as Bluetooth Smart or Bluetooth Low Energy (BLE) based technologies were selected as it provides some features like [7]: “Ultra-low peak, average and idle mode power consumption; ability to run for years on standard coin-cell batteries; lower implementation costs; multi-vendor interoperability; enhanced range”. Particularly, the beacons manufactured by Kontakt3were used to explore the wireless sensor signals in 3Available in http://www.kontakt.io . order to improve and increase redundancy of robot localization estimation. In the tests, the robot used was AGROB V14 system defined in [5]. In this paper, in section 2 a global overview about localizing and mapping considering RSSI-based distance estimations is given. In section 3 the RSSI-based distance estimation using iBeacon artifacts is evaluated. In section 4 our beacons mapping procedure (BMP) is described. In section 5 the realized tests are detailed and the obtained results are presented. Paper conclusions are presented in section 6. 2 Localization and mapping based on RSSI Localization can be realized considering several techniques, among them lateration and angulation are the most common techniques. However, a distance and/or an angle measurement between the robot and beacons is required for the robot location to be observable. In Radio Frequency based beacons it is possible to estimate the distance and angle between a beacon and a receiver, by considering three solutions [8]: –Received Signal Strength (RSS) to distance (path loss models) –RSS to Angle of Arrival (AoA) (directional antenna models) –Time-of-Flight to distance(ToF) (Speed of light) RSS is defined as the voltage measured by a receivers RSSI circuit. Most of the time, RSS is equivalently reported as measured power (the squared magnitude of the signal strength). RSS can be used for acoustic, Radio Frequency (RF), or other signals. Agricultural wireless sensors naturally communicate with neighboring sensors/base-stations, so the RSS of RF signals can be measured by each receiver during normal data communication without presenting additional bandwidth or energy requirements. RSSI is available in a large percentage of commercial receivers, these measurements are relatively inexpensive and simple to implement in hardware. As the GPS signals are not available in indoor scenarios, the RSS based localization has become an important and popular topic of localization research [9]. However, RSS measurements are notoriously unpredictable. When we consider this RSS measurements for a robust localization system, their sources of error must be precisely modeled. In optimal conditions (open-spaces and non-noisy) the signal power decays proportional to d−2, where dis the distance between the transmitter and receiver. In real conditions, the signal reflection is the most common source of errors. Reflection generates multiple signals with different amplitudes and phases at the receiver antenna, and these signals add constructively or destructively as a function of the frequency, causing frequency-selective fading, in [8] several methods are presented to minimize these errors and increase the distance estimation accuracy. After the best estimation of the distance between the receiver and beacon, the robot/receiver location can be estimated or corrected. However, for 2D localization purposes, the number of measurements must be enough (at least 3) and the beacons position well known. Nevertheless most of times these agricultural wireless sensors are installed without being georeferenciated, which is a requirement for this distance to be useful for robot location estimation. Here emerges a question: how can a robotic mapping procedure for artificial beacons (agricultural wireless sensors) be developed? The process of mapping beacons can be solved considering the robot location known or unknown. When it is unknown we must formalize a mapping procedure considering Simultaneous Localization and Mapping (SLAM) based techniques. In [10], a FastSLAM based algorithm is used for mapping seventy Radio-Frequency IDentification (RFID) tags, which are spread through an indoor environment. After the RFID tags mapping stage they have evaluated the robot location considering the RFID distance measurements and ignoring the odometry information, with this work the authors have concluded that the robot was able to localize itself with the same magnitude of accuracy and reduce the computational demands for the global localization of a moving mobile robot. Despite the fact of SLAM based techniques being the most appropriated for situations when the environment and robot location are unknown, in outdoor robots and particularly in agricultural robots, we can consider that the robot location is always know. In this particular work, of applying robots to steep slope vineyard, we will consider that the robot position is always known during the beacons mapping procedure. This can be considered true, because the mapping procedure will occur only when GPS signals are available or the robot location is observable by other means with an acceptable accuracy. Knowing the robot position, to be possible to estimate the beacon position in a 2D space, at least 3 distance measurements from different observations points are required. This beacon location estimation is obtained from the circle interception points/spaces. However: – To the distance measurements is always associated an uncertainty which makes the circle boundaries less defined and instead of a single interception point one or several likelihood interception regions are obtained; and, – Only one receiver will be available, which means that at each instant only one distance measurement will be obtained per beacon. The number of beacon distance measurements can be solved by considering distinct moments and robot locations. With minimum distance measurements satisfied, the beacon location can be estimated. However as several uncertainties are associated to the distance measurements and robot position, the used circle/ellipsoid equation interception solvers are intractable. Instead of finding a single interception point our problem now is to find the most likely interception region. In this way three filters used in robot localization problem can be considered for the beacons mapping procedure [11]: –Kalman filter - continuous tracking representation; –Histogram filters - Grid based approaches; and, –Particle filters; The Histogram based filters makes a discretization of the 2/3D space into a set of cells and assign to each cell a value with the probability of the robot/object/beacon being localized in that cell. In contrast particle filters spread randomly a large number of particles through the space and to each particle is associated a probability value of that particle being closer to the robot/object/beacon, in each iteration these probability values are updated and those particle with the lowest probability are deleted and new ones are generated in the neighborhood of the most likelihood particles. Due to the non-linearity of the beacons mapping problem, Histogram filters and Particle filters are the most adequate for this problem. 3 iBeacons RSSI based distance evaluation The BT based sensors called iBeacons4are simple emitters that advertises a packet with a certain frequency. They are developed using BT version 4.0 or “Bluetooth Low Energy” (BLE) that specifies the use of Generic Attribute Profile (GATT) built on top of the Attribute Protocol (ATT)[12]. This defines common operations and a framework for use of stored and transported data. GATT has two types of roles: –server - stores the data transported over ATT and accepts requests, commands and GATT client confirmations; –client - sends requests, commands and confirmations trough ATT to GATT servers. Thus, GATT is divided into Attributes, which in turn contain Services with certain Characteristics. These have a Value and a Description. Among others [13], some key features provided by these iBeacons are: –“TX Power Level” - sets the transmission signal strength based on which GATT clients will get RSSI; –“Advertising Interval” - sets the period advertising packets are emitted. To characterize the RSSI’s and distances of the iBeacons some outdoor tests have been made based on the description of Android Beacon Library[14]. On an empty football field, one put two wooden benches with approximately 0.7 m high and separate from each other for needed and known distances of 0.25, 0.5, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20 and 25 m. Then put the iBeacon (GATT servers) in a bench and in the other an Android mobile device with an application (GATT clients) that measures the RSSI from the iBeacon. In this particular case, the beacons used were the ones from Kontakt and the mobile device a Samsung GT-I9505. The beacons were set to transmit the advertising packet 5each 350 ms and its TxPower to a moderate value6of −12 dBm. 4Devices that complies to certain adopted specifications created by Apple Inc.. See https://developer.apple.com/ibeacon/ . 5Advertising interval can be set to a value between 20 ms and 10,240 ms.[13] 6Transmission power can be set to −30, −20, −16, −12, −8, −4, 0 or 4 dBm.[13] On the mobile side, the application developed records the RSSI readings also in intervals of 350 ms during a period of 2 minutes. That takes to 342 samples of RSSI that are saved to a text file to future analysis. In Fig. 2 are examples of histograms based on data recorded by the application 7. 0 20 40 60 80 100 120 140 160 180 200 1.656 1.380 1.185 0.877 0.672 0.511 -82 -80 -78 -76 -74 -72 samples distance (m) and RSSI(dBm) (a) for 1 m between devices 0 20 40 60 80 100 120 140 41.332 31.341 23.684 17.846 13.420 10.082 7.580 5.715 -106 -104 -102 -100 -98 -96 -94 -92 samples distance (m) and RSSI (dBm) (b) for 10 m between devices Fig. 2. Example histograms of recorded RSSI samples. Accordingly to the model described in the Android Beacon Library [14] d=A∗RSSI RefP ower B +C . (1) In 1, dis the distance in meters that we want to obtain, RSSI is the one received from the iBeacon by the mobile application, RefP ower is the reference received RSSI for the configured TxPower at the distance of 1 m between devices8,A,B and Care constants. With that data, each distance has a corresponding RSSI obtained with a mean value of the 342 samples measured in our field tests. Then, a fitting curve is constructed and a function for converting RSSI to distance is derived using 1 and the nonlinear least squares method to the pairs of distance and mean RSSI. The function derived: d= 0.3534536 ∗RSSI RefP ower 14.8393466 + 0.7566785 .(2) Using 2, a graph of the distances corresponding to the mean RSSI for each distance can be constructed (Fig. 3). Reading the generated graph, one can see that the error on converting from RSSI to distance increases with the distance. 7To improve readability the values of measured RSSI were merged using a interval of 2 dBm instead of 1 dBm. 8RefPower can be extracted from the advertising packet or can be measured for calibration of an iBeacon with the specific mobile device. The calibration can give more accuracy to the function of distance estimation. Artigo - Agricultural Wireless Sensor Mapping for Robot Localization 44