View
215
Download
0
Category
Preview:
Citation preview
UTILIZACAO DE REDES NEURAIS PARA LOCALIZACAO DE
UM CORPO PONTUAL COM BASE EM POSICIONAMENTO
POR RADIOFREQUENCIAS
Marielen Marins Ferreira
Projeto de Graduacao apresentado ao Curso
de Engenharia Eletronica e de Computacao
da Escola Politecnica, Universidade Federal
do Rio de Janeiro, como parte dos requisitos
necessarios a obtencao do tıtulo de Enge-
nheiro.
Orientador: Jose Gabriel Rodriguez Car-
neiro Gomes
Rio de Janeiro
Abril de 2016
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Escola Politecnica - Departamento de Eletronica e de Computacao
Centro de Tecnologia, bloco H, sala H-217, Cidade Universitaria
Rio de Janeiro - RJ CEP 21949-900
Este exemplar e de propriedade da Universidade Federal do Rio de Janeiro, que
podera incluı-lo em base de dados, armazenar em computador, microfilmar ou adotar
qualquer forma de arquivamento.
E permitida a mencao, reproducao parcial ou integral e a transmissao entre bibli-
otecas deste trabalho, sem modificacao de seu texto, em qualquer meio que esteja
ou venha a ser fixado, para pesquisa academica, comentarios e citacoes, desde que
sem finalidade comercial e que seja feita a referencia bibliografica completa.
Os conceitos expressos neste trabalho sao de responsabilidade do(s) autor(es).
Copyright c© 2016 Laird Technologies. All rights reserved. Reproduction in whole
or in part is prohibited without the prior written permission of the copyright holder.
iii
DEDICATORIA
Dedico este trabalho aos meus pais,
especialmente a minha mae, por nao ter
me deixado desistir dos meus sonhos
e ao meu pai, por ter me mostrado como
a matematica e simples.
iv
AGRADECIMENTO
Agradeco, primeiramente, a Deus.
Ao CNPQ, por ter me dado a oportunidade de realizar o meu intercambio academico
na Inglaterra.
Estendo os meus agradecimentos especiais a Shewan Yitayew, Mahendra Tailor e
Andrew Dobbing da Laird Technologies, por ter me dado este projeto para trabalhar.
Sou muito grata a paciencia e a dedicacao do meu orientador Jose Gabriel Gomes.
Por fim, mas nao menos importante, agradeco a toda famılia da Engenharia
Eletronica e de Computacao da UFRJ, que mesmo que nao percebam fazem meus
dias mais alegres.
v
RESUMO
A tecnologia, nos dias atuais, evolui cada vez mais rapido. Muitos dispositivos
foram desenvolvidos com apenas uma aplicacao, mas precisa de apenas um olhar
diferente para ver que e possıvel usar em mais de uma maneira. Este projeto ira
mostrar, como e possıvel a utilizacao de uma tecnologia desenvolvida recentemente
para detectar a presenca de uma pessoa e mostrar a viabilidade de utilizacao da
rede neural para prever a posicao de uma pessoa.
Palavras-Chave: dongle, beacon, RSSI, radiofrequencia, rede neural.
vi
ABSTRACT
Nowadays, new technologies arrive at this world very fast. Many devices have
been developed for just one application, but one can see that it is possible to use
them in more than one way by just looking at them differently. This project will
show how it is possible to use a recently developed technology to detect the presence
of a person, and the viability of using a neural network to predict the position of
someone.
Keywords: dongle, beacon, RSSI, radiofrequency, neural network.
vii
SIGLAS
BLE - Bluetooth Low Energy
RSSI - Received Signal Strength Indication
IA - Inteligencia Artificial
GPS - Global Positioning System
viii
Sumario
1 Introducao 1
1.1 Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Delimitacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.6 Descricao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Fundamentacao Teorica 4
2.1 Inteligencia Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Rede Neural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Trabalhos Anteriores . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 Projeto do Sistema 7
3.1 Coleta de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Amostragem de Media Movel . . . . . . . . . . . . . . . . . . . . . . 8
3.3 Sistema da Rede Neural . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3.1 Entradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3.2 Alvos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3.3 Caracterısticas da Rede Neural . . . . . . . . . . . . . . . . . 11
4 Resultado 13
4.1 Entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.1.1 Posicao 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.1.2 Posicao 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.1.3 Posicao 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
ix
4.1.4 Posicao 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.5 Posicao 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.6 Posicao 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1.7 Posicao 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1.8 Posicao 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2 Alvos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.3 Saıda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.3.1 Rede Neural Treinada . . . . . . . . . . . . . . . . . . . . . . 25
4.3.2 Amostras da Saıda . . . . . . . . . . . . . . . . . . . . . . . . 25
5 Conclusao 36
5.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Bibliografia 38
x
Lista de Figuras
2.1 Dongle BL620. Fonte: [9]. . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Beacon BL600. Fonte: [10]. . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1 Diagrama do projeto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Vista superior da sala vazia. . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3 Graficos com diferentes perıodos para a media movel. . . . . . . . . . . . 10
3.4 Topologia da rede neural utilizada. . . . . . . . . . . . . . . . . . . . . . 10
3.5 Vista superior da sala de reunioes com as posicoes utilizadas no projeto. . 11
4.1 Vista superior com uma pessoa na posicao 1. . . . . . . . . . . . . . . . 14
4.2 Grafico dos valores RSSI da posicao 1 comparados com os valores da sala
vazia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3 Vista superior com uma pessoa na posicao 2. . . . . . . . . . . . . . . . 15
4.4 Grafico dos valores RSSI da posicao 2 comparados com os valores da sala
vazia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.5 Vista superior com uma pessoa na posicao 3. . . . . . . . . . . . . . . . 16
4.6 Grafico dos valores RSSI da posicao 3 comparados com os valores da sala
vazia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.7 Vista superior com uma pessoa na posicao 4. . . . . . . . . . . . . . . . 18
4.8 Grafico dos valores RSSI da posicao 4 comparados com os valores da sala
vazia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.9 Vista superior com uma pessoa na posicao 5. . . . . . . . . . . . . . . . 19
4.10 Grafico dos valores RSSI da posicao 5 comparados com os valores da sala
vazia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.11 Vista superior com uma pessoa na posicao 6. . . . . . . . . . . . . . . . 20
xi
4.12 Grafico dos valores RSSI da posicao 6 comparados com os valores da sala
vazia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.13 Vista superior com uma pessoa na posicao 7. . . . . . . . . . . . . . . . 22
4.14 Grafico dos valores RSSI da posicao 7 comparados com os valores da sala
vazia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.15 Vista superior com uma pessoa na posicao 8. . . . . . . . . . . . . . . . 23
4.16 Grafico dos valores RSSI da posicao 8 comparados com os valores da sala
vazia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.17 Vista superior da sala com as coordenadas. . . . . . . . . . . . . . . . . 24
4.18 Desempenho da rede neural ao longo do treino: erro medio quadratico
calculado sobre os conjuntos de dados para treino, validacao e teste. . . . 25
4.19 Grafico do histograma de erro da rede neural treinada. . . . . . . . . . . 26
4.20 Regressao da rede neural treinada. . . . . . . . . . . . . . . . . . . . . . 27
4.21 Vista superior da sala com a posicao 1. . . . . . . . . . . . . . . . . . . 27
4.22 Saıda da rede neural para a posicao 1. . . . . . . . . . . . . . . . . . . . 28
4.23 Vista superior da sala com a posicao 2. . . . . . . . . . . . . . . . . . . 28
4.24 Saıda da rede neural para a posicao 2. . . . . . . . . . . . . . . . . . . . 29
4.25 Vista superior da sala com a posicao 3. . . . . . . . . . . . . . . . . . . 29
4.26 Saıda da rede neural para a posicao 3. . . . . . . . . . . . . . . . . . . . 30
4.27 Vista superior da sala com a posicao 4. . . . . . . . . . . . . . . . . . . 30
4.28 Saıda da rede neural para a posicao 4. . . . . . . . . . . . . . . . . . . . 31
4.29 Vista superior da sala com a posicao 5. . . . . . . . . . . . . . . . . . . 31
4.30 Saıda da rede neural para a posicao 5. . . . . . . . . . . . . . . . . . . . 32
4.31 Vista superior da sala com a posicao 6. . . . . . . . . . . . . . . . . . . 32
4.32 Saıda da rede neural para a posicao 6. . . . . . . . . . . . . . . . . . . . 33
4.33 Vista superior da sala com a posicao 7. . . . . . . . . . . . . . . . . . . 33
4.34 Saıda da rede neural para a posicao 7. . . . . . . . . . . . . . . . . . . . 34
4.35 Vista superior da sala com a posicao 8. . . . . . . . . . . . . . . . . . . 34
4.36 Saıda da rede neural para a posicao 8. . . . . . . . . . . . . . . . . . . . 35
xii
Lista de Tabelas
3.1 Caracterısticas da rede neural. . . . . . . . . . . . . . . . . . . . . . . 12
4.1 Valores do alvo para a rede neural para cada configuracao. . . . . . . 24
xiii
Capıtulo 1
Introducao
1.1 Tema
Beacon e um hardware que possui o protocolo de comunicacao Bluetooth Low
Energy (BLE), cujo nome deve-se ao baixo consumo de energia. Sua aplicacao
principal e a Internet das Coisas, ou seja, tem como objetivo conectar os itens
usados no dia a dia a rede mundial de computadores [1].
Pode-se usar a conexao do Bluetooth do celular para fazer o envio e o recebi-
mento de comandos. Entretanto, a empresa Laird Technologies, que desenvolveu
um beacon, percebeu que quanto mais proximo o beacon estava do celular, maior
era a sua potencia. A partir daı, surgiu o estudo para saber a possibilidade do uso
do beacon na localizacao de um corpo pontual, ou seja, um corpo qualquer onde
nao e considerada a massa do mesmo. E ao inves do uso do celular para captar o
sinal emitido pelo beacon, chamado de Received Signal Strength Indication (RSSI),
utilizou-se um dongle Bluetooth (adaptador Bluetooth USB) conectado a um com-
putador que guardava os dados. Essa troca foi necessaria, pois o sinal de telefone
do celular influenciava no sinal recebido pela conexao Bluetooth.
A analise dos dados recebidos pelo dongle foi feita atraves de redes neurais, pois
precisamos de um processamento, cujas entradas sejam os dados do sinal RSSI
recebido e que a saıda seja a posicao do corpo pontual e que esse processamento seja
inteligente para determinar a posicao sozinho.
1
Sendo assim, utilizou-se a variacao do sinal RSSI recebido por um dongle como
entrada da rede e a saıda foi a posicao cartesiana dentro de um espaco delimitado.
Com o resultado encontrado, sera possıvel saber a viabilidade dessa aplicacao.
1.2 Delimitacao
Este projeto foi em sua grande parte realizado na empresa Laird Technologies
em Wycombe, na Inglaterra, onde foram cedidas as ferramentas necessarias para
a execucao do mesmo. A corporacao tinha a curiosidade de utilizar o beacon que
eles produziam em outra aplicacao que nao fosse para ser apenas um hardware para
comunicacao remota.
O beacon e um hardware que utiliza BLE para emitir sinal. Este tipo de comu-
nicacao e realizada atraves de envios regulares de sinal, cujo intervalo e configuravel,
e de apenas um sentido. Portanto, o beacon so emite sinal e precisa de um outro
dispositivo, podendo ser um smartphone ou um dongle Bluetooth, capaz de receber
esse sinal. O padrao BLE tem uma faixa de transmissao de cem metros, sendo
melhor utilizado em ambientes fechados [2].
O conceito de inteligencia artificial (IA) pode ser utilizado no processamento dos
dados gerados a partir dos beacons. A mesma faz parte da ciencia da computacao
que define a capacidade de maquinas de aprender, envolve “raciocınio, conhecimento,
planejamento, aprendizagem, comunicacao, percepcao e capacidade de mover e ma-
nipular objetos”[3].
Existem duas categorias dentro da metodologia para usar IA que sao inteligencia
artificial simbolica e inteligencia computacional. A ultima contem rede neural como
um dos seus metodos utilizados, na qual, este projeto esta focado.
Quanto maior a distancia entre o dongle e o beacon, menores serao os valores de
RSSI captados e maior incerteza nos mesmos. Sendo assim, na captacao de dados
utilizou-se uma distancia menor do que cinco metros.
2
1.3 Justificativa
Com o avanco da tecnologia, os comandos realizados remotamente estao cada vez
mais sendo utilizados. A comunicacao entre a chave do carro e o carro, por exemplo,
pode usar a comunicacao atraves do BLE, onde e possıvel configurar varios aspectos.
Para se conseguir determinar reacoes a certas situacoes deve se aplicar o conceito de
redes neurais. Assim, este trabalho se propoe a tratar os dados que serao a entrada
e analisar a saıda, verificando se condiz com a realidade.
1.4 Objetivo
O objetivo principal deste trabalho e saber a viabilidade do uso de redes neu-
rais para detectar um corpo pontual dentro de uma regiao especıfica por meio de
radiofrequencia.
1.5 Metodologia
Usando os avancos na tecnologia de deteccao, ferramentas como os beacons e
dongles podem monitorar o ambiente durante o processamento de seus valores em
um computador e alimentando uma rede neural, a fim de desenvolver um sistema
apropriado para a deteccao de corpos pontuais.
1.6 Descricao
No Capıtulo 2 sera mostrada a fundamentacao teorica utilizada neste trabalho.
O Capıtulo 3 apresenta o projeto do sistema desenvolvido e a coleta de dados.
Ja no Capıtulo 4, os resultados da redes neurais sao mostrados.
E, por fim, e apresentada a conclusao.
3
Capıtulo 2
Fundamentacao Teorica
2.1 Inteligencia Artificial
O inıcio do conceito de Inteligencia Artificial vem desde a Antiguidade Classica
(sec VII a.C. - V d.C.) com o surgimento das maquinas para facilitar o trabalho
intelectual dos homens. Com o tempo, elas foram evoluindo e ganhando cada vez
mais lugar para substituir o ser humano em certas tarefas [4].
Alan Turing propos o jogo da imitacao, no qual uma maquina imitaria os compor-
tamentos humanos em um jogo contra o mesmo e, se ela ganhasse, estaria compro-
vado que e uma maquina inteligente. Assim, em 1937, ele criou uma que refazia o
comportamento do agente que a executava. Foi uma base para a criacao do primeiro
computador dele [4].
A Inteligencia Artificial se tornou uma ciencia em 1956 e ate hoje existe uma fonte
inesgotavel de topicos para pesquisar [4].
2.2 Rede Neural
Rede neural e uma aplicacao de inteligencia artificial que tem como um de seus
focos o reconhecimento de padroes [5]. Exatamente, por este motivo, ela foi utilizada
neste projeto, ja que e necessario reconhecer a variacao do sinal RSSI para descobrir
onde esta o corpo pontual.
4
Figura 2.1: Dongle BL620. Fonte: [9].
Existem diferentes topologias de uma rede neural, em que cada uma se adapta
melhor em certas ocasioes. Neste projeto utilizou-se o auxılio da ferramenta Matlab
[6], ja que o objetivo nao era desenvolver a melhor rede neural e sim, uma que
mostrasse a viabilidade do trabalho.
2.3 Trabalhos Anteriores
A Laird Technologies tinha o interesse em conhecer a viabilidade do uso de redes
neurais nos componentes deles, pois nao sabiam nem como processar o sinal e muito
menos tirar informacoes deles.
No inıcio do projeto foi feita uma pesquisa para saber se algum outro trabalho
tinha o mesmo objetivo deste. Foram encontrados dois, mas que nao utilizam as
mesmas ferramentas que este.
Os projetos [7] e [8] tem o mesmo embasamento que este trabalho, pois eles
utilizam os valores do sinal RSSI para determinar a posicao de algo. Contudo, eles
utilizam GPS (Global Positioning System) para saber a posicao ao inves de utilizar
o dongle BL600 [9], produzido pela Laird Technologies. No caso, GPS possui um
alcance muito maior que o beacon, todavia seu sinal nao e tao preciso em lugares
fechados, como o sinal do beacon.
5
Figura 2.2: Beacon BL600. Fonte: [10].
O beacon, na Figura 2.2, e um hardware que envia um sinal e o dongle, na Figura
2.1, e um dispositivo que recebe este sinal, o RSSI do beacon. Estes equipamentos
foram essenciais neste projeto para trabalhar com as amostras de RSSI.
Com algumas experiencias basicas, foi possıvel perceber que quanto mais perto o
beacon estava do dongle, maior era o seu valor RSSI, e se algo estava entre os dois,
o valor diminuıa.
Com base nisto, este trabalho ira explorar os valores de RSSI quando algo esta
entre os dispositivos, saber se e possıvel detectar a presenca de um corpo pontual e
sua posicao utilizando a rede neural.
6
Capıtulo 3
Projeto do Sistema
A primeira etapa deste projeto foi a coleta de dados, conforme mostra a Figura
3.1, onde os valores RSSI foram coletados em uma sala de reunioes. Para isso, os
materiais necessarios foram quatro beacons e um dongle.
A segunda etapa e a analise dos dados, onde a media movel e calculada, mostrando
a diferenca do sinal recebido no dongle de cada beacon, com o objetivo de encontrar
um padrao.
Esta secao mostrara em detalhes como os valores foram processados e usados como
entrada para a rede neural.
Figura 3.1: Diagrama do projeto.
7
Figura 3.2: Vista superior da sala vazia.
3.1 Coleta de Dados
O experimento foi realizado em uma sala de reunioes, que continha objetos que
poderiam aumentar o numero de vezes que um sinal era refletido, como: cadeiras,
televisao, quadro e mesa. Nas diversas coletas de dados, os objetos citados acima
permaneceram imoveis, garantindo que cada experimento fosse submetido as mesmas
condicoes.
Os beacons foram colocados um em cada canto da sala e cada um deles com
um numero de serie, sendo os dois ultimos algarismos utilizados com a intencao
da identificacao dos mesmos. O dongle foi colocado no centro da mesa, para ter a
mesma distancia de cada um dos beacons, como mostrado na Figura 3.2.
3.2 Amostragem de Media Movel
As amostras foram processadas fazendo a media de certa quantidade de valores
das amostras do sinal por segundo. Portanto, calculando a media movel, como
8
mostrado nas Equacoes (3.1) e (3.2) [11]:
weight =1
term, (3.1)
M = s · weight, (3.2)
onde o term e o perıodo da media movel; weight e o peso que sera aplicado
nos valores iniciais; M e a matriz da media movel e s e a matriz com as amostras
originais do sinal emitido pelos beacons e recebidos pelo dongle.
Simulacoes foram feitas com diferentes valores para a variavel term para decidir
qual o melhor valor para utilizar, como mostrado na Figura 3.3.
Nos graficos apresentados na Figura 3.3 foi feita uma coleta de dados com a sala
de reuniao vazia e sendo cada linha o sinal de um beacon.
O fator decisivo para escolher foi o que desse menos ruıdo no valor mais baixo
possıvel para que nao perdesse a caracterıstica do sinal. Com isso, o valor 40 para
term foi o escolhido, portanto a cada segundo teremos quatro valores da media
movel.
3.3 Sistema da Rede Neural
Nesta fase, os valores da media movel foram utilizados como entrada da rede
neural. A topologia utilizada esta representada na Figura 3.4. Ela contem quatro
entradas, duas camadas ocultas e duas saıdas. Essa topologia foi escolhida por ser
a padrao do Matlab e por mostrar-se ser adequada a esta aplicacao.
3.3.1 Entradas
Na rede neural, cada beacon representa uma entrada ja processada pela media
movel. Por isso, o numero de entradas da rede neural e igual a quatro.
9
Figura 3.3: Graficos com diferentes perıodos para a media movel.
Figura 3.4: Topologia da rede neural utilizada.
10
Figura 3.5: Vista superior da sala de reunioes com os alvos utilizados no
projeto.
3.3.2 Alvos
Como ilustrado na Figura 3.5, os pontos de 1 a 8 foram configurados como alvos,
sendo cada um com coordenadas x e y.
3.3.3 Caracterısticas da Rede Neural
Depois de os dados serem processados pelo filtro de media movel, a entrada e os
alvos sao normalizados para ter uma media igual a zero e variancia igual a 1. As
outras caracterısticas da rede neural estao apresentadas na Tabela 3.1.
Nos resultados que serao mostrados na proxima secao, a rede neural utilizada teve
quatro entradas que sao os sinais emitidos por cada beacon, duas camadas ocultas,
e duas saıdas que sao os pontos cartesianos.
11
Tabela 3.1: Caracterısticas da rede neural.
Caracterısticas Metodo
Divisao dos Dados Aleatorio
Treinamento Levenberg-Marquadt
Desempenho Erro Quadratico Medio
Funcao de Transferencia nas Camadas Sigmoide
Para escolher a configuracao da rede neural foram feitos testes simples a fim de
saber qual dava o menor erro medio quadratico. Como o foco deste projeto nao e
avaliar a eficiencia das redes neurais e sim a viabilidade do uso delas, nao foi feito
um estudo aprofundado nessa area.
12
Capıtulo 4
Resultado
4.1 Entrada
Os seguintes resultados sao os captados no interior da sala e foram usados como
entrada da rede neural antes do processamento por media movel. Em cada posicao
sera feita uma analise para tentar determinar um padrao.
4.1.1 Posicao 1
A Figura 4.1 mostra como os beacons estao posicionados na sala e onde a pessoa
esta localizada na area marcada. A Figura 4.2 apresenta graficos dos valores RSSI
da posicao 1 comparados com os de uma sala vazia para mostrar a diferenca entre
eles.
Nesta posicao, a pessoa fica mais proxima de dois beacons, o 23 e o 25, e podemos
ver que o valor do sinal aumentou para eles. Enquanto isso, no beacon 27, o sinal
diminui e no 49 continuou o mesmo aparentemente. Comparando os quatro sinais,
podemos ver que o beacon que esta mais proximo, 25, possui o menor valor e o mais
distante, 49, possui o maior valor.
4.1.2 Posicao 2
A Figura 4.3 mostra como os beacons estao posicionados na sala e onde a pessoa
esta localizada na area marcada. A Figura 4.4 apresenta graficos dos valores RSSI
13
Figura 4.1: Vista superior com uma pessoa na posicao 1.
Figura 4.2: Grafico dos valores RSSI da posicao 1 comparados com os valores
da sala vazia.
14
Figura 4.3: Vista superior com uma pessoa na posicao 2.
da posicao 2 comparados com os de uma sala vazia para mostrar a diferenca entre
eles.
Nesta posicao, os beacons mais proximos sao o 25 e o 27. Entretanto, quando
comparado com a sala vazia, apenas o 25 aumentou de valor. Ja nos mais distantes,
o 23 e o 49 se comportaram como se a sala estivesse vazia.
4.1.3 Posicao 3
A Figura 4.5 mostra como os beacons estao posicionados na sala e onde a pessoa
esta localizada na area marcada. A Figura 4.6 apresenta graficos dos valores RSSI
da posicao 3 comparados com os de uma sala vazia para mostrar a diferenca entre
eles.
Nesta posicao, o beacon mais proximo e o 27 e o sinal referente a ele nao foi muito
diferente do obtido com a sala vazia. Os outros beacons ficaram com valores muito
proximos aos do experimento na posicao 2.
15
Figura 4.4: Grafico dos valores RSSI da posicao 2 comparados com os valores
da sala vazia.
Figura 4.5: Vista superior com uma pessoa na posicao 3.
16
Figura 4.6: Grafico dos valores RSSI da posicao 3 comparados com os valores
da sala vazia.
4.1.4 Posicao 4
A Figura 4.7 mostra como os beacons estao posicionados na sala e onde a pessoa
esta localizada na area marcada. A Figura 4.8 apresenta graficos dos valores RSSI
da posicao 4 comparados com os de uma sala vazia para mostrar a diferenca entre
eles.
Ja nesta posicao, os beacons mais proximos sao os 27 e o 49. Apenas o 27 teve
um comportamento diferente do observado na sala vazia. O 25 e o 23 mantiveram
aparentemente os valores do experimento anterior.
4.1.5 Posicao 5
A Figura 4.9 mostra como os beacons estao posicionados na sala e onde a pessoa
esta localizada na area marcada. A Figura 4.10, apresenta graficos dos valores RSSI
da posicao 5 comparados com os de uma sala vazia para mostrar a diferenca entre
eles.
Este e o primeiro experimento em que o beacon 49 tem um comportamento dife-
rente do observado na sala vazia, provavelmente por ser o mais proximo. Enquanto
17
Figura 4.7: Vista superior com uma pessoa na posicao 4.
Figura 4.8: Grafico dos valores RSSI da posicao 4 comparados com os valores
da sala vazia.
18
Figura 4.9: Vista superior com uma pessoa na posicao 5.
isso, o valor RSSI do beacon 27 diminuiu o valor e o 26 e o 25 continuaram no mesmo
padrao.
4.1.6 Posicao 6
A Figura 4.11 mostra como os beacons estao posicionados na sala e onde a pessoa
esta localizada na area marcada. Ja a Figura 4.12 apresenta graficos dos valores
RSSI da posicao 6 comparados com os de uma sala vazia para mostrar a diferenca
entre eles.
Nesta posicao, os dois beacons mais proximos sao o 23 e o 49, que nao tiveram o
mesmo padrao. Enquanto um diminuiu, o outro aumentou, respectivamente. O 25
e o 27 tiveram comportamentos bem semelhantes a outros experimentos.
4.1.7 Posicao 7
A Figura 4.13 mostra como os beacons estao posicionados na sala e onde a pessoa
esta localizada na area marcada. Ja a Figura 4.14 apresenta graficos dos valores
RSSI da posicao 7 comparados com os de uma sala vazia para mostrar a diferenca
entre eles.
19
Figura 4.10: Grafico dos valores RSSI da posicao 5 comparados com os
valores da sala vazia.
Figura 4.11: Vista superior com uma pessoa na posicao 6.
20
Figura 4.12: Grafico dos valores RSSI da posicao 6 comparados com os
valores da sala vazia.
O beacon mais proximo e o 23, mas ele nao teve um comportamento muito dife-
rente do observado na sala vazia. Os outros ficaram muito proximos tambem dos
valores da sala vazia.
4.1.8 Posicao 8
A Figura 4.15 mostra como os beacons estao posicionados na sala e onde a pessoa
esta localizada na area marcada. Enquanto, na Figura 4.16 apresenta graficos dos
valores RSSI da posicao 8 comparados com os de uma sala vazia para mostrar a
diferenca entre eles.
Na posicao 8, os beacons mais proximos sao o 23 e o 25 e sao os que tem menor
valor RSSI. Entretanto, o beacon 49, em partes do tempo tem valores parecidos com
os do 23.
4.2 Alvos
Os alvos foram representados em coordenadas retangulares, sendo a origem o
ponto em azul no canto inferior esquerdo na Figura 4.17.
21
Figura 4.13: Vista superior com uma pessoa na posicao 7.
Figura 4.14: Grafico dos valores RSSI da posicao 7 comparados com os
valores da sala vazia.
22
Figura 4.15: Vista superior com uma pessoa na posicao 8.
Figura 4.16: Grafico dos valores RSSI da posicao 8 comparados com os
valores da sala vazia.
23
Figura 4.17: Vista superior da sala com as coordenadas.
A distancia foi medida com uma fita metrica simples, ja que este projeto nao tem
preocupacao com a precisao. As medidas adquiridas estao apresentadas na Tabela
4.1.
Tabela 4.1: Valores do alvo para a rede neural para cada configuracao.
Posicao X(mm) Y(mm)
1 1130 1045
2 1130 1725
3 1130 2325
4 1700 2875
5 2700 2375
6 2700 1725
7 2700 1045
8 1700 375
24
Figura 4.18: Desempenho da rede neural ao longo do treino: erro medio
quadratico calculado sobre os conjuntos de dados para treino, validacao e
teste.
4.3 Saıda
4.3.1 Rede Neural Treinada
A Figura 4.18 mostra que o erro quadratico medio do teste, da validacao e do
treinamento converge para um valor pequeno. A Figura 4.19 mostra que o erro da
saıda da rede neural esta bem pequeno para os alvos configurados. E a Figura 4.20
mostra o ajuste dos dados a uma curva. Assim, essas figuras caracterizam a rede
neural e mostram que o treinamento foi eficiente.
4.3.2 Amostras da Saıda
Quando desejamos saber qual e a resposta da rede neural para dados referentes a
uma posicao especıfica da pessoa na sala, os alvos referentes a esta posicao nao sao
mostrados a rede neural.
Nas Figuras 4.21, 4.23, 4.25, 4.27, 4.29, 4.31, 4.33 e 4.35 estao os pontos onde
25
Figura 4.19: Grafico do histograma de erro da rede neural treinada.
seria a solucao ideal da rede neural. Nas Figuras 4.22, 4.24, 4.26, 4.28, 4.30, 4.32,
4.34, 4.36 esta a saıda da rede neural para cada posicao referente a mesa que fica
no centro da sala de reuniao.
A Figura 4.22 mostra uma certa concentracao dos pontos ao redor do alvo espe-
rado. Entretanto, as regioes das Figuras 4.24, 4.26 e 4.28 ficaram muito dipersas.
As regioes mostradas nas Figuras 4.30, 4.30 e 4.34 ficaram mais concentradas, entre-
tanto afastadas da mesa. Na Figura 4.36, regiao dos pontos da saıda da rede neural
foram os mais concentrados perto do alvo.
26
Figura 4.20: Regressao da rede neural treinada.
Figura 4.21: Vista superior da sala com a posicao 1.
27
Figura 4.22: Saıda da rede neural para a posicao 1.
Figura 4.23: Vista superior da sala com a posicao 2.
28
Figura 4.24: Saıda da rede neural para a posicao 2.
Figura 4.25: Vista superior da sala com a posicao 3.
29
Figura 4.26: Saıda da rede neural para a posicao 3.
Figura 4.27: Vista superior da sala com a posicao 4.
30
Figura 4.28: Saıda da rede neural para a posicao 4.
Figura 4.29: Vista superior da sala com a posicao 5.
31
Figura 4.30: Saıda da rede neural para a posicao 5.
Figura 4.31: Vista superior da sala com a posicao 6.
32
Figura 4.32: Saıda da rede neural para a posicao 6.
Figura 4.33: Vista superior da sala com a posicao 7.
33
Figura 4.34: Saıda da rede neural para a posicao 7.
Figura 4.35: Vista superior da sala com a posicao 8.
34
Capıtulo 5
Conclusao
O intuito desse projeto foi tirar a curiosidade das pessoas que trabalham com co-
municacao sem fio na empresa Laird Technologies: se, usando beacons, seria possıvel
tambem determinar a localizacao de um corpo pontual, alem da funcao regular que
eles tem como sensores.
Surgiu a oportunidade de se utilizarem redes neurais para facilitar o trabalho.
Depois de muitos testes, percebeu-se que os sinais nao seguem um padrao logico, as
vezes, acontece o esperado, as vezes nao. Contudo, por mais que a rede neural nao
fosse precisa, ela foi mostrou-se eficaz no seu objetivo. Obteve sucesso ao determinar
uma regiao na qual se esperava que uma pessoa fosse encontrada.
O projeto tem os resultados suficientes para afirmar que para os valores RSSI
recebidos pelo dongle, e possıvel detectar a posicao de um corpo pontual em uma
determinada regiao. A saıda da rede neural mostrou que e viavel usar este metodo
para detectar a posicao da pessoa a partir de amostras de RSSI.
5.1 Trabalhos Futuros
Este projeto foi apenas um estudo preliminar sobre a aplicacao de redes neurais
ao hardware disponıvel (beacons). Ha alguns topicos interessantes para investigacao
futura, como por exemplo os que estao listados a seguir:
• Ao inves de utilizar 4 beacons e 1 dongle, utilizar 4 dongles e um beacon, e o
que mudaria de posicao ao inves de ser a pessoa, seria o beacon.
36
• Fazer testes ao ar livre para saber se aparece alguma diferenca nos resultados.
• Descobrir qual a topologia de rede neural leva aos resultados mais precisos.
37
Referencias Bibliograficas
[1] GOMEZ, C., OLLER, J., PARADELLS, J., “Overview and evaluation of blue-
tooth low energy: An emerging low-power wireless technology”, Sensors, v. 12,
n. 9, pp. 11734–11753, 2012.
[2] NEWMAN, N., “Apple ibeacon technology briefing”, Journal of Direct, Data
and Digital Marketing Practice, v. 15, n. 3, pp. 222–225, 2014.
[3] KALRA, A., SINGH, S., SINGH, S., et al., “Artificial Intelligence and Neural
Network”, International Journal of Advanced Research in Computer Science,
v. 1, n. 3, pp. 203–206, 2010.
[4] MCCORDUCK, P., MINSKY, M., SELFRIDGE, O. G., et al., “History of
Artificial Intelligence.” In: IJCAI, pp. 951–954, 1977.
[5] HAYKIN, S. S., HAYKIN, S. S., HAYKIN, S. S., et al., Neural networks and
learning machines, v. 3. Pearson Education Upper Saddle River, 2009.
[6] “Mathworks”, http://uk.mathworks.com/products/neural-network/, 2014,
(Acesso em 26 de Agosto de 2014).
[7] J. CHEN, H. Q., YAN, X., “Localization algorithm using improved RSSI”,
Journal of Information and Computational Science, v. 10, n. 15, pp. 4809–4817,
2013.
[8] X. YAN, Q. H., YU, J., “A selective beacon node 3D location estimation based
on RSSI for wireless sensor network”, Information Technology Journal, v. 12,
n. 2, pp. 409950, 2013.
[9] “BL620”, http://www.lairdtech.com/products/bl620-us/, 2015, (Acesso em 7
de Fevereiro de 2016).
38
[10] “BL600”, http://www.lairdtech.com/products/bl600-series/, 2015, (Acesso em
7 de Fevereiro de 2016).
[11] “Mathworks”, http://www.mathworks.co.uk/help/econ/moving-average-
trendestimation.html, 2014, (Acesso em 26 de Agosto de 2014).
39
BL600 Series
Single-Mode BLE Module Featuring smart BASIC
USA: +1.800.492.2320
Europe: +44.1628.858.940
Asia: +852.2268.6567
wirelessinfo@lairdtech.com
www.lairdtech.com/wireless
BL600 Series modules from Laird
Technologies make it easy to add single-
mode Bluetooth Low Energy (BLE), or
Bluetooth Smart™, to small, portable,
power-conscious devices, including those
powered by AAA or coin cell batteries. The fully approved, programmable modules
feature Laird’s innovative, event-driven smart BASIC programming language,
which significantly simplifies BLE integration.
Based on the award winning Nordic Semiconductor nRF51822 chipset, BL600
modules provide exceptionally low power consumption with outstanding wireless
range, all within a compact footprint of 19 mm x 12.5 mm. The modules
incorporate all the hardware and firmware required to support development of
BLE applications, including:
Radio hardware
UART, SPI, I2C, ADC, and GPIO interfaces for connecting peripherals and
sensors
A complete BLE software stack
GATT-based BLE profiles that include Blood Pressure, Heart Rate, Health
Thermometer, Proximity and Find Me.
Custom Services to suit any application’s needs
What makes the modules unique is smartBASIC, an event-driven programming
language that enables standalone operation of the module whereby sensors can
be attached via any of the interfaces without the need for an external processor. A
simple smartBASIC application encapsulates the complete end-to-end process of
reading, writing, and processing of sensor data and then using BLE to transfer it to
any Bluetooth v4.0 device – smartphone, tablet, gateway, or computer. Ultimately
smartBASIC accelerates initial development, creation of prototypes, and mass
production by providing you with your own BLE expert within the module.
In addition to carrying FCC modular, IC, CE and MIC approvals, BL600 modules
are fully qualified as a Bluetooth End Products, enabling designers to integrate the
modules in devices without the need for further Bluetooth Qualification. A low-
cost developer’s kit including simple software tools simplifies module integration
and guarantees the fastest route to market.
The details contained within the document are subject to change. Download the
product specification from www.lairdtech.com/wireless for the most current
specification.
BL600 Series
Single-Mode BLE Module Featuring smart BASIC
Version Date Changes Approved By
1.0 08 Jan 15 Initial J. Kaye
CATEGORIES FEATURE IMPLEMENTATION
Wireless Specification Bluetooth® V4.0 – Single-Mode
Frequency 2.402 - 2.480 GHz
Max Transmit Power 4dBm
Receive Sensitivity -91dBm (typical)
Whisper Mode Down to -55dBm (Transmit)
Link Budget 95 dB (@ 1 Mbps)
Raw Data Rates 1 Mbps (over the air)
Host Interfaces Total 28 lines – multi function
UART TX, RX, CTS, RTS DTR, DSR, DCD, RI can be implemented in smartBASIC
Default 9600, N, ,8, 1
From 1,200 to 115,200bps
GPIO Up to 28 lines
SPI 3 lines
I2C 2 lines
ADC 6 lines (plus ADC reference)
Profiles Blood Pressure, Heart Rate, Health Thermometer/ Proximity & Find Me/ Custom Services
Services Generic Access, Battery Service, Device Information Service, Heart Rate Service, Health Thermometer Service, Immediate Alert Service, Link Loss Service, Tx Power Service, Blood Pressure Service
Control Protocols Any that can be implemented using smartBASIC
Encryption AES 128 bit using CCM encryption
Supply Voltage Supply 1.8V – 3.6V – internal LDO 2.1V – 3.6V – internal DCDC converter
Power Consumption Current ‘System Idle’ – 3.5 uA
‘Transmit’ – 10.5 mA @ 0 dBm
Physical Dimensions 19mm x 12.5mm x 3mm
Environmental Operating Temperature
-40° to +85° C when powered at 3.3 V +/- 10% -25° to +75° C when powered at 1.8V (contact Laird for any query)
Storage Temperature -40°C to +85°C
Miscellaneous Lead Free Lead-free and RoHS compliant
Warranty 5-Year Limited Lifetime
Development Tools Development Kit Development board and free Software Tools
Approvals Bluetooth® End Product Listing (EPL)
FCC / IC / CE / MIC All BL600 Series
Ordering Information BL600-SA-0x Single Mode BLE Module featuring smartBASIC (internal antenna) BL600-SC-0x Single Mode BLE Module featuring smartBASIC (IPEX MHF4 antenna connector)
BL600-ST-0x Single Mode BLE Module featuring smartBASIC (trace pin)
DVK-BL600-SA / ST / SC-0x Development Kit for each BL600 series module above
BL620 Series Central Mode BLE Module Featuring smart BASIC
Support Portal: http://ews-support.lairdtech.com
USA: +1.800.492.2320
Europe: +44.1628.858.940
Asia: +852.2268.6567
wirelessinfo@lairdtech.com
www.lairdtech.com/bluetooth
The BL600 Series modules from Laird
have been enhanced with the addition
of the BL620 part numbers. The
BL620 uses the same module
hardware as the BL600 but has a new
firmware supporting Central mode connectivity.
The BL620 makes it easy to add single-mode Bluetooth Low Energy (BLE), also
known as Bluetooth Smart™, to small, portable, power-conscious devices,
including those powered by AAA or coin cell batteries.
The unique feature of this module is smartBASIC, an event-driven programming
language that enables standalone operation of the module. smartBASIC on BL620
enables wireless connections to peripheral devices that are in turn connected to
sensors so that the data can be collected via GATT operations. smartBASIC has
been proven to speed time to market and significantly simplifies BLE integration
for embedded devices.
Based on the award winning Nordic Semiconductor nRF51822 chipset, BL620
modules provide exceptionally low power consumption with outstanding wireless
range, all within a compact footprint of 19 mm x 12.5 mm. The modules
incorporate all the hardware and firmware required to support development of
BLE Central mode applications, including:
Radio hardware
UART, SPI, I2C, ADC, and GPIO interfaces for connecting peripherals and
sensors
A complete BLE software stack
Central role functionality with GATT client and server
- Ability to connect up to four simultaneous connections
Custom Services to suit any application’s needs
Series addition of a packaged USB Dongle - BL620-US
The BL620-US USB Dongle has been developed to take advantage of the BL620
module, providing the ability to add BLE Central Mode capabilities to Windows
operating systems supporting a USB interface and virtual COM port. The control
and configuration is via a standard virtual COM port and smartBASIC. The dongle
provides the ability to load smartBASIC applications over the air (OTA) to a BL600
peripheral mode module.
In addition to carrying FCC modular, IC, and CE approvals, BL620 modules are
fully qualified as a Bluetooth End Products, enabling designers to integrate the
modules in devices without the need for further Bluetooth Qualification testing.
Customers can use the DVK-BL600 series low-cost developer’s kit including simple
software tools to develop with the BL620 central mode firmware.
BL620 Series
Central Mode BLE Module Featuring smart BASIC
Version Date Description Approver
1.0 10/15/14 Initial Release JK
CATEGORIES FEATURE IMPLEMENTATION
Wireless Specification Bluetooth® V4.0 – Single-Mode – Central mode
Frequency 2.402 - 2.480 GHz
Max Transmit Power 4dBm
Receive Sensitivity -91dBm (typical)
Whisper Mode Down to -55dBm (Transmit)
Link Budget 95 dB (@ 1 Mbps)
Raw Data Rates 1 Mbps (over the air)
Host Interfaces Total 28 lines – multi function
UART TX, RX, CTS, RTS
DTR, DSR, DCD, RI can be implemented in smartBASIC
(CTS, RTS, DTR, DSR, DCD, and RI are NOT connected on
the BL620-US)
Default 9600, N, ,8, 1
From 1,200 to 115,200bps
GPIO Up to 28 lines
SPI 3 lines
I2C 2 lines
ADC 6 lines (plus ADC reference)
Services GATT Client and Server Capability
Control Protocols Any that can be implemented using smartBASIC
Encryption AES 128 bit using CCM encryption
Supply Voltage Supply 1.8V – 3.6V – internal LDO
2.1V – 3.6V – internal DCDC converter
Power Consumption Current ‘System Idle’ – 3.5uA
‘Transmit’ – 10.5mA @ 0dBm
Physical Dimensions 19mm x 12.5mm x 3mm
Environmental
Operating Temperature -40° to +85° C when powered at 3.3 V +/- 10%
-25° to +75° C when powered at 1.8V
(contact Laird for any query) Storage Temperature -40°C to +85°C
Miscellaneous Lead Free Lead-free and RoHS compliant
Warranty Limited Lifetime Warranty
Development Tools Development Kit Development board and free Software Tools **
Approvals Bluetooth® End Product Listing (EPL)
FCC / IC / CE All BL620 Series
*The details contained within the document are subject to change. Download the product specification from www.lairdtech.com/bluetooth
for the most current specification.
Ordering Information BL620-SA-0x Single Mode BLE Module featuring smartBASIC (internal antenna)
BL620-SC-0x Single Mode BLE Module featuring smartBASIC (IPEX MHF4 antenna connector)
BL620-ST-0x Single Mode BLE Module featuring smartBASIC (trace pin)
BL620-US-0x Packaged BL620 USB Dongle
DVK-BL600-SA / ST / SC-0x Development kit for each BL620 series module
**Use standard DVK-BL600 and upgrade the firmware
Recommended