WoCCES - SBRC 2016 - Universidade Federal da Bahia

Transcrição

WoCCES - SBRC 2016 - Universidade Federal da Bahia
Anais do WoCCES 2016
Workshop de Comunicação de
Sistemas Embarcados Crı́ticos
Editora
Sociedade Brasileira de Computação (SBC)
Organização
Adriano Mauro Cansian (UNESP)
Alex Sandro Roschildt Pinto (UFSC-Blumenau)
Daniel Fernando Pigatto (USP)
Kalinka Regina Lucas Jaquie Castelo Branco (USP)
Vandermi João da Silva (UFAM)
Michele Nogueira Lima (UFPR)
Fabı́ola Gonçalves Pereira Greve (UFBA)
Allan Edgard Silva Freitas (IFBA)
Realização
Universidade Federal da Bahia (UFBA)
Instituto Federal da Bahia (UFBA)
Promoção
Sociedade Brasileira de Computação (SBC)
Laboratório Nacional de Redes de Computadores (LARC)
Anais do WoCCES 2016
c
Copyright 2016
da Sociedade Brasileira de Computação
Todos os direitos reservados
Capa: Gilson Rabelo (UFBA)
Produção Editorial: Antonio Augusto Teixeira Ribeiro Coutinho (UEFS)
Cópias Adicionais:
Sociedade Brasileira de Computação (SBC)
Av. Bento Gonçalves, 9500- Setor 4 - Prédio 43.412 - Sala 219
Bairro Agronomia - CEP 91.509-900 - Porto Alegre - RS
Fone: (51) 3308-6835
E-mail: [email protected]
Workshop de Comunicação de Sistemas Embarcados Crı́ticos (6: 2016: Salvador,
BA).
Anais / IV Workshop de Comunicação de Sistemas Embarcados Crı́ticos; organizado por Adriano Mauro Cansian, Alex Sandro Roschildt Pinto, Daniel Fernando
Pigatto, Kalinka Regina Lucas Jaquie Castelo Branco, Vandermi João da Silva,
Michele Nogueira Lima, Fabı́ola Gonçalves Pereira Greve, Allan Edgard Silva Freitas
- Porto Alegre: SBC, 2016
85 p. il. 21 cm.
Vários autores
Inclui bibliografias
1. Redes de Computadores. 2. Sistemas Distribuı́dos. I. Cansian, Adriano Mauro
II. Pinto, Alex Sandro Roschildt III. Pigatto, Daniel Fernando IV. Branco, Kalinka
Regina Lucas Jaquie Castelo V. Silva, Vandermi João da VI. Lima, Michele Nogueira
VII. Greve, Fabı́ola Gonçalves Pereira VIII. Freitas, Allan Edgard Silva IX. Tı́tulo.
ii
Anais do WoCCES 2016
Sociedade Brasileira da Computação
Presidência
Lisandro Zambenedetti Granville (UFRGS), Presidente
Thais Vasconcelos Batista (UFRN),Vice-Presidente
Diretorias
Renata de Matos Galante (UFGRS), Diretora Administrativa
Carlos André Guimarães Ferraz (UFPE), Diretor de Finanças
Antônio Jorge Gomes Abelém (UFPA), Diretor de Eventos e Comissões Especiais
Avelino Francisco Zorzo (PUC RS), Diretor de Educação
José Viterbo Filho (UFF), Diretor de Publicações
Claudia Lage Rebello da Motta (UFRJ), Diretora de Planejamento e Programas
Especiais
Marcelo Duduchi Feitosa (CEETEPS), Diretor de Secretarias Regionais
Eliana Almeida (UFAL), Diretora de Divulgação e Marketing
Diretorias Extraordinárias
Roberto da Silva Bigonha (UFMG), Diretor de Relações Profissionais
Ricardo de Oliveira Anido (UNICAMP), Diretor de Competições Cientı́ficas
Raimundo José de Araújo Macêdo (UFBA), Diretor de Cooperação com Sociedades
Cientı́ficas
Sérgio Castelo Branco Soares (UFPE), Diretor de Articulação com Empresas
Contato
Av. Bento Gonçalves, 9500
Setor 4 - Prédio 43.412 - Sala 219
Bairro Agronomia
91.509-900 – Porto Alegre RS
CNPJ: 29.532.264/0001-78
http://www.sbrc.org.br
iii
Anais do WoCCES 2016
Laboratório Nacional de Redes de Computadores (LARC)
Diretora do Conselho Técnico-Cientı́fico
Rossana Maria de C. Andrade (UFC)
Vice-Diretor do Conselho Técnico-Cientı́fico
Ronaldo Alves Ferreira (UFMS)
Diretor Executivo
Paulo André da Silva Gonçalves (UFPE)
Vice-Diretor Executivo
Elias P. Duarte Jr. (UFPR)
Membros Institucionais
SESU/MEC, INPE/MCT, UFRGS, UFMG, UFPE, UFCG (ex-UFPB Campus Campina
Grande), UFRJ, USP, PUC-Rio, UNICAMP, LNCC, IME, UFSC, UTFPR, UFC, UFF,
UFSCar, IFCE (CEFET-CE), UFRN, UFES, UFBA, UNIFACS, UECE, UFPR, UFPA,
UFAM, UFABC, PUCPR, UFMS, UnB, PUC-RS, UNIRIO, UFS e UFU.
Contato
Universidade Federal de Pernambuco - UFPE
Centro de Informática - CIn
Av. Jornalista Anibal Fernandes, s/n
Cidade Universitária
50.740-560 - Recife - PE
http://www.larc.org.br
iv
Anais do WoCCES 2016
Organização do SBRC 2016
Coordenadores Gerais
Fabı́ola Gonçalves Pereira Greve (UFBA)
Allan Edgard Silva Freitas (IFBA)
Romildo Martins Bezerra (IFBA) - In Memoriam
Coordenadores do Comitê de Programa
Antonio Marinho Pilla Barcellos (UFRGS)
Antonio Alfredo Ferreira Loureiro (UFMG)
Coordenador de Palestras e Tutoriais
Francisco Vilar Brasileiro (UFCG)
Coordenador de Painéis e Debates
Carlos André Guimarães Ferraz (UFPE)
Coordenadores de Minicursos
Lau Cheuck Lung (UFSC)
Frank Siqueira (UFSC)
Coordenadora de Workshops
Michele Nogueira Lima (UFPR)
Coordenador do Salão de Ferramentas
Daniel Macêdo Batista (USP)
Comitê de Organização Local
Adolfo Duran (UFBA)
Allan Freitas (IFBA)
Antonio Augusto Teixeira Ribeiro Coutinho (UEFS)
Cátia Khouri (UESB)
Fabı́ola Greve (UFBA)
Flávia Maristela Nascimento (IFBA)
Gustavo Bittencourt (UFBA)
Ítalo Valcy (UFBA)
Jauberth Abijaude (UESC)
Manoel Marques Neto (IFBA)
Marco Antônio Ramos (UESB)
Marcos Camada (IF BAIANO)
Marcos Ennes Barreto (UFBA)
Maycon Leone (UFBA)
Rafael Reale (IFBA)
Renato Novais (IFBA)
Ricardo Rios (UFBA)
Romildo Bezerra (IFBA) - In Memoriam
Sandro Andrade (IFBA)
Vinı́cius Petrucci (UFBA)
v
Anais do WoCCES 2016
Comitê Consultivo
Jussara Almeida (UFMG), Coordenadora
Elias Procópio Duarte Jr. (UFPR)
José Rezende (UFRJ)
Jacir Luiz Bordim (UnB)
Rafael Timóteo de Sousa Júnior (UnB)
William Ferreira Giozza (UnB)
Carlos André Guimarães Ferraz (UFPE)
José Augusto Suruagy Monteiro (UFPE)
vi
Anais do WoCCES 2016
Mensagem da Coordenadora de Workshops
Os workshops são uma parte tradicional e importante do que hoje faz do SBRC o
principal evento da área no paı́s, sendo responsáveis por atrair uma parcela cada vez mais
expressiva de participantes para o Simpósio. Este ano demos continuidade à chamada
aberta de workshops, estimulando a participação da comunidade de Redes e Sistemas
Distribuı́dos a sugerir e fortalecer novas linhas de pesquisa, bem como manter em evidência
linhas de pesquisas tradicionais.
Em resposta à chamada, recebemos nove propostas de alta qualidade, das quais sete
estão sendo de fato organizadas nesta edição do SBRC em Salvador. Dentre as propostas
aceitas, quatro reforçaram workshops tradicionais do SBRC, considerados parte do circuito
nacional de divulgação cientı́fica nas várias subáreas de Redes de Computadores e Sistemas
Distribuı́dos, como o WGRS (Workshop de Gerência e Operação de Redes e Serviços), o
WTF (Workshop de Testes e Tolerância a Falhas), o WCGA (Workshop em Clouds, Grids
e Aplicações) e o WP2P+ (Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a
Conteúdo). Além disso, três propostas apoiam a consolidação de subáreas mais recentes,
tais como as propostas de organização do WPEIF (Workshop de Pesquisa Experimental
da Internet do Futuro), do WoSiDA (Workshop de Sistemas Distribuı́dos Autonômicos) e
do WoCCES (Workshop de Comunicação de Sistemas Embarcados Crı́ticos).
Esperamos que 2016 seja mais um ano de sucesso para os workshops do SBRC, contribuindo como importantes fatores de agregação para os avanços promovidos pela comunidade cientı́fica da área de Redes de Computadores e Sistemas Distribuı́dos no Brasil.
Aproveitamos para agradecer o inestimável apoio recebido de diversos membros da
comunidade e, em particular a cada coordenador de workshop, pelo brilhante trabalho, e
a Organização Geral do SBRC 2016 pelo profissionalismo e comprometimento.
A todos, um excelente SBRC em Salvador!
Michele Nogueira
Coordenadora de Workshops do SBRC 2016
vii
Anais do WoCCES 2016
Mensagem dos Coordenadores do WoCCES 2016
O IV Workshop of Communication in Critical Embedded Systems (WoCCES) em conjunto com o 34o Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuı́dos
(SBRC 2016), em Salvador, BA, tem por objetivo atuar como um fórum para apresentações
técnicas de pesquisas em andamento e atividades relevantes nas áreas de comunicação
em sistemas embarcados crı́ticos, congregando pesquisadores e profissionais que atuam
ativamente nessas áreas. O workshop também procura estabelecer redes colaborativas
multi-institucionais e grupos de competência técnico-cientı́fica, bem como fortalecer atividades em andamento. Sendo assim, o Workshop se concentra em importantes inovações
e avanços recentes na especificação, projeto, construção e utilização da comunicação em
sistemas embarcados crı́ticos, sendo que o objetivo do mesmo é o de reunir pesquisadores
e profissionais da indústria e da academia e proporcionar-lhes uma oportunidade para
se informar sobre os últimos desenvolvimentos, implantações, tendências tecnológicas e
resultados de pesquisa, bem como iniciativas relacionadas com sistemas embarcados e
suas aplicações em uma variedade de ambientes industriais. Este ano o workshop conta
com uma palestra sobre “IoT - Aplicações em SmartCities e Implicações de Segurança”
apresentada pelo prof. Dr. Cesar Marcondes de Universidade de São Carlos (UFSCar) e
três seções técnicas. Esperamos que a palestra e as apresentações dos trabalhos nas seções
técnicas promovam discussões acaloradas entre os participantes do workshop, contribuindo
assim para o avanço da área.
Adriano Mauro Cansian (UNESP)
Alex Sandro Roschildt Pinto (UFSC-Blumenau)
Daniel Fernando Pigatto (USP)
Kalinka Regina Lucas Jaquie Castelo Branco (USP)
Vandermi João da Silva (UFAM)
Coordenadores do WoCCES 2016
viii
Anais do WoCCES 2016
Comitê de Programa
Adriano Mauro Cansian (UNESP)
Alex Sandro Roschildt Pinto (UFSC-Blumenau)
Carlos Barros Montez (UFSC)
Célia Leiko Ogawa Kawabata (IFSP-São Carlos)
Daniel Fernando Pigatto (USP)
Denis Fernando Wolf (USP)
Edson dos Santos Moreira (USP)
Ellen Francine Barbosa (USP)
Fábio Dacêncio Pereira (UNIVEM)
Fernando Santos Osório (USP)
Gustavo Pessin (Vale)
Horácio Antonio Fernandes de Oliveira (UFAM)
Ivanovitch Medeiros Dantas da Silva (UFRN)
Jacir Luiz Bordim (UNB)
João Cunha (IPC - Portugal)
Kalinka Regina Lucas Jaquie Castelo Branco (USP)
Luciana Martimiano (UEM)
Luiz Henrique Castelo Branco (IFSP-Araraquara)
Marco Vieira (UC - Portugal)
Marcos Fagundes Caetano (UNB)
Mario Antonio Ribeiro Dantas (UFSC)
Mário Meireles Teixeira (UFMA)
Paulo Portugal (UP - Portugal)
Raimundo Barreto (UFAM)
Vandermi João da Silva (UFAM)
ix
Anais do WoCCES 2016
Sumário
Sessão Técnica 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Um sistema para monitoramento de sinais fisiológicos baseado em hardware de baixo custo com acesso via WEB
Lucas F. Da Cruz (UFAM), Camila Bernardon (UFAM), Evelym V.M. dos Santos
(UFAM), Walter C. S. S. Simões (UFAM e UNINORTE) e Vandermi J. da Silva
(UFAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Um Survey de Seleção de Nodos Cooperantes em Abordagens de Comunicação Cooperativa em Redes de Sensores Sem Fio
Suelen M. Laurindo (UFSC), Carlos Montez (UFSC), Odilson T. Valle (IFSC) e
Ricardo Moraes (UFSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Uma propostas de arquitetura para robôs como um service (RAAS)
Edson de A. Silva (UFAM), Adilson T. da Cruz (UFAM), Gustavo L. P. da Silva
(UFAM), Vandermi J. da Silva (UFAM), Alex S. R. Pinto (UFSC) e Mario A. R.
Dantas (UFSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Avaliação de desempenho de procedimentos de handoff em redes IPv6 e
uma discussão sobre a viabilidade de aplicações em sistemas crı́ticos
Lucas Tognoli Munhoz (USP), Guilherme Caixeta de Oliveira (USP), Daniel Fernando Pigatto (USP) e Kalinka Regina Lucas Jaquie Castelo Branco (USP) . . . . 32
Sessão Técnica 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Análise de Metodologias de Implementação e Desempenho em FPGA dos
Algoritmos Criptográficos Leves Simon e Speck
Claudio Roberto Costa (UNIVEM), Fábio Dacêncio Pereira (UNIVEM), Edward
David Moreno (UFS) e Fernanda Mayumi Ohnuma Tachibana (UNIVEM) . . . . . 46
Sistema Inteligente baseado em IoT para Detecção e Diagnóstico de Falha
em Equipamentos de uso Doméstico
Jorge Seabra (UFAM), Mario Costa Jr (UFAM) e Mateus Lucena (UFAM) . . . . . 57
Sessão Técnica 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Um algoritmo de navegação não linear 3D para veı́culos aéreos não tripulados
Guilherme V. Pelizer (USP), Natássya B. F. Silva (USP) e Kalinka R. L. J. C. Branco
(USP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Análise de Perfil de Motoristas: Detecção de Eventos por meio de Smartphones e Aprendizado de Máquina
Jair Ferreira Júnior (UFPA e Instituto Tecnológico Vale) e Gustavo Pessin – (UFPA
e Instituto Tecnológico Vale) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
x
Anais do WoCCES 2016
WoCCES 2016
Sessão Técnica 1
1
Anais do WoCCES 2016
2
Anais do WoCCES 2016
Um sistema para monitoramento de sinais fisiológicos
baseado em hardware de baixo custo com acesso via WEB
Lucas F. Da Cruz1, Camila Bernardon1, Evelym V.M. dos Santos1, Walter C. S.S.
Simões 1,2, Vandermi J. da Silva1
1
Instituto de Ciências Exatas e Tecnologia – Universidade Federal do Amazonas
(UFAM)
Itacoatiara – AM – Brasil
2
Tecnologia em Redes de Computadores – Centro Universitário do Norte
(UNINORTE) Caixa Postal 227 – 69020-220 – Manaus – AM – Brasil
{lucasfariasdacruz, camilabernardon.es,
evelym.vasconcelos}@gmail.com, [email protected],
[email protected]
Resumo. Médicos e equipes de saúde enfrentam alguns problemas durante o
acompanhamento de pacientes que necessitam de exames de coração. Neste
caso é necessário que o paciente utilize um dispositivo de medição durante
certo período de tempo e muitas vezes há a necessidade de mais funcionários
para auxiliar nos procedimentos, além da dificuldade para aplicar esses
exames em áreas não assistidas por grandes centros de saúde. Nesse contexto,
foi proposta uma arquitetura que integra hardware e software para permitir
que um sistema acesse os dados de dispositivos de coleta de sinais fisiológicos
e os disponibilize como um serviço WEB, esse serviço permitirá o
acompanhamento de pacientes remotamente com objetivo de minimizar as
idas do paciente ao hospital.
1. Introdução
Segundo a Organização Mundial de Saúde (OMS), as doenças cardiovasculares são
uma das maiores causas de mortes no mundo (Wajngarten, 2010), sendo a maioria delas
acometidas por idosos. O aumento desta doença ocorre muitas vezes pelo estilo de vida
do paciente e/ou pela falta de visitas ao médico, acarretando na descoberta da doença
quando a mesma já se encontra em estado avançado (Sutar, Kothari and Keskar, 2013).
Os pacientes cardíacos necessitam monitorar diariamente seus parâmetros
fisiológicos durante certo período de tempo para verificar se os padrões de batimentos,
pressão e oximetria, estão nos níveis adequados. Para realizar o monitoramento,
normalmente se utiliza equipamentos apropriados e funcionários especializados para
auxiliar no decorrer do acompanhamento, fazendo o paciente se deslocar de sua
residência em busca de um atendimento específico em Unidades Básicas de Saúde
(UBS) ou hospitais.
Atualmente, os equipamentos utilizados para o acompanhamento dos batimentos
cardíacos permanecem com o paciente, que armazena os dados do exame no próprio
dispositivo. Porém, um grande problema deste tipo de armazenamento é que o paciente
pode modificar as configurações sem a intenção, ou até mesmo por algum motivo o
aparelho desligar. Quando ocorre esse tipo de situação, é necessário que o exame seja
refeito, acarretando em atrasos na disponibilidade de aparelhos para outros pacientes.
Em pacientes idosos esse problema é frequente devido à carência de
acompanhamento por uma pessoa que saiba operar o aparelho, pelo fato de o próprio
3
Anais do WoCCES 2016
paciente não ter o conhecimento para identificar quando o aparelho não está operando
de forma correta, ou até mesmo quando ele foi desligado.
Nesse contexto, uma arquitetura que aperfeiçoe a coleta de dados de batimentos
cardíacos e seu armazenamento, tende a melhorar a forma como os dados são
disponibilizados para a equipe médica e com isso permitir o acesso online por meio das
tecnologias de nuvem, possibilitando mais mobilidade para o paciente e para a equipe
médica que o acompanha.
A proposta de trabalho é minimizar os deslocamentos e aperfeiçoar o uso dos
equipamentos de medição de batimentos cardíacos principalmente para os exames
aplicados a idosos e desenvolver um sistema embarcado que realize a leitura por meio
de sensores para acompanhar o ritmo cardíaco de um paciente em tempo real utilizando
as tecnologias de nuvem e serviços WEB.
Foi proposta uma arquitetura para construção do sistema, dividida em três partes
que são: camada de coleta de dados, camada de serviços e camada de aplicação. O
sistema foi desenvolvido usando uma placa Arduino conectada a um sensor de
batimentos cardíacos, uma placa de desenvolvimento Intel Galileo Gen2, responsável
por processar e disponibilizar os dados e um smartphone para acessar os dados
processados.
2. Trabalhos Relacionados
Em Kemis et al. (2012), foi desenvolvido um aplicativo de monitoramento de saúde
para rede de sensores onipresentes, em que o sensor de pulso utiliza a placa Arduino
para enviar os dados para o servidor WEB utilizando o padrão 802.11. Os dados
coletados podem ser vistos à distância e analisados por um médico ou enfermeiro. O
sensor de pulso recolhe e analisa os sinais obtidos a partir dos dados brutos do ritmo
cardíaco e em seguida transfere os dados recebidos por meio da conexão Wifi para o
servidor no centro médico, no qual os dados são interpretados pelo software de
armazenamento. A desvantagem do trabalho apresentando por Kemis em relação ao
trabalho proposto neste artigo é o alto consumo de energia do dispositivo e a
necessidade de uma rede wifi para a coleta de dados dos dispositivos embarcados.
Em Zulkifli et al. (2012), os autores apresentaram um sistema, que utiliza a
topologia mesh como principal abordagem, preocupando-se com o monitoramento do
paciente condicionado a rede de malha sem fio. No desenvolvimento do projeto foi
utilizado dois oxímetros de pulso para obter os dados de frequência cardíaca do
paciente, onde ambos são ligados a um dispositivo de comunicação no padrão ZigBee
por meio do Arduino-Nano. Os dados obtidos pelo oxímetro são enviados ao
microcontrolador e em seguida são enviados via nó sensor para um nó receptor. Cada nó
na rede é responsável por dar continuidade na transmissão dos dados, que precisa ser
reprocessado pelo microcontrolador, dando uma identificação única para cada um deles.
No receptor os dados são apresentados por meio de uma interface que pode ser vista em
um computador. A principal desvantagem do trabalho está na visualização dos dados
centrado em um PC que não permite a visualização dos dados via WEB, o que torna o
sistema muito centralizado.
Em Watthanawisuth et al. (2010), foi desenvolvido um sistema de
monitoramento sem fio portátil, que apresenta um oxímetro de pulso composto por um
par de LEDs, que consistem de luz infravermelha e vermelha, e um fotodiodo que
detecta a luz, onde esses são embalados em uma fita de velcro que reverte o dedo do
paciente. O sistema é composto por um grupo desses sensores para medir a frequência
4
Anais do WoCCES 2016
cardíaca e saturação de oxigênio no sangue dos pacientes que faz o monitoramento em
tempo real baseado na rede sem fio ZigBee. Os dados recebidos do oxímetro de pulso
são guardados e calculados por uma unidade microcontroladora e depois são
transferidos e armazenados no servidor que funciona em um computador. O principal
diferencial do trabalho é o gerenciamento de energia do dispositivo, no entanto, a
visualização dos dados continua centralizada em um computador não permitindo o
acesso externo.
Em Keerthika e Ganesan (2013), foi apresentado um sistema de
acompanhamento de saúde não invasiva, em que o sensor de oxímetro de pulso é
colocado no corpo humano, e recebe os dados de saturação de oxigênio no sangue
(SpO2). Os dados recebidos do sensor são enviados ao microcontrolador PIC
(Pheripheral Interface Controller), onde são tratados e o valor obtido é exibido em um
LCD (Liquid Crystal Display). Esses dados são transmitidos usando o MODEM GSM
(Global Sim Module), tendo um emissor e outro receptor. Na recepção, os dados são
armazenados no PC Servidor, onde são processados, e se a percentagem da Taxa de
Oxigênio for inferior a 80, um alerta SMS é dado ao paciente, se for inferior a 50 o
alerta é dado a médico para tratamento imediato, evitando doenças graves. A diferença
entre o trabalho de Keerthika e Ganesan (2013) e este trabalho é na comunicação entre
o servidor e o cliente que nesse caso utiliza a rede GSM com assinatura de pacotes de
dados.
Em Kini et al. (2015), foi apresentada uma rede de sensores sem fio que visa
monitorar remotamente os sinais vitais de um paciente, como batimento cardíaco,
temperatura do corpo e saturação de oxigênio no sangue (SpO2). Esses sinais são
processados por um Sensor Communication Module (SCM). O sistema é composto por
um conjunto de sensores e um dispositivo hub para dois pacientes diferentes. Os
sensores são usados para detectar diferentes parâmetros do corpo humano e o hub para
obter os dados dos sensores e formar um array de dados a ser transmitido. O hub é
composto pelo microcontrolador MSP430 G2 e o módulo de transmissão de dados
CC110L.
Tabela 1. Comparação entre os trabalhos relacionados e a proposta deste trabalho
Trabalhos
Tecnologia de rede
Gerenciamento
de consumo de
energia
Armazamento de
backup
Acesso remoto
aos dados
Kemis (2012)
Wifi 802.11
Não
Sim
Não
Zulkfli (2012)
XBee
Não
Sim
Não
Watthanawisuth
et al. (2010),
XBee
Sim
Não
Não
Keerthika e
Ganesan
(2013),
Redes GSM
Não
Não
Não
Kini (2015)
Redes Sub-1 Ghz
Sim
Não
Não
Este trabalho
XBee / Wifi 802.11
Não
Sim
Sim
Observando as funcionalidades apresentadas nos trabalhos relacionados,
conclui-se que há uma diversidade de tecnologias de rede utilizadas para coletar dados
de sensores, somente um trabalho se preocupa com o consumo de energia, somente o
trabalho presentado neste artigo permite o acesso remoto aos dados, o que é uma
contribuição significante.
5
Anais do WoCCES 2016
3. Metodologia da pesquisa
A metodologia para o desenvolvimento deste trabalho consistiu em cinco fases
baseadas na pesquisa bibliogáfica e descritas a seguir: a revisão sistemática em busca de
trabalhos relacionados com o tema proposto, fase um. Nessa etapa foram escolhidos os
trabalhos que fazem parte do estado da arte e a identificação das técnicas de hardware e
software utilizadas, construção de uma arquitetura e de um protótipo para coleta de
dados de batimentos cardíacos utilizando equipamentos de baixo custo.
Na fase dois a avaliação dos dados coletados foi verificada para auxiliar na
avaliação da tecnologia de redes sem fio utilizadas na transmissão dos dados ao servidor
e para a construção da base de dados. A construção do serviço WEB embarcado na placa
de desenvolvimento Intel Galileo se deu na fase três. Na fase quatro foram construídos
ambientes de teste para testar os módulos usando uma rede local e também usando a
Internet. Na fase cinco, os resultados dos protótipos desenvolvidos foram comparados
com dois aplicativos similares disponíveis no mercado.
4. Arquitetura e construção do protótipo
A arquitetura do trabalho foi desenvolvida em camadas conforme apresentada na Figura
1 composta por três módulos que são: a coleta de dados, o tratamento de dados pelo
servidor, e o acesso aos dados, pela Internet e rede local. Para a coleta de dados foi
utilizado uma placa Arduino Nano com um módulo XBee e um sensor de batimentos
cardíacos. No módulo WEB foi utlizada uma placa Intel Galilleo com um Web Service
desenvolvido em C++ utilizando a IDE do Arduino, no protocolo HTTP que usa um
modelo de solicitações de respostas, ocorrendo quando o usuário faz uma solicitação ao
servidor que devolve uma resposta HTTP. Possibilitando uma resposta HTML5, JSON
e os dados sendo salvos em uma base de texto armazenada em um cartão de memória na
própria placa.
O acesso aos dados utilizando a rede sem fio foi feito por meio de um aplicativo
escrito em Android que permitiu que os dados fossem mostrados nos dispositivos a
partir da solicitação de um GET/POST no servidor WEB.
As tecnologias envolvidas nesta arquitetura são o Yocto Linux com o servidor
da WEB incorporado na placa do Galileo, os módulos ZigBee para conexão sem fio, o
sensor de pulso usado para dados coletados e armazenamento de dados JSON no
servidor Galileo.
Figura 1: A arquitetura do sistema.
6
Anais do WoCCES 2016
4.1. Estudo de caso
O estudo de caso desenvolvido para esse trabalho consiste na construção de um
dispositivo de baixo custo para monitoramento cardíaco, onde a coleta de dados foi feita
por um sensor de pulso chamado Amped que foi conectado na placa Arduino Nano, o
sensor coleta os dados de batimentos cardíacos do usuário e os envia para o
microcontrolador. O tratamento é feito no intervalo de um segundo por amostragem, o
Arduino lê os dados e obtém-se a média dos batimentos cardíacos com base na fórmula
apresentada em Agarwal (2012). A comunicação entre as placas Arduino e Galileo Intel
foi feita usando um módulo XBee com base no protocolo IEEE 802.15.4. Os dados são
enviados pelos pinos 0 e 1 da placa Arduino e depois, o microcontrolador envia os
dados pelo portal serial do Xbee que transmite os dados para o Web Service embarcado
na placa Galileo.
A comunicação sem fio foi feita através de dois módulos XBee com rede sem
fio com padrão IEEE 802.15, um módulo está acoplado com o Arduino Nano e o outro
ligado na placa Galileo, conforme esquemático apresentado na Figura 2.
Figura 2: Comunicação sem fio Arduino Nano e Galileo Gen2.
A placa Galileo possui a funcionalidade de um servidor e é responsável por
armazenar os dados no formato JSON. Esses dados são lidos por uma aplicação móvel
instalado em um smartphone / tablet e assim os mesmos dados apresentados pelo
display na placa estão disponíveis através da rede para outros dispositivos.
4.2 Protótipos desenvolvidos
Foi desenvolvido um protótipo em Android para se comunicar com o servidor
WEB provido pela placa Intel Galileo. Esse protótipo comunica-se com o servidor e lê
um vetor de dados que recebe a taxa de batimentos cardíacos e apresenta no display do
smartphone ou tablet. Do lado servidor, os mesmos dados enviados ao
smartphone/tablet por meio de GET/POST, são também apresentados no display da
placa Galilleo, isso foi feito para observar o sincronismo dos dados coletados pela placa
e enviados para a rede. O algoritmo utilizado foi o de produtor consumidor com
semáforos para indicar quando o serviço WEB era solicitado e quando os dados eram
disponibilizados para a gravação no cartão de memória.
A Figura 3 (A) apresenta o aplicativo desenvolvido usando um tablet como base,
nele é possível cadastrar o usuário para que o mesmo acompanhe seus batimentos por
meio do dispositivo sem necessidade de observar o display do equipamento que faz a
coleta. Os dados apresentados no dispositivo móvel são o mesmo da última coleta feita
e armazenada no servidor. A Figura 3(B) mostra o sistema integrado com o coletor de
7
Anais do WoCCES 2016
dados conecatdo via rede XBee e embarcado na placa Galileo a inteligência e
processamento dos dados do sensor de batimentos é feita no Arduino-Nano e os dados
são enviados via requisição para o servidor instalado na Galileo que dispnibiliza o
acesso externo. Pode ser observado que tanto no lado servidor quanto no lado cliente a
informação sobre os batimentos cardíacos são exatamente os mesmos.
Figura 3: Aplicativo para Android (A) e exibição do aplicativo Galileo (B).
5. Resultados
O resultado obtido por meio dos testes efetuados com o protótipo desenvolvido permitiu
avaliar o sistema como um todo, comparando os resultados com os de um smartwatch e
de um aplicativo desenvolvido para smartphone como descrito a seguir.
Primeiro foram coletados dez batimentos cardíacos de cada sistema e em
seguida foram comparados usando um gráfico de linhas para verificar se a apresentação
dos resultados dos batimentos tinham diferenças significantes entre os aplicativos. Para
esse teste, foi observada a coleta de dados de uma mesma pessoa em repouso. Foram
coletados trinta batimentos cardíacos no total, sendo dez do sistema apresentado neste
trabalho, dez do aplicativo para smartphone e dez do smartwatch. A partir desses dados
foi comparada a taxa de acertos do sistema proposto.
Segundo, já com os batimentos coletados foi feito uma analise estatística
descritiva que visa descrever e compreender os dados do sistema, utilizando média,
moda, mediana e desvio padrão. A média vai soma os resultados e dividir pelo número
total de resultados. A moda vai apresenta o batimento, mas frequente. Na mediana vai
apresenta o valor intermediário, onde vai utiliza o batimento mais baixo ao mais alto
onde vai soma e dividir por dois. Já o desvio padrão indica quando menor ele for mais
os dados estão proxima da media e quanto mais alto indica que os dados estão
espelhados por uma gama de valores.
A Figura 4 mostra o protótipo coletor de batimentos projetado usando um
Arduino Nano e o sensor Amped. O diferencial do protótipo é o uso da rede sem fio
com módulos XBee para proporcionar a comunicação entre as placas Arduino e Galileo.
Assim, é possível mais tarde reduzir o tamanho do dispositivo para, por exemplo,
prototipar uma pulseira eletrônica sem fio capaz de monitorar os batimentos cardíacos e
a temperatura de um paciente em observação.
8
Anais do WoCCES 2016
Figura 4: Sensor de pulsações e microcontrolador.
A Figura 5 mostra o gráfico gerado comparando a taxa de acertos dos
batimentos cardíacos entre os sistemas. O sistema proposto neste trabalho obteve uma
taxa de acerto 5/10 indicando que a cada dez batimentos cinco são iguais aos outros
sistemas, nessa comparação os resultados são bem satisfatorio podendo ser observado
que não houve nenhuma grande variância dos dados.
Figura 5: Aplicação de testes de frequência cardíaca entre o protótipo do trabalho.
A tabela 2 apresenta dados estatísticos descritiva dos valores comparados no
gráfico mostrando média, moda, mediana e desvio padrão. Observando que dado o
desvio padrão do protótipo do trabalho obteve o maior número de batimentos disperso e
nenhum valor a se repete como mostra a moda. A média e a mediana do trabalho
proposto com o App Heart Rate e smartwatch observa-se que não ocorreu diferença
entre eles. E que o protótipo desenvolvido neste trabalho é perfeitamente viável.
Tabela 2. Apresenta dados estatísticos descritivos entre outro sistema e a proposta
deste trabalho
Sistema
Média
Moda
Mediana
Desvio padrão
Protótipo do trabalho
81,3
0
82
7,79
App Heart Rate
82,8
84
83
4,24
Smartwatch
77,8
77
77,5
3,94
9
Anais do WoCCES 2016
6. Considerações Finais
Neste trabalho foi apresentado um sistema para o monitoramento de batimentos
cardíacos de baixo custo, utilizando microcontroladores, dispositivos móveis, redes de
sensores e rede local.
O sistema foi desenvolvido baseado em uma arquitetura cliente-servidor, realiza
o acesso a rede local e a Internet, possibilitando a visualização dos dados via aplicativo
móvel. O protótipo desenvolvido faz parte de um sistema maior que está sendo
construído pela equipe de pesquisa para aplicar futuramente em um sistema vestível
para coleta de dados de sinais vitais. O próximo passo da pesquisa será a modificação
da interface dos aplicativos e a integração de sensores de temperatura, pressão arterial e
acelerômetro para aumentar a quantidade de dados coletados e fazer novas inferências.
Agradecemos à Universidade Federal do Amazonas (UFAM) pela oportunidade e
apoio para desenvolver o projeto, Fundação de Amparo à Pesquisa do Estado do
Amazonas (FAPEAM) por ter disponíbilizado o equipamento necessário e a Intel pela
doação da placa Galileo Gen2 usada neste trabalho.
7. Referências
Agarwal, A.; Reddy, P. K.; Meena, S.; Shashidhara, H. L. (2012). “An embedded
system for determining arrhythmia”. Computing Communication & Networking
Technologies (ICCCNT), 2012 Third International Conference on. IEEE, pages 1 –
4, doi: 10.1109/ICCCNT.2012.6512436.
Christopher
Walken.
User
the
pulse
sensor
kit
available
<http://pulsesensor.com/pages/code-and-guide >. Access in: 10 abril de 2015.
in:
Keerthika, A.; Ganesan, R. (2013). “Pervasive Health Care System for Monitoring
Oxygen Saturation using Pulse Oximeter Sensor”. Information & Communication
Technologies (ICT), 2013 IEEE Conference on. IEEE, pages 819 – 823,
doi: 10.1109/CICT.2013.6558207.
Kemis, H.; Bruce, N.; Wang Ping; Antonio, T.; Gook, L. B.; Lee, H. J. (2012).
“Healthcare Monitoring Application in Ubiquitous Sensor Network: Design and
Implementation based on Pulse Sensor with Arduino”. Information Science and
Service Science and Data Mining (ISSDM), 2012 6th International Conference on
New Trends in. IEEE, pages 34 - 38.
Kini, V.; Patil, C.; Bahadkar, S.; Panandikar, S.; Sreedharan, A.; Kshirsagar, A. (2015).
“Low Power Wireless Health Monitoring System”. Advances in Computing,
Communications and Informatics (ICACCI), 2015 International Conference on.
IEEE, pages 980 – 986, doi: 10.1109/ICACCI.2015.7275738.
Lobo, I.,S., F.; Sistema para aquisição e transmissão da pulsação arterial via sms. 2014.
Sutar, R. G.; Kothari, A. G.; Keskar, A. G. (2013). “Development of an Embedded
System for Real Time Heart Rate Variability Analysis”. Communications and
Information Technologies (ISCIT), 2013 13th InternationalSymposium on. IEEE,
pages 288 – 292, doi: 10.1109/ISCIT.2013.6645866.
10
Anais do WoCCES 2016
Wajngarten M. O coração no idoso. Jornal Diagnostico em Cardiologia.
Agosto/Setembro 2010.
Watthanawisuth, N.; Lomas, T.; Wisitsoraat, A.; Tuantranont, A. (2010). “Wireless
Wearable Pulse Oximeter for Health Monitoring using ZigBee Wireless Sensor
Network”. Electrical Engineering/Electronics Computer Telecommunications and
Information Technology (ECTI-CON), 2010 International Conference on. IEEE,
pages 575 – 579.
Zulkifli, N.S.A.; Harun, F.K.C.; Azahar, N.S. (2012).
“Centralized Heart Rate
Monitoring Telemetry System Using ZigBee Wireless Sensor Network” Biomedical
and Health Informatics (BHI), 2012 IEEE-EMBS International Conference on.
IEEE, pages 265 – 268, doi: 10.1109/BHI.2012.6211562.
11
Anais do WoCCES 2016
Um Survey de Seleção de Nodos Cooperantes em Abordagens
de Comunicação Cooperativa em Redes de Sensores Sem Fio
Suelen M. Laurindo1 , Carlos Montez1 , Odilson T. Valle2 , Ricardo Moraes1
1
Programa de Pós-Graduação em Engenharia de Automação e Sistemas
Universidade Federal de Santa Catarina (UFSC)
Caixa Postal 476 – 88040-900 – Florianópolis – SC – Brazil
2
Instituto Federal de Santa Catarina (IFSC)
Campus São José – SC – Brazil
{suelen.m.l}@posgrad.ufsc.br, {montez}@ieee.org, {odilson}@ifsc.edu.br
{ricardo.moraes}@ufsc.br
Abstract. The cooperative diversity is a widely used technique to improve the
performance of communications in a Sensor Wireless Network (WSN). The relay selection is a decisive step in the application of this technique. This paper
proposes a classification taxonomy of the approaches of relay selection and presents a study of literature, describing the used techniques. The main goal of this
paper is to present a general guide to selecting the most appropriate technique
for the relay selection, according with the characteristics of the applications.
Resumo. A diversidade cooperativa é uma técnica muito utilizada para melhorar o desempenho das comunicações em uma Rede de Sensores Sem Fio (RSSF).
A seleção de nodos retransmissores é uma etapa decisiva na aplicação desta
técnica. Este artigo propõe uma taxonomia de classificação das abordagens
de seleção dos nodos cooperantes e apresenta um estudo da literatura, descrevendo as técnicas utilizadas. O objetivo principal deste artigo é apresentar um
guia geral para a seleção da técnica mais adequada para a seleção de nodos
cooperantes, de acordo com as características das aplicações.
1. Introdução
As primeiras concepções de Redes de Sensores Sem Fio (RSSF) ocorreram em 1998.
Estas redes são compostas de diversos dispositivos denominados de nodos, os quais são
dispositivos compostos por sensores, processador, memória, fonte de alimentação, rádio
e atuador [Yick et al. 2008]. Destaca-se ainda que os nodos são pequenos, simples e
apresentam limitações nos recursos computacionais e energéticos. As principais aplicabilidades estão relacionadas com o sensoriamento do ambiente e o repasse dos dados
recolhidos através da rede [Buratti et al. 2011].
Os nodos de uma RSSF utilizam radiofrequência para realizar a comunicação, que
é a tarefa responsável pelo maior consumo energético [Gungor and Hancke 2009]. Nesta
etapa, um nodo consome em média de 25 a 50mA quando está em operação. Já em seu
período inativo, quando este não está realizando comunicação, esse consumo diminui para
dezenas de µA [Valle 2014].
12
Anais do WoCCES 2016
O alto consumo energético dos nodos é um problema, pois nem sempre é viável
realizar a troca de bateria, já que em aplicações de RSSF os nodos podem se encontrar
em áreas de difícil acesso. Por isso, é necessário utilizar os sensores de modo que nem
todos precisem estar ativos o tempo todo, assim o consumo de bateria de alguns nodos é
poupado, aumentando o tempo de vida da rede [Valle 2014].
Obstáculos entre os nodos podem gerar interferência ou perda de mensagens durante a comunicação, o que torna essa rede não confiável. Para minimizar este problema
pode ser utilizada cooperação entre os nodos [Valle 2014]. Técnicas de diversidade cooperativa têm sido propostas para melhorar o desempenho da rede sem aumentar a complexidade do hardware e ainda promover ganho de diversidade espacial no destino [Wang and
Syue 2009]. Estas técnicas permitem a criação de um sistema MIMO-virtual (multipleinput-multiple-output), já que a implantação de múltiplas antenas em RSSF geralmente
não é uma opção viável, principalmente devido ao tamanho dos nodos e dos recursos
energéticos limitados [Wang and Syue 2009].
Ambientes sem fio são projetados para que a transmissão envolva apenas um transmissor e um receptor, podendo o receptor ser o destino ou apenas o próximo nodo em uma
rede multi-hop [Khan and Karl 2014]. Já na diversidade cooperativa, considera-se a existência de nodos que irão cooperar com o par transmissor-receptor para que o nodo receptor
realmente receba o pacote enviado [Khan and Karl 2014]. Este comportamento fornecido
pela diversidade cooperativa permite um melhor aproveitamento da própria natureza das
transmissões sem fio [Liang et al. 2009], já que a transmissão normalmente é ouvida por
nodos vizinhos. Entretanto, em sistemas normais, estes nodos descartam os pacotes que
não são destinados a eles [Khan and Karl 2014].
Na retransmissão cooperativa, os nodos estão espacialmente distribuídos e cooperam retransmitindo mensagens, promovendo melhoria na comunicação [Himanshu et al.
2015]. Desta maneira, um nodo escuta o meio e obtêm todas as mensagens que consegue
ouvir e as envia para o coordenador. Assim, caso exista um obstáculo entre algum nodo
e o coordenador, as mensagens do nodo que não conseguiu comunicação direta serão
entregues ao coordenador por meio da cooperação de outros nodos [Valle 2014].
A Figura 1 apresenta uma transmissão utilizando diversidade cooperativa. Nesta
Figura é possível visualizar três passos, os nodos N1 e N3 desejam enviar uma mensagem
para o nodo coordenador. No passo 1, o nodo N1 envia uma mensagem m1 em broadcast,
que é recebida corretamente pelo nodo coordenador e que também é escutada pelo nodo
N2 . No passo 2, o nodo N3 envia uma mensagem m3 em broadcast, mas que por interferências não foi recebida corretamente pelo nodo coordenador. Entretanto, foi escutada
pelo nodo N2 . No passo 3, o nodo N2 , que escutou e armazenou as mensagens m1 e m3
retransmite estas para o coordenador. O coordenador já possui a mensagem m1 , e por
meio de técnicas de codificação de rede pode recuperar a mensagem m3 .
O desempenho da retransmissão cooperativa depende fortemente da eficiência do
processo utilizado para selecionar um ou mais nodos cooperantes [Jamal and Mendes
2010]. Utilizar todos os nodos como cooperantes permite obter uma grande diversidade
cooperativa, mas gera desperdícios de banda e aumenta a dificuldade de sincronização entre os nodos [Wang and Syue 2009]. Por isso um dos principais desafios na retransmissão
cooperativa é selecionar um nodo, ou conjunto de nodos, e assim, melhorar eficientemente
13
Anais do WoCCES 2016
Figura 1. Transmissão com nodos cooperantes.
a transmissão de dados [Jamal and Mendes 2010].
O foco deste trabalho é apresentar uma visão geral dos diferentes algoritmos de
seleção de nodos cooperantes. As principais contribuições deste trabalho são: i) apresentar uma revisão geral do estado da arte das técnicas de seleção de nodos cooperantes em
abordagens de comunicação cooperativa em RSSF; ii) propõe uma taxonomia das abordagens de seleção dos nodos cooperantes; e iii) provê um pequeno tutorial para a seleção
adequada de técnicas de seleção de nodos cooperantes de acordo com as características
das aplicações.
O restante do trabalho está estruturado da seguinte forma: na Seção 2 é apresentada uma revisão do estado da arte sobre a seleção de nodos cooperantes, juntamente
com a taxonomia desenvolvida neste trabalho. Na Seção 3 são apresentadas as técnicas
descentralizadas citadas na taxonomia. Na Seção 4 são apresentadas as técnicas centralizadas citadas na taxonomia. Na Seção 5 é apresentada uma síntese do estado da arte e
finalmente na Seção 6 são apresentadas as conclusões.
2. Seleção de nodos Cooperantes
Em um sistema que utiliza cooperação em sua comunicação, os nodos transmitem seus
dados e cooperam transmitindo dados de outros nodos [Valle 2014]. Mas, simplesmente
inserir um número maior de sensores na rede e deixar que os nodos cooperantes sejam
escolhidos arbitrariamente apresenta baixa eficiência. Atualmente estudos estão sendo
realizados buscando encontrar a melhor técnica de seleção de nodos cooperantes [Wang
and Syue 2009].
O desempenho de sistemas que utilizam cooperação pode ser melhorado se os
nodos cooperantes forem otimamente selecionados. Este fato proporciona grande investigação no desenvolvimento de técnicas de seleção de nodos retransmissores [Etezadi et al.
2012]. Para realizar esta seleção é necessário considerar quais os critérios de seleção que
serão utilizados. Exemplo de critérios encontrados na literatura são: eficiência energética
de cada nodo, indicador da potência do sinal recebido (RSSI - Received Signal Strength
Indicator) em relação ao coordenador ou entre os próprios nodos, seleção por vizinhança
(Topologia), estado do canal (CSI - Channel State Information), relação sinal- ruído (SNR
- Signal-to-noise ratio), erros de transmissão (PER - Packet-Error-Rate) ou a combinação
destes parâmetros [Liu et al. 2015].
É importante ressaltar que os algoritmos encontrados na literatura podem ser
14
Anais do WoCCES 2016
classificados em duas grandes categorias: centralizados e descentralizados. As técnicas centralizadas fornecem um bom desempenho, mas não são recomendadas para redes
de larga escala, pois o algoritmo de seleção será executado em um único nodo, e, para
isto, o nodo deverá obter todos os parâmetros dos outros nodos da rede. Entretanto para
receber estes parâmetros utilizará o meio de transmissão, o que comprometerá o monitoramento dos sensores, gerando sobrecarga. Já nas técnicas descentralizadas cada nodo
toma a decisão se será ou não cooperante, sem gerar sobrecarga na rede. Entretanto, diminui o desempenho da rede, pois nesta técnica as seleções de nodos retransmissores podem
falhar se ocorrer um processo de seleção mal sucedido [Feng et al. 2013]. Neste artigo
propõe-se a taxonomia apresentada na Figura 2 para a classificação dos métodos de seleção dos nodos cooperantes e nas próximas seções são descritos os trabalhos encontrados
na literatura com base nesta taxonomia.
Figura 2. Taxonomia seleção de nodos cooperantes.
3. Técnicas Descentralizadas
3.1. CSI - Channel State Information
De modo geral, nesta abordagem assume-se que os potenciais nodos cooperantes podem
ouvir a sequência de mensagens de Handshaking Request-to-Send (RTS) e Clear-to-Send
(CTS) (Figura 3 - Passo 1) entre o transmissor e o receptor indicando o início de uma
transmissão. Então, cada potencial nodo cooperante estima a condição do canal (CSI) do
nodo transmissor até o nodo cooperante (hs,i ) e do nodo cooperante até o destino (hi,d ).
A estimativa do CSI é baseada na variação da intensidade dos sinais de recebimento dos
frames RTS/CTS. Após estimar o CSI, cada nodo cooperante define um limite de tempo
15
Anais do WoCCES 2016
Figura 3. Etapas para estimar a condição do canal.
Fonte: adaptado de [Chen et al. 2006].
com um valor inverso ao do valor estimado no CSI. Este valor funciona como um Backoff, assim, o nodo com menor tempo de espera torna-se o nodo cooperante. Os outros
nodos ainda estão em modo de escuta, assim o nodo selecionado como cooperante irá
enviar uma mensagem informando os outros nodos que o cooperante já foi selecionado
(Figura 3 - Passo 2). Para evitar casos onde nodos podem estar fora do alcance, os nodos
transmissor e o receptor podem anunciar que o nodo cooperante foi selecionado. E então o
nodo selecionado pode cooperar na transmissão (Figura 3 - Passo 3) [Bletsas et al. 2006].
3.2. Energia individual
A economia de energia é um fator importante quando se lida com dispositivos onde a
energia da bateria é limitada, como no caso dos nodos de uma RSSF. Os autores Chen et
al. (2006) propuseram uma seleção de nodos cooperantes power-aware (PARS) utilizando
como base o modelo oportunista de Bletsas et al. (2006), com o objetivo de maximizar
o tempo de vida da rede. A proposta destes é dividida em duas etapas. A primeira é a
alocação ótima de energia (OPA) e a segunda é a seleção de nodos cooperantes, como é
explicado abaixo:
Etapa 1 alocação ótima de energia (OPA): Todos os potenciais nodos cooperantes irão executar o algoritmo OPA utilizando como base as medições do canal obtidas por
meio das mensagens RTS/CTS, com o objetivo de diminuir o consumo total de energia da
transmissão, dada uma determinada taxa de transmissão. Como resultado do algoritmo,
cada nodo cooperante irá obter a energia de transmissão ótima tanto para o transmissor
quanto para cada nodo cooperante i. A solução obtida usando método de multiplicadores de Langrange1 é aplicada nos esquemas Amplify-and-Forward (AF) e Decode-andForward (DF).
Etapa 2 seleção de nodos cooperantes: A técnica proposta PARS realiza a seleção
dos nodos utilizando como base a ideia de temporizadores proposta na seleção oportunista de Bletsas et al. (2006). Entretanto, não utiliza diretamente as medições do canal
para estabelecer o limite do temporizador, mas sim o resultado do OPA, que é o consumo mínimo de energia necessário para a transmissão do par, nodo transmissor e nodo
cooperante, e também o nível de energia residual do nodo transmissor e de cada nodo
cooperante. Adicionalmente, os autores propuseram outros três critérios, onde cada um
1
O método dos multiplicadores de Lagrange permite encontrar extremos (máximos e mínimos) de uma
função de uma ou mais variáveis suscetíveis a uma ou mais restrições.
16
Anais do WoCCES 2016
dos critérios corresponde a um conjunto de valores iniciais para o temporizador do nodo
origem e para o temporizador de cada potencial nodo cooperante.
O critério I tem como foco minimizar a energia total da transmissão e necessita
apenas dos resultados do OPA. Os critérios II e III tentam maximizar a energia residual
de cada nodo, ou seja, tentam manter de maneira aproximada a energia residual em cada
nodo. E assim como no método oportunista o nodo com o temporizador que expirar primeiro será selecionado como cooperante. Mas nesta abordagem, o nodo origem também
possui um temporizador e caso este expire primeiro significa que não há necessidade de
cooperantes. Quando um nodo é selecionado como cooperante, este notifica os outros
nodos da rede por meio de uma mensagem informando que um nodo cooperante foi selecionado.
3.3. Limite de SNR no destino
Os autores Amarasuriya et al. (2010) propuseram o esquema de seleção OT-MRS
(Output-Threshold Multiple Relay Selection). Este esquema permite selecionar mais de
um nodo cooperante se necessário. Considera-se uma rede com L + 2 nodos, na qual um
nodo é origem, um nodo é destino e L nodos são retransmissores. O esquema seleciona
os n primeiros Lc (o número de cooperantes é determinado com a normalização do limite
SNR) nodos cooperantes não ordenados (1 ≤ Lc ≤ L), onde combina o SNR das retransmissões com o SNR da transmissão do link direto para verificar se excede o limite SNR
predefinido. Este limite de SNR pode ser escolhido para ser o mínimo SNR requerido
para decodificar com sucesso um dado esquema de modulação. Este esquema é dividido
em duas fases:
1a fase: o destino D recebe o sinal transmitido pela origem durante a fase de
broadcast.
2a fase: o primeiro relay retransmite a versão amplificada da mensagem para o
destino D no primeiro time slot da fase de retransmissão (este esquema utiliza alocação de
canal por divisão de tempo com Lc time slots). Então, D combina este sinal com o sinal
recebido direto da origem (link direto) por meio do método de MRC (Maximum-Ratio
Combining). Se o SNR de saída do combinador for superior ao limite, não é necessário
que os outros nodos cooperantes retransmitam. Caso contrário, os nodos retransmissores
restantes serão selecionados nos time slots seguintes até que a saída cumulativa do SNR
seja superior ao limite.
4. Técnicas Centralizadas
4.1. Ganho de potência do canal com o nodo Controlador
Os autores Feng et al. (2013) propuseram um método centralizado chamado Centralized
Feedback-Based Relay Selection (FBRS), neste método o nodo origem envia uma mensagem em uma transmissão broadcast, para que todos os nodos possam ouvir. Os nodos
que conseguirem ouvir a mensagem irão enviar um símbolo piloto para o nodo destino
(Figura 4), pois este método utiliza o nodo destino como um controlador central que realiza a seleção do nodo cooperante. Este controlador irá escolher o nodo que apresente o
maior ganho de canal para ser o nodo cooperante.
O controlador irá obter a informação global dos canais, por meio dos símbolos
piloto enviados por cada nodo candidato a cooperante, os símbolos piloto são conhecidos
17
Anais do WoCCES 2016
Figura 4. Transmissão do símbolo piloto.
Fonte: [Feng et al. 2013].
por todos os nodos da rede, e por meio destes o nodo destino pode obter as estimativas
dos canais, os autores assumem que por meio dos símbolos piloto o destino obtém conhecimento sobre o perfeito ganho de potência do canal. Então o nodo destino seleciona o
nodo cooperante que apresente o melhor ganho e notifica este, assim o nodo cooperante
retransmite a mensagem que a origem enviou.
4.2. Seleção Oportunista
Valle (2014) propôs uma seleção oportunista de nodos cooperantes baseada no histórico
de sucesso das transmissões e no LQI (Link quality indicator) entre cada nodo e o coordenador, valor este medido no coordenador. Para descobrir quais os melhores nodos coo; onde, i
perantes dentre os candidatos o autor propôs a seguinte equação: CNi = SRi +LQI
2
representa cada nodo na rede, SR é o índice histórico da taxa de sucesso nas transmissões
recentes e o LQI é o indicador de qualidade do enlace entre o nodo e o coordenador.
Os nodos que apresentarem os maiores CNi serão selecionados como cooperantes,
para determinar quantos nodos serão cooperantes o autor utilizou o percentual de perdas
de mensagens na rede, assim o número de cooperantes é determinado dinamicamente. O
coordenador notifica os nodos cooperantes por meio de uma mensagem especial na qual o
autor chamou de Blocop, e então os nodos selecionados como cooperantes irão armazenar
todas as mensagens que são enviadas por todos os nodos durante cada um dos T compartimentos (onde T é o número total de compartimentos no período de transmissão), após
o término dos T compartimentos, os nodos cooperantes irão codificar as mensagens que
estão em seus buffers e aguardarão até o seu compartimento para realizar a retransmissão
da mensagem.
18
Anais do WoCCES 2016
4.3. SNR - Signal-to-noise ratio
Luo et al. (2015) propuseram um esquema de seleção de nodo cooperante baseado na
média do SNR do link do nodo candidato a cooperante até o nodo destino. Os autores
consideram que os nodos que receberam a mensagem do nodo origem e conseguiram
decodificá-las fazem parte do grupo decodificadores, que seria o grupo de candidatos a
nodos cooperantes. Para cada transmissão realizada pelo nodo origem, os nodos pertencentes ao grupo decodificadores devem enviar para o nodo origem o seu SNR médio até o
destino, assim o nodo origem irá selecionar o nodo com o maior SNR médio e irá informar
todos os nodos do grupo por meio de uma mensagem broadcast que o nodo cooperante foi
selecionado. Então o nodo cooperante irá retransmitir a mensagem para o nodo destino.
5. Síntese do Estado da Arte
Uma abordagem de seleção de nodos cooperantes adequada permite atingir um melhor
ganho de diversidade cooperativa, melhorando o desempenho da transmissão [Abdulhadi
et al. 2012]. Para a escolha adequada da abordagem a ser utilizada é necessário analisar
qual será a aplicação da rede, e assim tomar a primeira decisão: usar técincas centralizadas
ou descentralizadas. Se o número de nodos é pequeno ou a rede é estática, o efeito de
sobrecarga para sistemas centralizados torna-se insignificante [Feng et al. 2013], e assim
técnicas centralizados podem ser utilizadas. Por outro lado, se há muitos nodos na rede
ou a rede é dinâmica, as técnicas descentralizados são as abordagens mais recomendadas,
devido a menor quantidade de sobrecarga gerada. Nesse sentido, a taxonomia proposta
tem o objetivo de auxiliar os projetistas de sistemas a encontrar a técnica ou as técnicas
mais adequadas para o seu caso.
Baseado na taxonomia proposta selecionamos algumas características das técnicas
apresentadas, que podem ser vistas na Tabela 1 .
Tabela 1. Características das Técnicas de Seleção de Nodos Cooperantes.
Na Tabela 1 é possível verificar que as técnicas CSI, Energia Individual, Limite
de SNR no Destino e Seleção Oportunista apresentam a vantagem de não gerar elevado
overhead na rede e reduzem as falhas nas transmissões. As técnicas Limite de SNR no
Destino e Seleção Oportunista permitem que mais de um nodo cooperante seja selecionado, sendo que as demais selecionam apenas um cooperante. A técnica Energia Indivi19
Anais do WoCCES 2016
dual proporciona a maximização da vida útil da rede e a técnica SNR também proporciona
redução nas falhas nas transmissões.
6. Conclusões
A seleção de nodos retransmissores é um ponto importante quando se trata de maximizar
o ganho de diversidade cooperativa em redes de sensores sem fio. Diferentes técnicas de
seleção de nodos cooperantes, cada uma delas com objetivos específicos, são propostas
na literatura. Este artigo apresentou um amplo estudo das técnicas de seleção de nodos
cooperantes, propondo uma taxonomia de classificação para a seleção de nodos retransmissores. Esta taxonomia é baseada em abordagens centralizadas e descentralizadas. Por
fim, destaca-se que foram apresentadas algumas características das técnicas estudadas, as
quais foram resumidas neste trabalho.
A seleção das técnicas deve ocorrer de acordo com as exigências estabelecidas
pelos projetistas da rede, levando em consideração as características de cada técnica e,
principalmente, a aplicação alvo. Como trabalhos futuros, pretende-se avaliar e propor
técnicas de seleção de nodos cooperantes para diversos tipos de aplicações. As técnicas
propostas considerarão um número maior de variáveis para a escolha dos nodos cooperantes, tais como: o número de nodos vizinhos, a energia restante dos nodos, etc.
7. Agradecimentos
Este trabalho teve o auxílio financeiro do Conselho Nacional de Desenvolvimento Cientifico e Tecnológico - CNPq - Brasil (400508/2014-1, 445700/2014-9) e CAPES.
Referências
Abdulhadi, S., Jaseemuddin, M., and Anpalagan, A. (2012). A Survey of Distributed
Relay Selection Schemes in Cooperative Wireless Ad hoc Networks. Wireless Personal
Communications, 63(4):917–935.
Amarasuriya, G., Ardakani, M., and Tellambura, C. ((2010)). Output-threshold multiplerelay-selection scheme for cooperative wireless networks. IEEE Transactions on Vehicular Technology, 59(6):3091–3097.
Bletsas, A., Khisti, A., Reed, D. P., and Lippman, A. (2006). A simple cooperative
diversity method based on network path selection. IEEE Journal on Selected Areas in
Communications, 24(3):659–672.
Buratti, C., Martalò, M., Ferrari, G., and Verdone, R. (2011). Sensor Networks with IEEE
802.15.4 Systems. Signals and Communication Technology. Springer Berlin Heidelberg, Berlin, Heidelberg, 1 edition.
Chen, Y., Yu, G., Qiu, P., and Zhang, Z. (2006). Power-Aware Cooperative Relay Selection Strategies in Wireless Ad Hoc Networks. IEEE 17th International Symposium on
Personal, Indoor and Mobile Radio Communications, pages 1–5.
Etezadi, F., Zarifi, K., Ghrayeb, A., and Affes, S. (2012). Decentralized Relay Selection
Schemes in Uniformly Distributed Wireless Sensor Networks. IEEE Transactions on
Wireless Communications, 11(3):938–951.
20
Anais do WoCCES 2016
Feng, H., Xiao, Y., and Cimini, L. J. (2013). Spectral Efficiency of Centralized and
Decentralized Cooperative Networks with Relay Selection. In MILCOM 2013 - 2013
IEEE Military Communications Conference, volume 3, pages 7–12. IEEE.
Gungor, V. and Hancke, G. (2009). Industrial wireless sensor networks: challenges, design principles, and technical approaches. IEEE Transactions on Industrial,
56(10):4258–4265.
Himanshu, K., Ashutosh, R., and Rupali, A. (2015). Cooperative Communication: A
Review. IETE Technical Review, 5:1–10.
Jamal, T. and Mendes, P. (2010). Relay selection approaches for wireless cooperative
networks. In 2010 IEEE 6th International Conference on Wireless and Mobile Computing, Networking and Communications, pages 661–668. IEEE.
Khan, R. A. M. and Karl, H. (2014). MAC Protocols for Cooperative Diversity in Wireless
LANs and Wireless Sensor Networks. IEEE Communications Surveys and Tutorials,
16(1):46–63.
Liang, X., Balasingham, I., and Leung, V. C. M. (2009). Cooperative Communications
with Relay Selection for QoS Provisioning in Wireless Sensor Networks. In GLOBECOM 2009 - 2009 IEEE Global Telecommunications Conference, pages 1–8. IEEE.
Liu, L., Hua, C., Chen, C., and Guan, X. (2015). Relay Selection for Three-Stage Relaying Scheme in Clustered Wireless Networks. IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, 64(6):2398–2408.
Luo, J., Blum, R., Cimini, L., Greenstein, L., and Haimovich, A. (2005). Link-Failure
Probabilities for Practical Cooperative Relay Networks. In 2005 IEEE 61st Vehicular
Technology Conference, volume 3, pages 1489–1493. IEEE.
Valle, O. T. (2014). Codificação de Rede na Retransmissão Oportunista De Mensagens
Em Redes de Sensores Sem Fio. PhD thesis, Universidade Federal de Santa Catarina.
Wang, C.-L. and Syue, S.-J. (2009). An Efficient Relay Selection Protocol for Cooperative
Wireless Sensor Networks. In 2009 IEEE Wireless Communications and Networking
Conference, pages 1–5. IEEE.
Yick, J., Mukherjee, B., and Ghosal, D. (2008). Wireless sensor network survey. Computer Networks, 52(12):2292–2330.
21
Anais do WoCCES 2016
UMA PROPOSTA DE ARQUITETURA PARA ROBÔS
COMO UM SERVIÇO (RAAS)
Edson de A. Silva1, Adilson T. da Cruz1, Gustavo L. P. da Silva1, Vandermi J. da Silva1,
Alex S. R. Pinto2, Mario A. R. Dantas2
1
2
Instituto de Ciências Exatas e Tecnologia – Universidade Federal do Amazonas
(UFAM)
Itacoatiara – AM – Brasil
Departamento de Informática e Estatística – Universidade Federal de Santa Catarina
(UFSC)
Florianópolis – SC – Brasil
{eas.inf, adilson.soft.cruz, gustavo.eng18}@gmail.com,
[email protected], {a.r.pinto, mario.dantas}@ufsc.br
Resumo. A Internet trouxe consigo uma gama de oportunidades de serviços
com inúmeras possibilidades de negócios. Juntamente com a Computação
em Nuvem (CN), o contexto de robôs como um serviço (RaaS) nasce como
oportunidade para novos nichos de mercado, podendo ser um fator de
redução de custos e serviços. Uma das vantagens na utilização da CN é
justamente a redução de custos, pois o provedor assume todo o custo com a
infraestrutura e manutenção dos equipamentos necessários ao provimento
de serviços. Para o funcionamento desse tipo de serviço é necessário que
novas arquiteturas sejam propostas para atender essa demanda de forma
satisfatória. O objetivo deste trabalho é propor uma arquitetura para o
controle remoto de um robô utilizando a internet como meio de
comunicação realizando um estudo de caso para comprovar sua efetividade.
A qualidade do serviço (QoS) de rede foi utilizada para demonstrar a
viabilidade do serviço de forma satisfatória e de forma segura. Os resultados
demonstraram que, no contexto de robôs como um serviço, a realização de
tarefas por meio de uma conexão remota pode ser viável de forma
satisfatória desde que alguns fatores sejam levados em consideração, como
a qualidade da rede.
1. Introdução
Com o advento da Internet, inúmeras possibilidades de produtos e serviços
surgiram como oportunidade de desenvolvimento tecnológico e nichos de mercado. Com
o avanço das tecnologias, novas oportunidades como o conceito de Computação em
Nuvem (CN) estão em ascensão, que segundo Yang e Huang (2012), se destina a
fornecer os recursos computacionais na aquisição via XaaS (X as a Service), onde X
pode ser qualquer coisa. Diante destes avanços, surgiu uma nova abordagem que
consiste na utilização da robótica como um serviço (RaaS – Robot as a Service). O
conceito de "robô-como-um-serviço" refere-se a robôs que podem ser combinados
dinamicamente para dar suporte à execução de aplicações específicas que segundo
(Koken, 2015) pode perfeitamente ser aplicado a policiais robôs (Wired, 2006), robôs
22
Anais do WoCCES 2016
garçons para restaurante (Technovelgy, 2016), robôs animais de estimação (Aibo, 2016)
entre outras.
Uma das razões pela qual os robôs não são providos de inteligência está ligado
ao alto custo computacional e de armazenamento, pois isso afeta não só do ponto de
vista do preço do robô, mas também resulta na necessidade de espaço adicional e peso
extra, que restringem a sua mobilidade e habilidade (Tian, Chen e Fei, 2015). A CN pode
ser uma aliada no que diz respeito à redução destes custos, como por exemplo na
execução de cálculos que exigem maior poder computacional podendo ser deixados a
cargo da nuvem (Koken, 2015). Para obter todos os benefícios, é necessário criar novos
métodos de acessos e arquiteturas que beneficiem esse tipo de conexão no que diz
respeito a utilização de CN.
De acordo com (Yoshigae e Emil, 2011), comando remoto pode ser interpretado
como um processo de transmissão de dados que sejam capazes de induzir a alteração do
estado de um sistema em um local geograficamente distinto. Dentre as aplicações de
comando remoto está incluída o de robôs industriais, cuja importância se destaca pela
execução de trabalhos repetitivos ou cuja a execução torne-se uma ameaça à segurança
do operador.
Chase e Jorge (2010) afirmam que as funções relacionadas à mobilidade de um
robô móvel em seu ambiente são a navegação e a localização, que têm grande
importância no desenvolvimento de sistemas autônomos inteligentes. Essas duas
capacidades são essenciais para que o robô possa executar tarefas mais complexas no
ambiente em que atua. Yoshigae e Emil (2011) citam ainda que, a execução de um
projeto para o comando remoto de robôs mostra-se importante para a formação de
recursos humanos, bem como seu uso nas distintas áreas, seja na indústria, medicina,
controle e carregamento, onde estes são alguns exemplos de onde pode-se integrar robôs
para auxiliar nas tarefas realizadas pelo homem.
Diante do exposto e baseado nos trabalhos discutidos, o objetivo deste trabalho é
apresentar uma arquitetura demonstrando, por meio de um estudo de caso, o controle
remoto de um robô utilizando a Internet como meio de comunicação no contexto de
RaaS. Foram pré-definidas tarefas para que o usuário possa controlar o robô seguindo as
orientações e assim alcançar o objetivo. Para avaliação geral dos resultados foi adotado a
qualidade do serviço proposta por meio de métricas de avaliação de desempenho de rede
no trabalho de Silva e Alves Júnior, 2014.
O restante do trabalho está dividido na seguinte forma. Na seção 2 é apresentado
o conceito de Robot as a Service. Na seção 3 são demonstrados alguns trabalhos
relacionados ao tema proposto. Na seção 4 são apresentados detalhes da arquitetura
proposta. Com base na arquitetura, na seção 5 são discutidos a realização de um
experimento. Por fim a seção 6 apresenta as conclusões.
2. Robot as a Service
Desde a antiguidade a humanidade tende a criar soluções com objetivo de
diminuir a carga de serviço necessária a execução de tarefas cotidianas e repetitivas, as
quais podem trazer malefícios aos trabalhadores. A medida que se usa robôs em uma
ampla variedade de tarefas, o modelo de aplicações de robótica irão mudar de produto
23
Anais do WoCCES 2016
para o modelo de serviço, semelhante aos serviços de utilidade pública, tais como água,
eletricidade, gás e telefonia (Du et al. 2011).
A Arquitetura Orientada a Serviço (SOA) considera um sistema de software um
conjunto de serviços de baixo acoplamento que se comunicam uns com os outros através
de interfaces padrão e através de protocolos de troca de mensagens. A CN torna possível
sair da computação baseada em desktop para o desenvolvimento baseado na Web, onde
os desenvolvedores usam uma plataforma que possibilita o desenvolvimento,
configuração de hardware / infra-estrutura (potência, capacidade de memória, largura de
banda de comunicação e processamento) e a execução da aplicação on line (Chen et al.
2010).
SOA tem sido encarado como uma abordagem adequada e eficaz para automação
industrial e de fabricação que, em última instância o usa para controlar e gerenciar as
células robóticas que são responsáveis por várias funções no processo de automação
(Borangiu, 2016; Veiga, 2007). Os benefícios da robótica em nuvem são inúmeras. Ao
aliviar as tarefas para a nuvem, seria possível construir baterias de robôs menores,
eficazes, enquanto a capacidade de memória e computação podem ser quase infinitas,
utilizando recursos da nuvem (Lorencik e Sincak, 2013).
Algumas das aplicações de RaaS citadas por (Doriya et al. 2012) são:
virtualização sobre robôs físicos; acesso a web pode ser dada para os robôs; redução do
custo de hardware robótico, pois a fabricação é mais barata, mais leve e robôs tendem a
ser "mais inteligentes"; pode ter funcionalidades como reconhecimento de objetos e de
voz por meio de serviços sob demanda; uma "base de conhecimento compartilhado"
pode ser criada para robôs e resultados e habilidades adquiridas podem ser publicadas ou
compartilhadas entre os robôs.
No entanto, quando os serviços de robôs são fornecidos através de redes de
internet, serviços confiáveis são necessários para lidar com a desconexão entre os
serviços e os robôs em redes wireless LAN, problemas de atendimento ao robô, erro de
sistema no robô, entre outros (Narita et al. 2013).
3. Trabalhos relacionados
Neste trabalho propõe-se uma arquitetura voltada ao controle de robôs para estruturar,
organizar e garantir a segurança dos dados, bem como o transporte de mensagem entre o
cliente/servidor. Para isso apresenta-se uma análise sobre algumas propostas que utilizam
o serviços de Web Service e serviços robóticos.
Kato et al. (2011), discorre sobre integração de serviços de robôs com serviços
em nuvem e sua comunicação com a Internet. Com esses recursos pode-se disponibilizar
serviços inovadores como navegação, construção de mapas, planejamento de trajetória,
localização, reconhecimento de objetos etc, combinando diferentes componentes para
finalidades heterogêneas para um mesmo cliente, já que, é determinado em Web Service.
Essas tecnologias usam o serviço de nuvem para armazenar dados, portanto pode-se
oferecer vários serviços de uma plataforma robótica. O recurso de RSi-Cloud é a
utilização de um protocolo de comunicação padrão, que é, Protocolo de Rede de
Serviços Roboticos (RSNP).
Em HU et al. (2012), os autores propõem uma arquitetura robótica em nuvem,
utilizando a combinação de robôs em nuvem formada maquina a máquina, comunicação
24
Anais do WoCCES 2016
(M2M) entre todos os robôs conectados a nuvem. Utilizando-se o modelo de arquitetura
M2M para o armazenamento e utilização de recursos compartilhados, apoiando na
realização de tarefas e tomada de decisão bem como o compartilhamento de informações
para aplicações robóticas. HU et al. (2012), citam que o protocolo M2M incluem
roteamento que envolve a troca de mensagens periodicamente para que cada rota de um
destino possível na rede seja mantido. Este protocolo de encaminhamento Ad-hoc sofre
latência elevada por ter que estabelecer uma rota antes de uma mensagem ser enviada.
Este problema é significativo em redes moveis robóticas, e pode levar a uma degradação
grave do desempenho.
Nakagawa et al. (2012), aborda uma arquitetura de Protocolo de Rede de
Serviços Robóticos (RSNP) para integrar inúmeros dispositivos, inclusive serviços
robóticos. Neste quadro o mecanismo proposto é uma função de atribuição a robôs, que
descobre e atribui tarefas solicitadas por usuários finais aos robôs conectados a nuvem.
Pondera ainda que, não há nenhum mecanismo que implante serviços robóticos no
ambiente de nuvem como componentes de um serviço homogêneo. Nuvem Robótica é
uma plataforma que se move em função de robôs lado a lado, o que torna difícil a
implementação por partes de Engenheiros de Software inexperientes.
Narita et. al. (2013) cita que serviços robóticos baseados em nuvem vem se
tornando atrativo para muitos pesquisadores da área, muitos trabalhos já foram
realizados em função da temática. Narita et al. (2013), propõem um mecanismo de
integração Robotics Services Network Protocol (RSNP), como uma tecnologia de
mensagens confiável para serviços web. Adotando o WS-RM (WS-Realiable
Messaging), afim de integrar serviços de uma plataforma robótica com serviços de
Internet, propõem-se uma arquitetura baseada em nuvem para RSNP tendo em vista a
comunicação de um ponto. Desta forma, no lado cliente estipula-se um tempo limite para
ser atendido, em seguida a aplicação divide um arquivo em algumas partes, os envia ao
servidor usando mecanismos de mensagens confiáveis. Do lado do servidor, a aplicação
recebe o arquivo e o retorna em um único arquivo.
4. Modelo Proposto
O controlador do robô deve acessar a aplicação por meio de qualquer dispositvo
que tenha um browser e serviço de internet ativo. Porém o dispositvo cliente deve estar
na mesma VPN que o robô, e assim enviar os dados da aplicação para o servidor. Para
receber os dados da aplicação foi desenvolvida um interface Web conforme apresentado
na Figura 1.
25
Anais do WoCCES 2016
Figure 1 – Arquitetura proposta.
As informações do dispositivo são enviadas para o servidor ao qual o robô esta
conectado, utlizando uma VPN, onde o servidor, por meio do protocolo HTTP, recebe
os dados (uma string de comandos) e as envia através do protocolo ZigBee (802.15.4)
para o robô, que os executa. Os comandos recebidos pelo robô são executados seguindo
a ordem a qual foram enviados pelo cliente da VPN. Foi necessário a utilização de um
programa em linguagem própria do Arduino para salvar os dados em um vetor de
comandos, e assim fazer com que sejam executados conforme o programa realiza a
leitura desse vetor.
5. Ambiente Experimental e Estudo de Caso
Para realização do trabalho proposto foi necessário os seguintes materiais e
métodos adotados:
1. Construção do protótipo de robô do tipo esteira;
Na construção do protótipo foi utilizado a plataforma Open Source Arduino na
versão Uno REV 3, placa XBee Shield V2, XBee Pro S2 e placa Dual Motor
Shield juntamente com a plataforma Tamya, esta última, por sua vez, fornece os
motores e base de um robô do tipo esteira. A Figura 2 apresenta o robô com
todos os componentes.
26
Anais do WoCCES 2016
Figura 2 – Protótipo do robô.
2. Implementação de WebService para controle do robô;
O WebService foi implementado no Linux Ubuntu 14.10 Lts com o Lamp Server
para fornecer os serviços necessários a manipulação do robô a distância por meio
da aplicação desenvolvida na linguagem PHP conforme Figura 3. A aplicação
conta com as setas direcionais para movimentação do robô e botões para
obtenção de dados de sensores como luminosidade e temperatura.
Figure 3 – Aplicação para controle do robô.
3. Implementação de VPN para comunicação do usuário com o robô de forma
segura;
Com o intuito de proporcionar o acesso a aplicação para controle do robô, foi
necessário a criação de uma Rede VPN, pois desse modo garante-se a segurança
no tráfego das informações. A implementação da VPN foi por meio de um
serviço de rede virtual chamado LogMeIn Hamachi que conforme (Hamachi,
2016) é um serviço de rede virtual que pode ser configurado em minutos e
permite acesso remoto seguro à rede, em qualquer lugar que haja uma conexão à
Internet.
4. Avaliação dos resultados.
Para avaliação dos resultados a comunicação com o robô a rede foi monitorada
com a ferramenta IPERF que forneceu as informações de Largura de Banda,
Latência, Jitter e Perda de pacotes durante o teste.
27
Anais do WoCCES 2016
5.1. Estudo de Caso
Com o intuito de validar a arquitetura proposta, utilizou-se alguns parâmetros de
rede definidos em Silva e Alves Júnior (2014), como a largura de banda, latência, perda
de pacotes e jitter. Os resultados são provenientes do controle do robô remotamente
para realização de uma tarefa previamente estabelecida que consistiu em percorrer um
labirinto, como mostra a Figura 4.
Figure 4 – Objetivo do robô.
A comunicação entre o usuário e o servidor foi realizada por meio de conexões
distintas de internet para simular uma conexão à distância. No teste foram utilizadas duas
conexões com a internet com largura de banda de 1Mbps não dedicada. Portanto durante
o teste a largura de banda média foi bem inferior ao máximo como mostra a Tabela 1.
Tabela 1. Resultados obtidos pelo IPERF
Intervalo
de Tempo
Dados
Transferidos
throughput
Largura de
Banda
Média
(TCP)
Cliente
300 seg.
10328 Kbytes
275 Kbits/sec
Servidor
300 seg.
22637 Kbytes
617 Kbits/seg
Jitter
(UDP)
16,403 ms
Datagramas
Perdidos/Tot
al (%)
(UDP)
9741/25510
(38%)
Em virtude do Jitter ser o desvio padrão do atraso de pacotes enviados em
sequência, esse dado foi computado apenas no lado do servidor por ser onde reside a
interface de comunicação com o protótipo. Da mesma forma os datagramas são
demonstrados na tabela. A arquitetura proposta considerou os controles direcionais do
robô e portanto não houve grande dificuldade na transferência, pois os pacotes de dados
transferidos são de cerca de 60 Kbytes em média.
A medida do Jitter realizada no servidor demonstrou uma variação no atraso de
entrega de 16,403 milissegundos ocasionando uma recepção não regular dos pacotes de
dados transferidos e que consequentemente culminou para o recebimento de 30
datagramas fora de ordem no teste. O tráfego de dados pode ser observado na figura 5.
28
Anais do WoCCES 2016
Figura 5 – Tráfego de dados.
Do ponto de vista da qualidade de serviço da rede (QoS) a preocupação com a
perda de pacotes é normalmente no sentido de especificar e garantir limites razoáveis
(Taxas de Perdas) que permitam uma operação adequada da aplicação. Conforme
demonstrado, houve uma grande percentagem de perda de pacotes, que pode ser
creditado a má qualidade da conexão, o que provocou um atraso na resposta de alguns
comandos enviados ao robô.
6. Conclusões e Trabalhos Futuros
Os trabalhos realizados no contexto de robô como um serviço (RaaS)
demonstram uma tendência para evolução nas aplicações de RSSF e Robôs
proporcionando um novo paradigma no uso de recursos computacionais voltados para
esta tecnologia. Deste modo, a utilização destes conceitos pode trazer grandes benefícios
para sociedade como, por exemplo, a redução dos custos para implementação de robôs.
Outro exemplo de utilização deste tipo de arquitetura é a monitoração de áreas hostis, o
que torna o acesso ao local um risco a saúde.
Como pode ser observado nos resultados, para garantir um bom provimento de
serviços no controle do agente é necessária uma preocupação com a qualidade da rede
para obter um padrão aceitável no controle do mesmo. Além disso, a segurança das
informações e o controle do robô devem ser garantidos para que não violem dados
confidenciais e nem assumam o controle deste tipo de serviço indevidamente. De maneira
geral, o trabalho demonstrou que é possível provê esse tipo de serviço por meio de uma
conexão confiável e seguindo critérios de segurança para garantir ao cliente um serviço
aceitável.
29
Anais do WoCCES 2016
7. Referências
Aibo. Robot Pets. Disponível em: http://en.wikipedia.org/wiki/AIBO, Acesso em
02.04.2016.
Borangiu, T., “Trends in Service Oriented Architectures for Robot-CNC Manufacturing
Control”, Disponível em: http://www.iit.bas.bg/PECR/59/10-31.pdf. Acesso em
03.04.2016.
Chase, Otavio A., Jorge, R. Brito de Souza. “Desenvolvimento de um Robo Movel NãoHomologo Para Navegacao Autonoma Em Ambientes Fechados Por WallFollowing”. Anais CBA – Congresso Brasileiro de Automação – 2010. Pages: 38333838.
Chen, Yinong; Du, Zhihui; Acosta, Marcos García. (2010) Robot as a Service in Cloud
Computing. Fifth IEEE International Symposium on Service Oriented System
Engineering.
Dias, Maxwel Macedo, Ramos, Edson M.L.S., Silva Filho, Luiz, Betini, Roberto C.
(2008) A Utilização de Software Livre na Análise de QoS em Redes IP Utilizando
Mineração de Dados, http://wsl.softwarelivre.org/2008/0001/37623_1.pdf
Doriya, Rajesh; Chakraborty, Pavan; Nandi, G. C. (2012) Robotic Services in Cloud
Computing Paradigm. International Symposium on Cloud and Services Computing.
IEEE.
Du, Zhihui; Yang, Weiqiang; Chen, Yinong; Sun, Xin; Wang, Xiaoying; Xu, Chen.
(2011) Design of a Robot Cloud Center. Tenth International Symposium on
Autonomous Decentralized Systems. IEEE.
Hu, Guoqiang. Peng, Wee Tay. Wen, Yonggang. “Cloud Robotics: Architecture,
Challenges and Applications”. Network, IEEE (Volume: 26, Issue: 3), May -June
2012. IEE, pp. 21 – 28.
Kato, Yuka. Izui, Toru. Tsuchiya, Yosuke. Masahiko, Narita. (2011). “RSi-Cloud for
Integrating Robot Services with Internet Services”. IECON 2011 - 37th Annual
Conference on IEEE Industrial Electronics Society. IEE, pages 2158 - 2163.
Koken, Busra. (2015) Cloud Robotics Platforms. Interdisciplinary Description of
Complex Systems, pág. 26-33, Yalova University.
Lorencik, D.; Sincak, P., (2013) Cloud Robotics: Current trends and possible use as a
service, in 11th IEEE International Symposium on Applied Machine Intelligence and
Informatics, Herlany, Slovakia, February.
Nakagawa. Sachiko, Igarashi. Noboru, Tsuchiya. Yosuke, Narita. Masahiko, Kato.
Yuka. “An Implementation of a Distributed Service Framework for Cloud-based
Robot Services”. IECON 2012 - 38th Annual Conference on IEEE Industrial
Electronics Society. IEEE, pages 4148 – 4153.
Narita, Masahiko. Okabe, Sen. Kato, Yuka. Murakwa, Yoshihiko. Okabayashi, Keiju.
Kanda, Shinji. “Reliable cloud-based robot services”. Industrial Electronics Society,
IECON 2013 - 39th Annual Conference of the IEEE, IEEE, pages 8317 – 8322.
30
Anais do WoCCES 2016
Silva, Pedro H. D. da. Alves Júnior, Nilton. (2014) Ferramenta IPERF: geração e
medição de Tráfego TCP e UDP. Centro Brasileiro de Pesquisas Físicas. Nota
Técnica
Tas, Baris; Tosun, Ali Şaman. (2014) Coordinating Robots for Connectivity in Wireless
Sensor Networks. 11th International Conference on Mobile Ad Hoc and Sensor
Systems, IEEE.
Technovelgy. Robot Waiters. Disponível em: http://www.technovelgy.com/ct/ScienceFiction-News.asp?NewsNum=771, Acesso em 02.04.2016
Tian, Guohui Chen, Huanzhao. Lu, Fei. (2015) Cloud Computing Platform Based on
Intelligent Space for Service Robot. International Conference on Information and
Automation. IEEE.
Veiga, G., Pires, J.N., Nilsson, K., "On the use of SOA platforms for industrial robotic
cells", Proceedings of Intelligent Manufacturing Systems, IMS2007, Alicante, Spain,
June 2007, pp. 3-8.
Wired.
Robot
Cops
to
Patrol
Korean
Streets.
Disponível
em:
http://www.wired.com/gadgetlab/2006/01/robot_cops_to_p, Acesso em 02.04.2016.
Yang, Chih-Chin. Huang, J. T. (2012) The Era of Cloud Computer thru Bio-Detecting
and Open-Resources to Achieve the Ubiquitous Devices. International Symposium on
Computer, Consumer and Control.
Yoshigae, Nako Emil. Villani, Emilia. “Comando Remoto de Robôs Industriais”. Anais
do 14° Encontro de Iniciação Científica e Pós-Graduação do ITA – XIV ENCITA /
2008.
31
Anais do WoCCES 2016
Avaliação de desempenho de procedimentos de
handoff em redes IPv6 e uma discussão sobre a
viabilidade de aplicação em sistemas crı́ticos
Lucas Tognoli Munhoz, Guilherme Caixeta de Oliveira,
Daniel Fernando Pigatto, Kalinka Regina Lucas Jaquie Castelo Branco
1
Instituto de Ciências Matemáticas e de Computação (ICMC) –
Universidade de São Paulo (USP)
Avenida Trabalhador São-carlense, 400 – Centro –
CEP: 13566-590 – São Carlos – SP – Brazil
{lucas.munhoz, guilherme.caixeta.oliveira}@usp.br
{pigatto, kalinka}@icmc.usp.br
Resumo. Em sistemas de tempo real, quando falhas de qualquer natureza
ocorrem, ativos de alto valor são colocados em risco e, em alguns casos, até
mesmo vidas humanas. Devido a essa alta criticidade, desenvolver melhorias para estes sistemas visando o aumento da segurança dos mesmos
se torna um tópico de importância na área. Esta pesquisa busca efetuar
uma revisão sobre procedimentos de handoff em redes IPv6 para auxiliar na
identificação daqueles que apresentam menor latência e baixa perda de pacotes durante a operação, visando um aumento da eficácia da comunicação
geral nestes sistemas. Para isso, algumas técnicas de handoff encontradas
na literatura são simuladas e, a partir dos resultados obtidos, comparações
de desempenho são apresentadas seguindo técnicas estatı́sticas especı́ficas
para avaliação de desempenho de sistemas computacionais. Por fim, uma
discussão sobre a aplicação destas técnicas em sistemas embarcados crı́ticos
é apresentada.
1. Introdução
Estudar o processo do handoff é de suma importância para todas as aplicações que
fazem uso de redes móveis (wireless), visto que é um ponto crı́tico em relação à
qualidade da conexão, seja pelo fato do algoritmo de handoff tomar a decisão de
permutar para uma rede de melhor qualidade ou mesmo a possibilidade da perda
de pacotes durante essa transição, fator essencial em aplicações crı́ticas. O objetivo
deste artigo é apresentar uma comparação entre dois algoritmos de handoff, mais
especificamente o procedimento de handoff no protocolo IPv6, com e sem a opção
de mobilidade.
Esta pesquisa contribui no cenário dos sistemas embarcados que utilizam o
IPv6 para se conectar em redes móveis, fornecendo dados e comparações que podem
ser utilizadas por profissionais da área. Foram analisados aspectos como tempo de
execução em cada etapa do processo e fatores que influenciam na tomada de decisão
do algoritmo, como potência de sinal e taxa de transmissão de dados.
32
Anais do WoCCES 2016
O restante do artigo está organizado da seguinte maneira: a Seção 2 discute
os trabalhos relacionados usados como referências para essa pesquisa; a Seção 3
apresenta o MIPv6; já a Seção 4 descreve a metodologia de testes; a Seção 5 apresenta
as simulações realizadas; a Seção 6 mostra os resultados dos experimentos; a Seção 7
apresenta uma discussão voltada aos sistemas crı́ticos; e, por fim, a Seção 8 conclui
o trabalho.
2. Trabalhos Relacionados
[Mishra et al. 2003] publicaram um artigo em que efetua-se uma medição das latências de todos os estágios em um processo de handoff. Eles concluı́ram que o hardware usado (interface wireless), tanto na Unidade Móvel (UM) quanto nos Pontos
de Acesso (APs), influencia diretamente no tempo de latência do handoff, que diferentes UMs tratam a sequência de mensagens do processo de maneira ligeiramente
diferente e que a fase de busca toma cerca de 90% do tempo de handoff. No entanto, os autores não exploraram situações reais, o que, mesmo quanto simulado,
altera a percepção se contextualizada em determinados domı́nios. Neste artigo serão
discutidos os impactos do handoff em redes IPv6 quando observado no contexto de
VANTs.
[Vatn 2003] discutem os efeitos do handoff na transmissão de dados e, assim
como Mishra et al., concluem que a interface de rede utilizada afeta na latência
e a fase mais demorada do processo é a de busca. Eles também observam que é
possı́vel que a UM continue recebendo dados do AP antigo mesmo durante a fase de
busca. Por fim, concluem que o comportamento do handoff não depende somente
do hardware utilizado, mas também do fluxo de dados, como por exemplo, se a UM
está enviando ou apenas recebendo pacotes.
[Chuang and Lee 2011] discutem os problemas de latência apresentados pelo
Mobile IPv6 e pelo seu derivado PMIPv6, deixando clara a dificuldade de uso destes
mecanismos de handoff em sistemas de tempo real. Para solucionar este problema,
os autores propõem um novo esquema de handoff para redes PMIPv6 que reduz
a latência da operação e resolve o problema da perda. Este trabalho foi útil para
uma análise mais profunda do MIPv6 e observação de suas nuances para possı́vel
aplicação no contexto deste artigo.
Inspirando-se nos estudos apresentados nos trabalhos revisados, identificouse que uma comparação entre o protocolo IPv6 com e sem a opção de mobilidade no
contexto dos veı́culos aéreos não tripulados (VANTs) ainda não havia sido verificada.
Este trabalho apresentará um estudo neste sentido, tentando identificar diferenças
substanciais no protocolo. A seção ?? apresenta a ferramenta de simulação de redes
OMNeT++, a qual será utilizada nos experimentos.
3. MIPv6
Segundo [Duarte ], o MIPv6 (Mobile IPv6) é um protocolo que foi desenvolvido como
um subconjunto do Internet Protocol version 6 (IPv6) para dar suporte a conexões
móveis. MIPv6 é um update do padrão Mobile IP (RFC 6275, [Johnson et al. 2004]),
criado pela IETF, e foi desenvolvido para autenticar dispositivos móveis (conhecidos
como nós móveis) usando endereços IPv6.
33
Anais do WoCCES 2016
Nos roteamentos tradicionais da rede IP, os endereços representam uma
topologia. Os mecanismos de roteamento foram feitos sob o princı́pio que cada
nó da rede sempre teria o mesmo ponto de entrada na Internet, e que cada nó de
endereço IP identificaria o enlace de rede onde ele está conectado. O MIPv6 permite
um nó móvel transparentemente manter as conexões quando ele move de um ponto
da rede a outro.
4. Metodologia
Como já mencionado anteriormente, duas simulações foram usadas para comparação
de dois processos distintos de handoff, sendo eles em redes IPv6 com e sem opção de
mobilidade. As próximas subseções descrevem os critérios utilizados e como foram
realizadas as coletas dos resultados.
4.1. Critérios e Coleta dos Resultados
A primeira preocupação com as simulações foi em manter a uniformidade entre
elas. Por exemplo, a velocidade com que a unidade móvel se moveria e a distância e
área de cobertura dos roteadores deveria ser a mesma na duas simulações, visando
o não comprometimento de qualquer resultado que poderia ser obtido. Os critério
utilizados como comparação entre os algoritmos são os seguintes: tempo do processo
e potência do sinal.
4.1.1. Tempo
O critério do tempo de execução é, talvez, o mais complexo e que melhor define a
diferença entre os processos. Para alguns algoritmos, é de extrema importância que
um processo de handoff se dê o mais rápido possı́vel, devido ao fato da unidade
móvel se desconectar do ponto de acesso para então enviar solicitações ao próximo
ponto de acesso. Segundo [da Silva and Colcher 2007], esse tempo desconectado de
qualquer link resulta em uma perda de pacotes de poderiam estar em tráfego naquele
instante. Por exemplo, se um transmissão de vı́deo em tempo real estava sendo feita
naquele momento, com certeza pacotes se perderão e isso acarretará problemas.
De acordo com [Nankani 2005] na Figura 1, o processo de handoff pode ser
dividido em 2 fases. Para uma análise mais profunda, será medido o tempo de cada
etapa separadamente, possibilitando uma comparação por fases do processo.
A primeira fase é a de busca. A fase de busca começa pela pesquisa de
APs próximos e disponı́veis. Depois de encontrados, o AP em melhores condições,
definidas de acordo com os critérios do próprio algoritmo em questão, é escolhido
para o MN realizar a conexão.
Uma subdivisão da fase de busca pode ser feita em duas etapas: delay de
escaneamento e delay de classificação. Ainda no delay de escaneamento, podem ser
medidos os tempos de escaneamento de cada canal, separadamente.
Em termos práticos, o evento inicial da fase de busca é o Beacon Timeout, ou
seja, o MN recebeu pelo menos três pacotes Beacon que foram considerados como
34
Anais do WoCCES 2016
Figura 1. Fases do processo de handoff, adaptado de [Nankani 2005].
ruı́do (não havia potência satisfatória) e decidiu iniciar uma busca por novos pontos
de acesso por considerar conexão perdida. No próximo evento, o MN se desassocia
do AP1 e manda comando interno para sintonização do canal 0, para começar nova
busca. O delay de escaneamento termina no evento em que o rádio do MN acaba
de sintonizar no canal 0 e começará a busca efetiva.
O próximo passo é escanear cada canal em busca de um ponto de acesso. Esse
escaneamento se dá da seguinte maneira: o MN sintoniza em um certo canal e fica
”na escuta” por mensagens vindas de algum ponto de acesso naquela frequência, seja
um Beacon ou um Router Advertisement. Essa escuta dura um perı́odo de tempo
pré-estabelecido. Ao fim desse tempo, o MN sabe se há algum ponto de acesso
naquela frequência e pode incluı́-lo na lista de candidatos a novo AP. Quando um
canal foi escaneado e nenhuma mensagem foi detectada. O rádio avisa a camada de
gerenciamento que o tempo limite estourou e nenhum AP foi encontrado. É também
enviado a ordem para a troca de canal.
Passado o tempo mı́nimo de escaneamento e tendo identificado outro aparelho
na mesma frequência, o MN envia uma mensagem de Probe Request, solicitando
informações relacionadas ao tipo de transmissão em que o AP trabalha, como por
exemplo a taxa de transmissão. O AP, então, responde com o Probe Response. Com
posse desse pacote, o MN atualiza a lista de AP conhecidos e continua o processo de
escaneamento. Esse processo se repete por todos os 4 canais possı́veis. Ao acabar
o último canal, finaliza-se o delay de escaneamento. Para efeitos de pesquisa e
comparação, serão medidos os tempos de busca em cada canal, além da fase inicial
do escaneamento.
A última etapa da fase de Busca é o delay de classificação, no qual o MN
classifica todas os AP que foram encontrados na busca. Nessa fase ocorre o mesmo
problema da falta de informações do simulador. Apesar de ele tratar esses eventos
como instantâneos e concomitantes, eles não o são na realidade. Dessa forma, o
35
Anais do WoCCES 2016
Delay de Classificação também ficou sem ser mensurado e, conforme explicado na
Seção Resultados, não implica em problemas para os resultados obtidos.
A próxima fase de um processo de handoff é a Fase de Execução. Nesse
perı́odo, o MN troca mensagens com o AP no intuito de se associar a ele. Algumas
dessas mensagens são a requisição de autenticação, resposta à essa requisição,
requisição e resposta de associação.
4.1.2. Tomada de Decisão
A potência do sinal recebido de um AP é um dos fatores decisivos em um processo
de handoff. É necessário que, ao tomar a decisão de qual ponto de acesso o nó
móvel vai se conectar, haja uma ponderação sobre o melhor sinal, que pode evitar,
na maioria dos casos, novos handoffs.
Alterar a polı́tica de tomada de decisão pode ser uma tarefa complicada, visto
que nem sempre é possı́vel obter acesso aos códigos que implementam o processo
direto em sistemas operacionais de tempo real. No simulador utilizado o problema
se repete e não é possı́vel alterar a polı́tica de tomada de decisão. Foram propostos,
então, alguns testes para verificar a influência de alguns fatores na tomada de decisão
do algoritmo que roda por trás do OMNeT++.
Para analisar sob esta outra perspectiva, foi proposto um novo cenário: incluir um novo AP à simulação “handoff ipv6”. Com isso, seria criada uma zona na
abrangência de sinal de três pontos diferentes e, alterando parâmetros de um dos
APs, seria possı́vel tirar conclusões de qual aspecto foi levado em consideração na
decisão.
Os dois aspectos propostos para essa pesquisa são Potência de Sinal e Taxa
de Transferência de dados. Basicamente, os três roteadores ficaram posicionados em
uma geometria triangular, com as mesmas distâncias entre os três, de acordo com a
Figura 2. Em cada teste, um AP teve seus parâmetros modificados, de uma maneira
que um dos seus recursos fosse menor do que o mesmo recurso do outro AP. Por
exemplo, se a taxa de transferência do AP2 é 2 Mbps, a do AP1 foi definida em 1
Mbps, da mesma forma que a sua potência de transmissão reduzida em um outro
teste. Os seguintes cenários foram propostos (ver Tabela 6.1):
1. AP1: 1 Mbps, 2 mW e AP2: 2 Mbps e 2 mW;
2. AP1: 2 Mbps, 2 mW e AP2: 2 Mbps e 1 mW;
Definidos os modelos e a forma como os testes seriam executados, o próximo
passo foi a execução das simulações e a coleta dos resultados, expostos no próximo
capı́tulo.
5. Simulações
5.1. MIPv6Network.ned
A rede MIPv6Network é parte do pacote de simulações-exemplo do pacote INET, ou
seja, ela vem configurada ao se instalar o pacote [INET ]. Essa simulação permite
36
Anais do WoCCES 2016
Figura 2. Esquema de rede utilizado para testar a Tomada de Decisão do algoritmo
de handoff.
a análise de um processo de handoff em uma rede que se comunica por meio do
protocolo IPv6 com a opção de mobilidade, ou seja, ao trocar de link de acesso, o
nó móvel continua com o mesmo endereço IP.
A MIPv6Network é composta por 5 elementos básicos: nó móvel, pontos de
acesso, roteadores, HUB e hospedeiro fixo. Além deles, há dois elementos responsáveis pela configuração. Na Figura 3 é ilustrado o arquivo NED na forma gráfica.
Figura 3. Representação gráfica da rede MIPv6Network.
O Mobile Node é composto pelo módulo WirelessHost6. Ele faz o papel do
nó móvel, sempre conectado a um ponto de acesso e se movimentará entre as áreas
de cobertura desses APs. Os dois Access Points usados na simulação são iguais,
do módulo de mesmo nome. Eles são responsáveis por fornecer o rádio para os
roteadores, ou seja, prover uma comunicação sem fio entre nó móvel e nó fixo.
O primeiro roteador, módulo Router6, atuará como Home Agent. Como dito
anteriormente, tem a função de capturar os pacotes destinados a unidade móvel,
estando ela conectada a esse link ou não. O roteador denominado R 1 fará o papel
de Foreign Agent, ou seja, distribui os pacotes gerados pelo MN enquanto fora do link
inicial e atua recebendo os pacotes do túnel destinados ao MN. E o outro roteador,
juntamente com o HUB, faz o papel da internet em si, propiciando, por exemplo, o
túnel entre os dois roteadores que fornecem links.
37
Anais do WoCCES 2016
5.2. handoff ipv6.ned
A simulação handoff ipv6.ned foi completamente desenvolvida pelo bolsista com o
intuito de atender aos requisitos da pesquisa, que pediam uma rede que usasse IPv6
e possibilitasse o estudo do handoff, sem a opção de IP Móvel. Sem o suporte à
mobilidade, ao trocar de link, a unidade móvel perde totalmente seu vı́nculo com o
endereço nativo, trocando inclusive de IP.
Na Figura 4 é ilustrada graficamente a simulação. Como é possı́vel observar,
a rede é formada por uma unidade móvel do tipo WirelessHost6 que, apesar de
oferecer suporte ao MIPv6, está com essa funcionalidade desabilitada.
Figura 4. Representação gráfica da rede handoff ipv6.
Assim como na rede MIPv6Network, são utilizados dois AccessPoints para
a comunicação sem fio dos roteadores. São dois roteadores independentes e que
fornecem links separados aos usuários. Essa é uma das formas de reforçar o não uso
da opção de mobilidade.
Além dos elementos da rede em si, foram utilizados outros dois módulos de
configuração: o ChannelControl, responsável pelo gerenciamento das comunicações
sem fio, incluindo distâncias e possı́veis interferências, e o flatNetworkConfigurator6,
que gerencia questões de endereços e tabelas de roteamento.
6. Resultados
6.1. Tempo
Como já citado na seção “Metodologia”, o tempo que o nó móvel leva para interpretar
3 perdas de Beacon e resolve iniciar uma nova busca não pode ser calculado com
o simulador. Dessa maneira, ele será desprezado para efeitos de comparação, uma
vez que, como também explicado anteriormente, isso não afeta a integridade dos
resultados.
A Tabela 1 mostra os tempos medidos para o escaneamento total dos canais
de frequência no processo de handoff nas duas simulações testadas. Os tempos para
cada canal não aparecem na tabela por serem tempos pré-estabelecidos.
O fator que se mostrou mais decisivo no tempo efetivo do processo foi a
quantidade de escaneamentos que o MN teve de realizar antes de encontrar um AP
38
Anais do WoCCES 2016
Tempo Total de Escaneamento
1a Repetição
handoff ipv6
MIPv6Network
Cenário
Cenário
Cenário
Cenário
Cenário
Cenário
Cenário
Cenário
1
2
3
4
1
2
3
4
1
1
2
6
1
1
2
6
s
s
s
s
s
s
s
s
400
400
650
400
400
400
650
400
2a Repetição
ms
ms
ms
ms
ms
ms
ms
ms
1
1
2
6
1
1
2
6
s
s
s
s
s
s
s
s
400
400
650
400
400
400
650
400
ms
ms
ms
ms
ms
ms
ms
ms
Média
1
1
2
6
1
1
2
6
s
s
s
s
s
s
s
s
400
400
650
400
400
400
650
400
ms
ms
ms
ms
ms
ms
ms
ms
Número de
Escaneamentos
1 escaneamento
1 escaneamento
2 escaneamentos
5 escaneamentos
1 escaneamento
1 escaneamento
2 escaneamentos
5 escaneamentos
Tabela 1. Tempo de escaneamento total para os 8 cenários testados.
disponı́vel. Essa diferença é notada nos cenários em que não há intersecção entre
as áreas de cobertura de sinal (Cenários 1 e 2) em relação aos que não o possuem
(Cenários 2 e 3). No caso de não haver intersecção, ao perder o sinal do primeiro
AP o MN inicia uma busca em todos os canais e, se esse espaço de tempo não foi
suficiente para entrar na célula do outro AP, o MN terá que realizar outras buscas
completas até que o faça. Repetir essas buscas é um processo extremamente custoso
e que compromete a eficiência do handoff, pois cada busca adicional leva 1,25 s.
Em um cenário de altas taxas de transmissão, por exemplo em um streamming, sofrer essa penalidade de uma nova busca pode comprometer totalmente o
serviço, pois seriam mais 1,25 s desconectados do AP, com a perda de milhares de
pacotes de informação.
Ainda em relação à Tabela 1, pode-se observar que a velocidade de deslocamento de um nó móvel influencia diretamente no tempo de handoff de uma situação
em que não há intersecção de células. Como o MN consegue passar mais rápido
pela área sem sinal, ele precisa realizar menos escaneamentos e, consequentemente,
se conectar mais rápido ao novo AP.
Na segunda fase do processo de handoff é realizada a autenticação e associação do MN com o AP. Os tempos do Delay de Autenticação são mostrados na
Tabela II e os do Delay de Associação estão na Tabela III.
handoff ipv6
MIPv6Network
Cenário
Cenário
Cenário
Cenário
Cenário
Cenário
Cenário
Cenário
1
2
3
4
1
2
3
4
1a Repetição
2 ms 375 us 943 ns
2 ms 376 us 59 ns
2 ms 376 us 188 ns
2 ms 403 us 214 ns
2 ms 349 us 88 ns
2 ms 403 us 226 ns
2 ms 402 us 582 ns
2 ms 402 us 609 ns
Autenticação
2a Repetição
2 s 375 us 943 ns
2 ms 376 us 59 ns
2 ms 376 us 188 ns
2 ms 403 us 214 ns
2 ms 349 us 88 ns
2 ms 403 us 226 ns
2 ms 402 us 582 ns
2 ms 402 us 609 ns
Média
2 ms 375 us 943 ns
2 ms 376 us 59 ns
2 ms 376 us 188 ns
2 ms 403 us 214 ns
2 ms 349 us 88 ns
2 ms 403 us 226 ns
2 ms 402 us 582 ns
2 ms 402 us 609 ns
Tabela 2. Tempos dos Delays de Autenticação para os 8 cenários testados.
A outra fase do handoff que exerce influência sobre o tempo total é o processo de Autenticação/Associação. No caso da Autenticação, nota-se uma diferença
na casa de microssegundos entre todos os cenários testados. Em dois cenários o
protocolo IPv6 sem opção de mobilidade levou vantagem sobre o MIPv6, cenários 2
e 3, e houve vantagem do MIPv6 nos outros dois. Essas combinações de resultados
não permitem uma afirmação concreta sobre a influência da velocidade ou da área
de cobertura do sinal sobre os resultados, visto que em cada situação um algoritmo
diferente levou vantagem. Na fase de Associação o MIPv6 levou vantagem em três
cenários, perdendo apenas no caso da velocidade de deslocamento baixa e sem intersecção das células. Esse resultado indica que algum mecanismo do MIPv6 pode
facilitar a Associação do MN.
Por fim, a Tabela IV ilustra os tempos totais do processo de handoff em
39
Anais do WoCCES 2016
handoff ipv6
MIPv6Network
Cenário
Cenário
Cenário
Cenário
Cenário
Cenário
Cenário
Cenário
1
2
3
4
1
2
3
4
1a Repetição
1 ms 523 us 971 ns
1 ms 506 us 29 ns
1 ms 497 us 94 ns
1 ms 507 us 70 ns
1 ms 479 us 44 ns
1 ms 497 us 113 ns
1 ms 496 us 805 ns
1 ms 523 us 387 ns
Associação
2a Repetição
1 ms 523 us 971 ns
1 ms 506 us 29 ns
1 ms 497 us 94 ns
1 ms 507 us 70 ns
1 ms 479 us 44 ns
1 ms 497 us 113 ns
1 ms 496 us 805 ns
1 ms 523 us 387 ns
Média
1 ms 523 us 971 ns
1 ms 506 us 29 ns
1 ms 497 us 94 ns
1 ms 497 us 94 ns
1 ms 479 us 44 ns
1 ms 497 us 113 ns
1 ms 496 us 805 ns
1 ms 523 us 387 ns
Tabela 3. Tempos dos Delays de Associação para os 8 cenários testados.
todos os oito cenários testados.
handoff ipv6
MIPv6Network
Cenário
Cenário
Cenário
Cenário
Cenário
Cenário
Cenário
Cenário
1
2
3
4
1
2
3
4
Tempo Total do Handoff
(média)
1 s 403 ms 899 us 971 ns
1 s 403 ms 882 us 88 ns
2 s 653 ms 873 us 282 ns
6 s 403 ms 910 us 278 ns
1 s 403 ms 828 us 132 ns
1 s 403 ms 900 us 339 ns
2 s 653 ms 899 us 207 ns
6 s 403 ms 925 us 996 ns
Tabela 4. Tempos totais do processo de handoff para os 8 cenários testados.
Analisando a Tabela IV, tem-se um panorama geral sobre os tempos efetivos
de handoff em todos os casos testados. Pode-se observar a predominância do tempo
de escaneamento em relação aos Delays de Autenticação e Associação, que pode
chegar a ser entre 300 e 2000 vezes maior. É válido ressaltar a vantagem do IPv6
sem mobilidade em três dos cenários, o que o qualifica como mais rápido.
Poucos microssegundos, menos de 100 em todos os casos, não são capazes
de afetar de maneira considerável a quantidade de bits recebidos. Por exemplo, em
uma transmissão de 2 Mbps, são enviados cerca de 2 bits por milisegundo (ms), ou
0,002 bit por microsegundo (µs). Diferenças de 100 µs resultariam na perda de 0,2
bit, o que é irrisório em vista da quantidade de informação transmitida.
6.2. Tomada de Decisão
No primeiro cenário analisado para teste de tomada de decisão, os dois APs foram
configurados para emitir sinais com a mesma potência, mas o AP1 estava com metade
da taxa de transmissão de dados do AP2. Ao fim do escaneamento, o algoritmo de
handoff optou por se conectar ao AP1, conforme mostra a Figura 5.
Figura 5. Fase de Classificação do processo de handoff no Cenário 1.
O outro cenário analisado continha os dois pontos de acesso com a mesma
taxa de transmissão de dados, porém um deles emitia uma potência de sinal muito
menor que o outro. O algoritmo optou por se associar ao AP1, como indica a
Figura 6.
40
Anais do WoCCES 2016
Figura 6. Fase de Classificação do processo de handoff no Cenário 2.
Em relação aos testes sobre Tomada de Decisão, a principal conclusão tirada
é que o fator predominante na escolha de um AP para se conectar é a potência
de sinal recebida pelo MN no momento do escaneamento. No teste realizado no
Cenário 1, em que os dois APs possuem a mesma potência de sinal e o AP1 metade
da taxa de transferência do AP2, o AP1 foi escolhido. Isso pode ser explicado pela
dificuldade em se obter simetria total para o problema: por mais que os AP estejam
igualmente distribuı́dos, ao receber o pacote com a informação sobre a potência de
sinal de cada AP, o MN já se deslocou, o que resulta em pequenas diferenças, como
na Figura 5. A predominância da qualidade de sinal explica o motivo do AP1 ter
sido escolhido, apesar da baixa taxa de transmissão.
O experimento no segundo cenário apenas confirma a conclusão citada acima.
Em diferenças grandes de potência de sinal, o AP escolhido foi sempre aquele que
oferece um sinal de maior qualidade.
É importante esclarecer que os testes realizados para observar tomada de
decisão foram realizados em apenas um dos protocolos citados nesse trabalho, o
MIPv6. Essa escolha foi feita devido ao algoritmo de tomada de decisão ser vinculado
ao simulador em si, e não aos protocolos usados. Dessa forma, para qualquer handoff,
em qualquer simulação do OMNeT++, o algoritmo de tomada de decisão será o
mesmo. O propósito destes testes foi conhecer esse algoritmo, para complementar
o estudo sobre o procedimento de handoff, e também para obter conclusões que
tangenciam os estudos em VANTs, os quais serão apresentados na seção 8.
7. Uma discussão voltada aos sistemas crı́ticos
Como foi possı́vel perceber com os resultados apresentados e discutidos, há uma
pequena vantagem do IPv6 sem mobilidade quando comparado ao MPIv6, especificamente no que se refere ao tempo de execução do handoff. Considerando o cenário
dos sistemas de tempo real, essa pequena diferença, apesar de parecer insignificante,
é de grande relevância. Em algumas aplicações, como na aviação, sistemas embarcados crı́ticos devem apresentar taxas de falha baixas como uma falha grave a cada 105
até 109 horas de operação [Branco 2012]. Considerando que atrasos na comunicação
possam levar a falhas, tal diferença se torna significante.
Tomando como exemplo cenários onde veı́culos terrestres ou aquáticos operam missões em áreas isoladas e VANTs são usados para sobrevoar e coletar/fornecer informações para as redes de veı́culos terrestres e aquáticos em operação.
Os sobrevoos nem sempre poderão ser realizados mais de uma vez dependendo das
condições de acesso ao local e, em alguns casos, a autonomia de voo dos VANTs
41
Anais do WoCCES 2016
pode ser um limitador de tempo, exigindo que o sobrevoo seja realizado com velocidades maiores e sem a possibilidade de sobrevoar novamente uma mesma região.
Neste caso, o tempo de handoff existente na conexão entre os veı́culos terrestres
e aquáticos com o VANT poderá impactar significativamente no sistema como um
todo.
8. Conclusões
Nesta pesquisa foi realizado um estudo comparativo entre dois processos de handoff
baseados no protocolo IPv6, com e sem a opção de mobilidade (MIPv6). Alguns
parâmetros, como tempo de execução e tomada de decisão, foram levados em conta
para análise de desempenho das simulações propostas.
Os resultados mostram uma leve vantagem do IPv6 sem mobilidade em relação ao MPIv6 no que se refere ao tempo de execução do handoff. Considerando
o cenários dos sistemas de tempo real, essa pequena diferença, apesar de parecer
insignificante, é extremamente relevante, como discutido na seção 7.
Apesar de os testes terem sido realizados em um simulador totalmente determinı́stico e o algoritmo de tomada de decisão ser o mesmo em ambos os modelos
testados, esta pesquisa apresentou resultados que ajudam pesquisadores e desenvolvedores a terem um ideia do comportamento de sistemas embarcados que utilizam
o protocolo IPv6 frente a uma situação de handoff.
Trabalhos futuros deverão incluir experimentos com protótipos reais de sistemas embarcados crı́ticos rodando sistemas operacionais de tempo real. O uso de
sistemas operacionais voltados às necessidades destes sistemas deverão melhorar o
desempenho também da comunicação.
References
Branco, K. R. L. J. C. (2012). Contribuições na área de Sistemas Distribuı́dos e
Redes de Computadores e suas aplicações em Sistemas Embarcados Crı́ticos. PhD
thesis, Universidade de São Paulo.
Chuang, M.-C. and Lee, J.-F. (2011). Fh-pmipv6: a fast handoff scheme in proxy
mobile ipv6 networks. In Consumer Electronics, Communications and Networks
(CECNet), 2011 International Conference on, pages 1297–1300. IEEE.
da Silva, A. O. and Colcher, S. (2007). Evolução da otimização do handoff no mobile
ip. Monografia, Pontifı́cia Universidade Católica, Departamento de Informática.
Duarte, O. C. M. B. Notas de aula - Redes de Computadores I - MIPv6. Available
at http: // www. gta. ufrj. br/ grad/ 02_ 2/ MIPv6/ .
INET. Network MIPv6 Documentation. Available at http: // inet. omnetpp.
org/ doc/ INET/ neddoc/ index. html? p= inet. examples. mobileipv6.
mIPv6Network. html .
Johnson, D., Perkins, C., and Arkko, J. (2004). Mobility support in ipv6. Technical
report.
42
Anais do WoCCES 2016
Mishra, A., Shin, M., and Arbaugh, W. (2003). An empirical analysis of the ieee
802.11 mac layer handoff process. ACM SIGCOMM Computer Communication
Review, 33(2):93–102.
Nankani, A. (2005). Horizontal Handoffs within WLANs. PhD thesis, Master Thesis,
Department of Microelectronics and Information Technology, Royal Institute of
Technology (KTH) Sweden ftp://ftp. it. kth. se/Reports/DEGREE-PROJECTREPORTS/28 August.
Vatn, J.-O. (2003). An experimental study of ieee 802.11 b handover performance
and its effect on voice traffic. Technical report, Citeseer.
43
Anais do WoCCES 2016
WoCCES 2016
Sessão Técnica 2
44
Anais do WoCCES 2016
45
Anais do WoCCES 2016
Análise de Metodologias de Implementação e Desempenho
em FPGA dos Algoritmos Criptográficos Leves Simon e
Speck
Claudio Roberto Costa1, Fábio Dacêncio Pereira2, Edward David Moreno3,
Fernanda Mayumi Ohnuma Tachibana4
Centro Universitário Eurípides de Marília (UNIVEM) - Computing and Information
Systems Research Lab (COMPSI) - Marília-SP, Brasil1,2,4, Universidade Federal de
Sergipe (UFS) - Departamento de Computação (DCOMP) - Aracaju-SE, Brasil3
[email protected], [email protected],
[email protected], [email protected]
Abstract. This work consists of research, implementation and comparison of
two algorithms of lightweight block ciphers Simon and Speck regarding the area
and performance when projected on FPGA. Were adopted different
architectures for these algorithms, in a first implementation is considered the
smallest area, the second has a higher frequency and the third has a lower
frequency. At the end is generated a relation throughput/area to assess the best
cost benefit among architectures.
Resumo. Este trabalho consiste na pesquisa, implementação e a comparação
de dois algoritmos de criptografia de cifras de blocos leves Simon e Speck em
relação a área e desempenho quando projetados em FPGA. Foram adotadas
diferentes arquiteturas para estes algoritmos, sendo que em uma primeira
implementação é considerada a menor área, segunda possui maior frequência
e a terceira possui menor frequência. Ao final é gerada uma relação vazão/área
para avaliar o melhor custo benefício entre as arquiteturas.
1. Introdução
A quantidade de informações que estão em transmissão ou armazenadas em sistemas
computacionais é significantemente crescente. Técnicas de segurança como a
criptografia, assegura alguns serviços de proteção sobre essas informações, como:
confidencialidade, integridade e autenticidade. [Menezes, Oorschot and Scott 1996]
No entanto existem vários algoritmos de criptografia, com graus de complexidade
diferente e exigências distintas relacionado ao esforço computacional. Sendo assim, como
adotar o método mais adequado para proteger as informações?
Para isso é usual separar as informações de dados, onde as informações são
definidas como objetos, contendo valor ou significado para que sejam protegidas, assim,
os demais objetos não necessitam de um grau de proteção por meio da criptografia.
Atualmente as informações são classificadas conforme os critérios de cada
organização ou pessoa. O tipo de serviço de proteção mais utilizado para a segurança
desses dados é a confidencialidade, resultando em um esquema de classificação por níveis
críticos de proteção sendo elas: informação confidencial, restrita, uso interno e pública.
[ISSO/IEC 27001 2005]
46
Anais do WoCCES 2016
No esquema de classificação acima, apenas uma parte do conteúdo digital são
classificados como informações e são protegidas por algoritmos de criptografia. Contudo,
basta que no processo de identificação dos dados e informações ocorram erros, equívocos
ou descuido para que estas sejam categorizadas erroneamente e consequentemente não
recebam a proteção adequada por meio da criptografia.
Ao longo dos anos surgiram vários algoritmos criptográficos de cifras de blocos
leves para atender a necessidade de proteção dessa grande massa de dados em transmissão
ou armazenados em sistemas computacionais sem degradar o desempenho
computacional, tais como: Simon [Beaulieu et al. 2013], Speck [Beaulieu et al. 2013],
Tea [Wheeler and Needham 1995], Twine [Sukaki et al. 2011], LBlock [Wu and Zhang
2011], LED [Guo, Peyrin, Poschmann and Robshaw 2011], entre outros.
Neste artigo apresentamos dois algoritmos de cifras de blocos leves, Simon e
Speck [Beaulieu et al. 2013], ambos se adéquam a uma grande variedade de aplicações
como: Internet of Things – IoT (Internet das coisas), computação pervasiva e/ou ubíqua,
sistemas embarcados ou em cenários onde o hardware disponível é limitado em relação a
capacidade de processamento, memória e consumo de energia.
Os algoritmos Simon e Speck são explorados neste trabalho abordando diferentes
metodologias de implementação em circuitos programáveis FPGA com o objetivo de
analisar aspectos que circundam a relação entre desempenho e área.
2. Contextualização (Lightweight Block Ciphers)
No ano 1977, o NBS (National Bureau of Standards) estabeleceu o primeiro algoritmo
criptográfico padrão com base em cifras simétricas de blocos, o Data Encryption
Standard – DES. Esse algoritmo possui características de cifra em bloco, baseados na
função de Feistel e em redes de substituição-permutação, atualmente base de algoritmos
criptográficos leves.
Figura 1. Classificação por estrutura dos algoritmos considerados como cifras
leves
47
Anais do WoCCES 2016
A cifra de bloco é uma função que mapeia blocos de n-bits de texto não cifrado para
blocos de n-bits de texto cifrado, sendo n o comprimento do bloco. A função é
parametrizada por k-bits da chave K contendo o mesmo tamanho do bloco, assim evitando
a expansão dos dados. [Handbook of Applied Cryptography, 2001]
As cifras de blocos leves operam em blocos de tamanhos fixos, onde a variação
depende do algoritmo. Geralmente de tamanho 64 e 128 bits, elas podem ser classificadas
como: “Redes de Substituição-Permutação” e “Redes de Feistel”, o segundo é utilizado
nos algoritmos Simon e Speck, como pode ser observado na figura 1.
Com pode ser observado na figura 1, recentemente, novos algoritmos de cifra
leves foram criados, como é o caso do Simon e Speck, e também outros como: Simeck,
RoadRunnner, Rectangle, Pride, Chaskey. Isso realça a demanda deste tipo de proteção
no cenário atual dos sistemas computacionais.
2.1. Cifras Feistel (base Simon e Speck)
A maioria dos algoritmos de cifras de blocos possuem uma estrutura descrita em 1973
por Horst Feistel, desenvolvedor de cifras da IBM [Feistel 1973]. Os passos do bloco de
Feistel é descrito abaixo:

As entradas dos algoritmos são divididas em duas partes iguais Left e Right;

Para gerar o texto cifrado, as duas partes sofrem processamento de n iterações;

Cada iteração recebe Left-1 e Right-1, elas são derivadas da iteração anterior,
além disso, uma sub-chave Ki é derivada da chave inicial K;

Através de um algoritmo gerador de chaves, sub-chaves distintas são geradas;

Todas as iterações têm a mesma estrutura e são chamadas de round (rodadas);

Para cada round, aplica-se uma função denominada round function, esta realiza
operações de XOR bit a bit, como demonstra a figura 2:
3. Trabalhos Correlatos
Esta seção tem como objetivo abordar artigos encontrados no estado da arte, os quais
tratam sobre implementações dos algoritmos de cifra leve Simon e Speck, ambos com
ênfase na plataforma FPGA. São apresentados três trabalhos, onde todos eles apresentam
resultados de suas implementações, onde são comparados o desempenho dos algoritmos
por meio do impacto de área e vazão de cada um.
3.1 “Simon and Speck Block Ciphers for the Internet of Things”
No trabalho de BEAULIEU et al. (2015) foram realizadas implementações dos algoritmos
Simon e Speck em plataformas como circuitos integrados de aplicação especifica
(ASICs), FPGAs e microcontroladores, com a finalidade de mensurar o desempenho
destes em diversos cenários para aplicação deste tipo de segurança direcionado à Internet
das coisas (IoT).
A implementação feita em ASICs do algoritmo Simon utiliza menor área quando
comparadas com outras cifras de bloco leve contendo o mesmo tamanho do bloco e chave.
A lógica necessária para calcular um bit por rodada é pequena, quando a escala da
48
Anais do WoCCES 2016
implementação é igual ou superior a dois bits, podem ser atualizadas em apenas um ciclo
de relógio com impacto mínimo sobre a área.
Por conseguinte, a implementação do algoritmo Speck nesta mesma plataforma
não traz tanta diferença relacionado ao desempenho de Simon. Uma das principais
diferenças entre estes é que Speck substitui as portas lógicas AND por somador completo
e adiciona multiplexadores para atualização dos estados.
Segundo BEAULIEU et al. O artigo coloca em destaque os resultados obtidos nas
implementações através de simulações com linguagem VHDL, relacionando-os a outros
algoritmos encontrados no estado da arte. Com a velocidade do relógio à 100 kHz, foram
comparados com outros algoritmos que correspondem com o mesmo tamanho de bloco,
tamanho de chave, velocidade e testados em plataformas ASICs, os quais podem ser
encontrados no estado da arte no cenário de cifras de bloco leve.
Nas implementações seguintes, realizadas nas plataformas FPGAs na linguagem
VHDL e microcontroladores na linguagem Assembly e C, foram comparadas novamente
com outros algoritmos criptográficos contidos no estado da arte, onde ao observar os
resultados deixa evidente sua eficiência em relação aos outros. Apesar dos algoritmos
serem implementados em diversas plataformas, tanto em hardware quanto em software,
Simon e Speck não apresentaram dificuldades em adaptação, diferentemente, como por
exemplo, o algoritmo de cifra leve PRESENT.
Entre as implementações realizadas em três plataformas diferentes no trabalho de
BEAULIEU et al., destacamos as implementações em FPGA relacionadas na tabela 1
com o intuito de parametrizar os resultados com o nosso trabalho.
Tabela 1.Comparações de performance entre algoritmos de diferentes autores em FPGA
Tamanho
Álgoritmo
Área (Slice
LUTs)
Vazão (Mbits/s)
64/128
Simon
Simon
Speck
Speck
Simon
Simon
Simon (DPA)
Simon
Simon
Speck
Speck
Speck
24
138
34
153
28
36
87
197
375
36
232
401
9.6
512
7.0
416
5.7
3.6
3.0
567
867
5.0
455
920
128/128
Logo os autores, concluem que os algoritmos Simon e Speck possuem vantagens
não apenas comparado ao desempenho em plataformas diferentes, mas também, pela sua
flexibilidade. Possuindo versatilidade, além de sua simplicidade, faz com que esses dois
algoritmos sejam ideais para uso em redes heterogêneas, onde permitem ser otimizados
para uma aplicação especifica.
3.2. “Simple SIMON FPGA implementations of the Simon 64-128 block cipher”
No trabalho de WETZELS J. e BOKSLAG W. (2015) foram realizadas implementações
do algoritmo de criptografia de cifra leve Simon 64/128 na plataforma Xilinx Spartan-6
FPGA series com diferentes tipos de arquitetura em circuitos combinacionais, são elas:
49
Anais do WoCCES 2016

Round Function: A arquitetura apresentada é um circuito combinacional que
expressa a rodada de função como um componente independente;

Arquitetura iterativa: Trata-se de uma arquitetura iterativa, onde o circuito
combinacional da rodada de função projetada anteriormente, é acoplada a um
único registrador e multiplexador, conectados a um sinal no qual alimenta a chave
da rodada. Devido a interligação desses componentes, a execução da encriptação
completa sobre o texto plano torna-se possível, pois todas as rodadas necessárias
são calculadas de forma iterativa;

Arquitetura de desdobramento de laço: É conhecido como uma técnica onde há a
redução de instruções dentro dos laços para otimizar a velocidade de execução do
programa. Este tipo de arquitetura dá a liberdade para escolher entre ser parcial
ou completa, onde deve-se considerar a vazão e a área utilizada. Afim de alcançar
o rendimento máximo que o FPGA pode oferecer, os autores optaram por utilizar
a arquitetura completa;

Arquitetura Inner-round pipelining: Possui como base a arquitetura iterativa, a sua
rodada de função é dividida em subfunções independentes, onde registradores são
utilizados para armazenar resultados parciais entre essas subfunções;

Arquitetura Outer-round pipelining: Possui como base a arquitetura de
desdobramento de laço, onde o designer determina a quantidade de rodadas que
vão utilizar a técnica de desdobramento de laço sem ultrapassar o limite de área e
circuitos combinacionais que a arquitetura possui;

Arquitetura Mixed Inner-Outer-round pipelining: Possui como base as
arquiteturas Outer-round e Inner-round pipelining, onde o designer pode escolher
entre usar parcialmente ou totalmente a arquitetura outer-round pipelining,
substituindo a rodada da função por outra otimizada encontrada na arquitetura
inner-round pipelining.
O artigo expõe a tabela 2, resultados das implementações obtidas através de
simulações no FPGA, com linguagem VHDL, relacionando área e vazão consumida por
cada algoritmo.
Tabela 2. Comparações de área e vazão entre algoritmos em FPGA
Arquitetura
Vazão
(Mbits/s)
Round Function
Iterativa
Iterativa
Iterativa
Desdobramento de laço (K = 44)
Outer-round pipelining (K = 44)
Mixed Inner-Outer-round pipelining
(Ki = 2, K0 = 44)
24
148
105
113
2952
1149
2161
Área
(Slice
LUTs)
0
201
202
199
0
2752
5568
Área/Vazão
Slice
LUTs/(Mbits/s)
32
353
329
328
8096
4096
6459
Em conclusão os autores acentuam que devido ao prazo de projeto, não foi
possível a validação correta das arquiteturas Inner-round pipelining, Mixed Pipelining,
assim considera-se provisoriamente o resultado exposto no artigo.
50
Anais do WoCCES 2016
Nenhuma arquitetura proposta foi otimizada relacionado ao desempenho e
confiabilidade como foi realizado em trabalhos correlatos citados no artigo, logo, foi
proposto para trabalhos futuros pelos autores.
3.3. “SpecTre: A Tiny Side-Channel Resistant Speck Core for FPGAs”
No trabalho de CHEN et al.(2015) Foram realizadas duas implementações do algoritmo
de criptografia de cifra leve Speck 128/128 na plataforma Xilinx Spartan-3 FPGA series,
utilizando a linguagem de descrição de hardware Verilog para aplicação deste tipo de
criptografia no cenário de Internet das coisas (IoT).
As duas implementações baseiam-se em trabalhos de criptografias onde os
registradores são implementados na forma de serialização de bits na transmissão de dados
para outros componentes que compõe arquitetura, sendo apenas a chave disposta
paralelamente durante a execução das rodadas.
Porém, a diferença entre os dois algoritmos é que a segunda implementação, afim
de aumentar sua confiabilidade, acrescentou a criptografia limiar. Esse criptosistema
aplica os conceitos de partilha XOR-secreto baseado em computação multipartidária
comprovadamente seguro contra-ataques de canal lateral. Foram feitos análise de
consumo de energia e a resistência à ataques de canal lateral.
Os resultados das implementações na plataforma FPGA são relacionados na tabela
3, associados a resultados de desempenho de outros algoritmos encontrados no estado da
arte, onde a implementação dos autores encontra-se em destaque.
Tabela 3. Comparações de área e vazão entre algoritmos encontrados no estado da arte
em FPGA
Cifra
Área (Slice LUTs)
Vazão
(Mbits/s)
Plataforma
Criptografia
limiar;
TI-Speck128/128
TI-Simon128/128
99
87
9.68
3.0
Xc3s50
Xc3s50
Cifras de bloco
desprotegido;
Speck128/128
Simon128/128
43
36
10.05
3.6
Xc3s50
Xc3s50
4. Arquiteturas Propostas Para Simon e Speck
Nesta seção é discutido os tipos de arquiteturas e suas especificações utilizadas e o que é
esperado nas criptografias leves Simon e Speck. As arquiteturas foram projetadas com
Field Programmable Gate Array (FPGA), particularmente na família Xilinx Artix7 XC7A100T, Xilinx ISE 14.2, utilizando a linguagem de descrição VHDL. As
arquiteturas implementadas são categorizadas em: Sync Single Rounds, Sync Full Rounds
e Async Full Rounds.

Sync Single Rounds (SSR): Na arquitetura composta por sinais, a utilização de
laços repetitivos não é possível, pois os valores dos sinais só são atualizados ao
término de cada iteração (clock), resultando no aumento significativo de iterações,
porém tem-se um ganho em relação à área utilizada dentro do circuito e a
frequência de operação;
51
Anais do WoCCES 2016

Sync Full Rounds (SFR): Na arquitetura composta por variáveis, os valores dos
cálculos necessários para executar o algoritmo são atualizados instantaneamente,
isso possibilita a utilização de laços repetitivos (for), fazendo com que apenas uma
única iteração do circuito (clock) seja realizado na geração das chaves e nas
operações de cifrar e decifrar. No entanto, esse tipo de metodologia consome uma
maior área do circuito digital;

Async Full Rounds (AFR): A arquitetura é composta de circuitos combinacionais
onde ocorre a associação de portas lógicas e suas operações podem ser
especificadas por meio de um conjunto de equações Booleanas, esta é utilizada
para realizar as operações do round function e da geração das chaves. Esta
arquitetura também contém uma memória onde são armazenadas as chaves
geradas e os resultados das operações realizadas por cada round realimentando os
rounds seguintes. O tempo de iteração de cara round está associado diretamente
ao tempo de atraso de propagação dos valores entre as portas lógicas, das entradas
até a saída.
Para a avaliação da vazão de cada arquitetura em ambos os algoritmos, é realizado
o cálculo a partir da divisão do tempo base (1 segundo), pelo período de execução que é
o tempo de propagação da lógica do circuito implementado, multiplicado pela quantidade
iterações necessárias para cada implementação e por fim multiplicado pelo tamanho da
palavra (32 bits). Esse cálculo é representado na equação 1.
𝑉𝑎𝑧Ã𝑜 =
1
𝑃𝑒𝑟Í𝑜𝑑𝑜∗𝑄𝑡𝑑𝑒 𝐼𝑡𝑒𝑟𝑎ÇÕ𝑒𝑠
∗ 32 (1)
𝑉𝐴 =
Á𝑟𝑒𝑎
𝑣𝑎𝑧Ã𝑜
(2)
Obtido a vazão, uma relação entre vazão e área (equação 2) é realizada para
comparar o desempenho entre os algoritmos. A variável área é situada pela a quantidade
de SliceLUTs consumida por cada implementação.
Nas seções 5 e 6 são apresentados e especificados os algoritmos Simon e Speck
implementando utilizando as arquiteturas propostas, assim como a análise de desempenho
de área e vazão.
5. Algoritmo SIMON
O bloco de cifra do algoritmo Simon é composto por uma palavra de n bits (portanto um
bloco 2n-bits), este é denotado como Simon2n, onde n pode ser 16, 24, 32, 48 ou 64.
Simon2n possui m palavras chaves (mn-bit) que se refere a como Simon2n/mn. Por
exemplo, Simon64/128 refere-se à versão de Simon em blocos de texto simples de 64
bits, usando uma chave de 128 bits. [Beaulieu et al. 2013]
Esse algoritmo utiliza as operações XOR (⨁) bit a bit, AND (&) bit a bit e
descolamento circular de bits (Sn) nas suas rodadas de encriptação (3) e decriptação (4),
onde l e r são as duas partes que compõem o texto plano (esquerda e direita
respectivamente) e k é a chave da rodada.
A função de encriptação pode ser expressada como:
R (l, r, k) = ((S1 (l) & S8 (l)) ⊕ S2 (l) ⊕ r ⊕ k , l) (3)
E a função de decriptação:
R-1 (l, r, k) = (r, (S1 (r) & S8 (r)) ⊕ S2 (r) ⊕ l ⊕ k) (4)
52
Anais do WoCCES 2016
Para as operações de cifração e decifração são necessárias T (T depende do
tamanho de n) rodadas, e consequentemente a geração das chaves para cada rodada a
partir da expansão da chave inicial. Exceto a chave da rodada, todas as rodadas de Simon
são exatamente as mesmas, e as operações são perfeitamente simétricas em relação ao
mapa de deslocamento circular em n-bits palavras.
Portanto, neste artigo é apresentado a implementação deste algoritmo em VHDL
de Simon32/64, com T = 32 (quantidade de rodadas), em três vertentes, utilizando as
arquiteturas SFR, SSR e AFR apresentadas na seção 4, sucedendo a comparação destes
sobre a área e desempenho.
Na tabela 5 tem-se informações sobre desempenho, área e a quantidade de
iteração das arquiteturas descritas em VHDL e implementadas em FPGA, destacando-se
frequência máxima do circuito e seu consumo de área medido em SliceLUTs.
Tabela 5. Estatística: Área e Desempenho de Simon
Desempenho
Período
Frequência
(ns)
(MHz)
41,499
24,096
2,719
367,796
26,087
38,333
SIMON
SFR
SSR
AFR
Área
Slice LUTs
N° de Iterações
Cifração
1504
973
2465
1
65
1
Como pode ser observado na tabela 6, a área consumida pela arquitetura SFR é
35,30% maior que SSR. Já na arquitetura SSR, a frequência é 15 vezes maior que SFR.
A arquitetura AFR consome uma área 39% maior que SFR e 60% maior que SSR; sua
frequência é 1,5 menor que a arquitetura SFR e 9 vezes maior que SSR. Para gerar uma
comparação entre as arquiteturas, é proposta a análise da relação área/vazão, apresentada
na tabela 6.
Tabela 6. Relação Área / Vazão
SIMON
SFR
SSR
AFR
Vazão
Área/Vazão
Mbits/s
771
175
1.226
Slice LUTs/(Mbits/s)
1,95
5,56
2,01
O resultado exibido na tabela 6, mostra que a relação da arquitetura SFR possui
área/vazão 275% melhor que SSR. A arquitetura AFR possui uma relação área/vazão
267% melhor que SSR e 3% inferior a SFR.
6. Algoritmo SPECK
O algoritmo de Speck foi otimizado para desempenho em implementações em software.
Representado usualmente pelo tamanho do bloco (2n) e o tamanho da chave (mn), onde
n é o tamanho da palavra. A notação para as diferentes variantes Speck é análoga a
utilizada por Simon. Por exemplo, quando Speck24/48 refere-se à versão de Speck com
blocos de texto simples de tamanho 48 bits e utilizando uma chave de 48 bits. [Beaulieu
et al. 2013]
Esse algoritmo utiliza em suas operações de criptografia (6) e geração de chaves
as operações de XOR (+) bit a bit, adição modular de 2n (+) e descolamento circular de
53
Anais do WoCCES 2016
bits (Sn) durante suas rodadas. Na sua operação de decriptografia (7) ao invés de adição
modular é utilizado a subtração modular. Cada rodada de Speck depende do mapa (5):
𝑅𝑘 ∶ 𝐺𝐹(2)𝑛 × 𝐺𝐹(2)𝑛 → 𝐺𝐹(2)𝑛 × 𝐺𝐹(2)𝑛 (5)
Definido por:
𝑅𝑘 (𝑥, 𝑦) = ((𝑆 −𝛼 𝑥 + 𝑦) ⨁ 𝑘, 𝑆𝛽 𝑦 ⨁ (𝑆 −𝛼 𝑥 + 𝑦) ⨁ 𝑘) (6)
A função inversa para a decriptografia é:
𝑅𝑘−1 (𝑥, 𝑦) = (𝑆 𝛼 ((𝑥⨁𝑘) − 𝑆 −𝛽 (𝑥⨁𝑦) ), 𝑆 −𝛽 (𝑥⨁𝑦) (7)
Para os blocos de tamanho 32, os valores de rotação são 𝛼=7 e𝛽=2, para os outros
tamanhos de blocos 𝛼=8 e 𝛽= 3.
Neste artigo é apresentado a implementação em VHDL de Speck32/64, com T =
22 (quantidade de rodadas), utilizando o mesmo cenário em que ocorreu a implementação
do algoritmo Simon, foram coletados os dados referentes ao número de iterações, a
quantidade de SliceLUTs, o período mínimo e a frequência máxima, para gerar uma
comparação entre as implementações, é proposta a análise da relação área/vazão. Estas
informações foram relacionadas na tabela 8.
Tabela 8. Análise Área e Desempenho de Speck
SPECK
SFR
SSR
AFR
Desempenho
Período
Frequência
(ns)
(MHz)
75,746
13,202
4,012
249,258
36,522
27,38
Área
SliceLUTs
N° de Iterações
Cifração
2238
752
485
1
45
1
Como pode ser observado na tabela 8, a área consumida pela arquitetura SFR é
297% maior que SSR e 461% maior que AFR. A frequência da arquitetura SSR é 18 vezes
maior que SFR e 9 vezes maior que AFR.
A tabela 9 demostra a relação entre vazão e área, para comparar o desempenho
dos algoritmos. Para a área é utilizado a quantidade de SliceLUTs.
Tabela 9.Relação Área/ Vazão
SPECK
Vazão
Mbits/s
Área/Vazão
Slice LUTs/(Mbits/s)
SFR
422
5,3
SSR
177
4,24
AFR
876
0,55
O resultado exibido na tabela 9, expõe que a arquitetura SFR contém uma relação
de área/vazão 25% inferior quando comparado com a arquitetura SSR. A arquitetura AFR
é 963% e 770% superior a SFR e SSR respectivamente.
54
Anais do WoCCES 2016
7. Conclusão
Conclui-se que ambos os algoritmos utilizando a arquitetura AFR, possuem uma relação
área/vazão melhor quando comparados com as arquiteturas SFR e SSR, com exceção de
Simon (SFR).
Ainda é possível comparar os dados estatísticos dos algoritmos Simon e Speck. A
implementação do algoritmo Simon utilizando SFR, tem uma relação de área/vazão de
1,95, o qual é 271,79% melhor do que Speck com 5,3. A arquitetura de Speck (SSR), tem
relação de área/vazão de 4,24, o qual é 26% melhor que a versão Simon com 5,37. A
arquitetura de Speck com AFR tem uma relação de área/vazão de 0,55, o qual é 365%
melhor do que Simon com 2,01, como pode ser observado na tabela 10.
Tabela 10.
Algorit.
Simon(SFR)
Freq.
24,096
Análise Simon e Speck
LUTs
1504
Vazão
771
Área/Vazão
1,95
Simon(SSR)
367,796
973
175
5,56
Simon(AFR)
38,333
2465
1.226
2,01
Speck(SFR)
Speck(SSR)
Speck(AFR)
13,202
249,258
27,38
2238
752
485
422
177
876
5,3
4,24
0,55
No entanto, dependendo do cenário onde será realizada a aplicação da solução,
pode-se escolher entre a melhor implementação conforme os requisitos relacionadas ao
desempenho ou área. Por ter uma vazão relativamente alta é possível cifrar dados e
informações em sistemas computacionais, assim mesmo que alguma informação seja
classificada como dados, ela estará protegida por criptografia. E como próximos passos
será gerado consumo de energia dessas arquiteturas na plataforma FPGA.
Referências
Beaulieu, R., Shors, D., Smith, J., Treatman-Clark, S., Weeks, B., and Wingers, L. The
Simon and Speck Families of Lightweight Block Ciphers. Cryptology ePrint Archive,
Report 2013/404 (2013). https://eprint.iacr.org.
Handbook of Applied Cryptography, 2001 www.cacr.math.uwaterloo.ca/hac/
H. Feistel, "Cryptography and Computer Privacy," Scientific American, v. 228, n. 5, May
73, pp. 15-23.
Wheeler, D., Needham, R. TEA, a Tiny Encryption Algorithm. In Preneel, B. (ed.) FSE
1994, LNCS vol. 1008, pp. 363{366, Springer, Heidelberg (1995).
Suzaki, T., Minematsu, K., Morioka, S., Kobayashi, E. TWINE: A Lightweight,Versatile
Block Cipher.
Wu, W., Zhang, L. LBlock: A Lightweight Block Cipher. In ACNS 2011, LectureNotes
in Compute Science, No. 6715, 327-344. Springer-Verlag (2011).
Guo, J., Peyrin, T., Poschmann, A., Robshaw, M. The LED Block Cipher. In Preneel, B.
and Takagi, T. (eds.) CHES 2011, LNCS vol. 6917, pp. 326{341, Springer, Heidelberg
(2011).
55
Anais do WoCCES 2016
Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone, Handbook of Applied
Cryptography, CRC Press, ISBN: 0-8493-8523-7, 1996.
ISO/IEC 27001, Information Security Management System (ISMS), 2005.
Beaulieu, R., Shors, D., Smith, J., Treatman-Clark, S., Weeks, B., and Wingers, L. Simon
and Speck: Block Ciphers for the Internet of Things. NIST Lightweight Cryptography
Workshop, 20-21 July 2015.
Wetzels J., Wouter B. Simple SIMON FPGA implementations of the Simon 64/128 block
cipher. Cryptographic Engineering – Kerckhoffs Institute, 2015.
Chen C., Inci M.S., Taha M., Eisenbarth T. SpecTre A Tiny Side-Channel Resistant.
Cryptology ePrint Archive, Report 2015/691 (2015). https://eprint.iacr.org/2015/691.
56
Anais do WoCCES 2016
Sistema Inteligente baseado em IoT para Detecção e
Diagnóstico de Falha em Equipamentos de uso Doméstico
Jorge Seabra, Mario Costa Jr, Mateus Lucena
Universidade Federal do Amazonas (UFAM)
Manaus – AM – Brasil
{[email protected], marioacjr}@gmail.com, [email protected]
Resumo. O desenvolvimento dos aparelhos domésticos utilizados no dia a dia
está direcionado para a terceira onda da internet, a internet das coisas (IoT).
No entanto, o mal desempenho no funcionamento destes aparelhos, é
identificado somente pelos próprios usuários. Neste trabalho será descrito um
sistema inteligente, de baixo custo, que monitora em tempo real o
comportamento das grandezas elétricas de dispositivos de uso doméstico que
serão analisadas com o objetivo de informar ao usuário eventuais falhas no
seu funcionamento. O sistema é capaz de identificar tanto o mal
funcionamento instantâneo como antecipar a necessidade de manutenção
preventiva. A interface com o usuário se dará por meio do desktop, tablets,
smartphones, TV Digital.
1. Introdução
A supervisão das grandezas elétricas dos equipamentos domésticos ocupa um
papel chave em manter os níveis de desempenho, confiabilidade e segurança desejados.
Porém, esta supervisão é praticamente realizada exclusivamente por técnicos
especialistas, indispensáveis hoje em dia nos diagnósticos das falhas [1]. Inserido neste
contexto, propõe-se um sistema inteligente que irá monitorar de forma contínua as
condições ideais de funcionamento de dispositivos domésticos evitando desperdícios
com energia elétrica e prevendo manutenções, entre outros serviços.
Os custos reduzidos para utilização das placas micro processadas, sensores e
atuadores, viabilizam as medições em tempo real das grandezas elétricas, mecânicas e
físicas (sistema dinâmico) [2]. Adicionalmente, propostas de normatização da internet
das coisas (IoT) viabilizaram a sua conexão, via a Internet, em sistemas informatizados
que possibilitam o desenvolvimento de métodos inteligentes capazes de tratar estas
novas informações. O processo da detecção de falha envolve a monitoração do estado
atual do sistema por meio das leituras feitas em sensores instalados nos dispositivos e
que serão comparados com um padrão de operação. As diferenças identificadas entre
condições padrões e condições reais será denominado desvio ou resíduo. O tratamento
deste resultado será referência para a condição do bom funcionamento do aparelho
doméstico no sistema inteligente.
De fato, através da IoT, será possível conectar-se ao sistema inteligente de
qualquer lugar do mundo. Assim, pode-se monitorar as grandezas elétricas dos
aparelhos em tempo real e eventualmente identificar distúrbios que indiquem o mal
funcionamento dos mesmos. O sistema irá avaliar o nível de relevância das falhas
através de um classificador, e após esta seleção, irá armazenar em um banco de dados, o
histórico de todas as falhas dos eventos referente ao aparelho monitorado e os dados
estarão disponíveis no servidor local ou em um servidor em nuvem.
57
Anais do WoCCES 2016
2. Proposta Conceitual
O monitoramento em tempo real dos indicadores de desempenho dos aparelhos
domésticos conectados à internet possibilitará inúmeras oportunidades na redução dos
custos com manutenção efetiva e desperdício de energia elétrica em empresas e
residências. Sabe-se que, quando um sistema funciona fora de suas condições ideais, ou
seja, com algum tipo de defeito ou até mesmo com alguma falha pequena, imperceptível
para o ser humano, este sistema tende a consumir mais energia e consequentemente
aumentar o custo de sua operação. Considerando todos esses fatores, sistemas de
detecção e diagnóstico de falhas oferecem facilidades para o gerenciamento de
aparelhos domésticos.
A detecção de falhas é realizada por meio do registro de informações, do
reconhecimento e da indicação de anormalidades no comportamento do sistema para um
determinado tempo de análise[3]. Essa operação pode ser feita por meio de diversas
formas, desde o simples acompanhamento de alguma variável do sistema, até a análise
da diferença (chamada de resíduo) entre o valor medido de uma variável e o seu
respectivo valor estimado. O diagnóstico de falhas pode determinar o tipo, a localização,
o tamanho (magnitude), a causa, o instante e o comportamento da variável com o
tempo[4]. A etapa de correção das falhas consiste da tomada de ações apropriadas de
forma automática ou não, para restabelecer a capacidade de desempenhar a função
esperada.
A necessidade de lidar com um grande número de dados de falha ou com a ausência
de dados bem definidos, aliada ao aumento da complexidade dos equipamentos e das
exigências de segurança pessoal e ambiental, tem levado à utilização de técnicas cada
vez mais sofisticadas[5]. A técnica a ser adotada é a Dissociação Base para a Detecção e
Diagnóstico de Falha – (DDF), que simplifica a detecção das falhas para o tratamento
das variáveis envolvidas simultaneamente.
A figura 1, apresenta o fluxo entre os dados coletados no equipamento, a placa que
recebe os dados dos sensores, o tratamento dos dados no SSI e a conexão com os
usuários.
Figura 1: Fluxo do Sistema Inteligente - SSI
58
Anais do WoCCES 2016
Equipamento Doméstico – Trata-se do objeto a ser monitorado, e a princípio pode ser
qualquer dispositivo doméstico. Ênfase será dada em dispositivos que não tenham
conexão nativa à Internet por exemplo ar condicionado, geladeira, e outros aparelhos
domésticos tradicionais.
Coletor de Dados de Tempo Real (CDTR) – Este dispositivo micro controlado é
responsável por coletar os dados referentes ao funcionamento do dispositivo doméstico
em tempo real. Estas grandezas elétricas são obtidas através de sensores não invasivos
apropriados conectados ao DCRT. Os dados obtidos irão compor a base de informações
necessárias para a identificação do estado atual do dispositivo doméstico e estarão
disponibilizados no servidor do Sistema Inteligente (SSI).
Servidor Sistema Inteligente – O processo da detecção e diagnóstico de falha (DDF)
envolve a monitoração do estado atual do sistema e a comparação deste estado com uma
referência de estado padrão de operação. Os parâmetros de operação de cada fabricante
são distintos e em geral são disponibilizados em bancos de dados corporativos (Dados
fabricante). De fato, estes dados particulares para cada fabricante resultam em um
tratamento diferenciado para as variáveis de referência para o diagnóstico das falhas dos
dispositivos. Estas regras de operação são relevantes para que o sistema inteligente
possa aprender o comportamento das variáveis envolvidas. Após o decorrer do tempo
necessário para a identificação do estado de operação do equipamento em regime
permanente, faz-se necessário a observação do comportamento das grandezas elétricas
monitoradas com medidas mais precisas em função do regime permanente. Para os
casos das ocorrências de falhas diagnosticadas e que representem riscos na operação, o
sistema será desligado automaticamente. A Figura 2 ilustra, por exemplo, uma variável
que apresenta falha quando os dados medidos em qualquer condição de operação
excedem os limites pré-definidos.
Figura 2: Variável monitorada - Detecção da falha
59
Anais do WoCCES 2016
Para cada tipo de falha, o sistema inteligente armazena os resíduos no banco de
dados (Histórico falha). A falha é diagnosticada pelo uso do classificador e do tomador
de decisão do DDF que identificará o grau da relevância da falha comparando com
informações armazenadas no banco de dados do fabricante e banco de dados com o
histórico das falhas. A figura 3 mostra o comportamento da grandeza monitorada nos
diferentes estados, no início da operação (Transiente), em operação (Regime
Permanente) e fora da operação (Desligado).
Figura 3: Comportamento da grandeza monitorada
monitoramento da grandeza Figura.4, ilustra em tempo real a
operação do equipamento com a visualização amigável das condições: falha /
normalidade.
O resultado do
Figura 4: Equipamento monitorado: Falha / normalidade
60
Anais do WoCCES 2016
Usuários - O usuário poderá inserir informações que possam alimentar a base de dados
existente, auxiliando a identificar novas probabilidades de falha em algum outro
momento com a permissão do administrador do SSI. Para os casos em que o sistema
não identifique a falha a partir da combinação dos resíduos existentes, a configuração da
nova combinação é inserida no banco de dados de falha, que alimenta o classificador e
tomador de decisão do DDF.
3. Estudo de Caso
Para o estudo de caso prático, foram instalados sensores em um aparelho de ar
condicionado compacto de uso doméstico em um ambiente com dimensões compatíveis
com sua capacidade figura.5. As grandezas elétricas, físicas e mecânicas monitoradas
foram: tensão elétrica, corrente de partida do compressor, corrente total do conjunto em
regime permanente, temperatura de saída do ar condicionado, temperatura interna do
ambiente, temperatura de retorno do ambiente, temperatura externa do ambiente, nível
de vibração do ar condicionado.
Figura.5: Sistema Inteligente instalado no ar condicionado
Os resultados preliminares conforme o Grafico.1, apresentaram índices de
confiabilidade bastante satisfatórios após realizarmos simulações com alterações
premeditadas com intuito de avaliar a performance do sistema inteligente de detecção e
diagnóstico de falhas para o aparelho de ar condicionado. Verificou-se que o sistema é
capaz de monitorar em tempo real as variáveis selecionadas e que realizou o tratamento
das falhas, conforme a especificação proposta ao sistema inteligente (SSI).
61
Anais do WoCCES 2016
Gráfico 1: Leituras dos sensores em tempo real
Figura. 6 Sensores não invasivos – coleta de dados
A figura.6, ilustra os componentes do SSI que executam leituras e a placa
utilizada para comunicação para os testes preliminaris.
62
Anais do WoCCES 2016
Figura 7: Visão geral do sistema SSI, plataforma de serviços e usuários
4. Conclusão
Uma vez conhecido o comportamento do equipamento monitorado, o sistema
inteligente (SSI) atua nos parâmetros mais rigorosos e precisos minimizando o erros nos
diagnósticos das falhas conforme foi verificado no estudo de caso.
O sistema inteligente irá agregar ao legado dos aparelhos de uso doméstico a
tecnologia da internet das coisas (IoT). O usuário desprovido do conhecimento técnico
poderá utilizar o sistema inteligente proposto para identificar falhas que hoje somente
os técnicos especialistas analisam. Com os recursos do sistema inteligente, as
ocorrências das falhas podem ser diretamente enviadas para o usuário ou para uma
empresa que irá executar o reparo do aparelho. Os casos em que a falha represente risco
eminente, o sistema poderá desabilitar o aparelho automaticamente evitando possíveis
danos tais como: riscos de incêndio, aumento do consumo de energia elétrica, entre
outros fatores não desejáveis.
63
Anais do WoCCES 2016
Referências
[1] D.J. Cook et al., "MavHome: An agent-based smart home", IEEE Int. Conf. on
Pervasive Computing and Communications (PerCom). 2013, Vol. 1, pp. 521-524.
[2] T. Niemirepo; M. Sihvonen; V. Jordan; J. Heinilä, “Service Platform for
Automated IoT Service Provisioning”, 9th Int. Conf. on Innovative Mobile and
Internet Services in Ubiquitous Computing (IMIS), 2015, pp. 325-329.
[3] J. Yun, I.Y. Ahn, N.M. Sung, and J. Kim, “A device software platform for
consumer electronics based on the internet of things.” IEEE Transactions on
Consumer Electronics, Vol. 61, Issue: 4, 2015, pp. 564-571.
[4] J. Castillo and T. Edgar, “Model Based Fault Detection and Diagnosis.” TWCCC –
Texas – Wisconsin – California Control Consortium, Texas, 2010, pp 1-10.
[5] H. Li and J.E. Braun, “A Methodology for Diagnosing Multiple-Simultaneous
Faults in Rooftop Air Conditioners”. Int. Refrigeration and Air Conditioning Conf.,
2004, pp. 1-11.
64
Anais do WoCCES 2016
WoCCES 2016
Sessão Técnica 3
65
Anais do WoCCES 2016
66
Anais do WoCCES 2016
Um algoritmo de navegação não linear 3D para veículos
aéreos não tripulados Guilherme V. Pelizer1, Natássya B. F. Silva1, Kalinka R. L. J. C. Branco1
1
Instituto de Ciências Matemáticas e de Computação – Universidade de São Paulo
(USP) Caixa Postal 668 – 13.560­970 – São Carlos – SP – Brasil
[email protected], {ays,kalinka}@icmc.usp.br
Abstract. Unmanned Aerial Vehicle automatic pilot allows them to work
autonomously by keeping the aircraft in predefined flight conditions and by
executing navigation tasks, like path following. A non­linear algorithm,
named Non­Linear Guidance Law (NLGL), uses a non­linear control law to
provide path following for 2D scenarios. However, is important to consider
the complete motion in the three dimension space for aircraft. Therefore, this
paper proposes a new non­linear guidance algorithm, based on NLGL, to
provide path following in the 3D scenario. The simulation results,
implemented with the aircraft kinematic motion, show that the new algorithm
performs properly when the parameters are correctly set. Resumo. O piloto automático dos Veículos Aéreos Não Tripulados (VANTs) é
o que permite que essas aeronaves funcionem de modo autônomo, mantendo­
as em condições de voo preestabelecidas e executando tarefas de navegação,
como o seguimento de trajetórias. Existe atualmente um algoritmo de
navegação não linear, chamado Non­Linear Guidance Law (NLGL), que
utiliza uma lei de controle não linear para o seguimento de trajetórias, porém
para cenários 2D. Mas no caso de aeronaves, é interessante considerar seu
movimento completo nas três dimensões espaciais. Logo, nesse artigo é
proposto um novo algoritmo de navegação não linear, baseado no NLGL,
para o seguimento de trajetórias no cenário 3D. Os resultados das
simulações, implementadas com o movimento cinemático de aeronaves,
demonstram o bom funcionamento desse algoritmo quando os parâmetros são
setados corretamente. 1. Introdução
Veículos Aéreos Não Tripulados (VANTs) são aeronaves que não possuem um piloto
humano a bordo e que são capazes de voar sendo pilotadas remotamente ou por meio de
um sistema autônomo [1]. VANTs podem ser usados em diversas aplicações, como
monitoramento ambiental, de estruturas e de plantações, mapeamento de vias, detecção
de incêndios, procura e resgate e rastreamento [Austin 2010], [Zhang e Kovacs 2012].
O funcionamento de um VANT é baseado em um conjunto de hardware e
software que permite que o voo e a missão sejam pré­programados antes da decolagem.
O sistema autônomo, também conhecido como piloto automático, é o que permite que
esses sistemas funcionem de modo autônomo. Esse sistema é responsável por manter as
67
Anais do WoCCES 2016
condições de voo e pela execução de tarefas de navegação, como o seguimento de
trajetórias [Valavanis 2007]. Esse conjunto de hardware e software pode ser dividido
em duas partes: o sistema de controle e o sistema de navegação.
O piloto automático recebe informações dos sensores da aeronave a respeito de
sua posição espacial, velocidade e atitude. Com esses dados, o sistema de navegação
gera instruções de qual estado deve ser seguido para que o veículo continue na trajetória
programada. Essas instruções são então usadas pelo sistema de controle que envia
comandos aos atuadores (superfícies de controle e aceleração do motor) para seguir a
trajetória [Elkaim et al. 2015].
Uma das principais tarefas do sistema de navegação é o seguimento de
trajetórias. Existem diversos algoritmos que tentam resolver essa tarefa para VANTs,
como o Carrot­Chasing [Sujit et al. 2014], o Pure Pursuit and LOS Guidance (PLOS)
[Kothari et al. 2010] e o Vector Field (VF) [Nelson et al. 2007]. Porém, esses
algoritmos não levam em consideração as não linearidades das equações de movimento
das aeronaves. Uma solução para esse problema é o algoritmo de navegação não linear, ou Non­
linear Guidance Law (NLGL) [Park et al. 2007], que apresenta uma lei não linear para o
seguimento de trajetórias para aeronaves no cenário 2D, utilizando também o conceito
de pontos virtuais. O trabalho de Sujit et al. [Sujit et al. 2014] apresenta uma comparação desse
algoritmo com outros algoritmos presentes na literatura para o cenário 2D para VANTs
e ressaltam a boa performance do NLGL. Porém, o grande diferencial de aeronaves não
tripuladas é a possibilidade de movimentar­se nas três dimensões espaciais, mas para
isso é necessário estender os algoritmos de seguimento de trajetórias para o cenário 3D.
O objetivo desse artigo é apresentar o desenvolvimento de um algoritmo de
navegação não linear, baseado no NLGL, que permite o seguimento de trajetórias no
cenário 3D. Para comprovar o funcionamento do novo algoritmo foram realizadas
simulações que consideram o modelo cinemático 3D de uma aeronave, variando­se os
parâmetros do algoritmo para também fornecer um entendimento a respeito destes.
Também são apresentados os resultados das simulações do NLGL para o cenário 2D
para efeito de comparação. O restante do artigo está organizado da seguinte forma: a Seção 2 descreve o
funcionamento do NLGL para o cenário 2D; enquanto que a Seção 3 apresenta o
desenvolvimento do novo algoritmo de navegação não linear para o cenário 3D; as
Seções 4 e 5, descrevem, respectivamente, os resultados das simulações dos algoritmos
para os cenários 2D e 3D; finalmente, a Seção 6 apresenta a conclusão. 2. Algoritmo de Navegação Não Linear 2D
O algoritmo Non­linear Guidance Law (NLGL) utiliza o conceito de pontos virtuais, que são pontos inseridos na trajetória para que a aeronave o siga. Com isso, a aeronave se aproxima da trajetória e, eventualmente, acaba seguindo­a corretamente. 68
Anais do WoCCES 2016
O ponto virtual p pv =( x pv , y pv ) é calculado de acordo com a intersecção entre a trajetória retilínea e um círculo de raio R . A lei de controle para a obtenção da taxa de variação do ângulo de heading, r d , é dada por (1) [Park et al. 2007].
2 v 2 sen( η)
(1)
R
sendo η o ângulo que direciona a aeronave até a trajetória e v a velocidade da aeronave. rd =
O algoritmo completo pode ser visto no Algoritmo 1, no qual W i e W i +1 são, respectivamente, os waypoints ultrapassado e próximo que definem a reta da trajetória,
p=( x , y ) a posição da aeronave naquele instante e ψ o ângulo de heading.
Algoritmo 1: Algoritmo NLGL
1. Inicializar: W i=( x i , y i ) , W i +1=(x i+1 , y i +1) , p=( x , y ) , ψ , R ,
v .
2. α=atan 2( y i+1− y i , x i+1−x i )
3. Determinar p pv =( x pv , y pv ) , que é a intersecção entre a circunferência de raio R e a reta entre os pontos W i e W i +1 .
4. β=atan 2( y pv − y , x pv −x)
5. η=ψ−β
2 v 2 sen( η)
6. r d =
R
3. Algoritmo de Navegação Não Linear 3D
O algoritmo de navegação não linear 3D foi criado com base em uma analogia com o
algoritmo NLGL apresentado na Seção 2. Essa analogia é realizada após a rotação
C (α) (2) no plano horizontal da trajetória, sendo α o ângulo de inclinação da reta
que define a trajetória [Breivik e Fossen 2005]. cos (α) −sen (α) 0
C (α)= sen(α) cos (α) 0
1
0
0
(
)
(2)
Logo, nesse novo algoritmo são calculados dois pontos virtuais, o
p pv , y =( x pv, y , y pv , y , 0) , calculado na intersecção entre a trajetória retilínea e um
círculo de raio R y definido no plano horizontal, e o ponto p pv , z=( x pv , z , 0, z pv , z) ,
calculado na intersecção entre a trajetória retilínea após a rotação e um círculo de raio
R z definido no plano vertical. Em seguida são aplicadas as leis de controle dadas por
(3) e (4) para se obter a taxa de variação do ângulo heading e a taxa de variação do
ângulo pitch.
2 v 2 sen( ηheading )
rd =
Ry
69
(3)
Anais do WoCCES 2016
2
2 v sen (ηpitch )
(4)
q d=
Rz
sendo ηheading o ângulo que direciona a aeronave até a trajetória no plano horizontal,
η pitch o ângulo que direciona a aeronave até a trajetória no plano vertical, e v a
velocidade da aeronave. O algoritmo completo é apresentado no Algoritmo 2, , no qual W i e W i +1 são,
respectivamente, os waypoints ultrapassado e próximo que definem a reta da trajetória e
p=( x , y , z) a posição da aeronave naquele instante.
Algoritmo 2: Algoritmo de navegação não linear 3D 1. Inicializar: W i=( x i , y i , zi ) , W i +1=(x i+1 , y i +1 , z i+1 ) , p=(x , y , z) , ψ ,
θ , Ry , Rz , v .
2.
α=atan 2( y i+1− y i , x i+1−x i )
3. Determinar p pv , y =( x pv , y , y pv , y , 0) , que é a intersecção entre a circunferência de raio R y e a reta entre os pontos ( x i , y i , 0 ) e
( x i+1 , y i+1 ,0 ) .
4.
W Ri =C (α )W i
5.
W i +1=C(α)W i+ 1
R
6. Determinar p pv , z =( x pv , z , 0, z pv , z) , que é a intersecção entre a circunferência
R
R
de raio R z e a reta entre os pontos ( x iR ,0, z Ri ) e ( x i+1
, 0, z i +1 ) .
7.
βheading=atan 2( y pv , y − y , x pv, y −x)
8.
β pitch=atan 2(z−z pv , z , x pv , z−x )
9.
ηheading=ψ−βheading
10. η pitch=θ−β pitch
2 v 2 sen( ηheading )
11. r d =
Ry
2 v 2 sen(ηpitch )
12. q d=
Rz
4. Resultados da simulação 2D
A comprovação do funcionamento do algoritmo NLGL apresentado na Seção 2 foi
realizada por meio de simulações no Matlab utilizando a modelagem cinemática 2D do
movimento de uma aeronave, representada por (5)­(7) [Sujit et al. 2014]. 70
Anais do WoCCES 2016
ẋ=v cos ( ψ)
(5)
ẏ=v sen( ψ)
(6)
r= ψ̇
(7)
onde a posição da aeronave é dada por p=( x , y ) , v é a intensidade da velocidade
considerada constante, r é a taxa de variação do ângulo heading e ψ é o ângulo
heading. Como a taxa de variação do ângulo heading é fornecida pelo algoritmo de
navegação de seguimento de trajetória a cada iteração, é possível calcular ψ
realizando sua integração. Em seguida, calcula­se as velocidades dado o valor do
heading e obtém­se as posições pela suas integrações. Durante toda a simulação a intensidade da velocidade v é mantida constante e
igual a 15 m/s. Também é considerada a limitação física da aeronave para realizar
curvas com |r|< r max , sendo r max =0.33 rad/s [Sujit et al. 2014].
As simulações foram realizadas variando­se o parâmetro R para observar o seu
efeito no seguimento da trajetória, conforme pode ser visto na Figura 1. Figura 1. Trajetórias 2D das simulações do algoritmo NLGL variando o
parâmetro R .
É possível observar que o algoritmo funciona corretamente e que quanto maior o
valor de R mais lentamente a aeronave converge para a trajetória, porém para os
valores de R muito baixos não é possível calcular a intersecção do círculo com a reta
que define a trajetória e o algoritmo deixa de funcionar. Nesse caso, o melhor valor
para o parâmetro R é 10 metros, já que é o que mais se aproxima com a trajetória
desejada. 71
Anais do WoCCES 2016
5. Resultados da simulação 3D
Já a comprovação do novo algoritmo de navegação não linear 3D apresentado na Seção
3 foi realizada utilizando a modelagem cinemática 3D do movimento da aeronave,
representada por (8)­(12) [Titterton e Weston 2004], também implementada no Matlab.
ẋ=v cos (ψ) cos(θ) (8)
ẏ=v sen(ψ)cos (θ) (9)
ż=−v sen (θ)
(10)
r= ψ̇
(11)
q=θ̇
(12)
onde a posição da aeronave é dada por p=( x , y , z) , v é a intensidade da
velocidade considerada constante, r é a taxa de variação do ângulo heading, q é a
taxa de variação do ângulo pitch, ψ é o ângulo heading e θ é o ângulo pitch.
Nas simulações para esse modelo também é considerado que as taxas de variação
dos ângulos heading e pitch são fornecidas pelo algoritmo de navegação não linear 3D e
a partir das suas integrações são obtidos os ângulos ψ e θ . Em seguida são
calculadas as velocidades para cada eixo e a partir da suas integrações são obtidas as
posições da aeronave a cada instante. Durante toda a simulação a intensidade da velocidade v é mantida constante e
igual a 15 m/s. Também é considerada a limitação física da aeronave para realizar
curvas tanto em relação ao heading quanto ao pitch, com |r|< r max e |q|<q max , sendo
r max =0.33 rad/s e q max=0.19 rad/s [Sujit et al. 2014].
As simulações foram realizadas variando­se o parâmetro R y e R z para observar
os seus efeitos no seguimento da trajetória. A Figura 2 mostra as trajetórias resultantes
para diferentes valores de R y e fixando­se R z=20 m e a Figura 3 mostra as
trajetórias resultantes para diferentes valores de R z e fixando­se R y =20 m. É possível observar que o algoritmo funciona corretamente e que o comportamento
da mudança é o mesmo que acontece na análise do NLGL para o cenário 2D. Quanto
maior o valor de R y ou R z mais lentamente a aeronave converge para a trajetória,
porém para os valores muito baixos não é possível calcular a intersecção dos círculos
com a reta que define a trajetória e o algoritmo deixa de funcionar. Nesse caso, o
melhor valor para os parâmetros R y e R z são 20 metros, já que é o caso em que a
trajetória resultante mais se aproxima da trajetória desejada. 72
Anais do WoCCES 2016
Figura 2. Trajetórias 3D das simulações do algoritmo de navegação não linear
3D variando o parâmetro R y e R z=20 m.
Figura 3. Trajetórias 3D das simulações do algoritmo de navegação não linear
3D variando o parâmetro R z e R y =20 m.
73
Anais do WoCCES 2016
6. Conclusão
Foram apresentados os resultados de simulações para dois algoritmos de navegação para
o seguimento de trajetórias. O Non­linear Guidance Law (NLGL) que utiliza uma lei de
controle não linear e permite que uma aeronave siga uma trajetória 2D corretamente e
um novo algoritmo de navegação não linear 3D, baseado no primeiro, mas que permite
que a aeronave siga uma trajetória 3D. A grande vantagem do uso do algoritmo de
navegação não linear 3D é contemplar todas as possibilidades de voo de uma aeronave,
que pode se mover em três coordenadas espaciais. Também foram comparados os comportamentos dos algoritmos para diferentes
valores dos seus parâmetros, demonstrando que quanto maior for o raio do círculo
usado para determinar­se o ponto virtual, mais lentamente o algoritmo convergirá.
Porém, existe também uma limitação inferior para o valor desse raio, já que se for muito
pequeno não será possível encontrar uma intersecção com a trajetória. No caso do
NLGL o melhor valor, entre os avaliados, para o parâmetro R é de 10 metros,
enquanto que no caso do novo algoritmo de navegação não linear 3D, o melhor valor,
entre os avaliados, para ambos os parâmetros R y e R z é de 20 metros. Como trabalho futuro pretende­se reproduzir os experimentos em ambientes mais
realísticos, como plataformas de Hardware­in­the­Loop com o auxílio de um simulador
de voos. Agradecimentos
Os autores gostariam de agradecer à FAPESP pelo apoio financeiro concedido pelos
processos 2012/13641­1 e 2015/21249­2.
Referências
Austin, R. (2010) “Unmanned Aircraft Systems: UAVS Design, Development and
Deployment” Aerospace Series, Wiley. Breivik, M. e Fossen, T. I. (2005) “Principles of Guidance­Based Path Following in 2D
and 3D”, In: 44th IEEE Conference on Decision and Control, 2005 European Control
Conference. CDC­ECC '05., pp. 627­634. doi: 10.1109/CDC.2005.1582226
Elkaim, G. H., Lie, F. A. P. e Gebre­Egziabher, D. (2015) “Principles of Guidance,
Navigation, and Control of UAVs”, In: Handbook of Unmanned Aerial Vehicles,
Editado por Kimon P. Valavanis e George J. Vachtsevanos, Springer Netherlands, p.
347­380. doi: 10.1007/978­90­481­9707­1_56
Kothari, M., Postlethwaite, I. e Gu, D. W. (2010) “A suboptimal path planning
algorithm using rapidly­exploring random trees”, In: International Journal of
Aerospace Innovations, vol. 2, no. 1, pp. 93–104.
Nelson, D. R., Barber, D. B., McLain, T. W. e Beard, R. W. (2007) “Vector field path
following for miniature air vehicles”, In: IEEE Transactions on Robotics, vol. 23, no.
3, pp. 519–529, 2007.
74
Anais do WoCCES 2016
Park, S., Deyst, J. e How, J. P. (2007) “Performance and Lyapunov Stability of a
Nonlinear Path Following Guidance Method”, In: Journal of Guidance, Control, and
Dynamics, vol. 30, no. 6 , pp. 1718­1728. doi: 10.2514/1.28957 Sujit, P. B., Saripalli, S. e Sousa, J. B. (2014) “Unmanned Aerial Vehicle Path
Following: A Survey and Analysis of Algorithms for Fixed­Wing Unmanned Aerial
Vehicless”, In: IEEE Control Systems, vol. 34, no. 1, pp. 42­59. doi:
10.1109/MCS.2013.2287568
Titterton, D. e Weston, J. L. (2004) “Strapdown Inertial Navigation Technology” IET.
Valavanis, K. P. (2007) “Advances in Unmanned Aerial Vehicles: State of the Art and
the Road to Autonomy”, Springer Publishing Company, Incorporated, 2007.
Zhang, C. e Kovacs, J. M. (2012) “The application of small unmanned aerial systems
for precision agriculture: a review” In: Precision Agriculture, vol. 13, no. 6, p. 693–
712. Springer US. doi: 10.1007/s11119­012­9274­5
75
Anais do WoCCES 2016
Análise de Perfil de Motoristas: Detecção de Eventos por meio
de Smartphones e Aprendizado de Máquina
Jair Ferreira Júnior1,2 , Gustavo Pessin1,2
Instituto de Ciências Exatas e Naturais
Universidade Federal do Pará (UFPA) – Belém, PA, Brasil
1
Laboratório de Computação Aplicada
Instituto Tecnológico Vale – Belém, PA, Brasil
2
[email protected], [email protected]
Resumo. O comportamento do motorista influencia fortemente a segurança no
trânsito, o consumo de combustível e a emissão de gases poluentes. A Análise
de Perfil de Motoristas (APM) é uma ferramenta que visa entender e potencialmente influenciar positivamente o comportamento de motoristas. Usualmente,
tarefas de APM envolvem coletas automatizadas de dados de condução e aplicação de modelos computacionais a fim de gerar classificações que caracterizem
o perfil de agressividade de condutores. Diferentes sensores e métodos de classificação têm sido empregados nesta tarefa, entretanto, soluções de baixo custo
e alto desempenho ainda são alvos de pesquisa. Neste artigo é realizada uma
investigação com diferentes sensores, presentes em um smartphone Android, e
diferentes algoritmos de classificação, a fim de avaliar qual conjunto de sensor/método permite a classificação com maior acuracidade. Os resultados mostram que combinações específicas de sensores e métodos inteligentes permitem
melhorar o desempenho das classificações.
1. Introdução
O comportamento do motorista influencia fortemente a segurança no trânsito
[Xiaoqiu et al. 2011] e é causa da grande maioria dos acidentes [Evans 2004]. O custo
econômico total destes acidentes — apenas nos Estados Unidos em 2010 — foi estimado
em mais de $240 bilhões, decorrentes de cerca de 32 mil mortes, 3,9 milhões de feridos
e 24 milhões de veículos danificados [Blincoe et al. 2015]. Adaptações neste comportamento podem aumentar a segurança e diminuir o consumo de combustível/energia e
emissão de gases dos veículos [N. Haworth 2001, Van Mierlo et al. 2005]. A Análise de
Perfil de Motoristas (APM) é uma das ferramentas que visa entender e potencialmente influenciar positivamente o comportamento de condutores, podendo promover uma forma
de dirigir mais eficiente do ponto de vista energético e também mais segura.
A APM consiste na utilização de sensores para coleta automatizada de dados de
condução de veículos (e.g., velocidade, aceleração, frenagem, esterçamento, localização)
e aplicação de um modelo computacional de análise a fim de gerar uma pontuação ou
classificação que caracterize a forma de dirigir do motorista. Esta pontuação representa o
seu grau de risco ou segurança em um trajeto. A coleta de dados de direção em APM pode
ser realizada por diversos tipos de sensores, desde os presentes nos atuais smartphones,
76
Anais do WoCCES 2016
até equipamentos específicos para esse fim, como câmeras de monitoramento, caixas telemáticas1 e adaptadores OBD (On-Board Diagnostic)2 .
Atualmente, os smartphones são equipados com diversos sensores utilizados em
soluções APM. Estes sensores incluem, entre outros, GPS (Global Positioning System),
acelerômetro, giroscópio e magnetômetro de 3 eixos (lateral, longitudinal e vertical).
Experimentos [Paefgen et al. 2012, Skog et al. 2013, Handel et al. 2014] demonstraram
que, no contexto de APM, os dados fornecidos por estes sensores estão fortemente correlacionados com medições de referência de caixas telemáticas instaladas fixamente nos
veículos e, apesar de haver espaço para melhorias, os smartphones se provaram uma forma
acessível e interessante de instrumentar um veículo para coleta de dados. A relevância da
APM têm crescido nos últimos anos em diversos domínios de aplicação. Na gestão de
frotas, há interesse em informações detalhadas e precisas sobre o uso dos veículos. No
domínio de telemática de seguros, planos do tipo Usage-Based Insurance (UBI) têm como
objetivo calcular o bônus de seguro em função do perfil individual de condução do motorista, ao invés de recorrer a estatísticas baseadas em grupos, como idade, sexo e estado
civil. Adicionalmente, a pontuação do motorista está relacionada com quão ecológica é
sua forma de dirigir [Van Mierlo et al. 2004]. Neste caso, o principal objetivo é incentivar os motoristas a buscar uma boa pontuação para otimizar o consumo de combustível e
energia de seus veículos, gerando economia. Por fim, é possível também prevenir a ocorrência de acidentes ao fornecer feedback ao motorista. Tal feedback é mais útil e eficaz
quando ocorre em tempo real, notificando-o, por exemplo, sempre que acelerar demais ou
quando sua pontuação refletir uma direção agressiva.
Diversos trabalhos de APM podem ser encontrados na literatura. Dentre estes,
podemos citar [Johnson and Trivedi 2011, Castignani et al. 2013, Saiprasert et al. 2014,
Castignani et al. 2015] que utilizam uma fusão de dados dos sensores do smartphone
para identificar eventos de direção agressivos (e.g., curvas, acelerações e freadas agressivas) e, consequentemente, classificar a forma de dirigir do motorista. Outro trabalho
[Araujo et al. 2012] utiliza dados de sensores do próprio veículo para fornecer dicas de
direção e avaliar a eficiência de consumo de combustível em função da forma de dirigir do
motorista. Os algoritmos de aprendizado de máquina empregados nestes trabalhos se resumem à lógica fuzzy ou variações de Dynamic Time Warping3 (DTW). Adicionalmente,
a maioria dos trabalhos usa detecção de eventos agressivos como base para a classificação
de perfis de direção e peca ao não fornecer uma avaliação quantitativa da metodologia
empregada.
Portanto, este artigo tem como objetivo a avaliação quantitativa das performances
de combinações de algoritmos de aprendizado de máquina e sensores de smartphone Android, na tarefa de detecção de eventos de direção. Assim, ao final desta avaliação, será
possível identificar qual combinação de sensor, seu(s) eixo(s) e algoritmo melhor detecta
um determinado tipo de evento agressivo. O restante do artigo é organizado da seguinte
forma: a Seção 2 resume alguns trabalhos relacionados com APM. A Seção 3 descreve
1
A “caixa telemática” é um equipamento de medição fixamente instalado no veículo que pode ter sensores próprios ou se conectar aos sensores internos do veículo através do barramento CAN.
2
O OBD é um sistema que confere aos veículos atuais a capacidade de se auto-diagnosticar e fornecer
dados (e.g., velocidade) em tempo real via uma porta de comunicação padronizada.
3
Dynamic Time Warping é uma técnica utilizada para encontrar padrões em séries temporais e foi originalmente empregada no problema de reconhecimento de fala [Sakoe and Chiba 1978].
77
Anais do WoCCES 2016
a metodologia da avaliação realizada, seguida de seus resultados na Seção 4. Por fim, na
Seção 5 são apresentadas as conclusões e trabalhos futuros.
2. Trabalhos Relacionados
Esta seção descreve resumidamente alguns trabalhos recentes da literatura relacionados
com APM. É importante ressaltar que várias soluções comerciais de APM estão disponíveis atualmente. A maioria delas aplicada aos domínios de telemática de seguros e gestão
de frotas. Exemplos incluem Aviva Drive, Greenroad, Snapshot e SeeingMachines. Entretanto, uma análise técnica destas soluções é inviável já que seus métodos de coleta e
modelos de análise de dados não são publicamente disponíveis.
O trabalho [Johnson and Trivedi 2011] apresenta o aplicativo MIROAD para
iPhone que faz uma fusão do magnetômetro, acelerômetro, giroscópio e GPS do
smartphone para identificar eventos de direção agressivos e, consequentemente, classificar a forma de dirigir como agressiva ou não-agressiva. Estes eventos são detectados
por um único classificador baseado no algoritmo DTW. Todo o processamento é feito em
tempo real no próprio smartphone, sem necessidade de equipamentos externos. A análise experimental executada mostrou que 97% dos eventos agressivos foram corretamente
identificados. O trabalho [Araujo et al. 2012] propõe um aplicativo de smartphone para
avaliar a eficiência de consumo de combustível em função da forma de dirigir do motorista. O aplicativo também fornece dicas de direção em tempo real do tipo “troque de
marchas mais cedo” e “aceleração muito alta”. O processamento é feito localmente no
smartphone e em tempo real. O aplicativo não utiliza nenhum sensor do smartphone. Ao
invés disso, coleta dados de velocidade, aceleração, altitude, sinal do acelerador, consumo
instantâneo de combustível e RPM (Rotações Por Minuto) dos sensores do próprio veículo
por meio de um adaptador OBD Bluetooth e do aplicativo Torque Pro para smartphones.
Após a coleta, é realizada uma extração de características e três classificadores (h1 , h2
e h3 ) são aplicados. h1 é um discriminante linear que identifica a “Condição de Direção” como urbana, auto-estrada ou mista. h2 e h3 são sistemas fuzzy que fornecem,
respectivamente, a “Avaliação do Consumo de Combustível” e a “Dica de Direção”. Uma
avaliação preliminar da aplicação foi realizada através de uma viagem de pouco mais de
uma hora. Nesta avaliação, h1 reconheceu corretamente as diferentes condições de direção presentes, o classificador h2 informou a melhor avaliação na maior parte do tempo e o
classificador h3 forneceu dicas para trocar de marcha mais cedo e acelerar mais delicadamente sempre que o motorista acelerava de forma mais intensa. Não há menção à eficácia
dos classificadores h2 e h3 na referida avaliação preliminar.
O artigo [Castignani et al. 2013] propõe um mecanismo de avaliação de motoristas baseado em lógica fuzzy que utiliza o acelerômetro, magnetômetro e sensor de
gravidade de smartphones Android como entrada, classifica o motorista nos estilos de direção Normal, Moderado e Agressivo, e calcula seu score de direção de 0 (melhor) a 100
(pior). A classificação e o score não são calculados em tempo real, visto que os dados
de sensores são coletados pelo aplicativo UBI-Meter e armazenados no smartphone para
posterior envio a um servidor remoto na Internet que agrega dados de diversos motoristas
e os analisa. Foi realizado experimento com 5 motoristas, totalizando 2360 km, 33 horas
e 87 viagens. Neste experimento, os scores gerais dos motoristas 1 ao 5 foram 68,57,
83,46, 82,72, 77,15 e 60,12. A eficácia do mecanismo no experimento não é informada.
78
Anais do WoCCES 2016
O objetivo do trabalho [Saiprasert et al. 2014] é utilizar o GPS, acelerômetro e
magnetômetro dos smartphones para classificar a forma de dirigir de motoristas nos perfis de segurança muito seguro, seguro, agressivo, e muito agressivo. Esta classificação é
realizada por meio da detecção, em tempo real, de eventos de condução relevantes que podem ocorrer durante uma viagem. A detecção é feita por um algoritmo de reconhecimento
de padrões [Saiprasert et al. 2013] baseado na técnica de DTW. Os eventos detectados por
este algoritmo são frenagem agressiva, aceleração brusca, curva acentuada, mudança de
faixa agressiva e velocidade excessiva. Na extensa análise experimental realizada (30
viagens em rota de 315 km e 30 viagens em outra rota de 780 km), a grande maioria
dos motoristas foi classificada nos perfis intermediários seguro (28 viagens) e agressivo
(17 viagens). Poucos foram classificados nos perfis muito seguro (3 viagens) e muito
agressivo (8 viagens). O artigo não menciona a eficácia de seu método no experimento
realizado.
O artigo [Castignani et al. 2015] apresenta o SenseFleet, uma plataforma de APM
baseada em smartphone Android. O aplicativo coleta dados do acelerômetro, magnetômetro, sensor de gravidade e GPS do smartphone com o objetivo de detectar eventos de risco
(velocidade, aceleração, frenagem e esterçamento excessivos) ocorridos durante uma viagem. Uma nova pontuação do motorista é gerada a cada viagem percorrida em função
da detecção destes eventos, podendo variar entre 0 (pior) a 100 (melhor) pontos. Tal detecção é realizada por um sistema fuzzy cujos limites são obtidos dinamicamente através
de um processo de calibragem executado na primeira vez que o aplicativo é utilizado em
uma nova combinação de motorista, smartphone e veículo. Todo o processamento é feito
em tempo real no próprio aplicativo, independentemente do modelo de smartphone e veículo. Adicionalmente, os eventos detectados, os dados coletados e as pontuações podem
ser enviados a um servidor central que agrega informações de diversos motoristas e viagens para futura análise e geração de relatórios. Diversos experimentos foram realizados
pelos autores. Em um deles foi observada uma taxa pouco maior que 90% de eventos corretamente identificados. Em outro experimento que utilizava dois smartphones bastante
diferentes instalados no mesmo veículo, foi constatado que a detecção de eventos segue
praticamente o mesmo padrão, independentemente do dispositivo utilizado.
Ao analisar os trabalhos apresentados nos parágrafos anteriores, podemos identificar as seguintes características comuns: (i) os trabalhos utilizam uma fusão de dados de vários sensores como entrada para os modelos de detecção de eventos; (ii) a
maioria dos trabalhos [Araujo et al. 2012, Castignani et al. 2013, Castignani et al. 2015]
emprega lógica fuzzy e o restante [Johnson and Trivedi 2011, Saiprasert et al. 2014] utiliza DTW; (iii) a maioria dos trabalhos usa os sensores disponíveis em smartphones
como meio de coleta de dados, ao invés dos sensores do próprio veículo (via interface OBD) ou caixas telemáticas; e (iv) a maioria dos trabalhos não menciona a eficácia quantitativa das metodologias propostas, tornando difícil avaliá-las. Isso ocorre em
[Castignani et al. 2013, Saiprasert et al. 2014] e parcialmente em [Araujo et al. 2012].
3. Metodologia
A avaliação proposta neste trabalho tem como objetivo identificar as triplas {sensor,
eixo(s), algoritmo de aprendizado} capazes de melhor detectar um determinado tipo de
evento de direção. Para tanto, modelamos a avaliação como um problema de aprendizado
supervisionado no qual as classes são os tipos de eventos, e os dados dos sensores dão
79
Anais do WoCCES 2016
origem a vetores de atributos que formam os datasets. Ao aplicar diversos algoritmos
de classificação, obtemos os scores ROC [Fawcett 2006] para cada classe e dataset. Este
score varia de 0,5 (pior resultado) a 1,0 (melhor resultado) e será utilizado para determinar
a eficácia do algoritmo de classificação dados um tipo de evento de direção (classe), um
sensor e seu(s) eixo(s).
Utilizamos os seguintes sensores de smartphone Android nesta avaliação: aceleração linear (AclLin), magnetômetro (Mag), gravidade (Grav), vetor de rotação (VRot),
acelerômetro (Acel) e giroscópio (Gir). O acelerômetro mede a força da aceleração causada pelo movimento do telefone. O sensor de aceleração linear funciona como o acelerômetro, mas excluindo a aceleração da gravidade. O giroscópio mede o grau de rotação
em torno dos eixos do dispositivo. O magnetômetro mede a força do campo magnético,
funcionando como uma bússola. O sensor de vetor de rotação representa a orientação do
smartphone como uma combinação da rotação de um ângulo θ sobre um eixo (x, y ou z).
Por último, o sensor de gravidade fornece um vetor tridimensional indicando a direção e
magnitude da gravidade.
Os dados fornecidos pelos sensores do smartphone são uma série temporal com
precisão de nanosegundos e taxas de amostragem de ~100 Hz ou ~240 Hz, dependendo
do sensor. Todos os sensores utilizados, exceto o de vetor de rotação, fornecem amostras
com três valores (x, y e z) referentes ao sistema de coordenadas do dispositivo exibido na
Figura 1(a). Já o sensor de vetor de rotação fornece amostras com quatro valores (componentes escalar, x, y e z) referentes ao sistema de coordenadas da Terra exibido na Figura
1(b). Cada sensor dá origem a um dataset contendo dados de todas as suas coordenadas,
mais um dataset para cada coordenada isoladamente. Por exemplo, o acelerômetro dá
origem a quatro datasets: acelerômetro (com dados de x, y e z juntos), acelerômetro_x,
acelerômetro_y e acelerômetro_z. Portanto, esta avaliação foi realizada em um total de
25 datasets. Detalhes sobre os vetores de atributos criados serão apresentados na Seção
3.1.
(a)
(b)
Figura 1. Sistema de coordenadas relativo ao smartphone (a) utilizado por todos
os sensores desta avaliação, exceto pelo de vetor de rotação que usa o sistema
de coordenadas relativo à Terra (b).
Os algoritmos de classificação usados nesta avaliação são o Multi Layer Perceptron (MLP), Bagging de “Reduced Error Pruning Trees” (REPTrees) e Support Vector Machines (SVM). Utilizamos as implementações destes algoritmos no popular framework de mineração de dados e aprendizado de máquina WEKA [Hall et al. 2009] e
LIBSVM [Chang and Lin 2011]. Configuramos os algoritmos com os parâmetros padrão
do WEKA, conforme Tabela 1.
80
Anais do WoCCES 2016
Tabela 1. Algoritmos e suas configurações no WEKA.
Algoritmo
Multi Layer Perceptron (MLP)
Bagging de REPTree
Support Vector Machines (SVM)
Configuração
-L 0.3 -M 0.2 -N 500 -V 0 -E 20 -H a
-P 100 -I 10 -W weka.classifiers.trees.REPTree -- -M 2 -V 0.001 -N 3 -L -1
-S 0 -K 2 -D 3 -G 0.0 -R 0.0 -N 0.5 -M 40.0 -C 1.0 -E 0.001 -P 0.1
Cada algoritmo de classificação é treinando e avaliado com os datasets por meio de
validação cruzada de 10 subconjuntos. Como possuímos 25 datasets e 3 algoritmos, avaliamos (25 ∗ 3) = 75 combinações de {sensor, eixo(s), algoritmo de aprendizado}, obtendo
o ROC Score para cada tipo de evento de direção. As classes de aprendizado desta avaliação foram baseadas nos tipos de eventos de direção detectados em [Saiprasert et al. 2014].
Com o objetivo de obter leituras de sensores do smartphone para estes eventos, realizamos um experimento no qual estas manobras de direção foram executadas em um veículo
real durante duas viagens com duração de aproximadamente 5 minutos cada, enquanto
um aplicativo Android capturava dados dos sensores do smartphone. Os tempos iniciais
e finais dos eventos foram registrados para servir como ground-truth. Os tipos de eventos de direção e seus números de amostras no experimento são: Aceleração Agressiva
(2 eventos), Freada Agressiva (3 eventos), Curva Agressiva à Direita (4 eventos), Curva
Agressiva à Esquerda (2 eventos), Troca de Faixa Agressiva à Direita (2 eventos), Troca
de Faixa Agressiva à Esquerda (2 eventos) e Evento não agressivo (9 eventos). O último
tipo de evento agrupa manobras executadas de forma não agressiva (e.g. curva suave,
aceleração suave).
Realizamos o experimento nas seguintes condições: (i) o veículo foi um Honda
Civic 2011; (ii) o smartphone foi um Samsung Galaxy S6 afixado na posição vertical no
para-brisas do veículo por meio de suporte apropriado; (iii) o mesmo motorista com 20
anos de experiência conduziu o veículo em ambas as viagens; (iv) a via era asfaltada,
seca, com poucos buracos e de trânsito leve; (v) o clima era ensolarado; e (vi) a taxa de
amostragem dos sensores de aceleração linear, gravidade, vetor de rotação e magnetômetro era de ~100 Hz, enquanto que a do acelerômetro e giroscópio era de ~240 Hz. O
gráfico da Figura 2 exibe os dados dos eixos do sensor de aceleração linear durante um
evento de troca de faixa agressiva à direita coletado no experimento. Nota-se o formato
característico do eixo x.
3.1. Vetor de Atributos
Cada sensor origina um dataset bruto contendo basicamente o instante da coleta (em nanosegundos) e os valores dos eixos dos sensores naquele momento. Estes dados brutos
são tratados antes de serem submetidos aos classificadores. Este tratamento consiste em
gerar uma janela móvel de 7 segundos deslizando em incrementos de 1 segundo sobre
a série temporal. O tamanho da janela foi experimentalmente definido em 7 segundos
devido ao fato de que, ao analisar a ground-truth do experimento, percebemos que os
eventos de direção duram entre 2 (para os mais agressivos) e 6 (para os não agressivos)
segundos. Portanto, com essa duração, a janela captura completamente qualquer evento
de direção coletado no experimento.
A janela é expressa por um vetor de atributos. Para calcular este vetor, consideramos t0 o conjunto de amostras do segundo atual da série temporal, t−1 o con81
Anais do WoCCES 2016
Figura 2. Eixos x, y e z do sensor de aceleração linear em um evento de troca de
faixa agressiva à direita. Nota-se o formato característico do eixo x.
junto de amostras do segundo anterior, e assim por diante, até t−6 . Calculamos então
as médias (M0 = M[t0 ] , M−1 = M[t−1 ,t0 ] , ..., M−6 = M[t−6 ,t0 ] ), medianas (M N0 =
M N[t0 ] , M N−1 = M N[t−1 ,t0 ] , ..., M N−6 = M N[t−6 ,t0 ] ) e desvios padrões (DP0 =
DP[t0 ] , DP−1 = DP[t−1 ,t0 ] , ..., DP−6 = DP[t−6 ,t0 ] ) acumulados. Adicionalmente, as tendências de crescimento ou diminuição das médias das amostras de cada segundo em relação às do segundo atual (t0 ) são calculadas pelas suas proporções da seguinte forma:
Mt
Mt
Mt
T−1 = M−1
, T−2 = M−2
, ..., T−6 = M−6
. A classe é então adicionada ao vetor quando
t0
t0
t0
os tempos inicial e final do evento (obtido por meio da ground-truth) estiverem ambos
entre t−6 e t0 da janela. Caso contrário, o vetor de atributos não é gerado para esta janela em particular. A Figura 3 exibe a estrutura do vetor de atributos para um eixo da
série temporal. Quando o dataset possuir diversos eixos, os vetores de cada eixo (sem as
classes) são concatenados horizontalmente e a classe é adicionada como último campo
do vetor resultante. Por fim, como os vetores de atributos são atemporais, agrupamos os
vetores de várias viagens em um único dataset para o mesmo sensor e eixo(s).
Figura 3. Vetor de atributos representando uma janela deslizante de 7 segundos
(de t−6 a t0 ) da série temporal para um eixo de um sensor.
4. Resultados
Executamos os 3 algoritmos de classificação da Tabela 1 sobre os 25 datasets contendo
os vetores de atributos descritos na Seção 3.1 e extraímos as triplas {sensor, eixo(s), algoritmo de aprendizado} de maiores ROC Scores médios para cada evento de direção. Cada
tripla foi executada com 10 sementes aleatórias diferentes. Os resultados da avaliação
podem ser vistos na Figura 4.
82
Anais do WoCCES 2016
Figura 4. ROC Scores de 10 execuções das 3 melhores triplas {sensor, eixo(s),
algoritmo} para cada tipo de evento de direção. O melhor algoritmo de detecção
entre os avaliados é o MLP e o melhor sensor é o acelerômetro, exceto para o
evento de aceleração agressiva.
Ao agrupar os resultados por eventos, notamos que a aceleração agressiva é melhor detectada com o magnetômetro em conjunto com os algoritmos MLP ou SVM que
obtiveram a mesma performance máxima. Na freada agressiva, a melhor tripla foi {acelerômetro, todos os eixos, MLP}. Para a curva agressiva à direita, o algoritmo MLP foi
o melhor classificador, obtendo a mesma performance máxima com o giroscópio (eixo y
apenas) e acelerômetro. O mesmo ocorreu com a curva agressiva à esquerda que também foi melhor detectada pelo MLP, obtendo performance máxima com o giroscópio,
acelerômetro e sensor de aceleração linear. A troca de faixa agressiva à direita foi melhor
detectada pela tripla {giroscópio, todos os eixos, MLP} que obteve o ROC Score máximo.
A troca de faixa agressiva à esquerda foi melhor detectada pela tripla {acelerômetro, y,
MLP}, mas seguida de perto por {sensor de vetor de rotação, todos os eixos, MLP}. O
evento não agressivo foi melhor classificado pela tripla {acelerômetro, y, MLP}. Por fim,
ao analisar os resultados, notamos que o algoritmo MLP em conjunto com o acelerômetro
83
Anais do WoCCES 2016
figuram entre as 3 melhores performances na grande maioria dos eventos, com exceção
do evento de aceleração agressiva cujos melhores resultados não incluem o acelerômetro.
5. Conclusões e Trabalhos Futuros
Apresentamos neste trabalho uma avaliação quantitativa das performances dos algoritmos
MLP, SVM e Bagging de REPTree na detecção de eventos de direção utilizando dados
de sensores de smartphones Android. Obtivemos amostras de 7 tipos de eventos de direção por meio de um experimento no qual os dados de 6 sensores foram registrados
durante a execução dos referidos eventos em um veículo real. Os tempos iniciais e finais
de cada evento executado foram registrados para compor a ground-truth do experimento.
Os resultados de 10 execuções dos algoritmos de aprendizado para cada combinação de
sensor e eixo(s) mostram (i) quais combinações de sensor, eixo(s) e algoritmo de aprendizado melhor detectam cada tipo de evento de direção; (ii) que o algoritmo MLP obteve
as melhores performances; e (iii) que o acelerômetro se mostrou o sensor com melhores
performances, exceto para o evento de aceleração agressiva.
Como trabalhos futuros, esperamos realizar experimentos com viagens mais longas, com motoristas e modelos de smartphones diferentes e em condições de via, clima e
temperatura distintos para obter um conjunto maior e mais diversificado de amostras dos
eventos de direção. Também esperamos comparar algoritmos de aprendizado de máquina
adicionais, incluindo os baseados em lógica fuzzy e DTW. Por fim, pretendemos utilizar os melhores algoritmos e sensores identificados diretamente em um aplicativo para
smartphone Android a fim de detectar os eventos de direção em tempo real e, consequentemente, classificar o perfil de agressividade de direção do motorista.
Agradecimentos
Agradecemos ao Prof. Dr. Cleidson de Souza e aos colegas Sérgio Viademonte, Carolina Quintão e Adalberto Silva Júnior pelas conversas, perguntas, sugestões, inspirações
e ajuda na implementação deste trabalho. Agradecemos ao apoio financeiro recebido
através da Chamada 59/2013 MCTI/CT-Info/CNPq, processo 440880/2013-0.
Referências
Araujo, R., Igreja, A., de Castro, R., and Araujo, R. (2012). Driving coach: A smartphone
application to evaluate driving efficient patterns. In Intelligent Vehicles Symposium
(IV), 2012 IEEE, pages 1005–1010.
Blincoe, L., Miller, T. R., Zaloshnja, E., and Lawrence, B. A. (2015). The Economic and
Societal Impact of Motor Vehicle Crashes, 2010 (Revised). Technical report.
Castignani, G., Derrmann, T., Frank, R., and Engel, T. (2015). Driver behavior profiling
using smartphones: A low-cost platform for driver monitoring. Intelligent Transportation Systems Magazine, IEEE, 7(1):91–102.
Castignani, G., Frank, R., and Engel, T. (2013). Driver behavior profiling using
smartphones. In Intelligent Transportation Systems - (ITSC), 2013 16th International IEEE Conference on, pages 552–557.
Chang, C.-C. and Lin, C.-J. (2011). LIBSVM: A library for support vector machines.
ACM Transactions on Intelligent Systems and Technology, 2:27:1–27:27. Software
available at http://www.csie.ntu.edu.tw/~cjlin/libsvm.
84
Anais do WoCCES 2016
Evans, L. (2004). Traffic safety. Science Serving Society.
Fawcett, T. (2006). An introduction to roc analysis. Pattern Recogn. Lett., 27(8):861–874.
Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P., and Witten, I. H. (2009).
The weka data mining software: An update. SIGKDD Explor. Newsl., 11(1):10–18.
Handel, P., Ohlsson, J., Ohlsson, M., Skog, I., and Nygren, E. (2014). Smartphone-based
measurement systems for road vehicle traffic monitoring and usage-based insurance.
Systems Journal, IEEE, 8(4):1238–1248.
Johnson, D. and Trivedi, M. (2011). Driving style recognition using a smartphone as a
sensor platform. In Intelligent Transportation Systems (ITSC), 2011 14th International
IEEE Conference on, pages 1609–1615.
N. Haworth, M. S. (2001). Driving to Reduce Fuel Consumption and Improve Road
Safety. Road Safety Research, Policing and Education Conference, 2001, Melbourne,
Victoria, Australia, (5):7.
Paefgen, J., Kehr, F., Zhai, Y., and Michahelles, F. (2012). Driving behavior analysis
with smartphones: Insights from a controlled field study. In Proceedings of the 11th
International Conference on Mobile and Ubiquitous Multimedia, MUM ’12, pages
36:1–36:8, New York, NY, USA. ACM.
Saiprasert, C., Pholprasit, T., and Pattara-Atikom, W. (2013). Detecting driving events
using smartphone. In Proceedings of the 20th ITS World Congress.
Saiprasert, C., Thajchayapong, S., Pholprasit, T., and Tanprasert, C. (2014). Driver behaviour profiling using smartphone sensory data in a v2i environment. In Connected
Vehicles and Expo (ICCVE), 2014 International Conference on, pages 552–557.
Sakoe, H. and Chiba, S. (1978). Dynamic programming algorithm optimization for spoken word recognition. Acoustics, Speech and Signal Processing, IEEE Transactions
on, 26(1):43–49.
Skog, I., Handel, P., Ohlsson, M., and Ohlsson, J. (2013). Challenges in smartphonedriven usage based insurance. In Global Conference on Signal and Information Processing (GlobalSIP), 2013 IEEE, pages 1135–1135.
Van Mierlo, J., Maggetto, G., van de Burgwal, E., and Gense, R. (2004). Driving style and
traffic measures - influence on vehicle emissions and fuel consumption. 218(D1):43–
50+.
Van Mierlo, J., Maggetto, G., Van de Burgwal, E., and Gense, R. (2005). Driving style and
traffic measures-influence on vehicle emissions and fuel consumption. Proceedings of
the Institution of Mechanical Engineers, Part D: Journal of Automobile Engineering,
218(1):43–50.
Xiaoqiu, F., Jinzhang, J., and Guoqiang, Z. (2011). Impact of driving behavior on the
traffic safety of highway intersection. In Measuring Technology and Mechatronics Automation (ICMTMA), 2011 Third International Conference on, volume 2, pages 370–
373.
85