Controle de Temperatura para Automação Residencial Utilizando … · 2016. 9. 21. · Controle de...

110
Universidade de Brasília - UnB Faculdade UnB Gama - FGA Engenharia Eletrônica Controle de Temperatura para Automação Residencial Utilizando Modelos Ocultos de Markov Autor: Enzo Mendes Montoya Lazo Orientador: Professor Dr. Daniel Mauricio Muñoz Arboleada Brasília, DF 2014

Transcript of Controle de Temperatura para Automação Residencial Utilizando … · 2016. 9. 21. · Controle de...

  • Universidade de Brasília - UnBFaculdade UnB Gama - FGA

    Engenharia Eletrônica

    Controle de Temperatura para AutomaçãoResidencial Utilizando Modelos Ocultos de

    Markov

    Autor: Enzo Mendes Montoya LazoOrientador: Professor Dr. Daniel Mauricio Muñoz Arboleada

    Brasília, DF2014

  • Enzo Mendes Montoya Lazo

    Controle de Temperatura para Automação ResidencialUtilizando Modelos Ocultos de Markov

    Monografia submetida ao departamento deEngenharia Eletrônica da Universidade deBrasília, como requisito parcial para obten-ção do Título de Bacharel em EngenhariaEletrônica.

    Universidade de Brasília - UnB

    Faculdade UnB Gama - FGA

    Orientador: Professor Dr. Daniel Mauricio Muñoz Arboleada

    Brasília, DF2014

  • Enzo Mendes Montoya LazoControle de Temperatura para Automação Residencial Utilizando Modelos

    Ocultos de Markov/ Enzo Mendes Montoya Lazo. – Brasília, DF, 2014-108 p. : il. Cores ; 30 cm.

    Orientador: Professor Dr. Daniel Mauricio Muñoz Arboleada

    Trabalho de Conclusão de Curso – Universidade de Brasília - UnBFaculdade UnB Gama - FGA , 2014.1. Automação Residencial. 2. Modelos Ocultos de Markov. I. Professor Dr.

    Daniel Mauricio Muñoz Arboleada. II. Universidade de Brasília. III. FaculdadeUnB Gama. IV. Controle de Temperatura para Automação Residencial UtilizandoModelos Ocultos de Markov.

    CDU 02:141:005.6

  • Enzo Mendes Montoya Lazo

    Controle de Temperatura para Automação ResidencialUtilizando Modelos Ocultos de Markov

    Monografia submetida ao departamento deEngenharia Eletrônica da Universidade deBrasília, como requisito parcial para obten-ção do Título de Bacharel em EngenhariaEletrônica.

    Trabalho aprovado. Brasília, DF, 25 de junho de 2014:

    Professor Dr. Daniel Mauricio MuñozArboleadaOrientador

    Professor Dr. Sandro Augusto PavlikHaddad

    Convidado 1

    Professora Dra. Lourdes Mattos BrasilConvidado 2

    Brasília, DF2014

  • Resumo

    Neste trabalho é proposto um sistema para controle de temperatura base-ado no método de aprendizagem de máquina Modelos Ocultos de Markov (HiddenMarkov Models – HMM) para aplicações em automação residencial. O objetivo éminimizar a necessidade de intervenção do usuário em equipamentos de controlede temperatura, melhorando assim, o conforto térmico em residências. Para tantoé necessário que o sistema identifique o perfil do usuário. A aprendizagem de má-quina é uma área de pesquisa que estuda técnicas que tornam possível que agentesde software melhorarem suas medidas de desempenho ao longo do tempo. A meto-dologia de pesquisa escolhida para este trabalho é do tipo bottom-up, onde módulosindividuais do sistema são especificados e desenvolvidos para posteriormente sereminterconectados, formando assim, o sistema completo. Neste trabalho é abordadoum caso de estudo para controle de temperatura com um único módulo de monito-ramento. A solução proposta considera um módulo mestre no qual é implementadoo algoritmo de treinamento para o HMM e um módulo escravo para monitoramentodo sensor de temperatura. Adicionalmente, foi escolhida um protocolo de rede decomunicação sem fio tipo ZigBee. Implementações baseadas em HMM para solu-ção de problema similares foram previamente realizadas em computador pessoal,demostrando a viabilidade da solução proposta. Resultados de simulações e testesexperimentais demonstram que a arquitetura do sistema proposto foi implementadocom sucesso.

    Palavras-chaves: aprendizagem de máquina, modelos ocultos de markov, automa-ção residencial, controle térmico, zigbee.

  • Abstract

    In this work it is proposed a system for thermal control based on HiddenMarkov Models (HMM) for applications in residential automation. The main goal isto minimize human intervention on Heating, Venting and Air Conditioning (HVAC)systems, and then consequently to elevate the user thermal comfort. In order toachieve this objective, it is necessary to identify the user profile. Machine learningis a research area that studies the techniques that make it possible for softwareagents to improve their operation over time. The bottom-up methodology is theresearch methodology chosen for this work, where system individual modules arespecified and developed to be posteriorly connected, thus molding the completesystem. The present work addresses a case study for temperature control using amonitoring module. The proposed solution considers a master module, on whichit is implemented the training algorithm for the HMM and a slave module fortemperature sensor monitoring. Additionally, it is chosen a wireless communicationnetwork based on the ZigBee protocol. HMM designs for solving similar problemswere previously accomplished on a personal computer, demonstrating the viabilityfor the proposed solution. Experimental test and simulation results demonstratethat the proposed system architecture was successfully implemented.

    Key-words: machine learning, hidden markov models, residential automation, ther-mal control, zigbee.

  • Sumário

    I Introdução 17

    1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.1 Descrição do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.3 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.4 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.5 Organização do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    II Referencial Teórico 25

    2 Referencial Teórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.1 Automação Residencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    2.1.1 Variáveis Físicas a Serem Automatizadas . . . . . . . . . . . . . . . 282.1.2 Modelos de Comunicação . . . . . . . . . . . . . . . . . . . . . . . . 292.1.3 Protocolo ZigBee . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.1.4 Protocolo Controller Area Network – CAN . . . . . . . . . . . . . . 312.1.5 Protocolo RS-485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    2.2 Modelo de Aprendizagem para Automação Residencial . . . . . . . . . . . 332.3 Conceitos de Probabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    2.3.1 Variável Aleatória . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.3.2 Probabilidade Conjunta . . . . . . . . . . . . . . . . . . . . . . . . 352.3.3 Probabilidade Condicional . . . . . . . . . . . . . . . . . . . . . . . 352.3.4 Independência entre Eventos . . . . . . . . . . . . . . . . . . . . . . 352.3.5 Função Densidade de Probabilidade Gaussiana . . . . . . . . . . . . 362.3.6 Processos Estocásticos . . . . . . . . . . . . . . . . . . . . . . . . . 37

    2.4 Cadeias de Markov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.5 Modelos Ocultos de Markov . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    2.5.1 Algoritmos de Treinamento . . . . . . . . . . . . . . . . . . . . . . 402.6 Trabalhos Correlatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412.7 Conclusão do Capítulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    III Especificação do Sistema 43

    3 Especificação do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.1 Sistema Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

  • 3.2 Caso de Estudo: Monitoramento de Temperatura com HMM . . . . . . . . 463.2.1 Módulo Computacional (Mestre) . . . . . . . . . . . . . . . . . . . 473.2.2 Cartão de Memória SD . . . . . . . . . . . . . . . . . . . . . . . . . 483.2.3 Unidade de Monitoramento (Escravo) . . . . . . . . . . . . . . . . . 483.2.4 Sensor de Temperatura . . . . . . . . . . . . . . . . . . . . . . . . . 493.2.5 Rede de Comunicação ZigBee . . . . . . . . . . . . . . . . . . . . . 49

    3.3 Algoritmo de Treinamento Proposto . . . . . . . . . . . . . . . . . . . . . . 503.4 Métrica para Estimativa de Erro do Sistema de Previsão . . . . . . . . . . 523.5 Simulações Prévias Usando HMM . . . . . . . . . . . . . . . . . . . . . . . 52

    3.5.1 Carro Estacionário . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.5.2 Carro em Movimento . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    3.6 Conclusão do Capítulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    IV Simulações 57

    4 Simulações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.1 Perfil de Temperatura do Usuário . . . . . . . . . . . . . . . . . . . . . . . 594.2 Dados de Treinamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.3 Simulações em Computador Pessoal . . . . . . . . . . . . . . . . . . . . . . 61

    4.3.1 Intervenção do Usuário sobre o Sistema . . . . . . . . . . . . . . . . 624.4 Conclusão do Capítulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    V Implementação do Sistema 69

    5 Implementação do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 715.1 Arquitetura Final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715.2 Lista de Materiais Utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . 715.3 Desenho dos Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . 725.4 Testes sobre o Sistema Implementado . . . . . . . . . . . . . . . . . . . . . 735.5 Resultados dos Testes Experimentais . . . . . . . . . . . . . . . . . . . . . 735.6 Conclusão do Capítulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

    VI Conclusões 77

    6 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796.1 Sugestões Para Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . 80

    Referências Bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

  • Apêndices 85

    APÊNDICE A Algoritmo HMM em C para Raspberry Pi . . . . . . . . . . . . 87

    APÊNDICE B Algoritmo em C para Criação do Perfil de Temperatura . . . . 97

    APÊNDICE C Algoritmo em C para Cálculo do Estimador MSE . . . . . . . 103

    APÊNDICE D Script em Matlab para Geração de Gráficos . . . . . . . . . . 105

  • Lista de ilustrações

    Figura 1 – Subsistemas de uma residência. . . . . . . . . . . . . . . . . . . . . . . 28Figura 2 – Topologias de Rede. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Figura 3 – Topologia de Rede CAN. . . . . . . . . . . . . . . . . . . . . . . . . . . 32Figura 4 – Barramento RS-485. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Figura 5 – Conceito de variável aleatória. . . . . . . . . . . . . . . . . . . . . . . . 34Figura 6 – Comparação entre diferentes distribuições gaussianas. . . . . . . . . . . 36Figura 7 – Transição de Estados em HMM. . . . . . . . . . . . . . . . . . . . . . . 40

    Figura 8 – Sistema Geral para Automação Residencial. . . . . . . . . . . . . . . . 45Figura 9 – Arquitetura do Sistema Proposto. . . . . . . . . . . . . . . . . . . . . . 46Figura 10 –Computador Raspberry Pi. . . . . . . . . . . . . . . . . . . . . . . . . 47Figura 11 –Cartão de Memória SD. . . . . . . . . . . . . . . . . . . . . . . . . . . 48Figura 12 –Módulo CC2530ZNP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Figura 13 –Sensor de Temperatura LM35. . . . . . . . . . . . . . . . . . . . . . . . 49Figura 14 –Topologia de Rede Escolhida. . . . . . . . . . . . . . . . . . . . . . . . 50Figura 15 –Simulação Carro Estacionário. . . . . . . . . . . . . . . . . . . . . . . . 53Figura 16 –Simulação Carro em Movimento. . . . . . . . . . . . . . . . . . . . . . 55

    Figura 17 –Perfil Térmico Desejado pelo Usuário. . . . . . . . . . . . . . . . . . . . 59Figura 18 –Série de Fourier para o Perfil Desejado. . . . . . . . . . . . . . . . . . . 60Figura 19 –Perfil Térmico e Aproximação. . . . . . . . . . . . . . . . . . . . . . . . 60Figura 20 –Resultado da Aproximação do HMM. . . . . . . . . . . . . . . . . . . . 61Figura 21 –Métrica MSE para Estimativa de Erro. . . . . . . . . . . . . . . . . . . 61Figura 22 –Métrica MSE para 100 semanas. . . . . . . . . . . . . . . . . . . . . . . 62Figura 23 –Perfil Térmico Desejado (anteriormente à mudança). . . . . . . . . . . 63Figura 24 –Perfil Térmico Desejado (posteriormente à mudança). . . . . . . . . . . 63Figura 25 –Perfis Térmicos Desejado e Estimado para a Semana 1. . . . . . . . . . 64Figura 26 –Perfis Térmicos Desejado e Estimado para a Semana 2. . . . . . . . . . 64Figura 27 –Perfis Térmicos Desejado e Estimado para a Semana 3. . . . . . . . . . 64Figura 28 –Perfis Térmicos Desejado e Estimado para a Semana 4. . . . . . . . . . 65Figura 29 –Perfis Térmicos Desejado e Estimado para a Semana 5. . . . . . . . . . 65Figura 30 –Erro Quadrático e MSE para a Semana 1. . . . . . . . . . . . . . . . . 65Figura 31 –Erro Quadrático e MSE para a Semana 2. . . . . . . . . . . . . . . . . 66Figura 32 –Erro Quadrático e MSE para a Semana 3. . . . . . . . . . . . . . . . . 66Figura 33 –Erro Quadrático e MSE para a Semana 4. . . . . . . . . . . . . . . . . 66

  • Figura 34 –Erro Quadrático e MSE para a Semana 5. . . . . . . . . . . . . . . . . 67

    Figura 35 –Arquitetura Final Implementada. . . . . . . . . . . . . . . . . . . . . . 71Figura 36 –Perfil de Temperatura Obtido. . . . . . . . . . . . . . . . . . . . . . . . 73Figura 37 –Perfis de Temperatura Anteriormente à Mudança. . . . . . . . . . . . . 74Figura 38 –Perfis de Temperatura Posteriormente à Mudança. . . . . . . . . . . . 74Figura 39 –Perfil Térmico Estimado pelo HMM, Semana 1. . . . . . . . . . . . . . 75Figura 40 –Perfil Térmico Estimado pelo HMM, Semana 2. . . . . . . . . . . . . . 75Figura 41 –Perfil Térmico Estimado pelo HMM, Semana 3. . . . . . . . . . . . . . 75Figura 42 –Perfil Térmico Estimado pelo HMM, Semana 4. . . . . . . . . . . . . . 76Figura 43 –Perfil Térmico Estimado pelo HMM, Semana 5. . . . . . . . . . . . . . 76

  • Lista de tabelas

    Tabela 1 – Tecnologias de Redes sem Fio. . . . . . . . . . . . . . . . . . . . . . . . 30

    Tabela 2 – Lista Completa de Materiais Utilizados. . . . . . . . . . . . . . . . . . 72

  • Parte I

    Introdução

  • 19

    1 Introdução

    Com o aumento no desempenho e diminuição do tamanho de dispositivos de com-putação, juntamente com avanços em outras áreas relacionadas, aumentou-se o númerode pesquisas realizadas sobre ambientes inteligentes, onde dispositivos incorporados aoambiente visam melhorar a experiência do usuário (Cook Das, 2007).

    Atualmente, diversas técnicas são pesquisadas com o objetivo de desenvolver oumelhorar sistemas para automação residencial. Esses sistemas podem proporcionar maiorconforto e segurança para os usuários que estão presentes nesses ambientes.

    A automação inteligente pode propiciar maior comodidade para as pessoas inseri-das em ambientes residenciais por diminuir a necessidade de realizar trabalhos repetitivosou rotineiros, tais como acender lâmpadas, procurar canais de preferência. Também podedispensar a preocupação com variáveis do ambiente, tais como temperatura, umidade eluminosidade (Zambiasi, 2002).

    Projetos de residências inteligentes têm atraído crescente interesse, pois tornampossível a atuação de módulos eletrônicos em uma residência para realizar tarefas com-plexas, interagir com os usuários e também com o meio físico. Entretanto, estes projetossão de extrema complexidade e encontram diversos desafios.

    O intuito deste trabalho é apresentar uma forma alternativa de implementarum módulo para ambientes inteligentes, utilizando para isso uma estrutura hierárquicamestre-escravos, juntamente com técnicas de aprendizagem de máquina. Mais especifi-camente, é sugerida uma arquitetura para implementar um módulo de aprendizagem demáquina que torne mínima ou desnecessária a intervenção do usuário sobre equipamentosde controle de temperatura, visando então a elevação do conforto térmico em lares. Estemódulo é conectado à uma rede de comunicação residencial onde, futuramente, outrosmódulos com diferentes aplicações poderão ser adicionados. É valido salientar que o focodeste trabalho está na validação e implementação do sistema físico em uma plataformaembarcada e, portanto, é proposto um sistema simplificado considerando somente umavariável de interesse (temperatura).

    1.1 Descrição do Problema

    Os primeiros equipamentos eletrônicos apresentavam interface homem-máquinabem simples, e para utilizá-los, era necessário que o usuário estivesse fisicamente próximo

  • 20 Capítulo 1. Introdução

    ao equipamento eletrônico. Na década de 50 foi inventado o primeiro dispositivo de con-trole remoto para equipamentos televisores. Com esse dispositivo, o usuário era capaz demudar de canal e ajustar o volume sonoro de sua televisão remotamente Mais de meioséculo se passou e com o avanço da tecnologia, diversos equipamentos eletrônicos foramdesenvolvidos, tais como equipamentos para controle de temperatura, equipamentos derádio e televisão, tocadores de CD e DVD, home theater, câmeras de segurança, entreoutros. Entretanto, a forma de controlá-los ainda é bastante similar àquela de quase 60anos atrás: por meio de dispositivos de controle remoto;

    Com a frequente necessidade de intervenção, por parte do usuário, em equipamen-tos utilizados no dia-a-dia, começa-se a estudar formas para tornar este tipo atividadeautomática. A utilização de aprendizagem de máquina com aplicações em automaçãoresidencial é uma forma de solucionar esse problema e é objeto de estudo deste trabalho.

    1.2 ObjetivosEste trabalho tem como objetivo principal desenvolver um sistema para controle

    de temperatura utilizando Modelos Ocultos de Markov (Hidden Markov Models – HMM)com aplicação em automação residencial. Destacam-se também objetivos secundários, quefornecem a estrutura para o desenvolvimento do objetivo principal mencionado. São esses:

    • propor e implementar o algoritmo de treinamento;• projetar a arquitetura do sistema;• especificar e adquirir as unidades que constituem os módulos do sistema proposto,

    bem como definir o padrão de comunicação;• realizar validação do sistema e corrigir eventuais problemas.

    1.3 JustificativaNeste trabalho é proposta a utilização de HMM para aplicações em automação

    residencial. A escolha do método de aprendizagem de máquina HMM deve-se, primeira-mente, ao fato de que a variável em questão – temperatura desejada por um usuário deuma residência – não pode ser observada diretamente. HMMs tem como principal carac-terística realizar observações indiretas para identificar o estado – neste caso, o valor detemperatura – que tem maior probabilidade de ser desejado pelo usuário. Além disso,HMM é um método de aprendizagem supervisionado, onde a aprendizagem é feita porexemplos. Essa abordagem é pertinente ao caso em questão. Adicionalmente, HMMs sãoprocessos Markovianos, e portanto a probabilidade de um processo evoluir para um es-tado qualquer depende exclusivamente do estado atual do sistema. Em outras palavras,o modelo não leva em consideração a evolução do sistema, mas somente a configuração

  • 1.4. Metodologia 21

    na qual o sistema se encontra no instante de tempo presente. Por último, HMM consisteem um modelo probabilístico simples e intuitivo, e por esse motivo seus algoritmos detreinamento não apresentam extrema complexidade de implementação.

    1.4 MetodologiaNo contexto do presente trabalho, o ambiente estudado e o perfil de usuário em

    questão devem ser definidos. Dentre as principais considerações acerca do ambiente estu-dado, podem ser listadas:

    1. O ambiente em questão é uma residência simples e relativamente pequena: um apar-tamento pequeno sem divisórias para quarto, cozinha ou sala. Este ambiente é equi-pado com um equipamento ar condicionado exclusivo para esta residência.

    2. O usuário deste sistema é um trabalhador comum, que acorda pontualmente às06h45 de segunda a sexta-feira, toma café da manhã, se veste adequadamente parair ao trabalho e sai de casa por volta das 08h00. Retorna à sua residência às 17h00nas segundas, quartas e sextas-feiras. Nas terças e quintas-feiras, volta para casaàs 20h00. De domingo a quinta-feira, o usuário costuma dormir às 22h00, devido àjordana de trabalho no dia seguinte. Nos dias restantes, vai para cama às 00h00 eacorda às 09h00 no dia seguinte. Na sexta-feira pela noite, costuma sair com amigospor volta das 21h00 e retorna às 23h00. O usuário não tem rotina definida para ossábados. Nos domingos costuma ficar em casa, cozinhar, fazer faxina, ler livros eassistir filmes.

    3. É sabido que a zona de conforto térmico do usuário está entre 21 e 25 graus centígra-dos. A residência está localizada em Brasília, onde as estações do ano não são bemdefinidas. Em outras palavras, não há invernos rigorosos nem verões escaldantes e,portanto, a sensação térmica nesta cidade é aproximadamente igual à temperaturaverdadeira.

    Uma metodologia do tipo bottom-up para desenvolvimento de sistemas embarca-dos (Gajski et al., 2009) foi utilizada neste trabalho. Todas as implementações de softwaresão feitas utilizando a linguagem C. Para efeito de validação do sistema, o erro de pre-visão é estimado usando a métrica Erro Quadrático Médio (MSE). Durante a descriçãoinicial do sistema, é utilizado um computador pessoal baseado em um processador Intelcore i5 com 4GB de memória RAM e sistema operacional OS X. A implementação fi-nal é realizada em plataformas de desenvolvimento para sistemas embarcados. O sistemamestre, onde é implementado o HMM, é computador de baixo custo Raspberry Pi comprocessador ARM11, 512 MB de flash, operando a 700 MHz. Finalmente, o módulo demonitoramento de temperatura é implementado com o CC2530ZNP, que é um módulo

  • 22 Capítulo 1. Introdução

    que contém o System on Chip (SoC) CC2530 para comunicação sem fio e o microcon-trolador MSP430 da Texas Instruments. Desta forma, a metodologia de desenvolvimentodeste projeto segue as seguintes fases:

    Fase 1: Revisão bibliográfica sobre os principais tópicos que estão relacionados com au-tomação residencial e modelos de aprendizagem de máquina. Particularmente, sãoestudados processos Markovianos, com maior atenção para HMMs.

    Fase 2: Definição do algoritmo de treinamento a ser utilizado pelo módulo de aprendi-zagem de máquina.

    Fase 3: Especificação da rede de comunicação doméstica.Fase 4: Modelagem, descrição e simulação, em computador pessoal, do sistema integrado

    para previsão do perfil de usuário.Fase 5: Preparação dos ambientes de trabalhos e desenvolvimento dos módulos mestre e

    de monitoramento nas plataformas de desenvolvimento.Fase 6: Implementação da rede de comunicação.Fase 7: Integração dos módulos desenvolvidos e simulações funcionais do sistema inte-

    grado.Fase 8: Desenho de experimentos e testes de validação numérica do sistema.

    1.5 Organização do Trabalho

    O capítulo 2 corresponde ao referencial teórico necessário para entender o con-texto deste trabalho. São introduzidos conceitos relacionados à automação residencial eà classificação de modelos de aprendizagem de máquina, bem como uma revisão sobreconceitos da teoria da probabilidade. São discutidos, ainda no capitulo 2, alguns modelosMarkovianos e trabalhos correlatos na área de automação residencial.

    No capítulo 3 é apresentada a arquitetura proposta para solução do problema, bemcomo especificações dos módulos necessários a este sistema. São apresentados também opseudocódigo do algoritmo de treinamento e a métrica escolhida para efetuar a validaçãodo sistema. Por último, são discutidas simulações acerca de um problema similar que foisolucionado com emprego de HMM.

    No capítulo 4 são apresentados o perfil de temperatura do usuário, a aproxima-ção utilizada para os dados de treinamento, as condições e, por último, resultados dassimulações, em computador pessoal, do algoritmo HMM implementado. Preocupou-se emavaliar os resultados das simulações com uma métrica de estimativa de erro.

    Questões sobre a implementação física do sistema, arquitetura final e lista demateriais utilizados, desenho dos experimentos e condições de teste são apresentadas no

  • 1.5. Organização do Trabalho 23

    capítulo 5 deste trabalho. Ainda nesse capítulo, são mostradas os resultados dos testesexperimentais, bem como discussões sobre os mesmos.

    O capítulo 6 traz as principais conclusões sobre o presente trabalho, ao passo queos principais documentos produzidos são apresentados nos Apêndices.

  • Parte II

    Referencial Teórico

  • 27

    2 Referencial Teórico

    Este capítulo apresenta os principais conceitos relacionados à automação residen-cial, aos modelos de aprendizagem de máquina, bem como uma revisão teórica acercade conceitos básicos de probabilidade, que são necessários para o completo entendimentode modelos Markovianos. Trabalhos relacionados na área de automação residencial sãodiscutidos no final deste capítulo.

    2.1 Automação ResidencialA utilização de dispositivos computadores e redes de comunicação possibilita a

    automatização de processos em uma residência (Bolzani, 2004). De acordo com Osório etal. (2010) e Bolzani (2004), a automação residencial visa aperfeiçoar a qualidade de vidados moradores, melhorando as dimensões conforto, segurança e eficiência energética.

    A principal questão em pauta na automação residencial aborda a necessidade deinterconectar sistemas eletrônicos e eletromecânicos presentes nas residências, tendo emvista que muitas vezes estes sistemas estão isolados (Aarts e Roovers, 2004). De acordocom Bolzani (2007), é indispensável que o monitoramento e o controle destes sistemassejam realizados remotamente, via rede doméstica cabeada ou sem fio.

    Atualmente, projetos que visam o desenvolvimento e implantação desses novossistemas encontram severos desafios, devidos à extrema complexidade de implementaçãodas funcionalidades requeridas por tais sistemas. De acordo com Aarts Roovers, (2004) eOsório et al. (2010), estes sistemas devem:

    • ser sensíveis à presença dos usuários e ao contexto atual;• disponibilizar o acesso à informação em qualquer lugar da residência, de forma

    pervasiva;• proporcionar interação natural com os usuários do sistema;• estar, para o usuário, em plano de fundo;• priorizar a interação social, o bem estar e o conforto dos indivíduos.

    Nas subseções seguintes são listados vários sistemas que podem coexistir em umaresidência e modelos de comunicação para automação residencial.

  • 28 Capítulo 2. Referencial Teórico

    2.1.1 Variáveis Físicas a Serem Automatizadas

    O ambiente de uma residência inteligente apresenta diversos subsistemas, que de-verão ser integrados e possuir um controle unificado (Medeiros, 2009). Na Figura 1 épossível ter uma ideia da variedade de subsistemas que podem coexistir em um ambienteintegrado.

    Figura 1 – Subsistemas de uma residência.

    Os subsistemas numerados na Figura 1 são listados a seguir:

    1. Irrigação de jardim (horários programados e sensores de umidade);2. Cabeamento estruturado (dados, voz e imagem);3. Circuito fechado de TV;4. Controle de acesso (biometria, cartões de proximidade); item Controle de ilumina-

    ção;5. Controle de utilidades;6. Controle de monitoramento de elevadores;7. Controle de monitoramento de medições (gás, água e eletricidade);8. Controle e monitoramento do sistema de climatização;9. Entretenimento;

    10. Redes de dados condominial;11. Sistema de detecção e alarme de incêndio;12. Sistema de segurança.

  • 2.1. Automação Residencial 29

    Inúmeras são as possibilidades de sistemas e processos a serem trabalhados em umprojeto de automação residencial. Contudo, no presente trabalho, apenas uma variávelfísica é considerada: a temperatura, que pode ser controlada por sistemas de aquecimento,ventilação ou ar condicionado.

    2.1.2 Modelos de Comunicação

    De acordo com Silva (1994), um modelo de comunicação trata-se de um modelomatemático, para permitir a transmissão de um conjunto de informações quantificáveisde um lugar para outro, através de um ponto A (o emissor) para um ponto B (o receptor).A informação, uma vez codificada em sinais por um emissor, seria transmitida através deum canal (a mídia) para um receptor que processaria a sua decodificação.

    Neste trabalho, objetiva-se utilizar uma tecnologia de comunicação que atenda àsseguintes características:

    • Alcance suficiente para cobrir a área de uma residência comum;• Baixo consumo de potência;• Taxa transmissão de dados adequada para monitoramento de sensores.

    Dentre os modelos de comunicação que atendem às características supracitadas,são discutidos neste trabalho os protocolos ZigBee, CAN e RS-485.

    2.1.3 Protocolo ZigBee

    Dentre as diversas tecnologias sem fio disponíveis, o ZigBee é um padrão globale aberto que tem como base o protocolo 802.15.4 (IEEE, 2011) criado pelo Institute ofElectrical and Electronics Engineers – IEEE, desenvolvido como solução para redes semfio com baixo consumo de energia, baixa taxa de transmissão, segurança, confiabilidadee baixo custos de aquisição, instalação e manutenção (Oliveira, 2010).

    O padrão ZigBee provê uma rede de curto alcance e boa relação custo-benefício.Foi desenvolvido com ênfase em aplicações de baixo custo alimentadas por bateria, taiscomo automação residencial e predial (Monsignore, 2007).

    De acordo com Streeton Stanfield (2005), essa tecnologia está sendo consideradacomo a melhor solução para sistemas de comunicação de baixa taxa de transferência dedados e curto alcance. Outras características importantes desse padrão é que sua com-plexidade é simples, e portanto, pode ser implementado em microcontroladores de baixocusto, sua rede pode conter centenas de dispositivos a ela conectados e opera também nasbandas não licenciadas de 2.4GHz, 868MHz e 915MHz.

  • 30 Capítulo 2. Referencial Teórico

    A Tabela 1 ilustra a superioridade do protocolo ZigBee, no contexto deste trabalho,em relação a outras tecnologias de redes sem fio.

    Tabela 1 – Tecnologias de Redes sem Fio.

    Propriedade 802.11 Wi-Fi Bluetooth Zigbee

    Frequência deOperação 2.4 GHz 2.4 GHz 2.4 GHz

    Taxa de Dados 11 Mbit/s 1 Mbit/s 250 kbit/sAlcance 100 metros 10 metros 10 a 100 metros

    Formas deConexão Point-to-multipoint Ad hoc, piconets Ad hoc, peer-to-peer, mesh

    Complexidade alta alta baixaConsumo de

    Potência alto médio baixo

    Aplicações WLAN hotspotsFones de ouvido sem fio,

    ConexõesPC-PDA-laptop

    Monitoramento industrial,Automação residencial,

    Redes de sensores

    Em uma rede ZigBee são identificados dois tipos de dispositivos: (Full FunctionDevice – FFD) e Dispositivos de Funções Reduzidas (Reduced Function Device – RFD).Dispositivos FFD são mais complexos e precisam de hardware mais potente para im-plantação da pilha de protocolos e, consequentemente, consomem mais energia e proces-samento. Podem se comunicar com quaisquer membros da rede (Monsignore, 2007). Jáos dispositivos RFD podem comunicar apenas com dispositivos FFD e, em geral, reque-rem menos capacidade de processamento, memória e potencia (Oliveira, 2010). Devido aobaixo consumo de energia, os dispositivos RFD são adequados para uso em nós sensorese atuadores.

    O padrão ZigBee especifica três possíveis tipos de nós em uma rede: coordenador(ZigBee Cordinator – ZC), roteador (ZigBee Router – ZR) e end device (ZigBee EndDevice – ZED). O nó coordenador é mandatório, responsável por atividades de gerencia-mento de rede, tais como a admissão de outros nós na rede, atribuição de endereços de redee inicialização da rede. Nós roteadores são utilizados para estender a área de coberturade uma rede e também para criar rotas adicionais de dados, aumentando então a confi-abilidade da rede. Um nó end device apresenta funcionalidade apenas para comunicar-secom o nó pai (coordenador ou roteador. Dentre os tipos de dispositivos, o end device é oque consome menor quantidade de recursos, tais como memória, processamento e energia(Oliveira, 2010).

    A especificação do padrão ZigBee permite que três topologias de rede diferentespodem ser implementadas. São elas: estrela, árvore e malha (Streeton e Stanfield, 2005).Estas topologias estão representadas graficamente na Figura 2.

  • 2.1. Automação Residencial 31

    Figura 2 – Topologias de Rede.

    De acordo com Monsignore (2007), na configuração estrela o dispositivo coorde-nador da rede se encarrega de toda a comunicação efetuada em cada um dos canais decomunicação. O coordenador deve ser capaz de se comunicar com qualquer outro disposi-tivo presente na rede e deve estar no modo de recepção quando não estiver transmitindo,o que leva a um alto consumo de potência deste dispositivo. A topologia Árvore apre-senta características similares à topologia Estrela. Uma vantagem desta topologia é quedispositivos roteadores podem ser adicionados entre os nós coordenador e end device paraaumentar a cobertura geográfica da rede. A última topologia de rede suportada pelo pa-drão ZigBee é a Malha. Por prover uma ampla quantidade de rotas, sua principal vantagemé a confiabilidade e rendimento da rede.

    2.1.4 Protocolo Controller Area Network – CAN

    O CAN é um protocolo de comunicação serial que suporta um eficiente controleem tempo real com um nível elevado de segurança. Os diferentes tipos de redes CANe suas aplicabilidades são regulamentados pela Society of Automotive Engineers – SAE(Luz, 2010). Sendo assim, as versões desse protocolo são definidas em escala mundial, ouseja, seguem um padrão.

    Diante das funcionalidades desse protocolo, o mesmo vem sendo difundido em di-ferentes mercados, não somente para o ramo automobilístico, mas também em aplicaçõesde automação industrial e transmissão de voz (Luz, 2010). Por ter sido concebido emambientes de altos níveis de ruído e alternância de alimentação, este protocolo é extre-mamente robustos e confiável. Dentre as principais características da rede CAN, pode-secitar (Ferreira, 2009):

    • Faixa de operação de até 1Mbps para curtas distâncias• Excelente detecção de erros• Flexibilidade de configurações• Utilização de mensagens curtas de até 8 bytes• Controle de rede por prioridade de mensagens

  • 32 Capítulo 2. Referencial Teórico

    • Consistência dos dados

    Em uma rede CAN, todos os nós podem requisitar utilizar o barramento de trans-ferência dos dados, porém, a cada solicitação é necessário verificar a disponibilidade dobarramento (Luz, 2010).

    De acordo com Luz (2010), não há necessidade de definir a rede nas camadas físicae de enlace no protocolo CAN, pois suas implementações já são definidas. Portanto, osdesenvolvedores da rede CAN devem se preocupar apenas com a definição da camada deaplicação.

    O protocolo CAN apresenta um conceito bastante importante, o da dominância debit (Barbosa, 2003). Dessa forma, neste protocolo existem dois possíveis bits, um chamadode recessivo e outro de dominante. O bit recessivo representa o estado de repouso da rede,a situação onde nenhum pacote está sendo transmitido. E o dominante, a situação oposta.(Luz, 2010).

    De acordo com Barbosa (2003), o método de transmissão na rede CAN está relacio-nada com os níveis de tensão entre os fios CAN_H e CAN_L. De acordo com a convençãoutilizada, o bit recessivo é considerado em nível lógico alto, ao passo que o bit dominanteé considerado em nível lógico baixo (Luz, 2010). Para que no barramento seja gerado umbit dominante é necessário produzir uma diferença de potencial de aproximadamente 2volts entre os fios CAN_L e CAN_H, sendo que a tensão no canal CAN_L deve ser deaproximadamente 1.5 volt (Ferreira, 2009).

    Fisicamente, os fios CAN_H e CAN_L compõem um par trançado (Ferreira,2009). Por este motivo, ruídos que causem distorções no sinal elétrico de um dos fiosirão gerar efeito similar no outro fio. Desta forma, o efeito do sinal ruidoso é minimizado,tendo em vista que a transmissão de dados na rede CAN baseia-se na diferença de tensãoentre os fios CAN_H e CAN_L (Luz, 2010). É esta forma de transferência de informa-ção que garante confiabilidade e robustez à rede (Barbosa, 2003). A Figura 3 ilustra atopologia da rede CAN.

    Figura 3 – Topologia de Rede CAN.

  • 2.2. Modelo de Aprendizagem para Automação Residencial 33

    2.1.5 Protocolo RS-485

    Criado em 1983, o protocolo RS-485 é capaz de prover uma forma bastante ro-busta de comunicação multiponto. Vem sendo muito utilizado na indústria em controlede sistemas e comunicação de dados de baixa densidade (Comm5, 2013). É um padrãofísico de comunicação serial e baseia-se no conceito de transmissão diferencial, que é re-alizado fisicamente utilizando par trançado de fios (Arboleda, 2006). Através deste parde fios, os dispositivos conectados a esta rede transmitem e recebem dados. Cada dispo-sitivo aciona o seu transmissor apenas no instante que necessita transmitir, mantendo-odesligado no restante do tempo, de modo a permitir que outros dispositivos transmitamdados (Gazziro, 2013).

    De acordo com Arboleda (2006) e Gazziro (2013), dentre as principais caracterís-ticas do padrão RS-485, destacam-se:

    • Comunicação multiponto, permitindo até 32 dispositivos na rede;• Distância máxima de até 1200 metros;• Robustez à interferência de origem eletromagnética;• Arquitetura Mestre/Escravo.

    A Figura 4 ilustra uma rede RS-485, onde n Æ 31.

    Figura 4 – Barramento RS-485.

    Na próxima seção são classificados os tipos de modelos de aprendizagem de má-quina e suas características.

    2.2 Modelo de Aprendizagem para Automação ResidencialConsidera-se que uma máquina aprende quando seu desempenho em alguma tarefa

    definida melhora com a experiência. Em outras palavras, a máquina tem capacidade demodificar-se para obter melhor desempenho na próxima vez que executar determinadatarefa (Michalski et al., 1983).

  • 34 Capítulo 2. Referencial Teórico

    Algoritmos de aprendizado tem sido utilizado em diferentes domínios de aplicação,tais como reconhecimento de frases, sistemas especialistas, processamento de linguagemnatural, música, predição de sequências e robótica (Michalski et al., 1983).

    De acordo com Duda et al. (2001), é possível classificar aprendizagem de máquinaem três subconjuntos, baseando-se na dependência do professor. Na aprendizagem su-pervisionada, um professor proporciona um conjunto de exemplos (dados) de treinamentocom rótulo, do qual o aprendiz deveria generalizar uma representação. Já na aprendizagemnão-supervisionada, nenhuma informação sobre as entradas é dada, e portanto, o sistemanão sabe quão correta estão suas aproximações. O algoritmo cria grupos a partir dosdados de entrada em uma forma “natural”. Aprendizagem por reforço encontra-se entreesses dois, onde nenhuma saída desejada é informada ao sistema, entretanto, o algoritmoacaba por conseguir conhecimento acerca da saída, se ela está correta ou não.

    Dentre as três classificações de aprendizagem de máquina mencionadas, a maissimples e que melhor convém ao contexto deste trabalho é a que trabalha em modosupervisionado, pois permite o treinamento com exemplos bem definidos e rotulados,visto que é possível observar diretamente o comportamento do usuário.

    Na seção seguinte são abordados conceitos básicos de probabilidade para melhorentender os Modelos Markovianos, que são discutidos nas seções 2.4 e 2.5.

    2.3 Conceitos de ProbabilidadePara melhor compreensão do conteúdo deste trabalho, é de suma importância

    introduzir alguns conceitos relacionados à teoria da probabilidade.

    2.3.1 Variável Aleatória

    Se x é um experimento com espaço amostral W e X é uma função que associa umnúmero real X(e) a cada resultado de e œ W, então X(e) é chamada variável aleatória(Hines et al., 2006). A Figura 5 ilustra este conceito.

    Figura 5 – Conceito de variável aleatória.

    Na Figura 5, a parte (a) ilustra W: espaço amostral de x, e a parte (b), RX

    : espaçoimagem de X. Uma variável aleatória é, em outras palavras, uma função que atribui um

  • 2.3. Conceitos de Probabilidade 35

    valor numérico a cada resultado individual de uma experiência aleatória.

    Diz-se que uma variável aleatória é discreta se todos os seus possíveis valores podemser listados, e estes valores pertencem a um conjunto finito ou infinito numerável (Portnoi,2010). Exemplos: número de computadores com defeito em uma fábrica, resultado dajogada de uma moeda ou dado.

    Uma variável aleatória é contínua se seus valores não podem ser listados, maspodem assumir um número infinito de valores em um intervalo finito ou infinito (Portnoi,2010). Exemplos: altura das pessoas, intervalo de tempo entre eventos.

    2.3.2 Probabilidade Conjunta

    Dados dois eventos A e B, P (A fl B) é chamada de probabilidade conjunta entreos eventos. Matematicamente, esta probabilidade pode ser calculada como mostrado naEquação 2.1 (Garcia, 2008).

    P (A fl B) = P (A) + P (B) ≠ P (A fi B) (2.1)

    A propriedade 2.1 pode ser verificada empiricamente ao construir o diagrama deVenn para um cenário qualquer. Para eventos mutualmente exclusivos, P (A fl B) = 0,pois P (A fi B) = P (A) + P (B).

    2.3.3 Probabilidade Condicional

    Dado um evento B com probabilidade não-nula, define-se a probabilidade condi-cional de um outro evento A, condicionado à ocorrência de B, como P (A|B).

    P (A|B) = P (A fl B)P (B) (2.2)

    A Equação 2.2 ilustra matematicamente como calcular a probabilidade condicionalutilizando o conceito de probabilidade conjunta.

    2.3.4 Independência entre Eventos

    Sejam dois eventos A e B tais que P (A) ”= 0 e P (B) ”= 0. Diz-se que há inde-pendência entre estes eventos se a probabilidade de ocorrência de um deles não afeta aocorrência do outro evento (Eisencraft, 2007). Matematicamente isto pode ser represen-tado da seguinte forma:

    P (A|B) = P (A) (2.3)

    P (B|A) = P (B) (2.4)

  • 36 Capítulo 2. Referencial Teórico

    Combinando-se as Equações 2.3 e 2.4, chega-se à conclusão de que a probabilidadeconjunta entre dois eventos estatisticamente independentes é regida pela Equação 2.5.

    P (A fl B) = P (A)P (B) (2.5)

    Neste ponto, chama-se a atenção do leitor para não confundir eventos estatistica-mente independentes com eventos mutualmente exclusivos, nos quais a ocorrência de umevento impossibilita a ocorrência de outro evento.

    2.3.5 Função Densidade de Probabilidade Gaussiana

    Também conhecida como Função Densidade de Probabilidade Normal, é a maisutilizada e aparece praticamente em todas as áreas da Ciência e Engenharia. Este fatodeve-se à sua precisa descrição de quantidades práticas e que tenham significado no mundoem que vivemos, especialmente quantidades que são resultantes de diversos efeitos ale-atórios (Pleyton et Pleebes, 2001). A função densidade gaussiana é matematicamentedefinida pela Equação 2.6.

    f(x, µ, ‡) = 1‡

    Ô2fi

    e≠(x≠µ)2

    2‡2 (2.6)

    onde os parâmetros µ e s representam, respectivamente, a média e desvio padrão dadistribuição.

    A Figura 6 ilustra graficamente a diferentes distribuições densidade de probabili-dade gaussianas. Verifica-se que os parâmetros µ e s são os únicos responsáveis pela formada distribuição.

    Figura 6 – Comparação entre diferentes distribuições gaussianas.

  • 2.4. Cadeias de Markov 37

    2.3.6 Processos Estocásticos

    O termo processo estocástico (ou processo aleatório) é frequentemente utilizadoem relação a observações de um processo físico, orientado no tempo, que é controlado porum mecanismo aleatório. Mais precisamente, um processo estocástico é uma sequência devariáveis aleatórias X

    t

    , onde t œ T é um índice de tempo ou de sequência (Hines et al.,2006).

    De acordo com Taylor et Karlin (1998), processos estocásticos podem ser enten-didos como funções de um ou vários argumentos determinísticos cujo valores de saídasão variáveis aleatórias. No caso mais simples possível e discretizado no tempo, um pro-cesso estocástico equivale a uma sequência de variáveis aleatórias conhecida como sérietemporal. Cadeias de Markov, a serem explicadas na próxima seção, consistem um tiposimplificado de processo estocástico.

    2.4 Cadeias de MarkovProcessos Markovianos são um tipo especial de processos estocásticos que têm

    aplicabilidade junto à química, biologia, física, informática, entre outros, provavelmenteabrangendo todas as áreas do conhecimento humano (Espindola, 2009).

    Em seu trabalho, Jelinek (1988) define processos estocásticos de tempo discretosobre um espaço de estados também discreto e finito. Seja uma sequência de variáveisestocásticas X0, X1, . . . , Xt, . . . , XT , onde 0 Æ t Æ T representa uma ordenação discretano tempo, definidas para um mesmo espaço de estados discreto e finito. Se nada mais édito, a probabilidade conjunta dessas variáveis estocásticas é dada pela fórmula de Bayes(ver Equação 2.7).

    P (X0X1 . . . XT ) =TŸ

    t=0P (X

    t

    |X0X1 . . . Xt≠1) =

    = P (X0)P (X1|X0)P (X2|X0X1) . . . P (XT |X0X1 . . . XT ≠1)(2.7)

    Um processo estocástico que é regido pela Equação 2.7 é dito Markoviano se aprobabilidade desse processo evoluir para um estado qualquer no instante seguinte é de-pendente única e exclusivamente do estado atual do sistema. Matematicamente:

    P (Xt

    |X0X1 . . . Xt≠1) = P (Xt|Xt≠1) (2.8)

    Em outras palavras, dada a sequência temporal de realizações em um processoestocástico Markoviano, a probabilidade de transição de X

    t≠1 para Xt depende apenasdo estado X

    t≠1. De acordo com Espindola (2009), Essa propriedade é conhecida como“Markov property”.

  • 38 Capítulo 2. Referencial Teórico

    Desta forma, para processos Markovianos, a Equação 7 pode ser reescrita da se-guinte forma:

    P (X0X1 . . . XT ) =TŸ

    t=0P (X

    t

    |Xt≠1) =

    = P (X0)P (X1|X0)P (X2|X1)P (X3|X2) . . . P (XT |XT ≠1)(2.9)

    Uma vez definido o que são processos Markovianos, é possível partirmos paradefinição de Cadeias de Markov, que nada mais são do que processos Markovianos emespaços de estados discretos, em tempo contínuo ou discreto.

    Uma Cadeia de Markov discretizada no tempo com espaço de estados discreto efinito apresenta as seguintes características (Espindola, 2009).

    1. Um espaço de estados S = {s1, s2, s3, . . . , sN};2. Uma variável estocástica X a assumir valores do espaço de estados S em diferentes

    instantes de tempo;3. Uma distribuição de probabilidade inicial para cada estado � = {fi

    i

    }, tal que fii

    =P (X0 = si);

    4. Uma distribuição de probabilidade de transição entre estados A = {aij

    }, tal quea

    ij

    = P (Xt

    = sj

    |Xt≠1 = si).

    As probabilidades de transição definidas pela matriz A possuem as seguintes pro-priedades:

    0 Æ aij

    Æ 1 (2.10)

    Nÿ

    j=1a

    ij

    =Nÿ

    j=1P (X

    t

    = sj

    |Xt≠1 = si) = 1 (2.11)

    Em outras palavras, as probabilidades de transição são todas maiores ou iguais azero e menores ou iguais a um. A propriedade 2.11 ilustra que a soma das probabilidadesde transição partindo do estado s

    i

    para todos os estados definidos em S resulta em um,como esperado.

    2.5 Modelos Ocultos de MarkovLargamente utilizados no âmbito da inteligência artificial, os HMMs podem ser

    utilizados para tomar sequências de decisões em casos onde a decisão no tempo presentedepende de parâmetros do tempo anterior (Duda et al., 2001).

    HMM são modelos Markovianos onde a observação da evolução dos estados dosistema se dá de forma indireta, como função probabilística da transição entre os estados

  • 2.5. Modelos Ocultos de Markov 39

    definidos num espaço de estados discreto e finito (Rabiner, 1989). A principal diferençaentre os HMMs e demais formalismos Markovianos, tais como as cadeias de Markov,está na forma de observar o sistema. Enquanto que esta observação é direta na maioriados processos Markovianos, em HMM a observação é indireta, pois é feita por inferência(Espindola, 2009).

    Para melhor entender a diferença entre estes formalismos Markovianos e HMM,basta imaginar o caso em que se deseja saber a condição do clima em determinado local.Uma forma de o fazer é consiste em observar variáveis que estão diretamente ligadas com oclima, tais como temperatura, umidade, luminosidade, entre outras. Esta abordagem, porexemplo, poderia ser utilizada num sistema modelado por uma cadeia de Markov. Outraforma de atingir esse objetivo é observando variáveis que indiretamente são influencia-das pelo clima. Por exemplo, observando-se o número de pessoas que caminham naquelalocalidade e como estão vestidas, tem-se indicativos da condição do clima naquele local.

    No contexto deste trabalho, HMMs apresentam formalmente as seguintes caracte-rísticas (Espindola, 2009):

    1. Um espaço de estados S = {s1, s2, s3, . . . , sN};2. Um conjunto de observáveis � = {y1, y2, y3, . . . , yM};3. Uma variável estocástica Q a assumir valores do espaço de estados S em diferentes

    instantes de tempo;4. Uma variável estocástica O a assumir valores do conjunto de observáveis � em

    diferentes instantes de tempo;5. Uma distribuição de probabilidade inicial para cada estado � = {fi

    i

    }, tal que fii

    =P (Q0 = si);

    6. Uma distribuição de probabilidade de transição entre estados A = {aij

    }, tal quea

    ij

    = P (Qt

    = sj

    |Qt≠1 = si).

    7. Uma distribuição de probabilidade de observação B = {bij

    (k)}, tal que bij

    (k) =P (O

    t

    = yk

    |Qt≠1 = si, Qt = sj).

    Similarmente à Cadeia de Markov, as seguintes propriedades devem ser satisfeitasnuma modelagem de HMM.

    0 Æ aij

    Æ 1 (2.12)

    Nÿ

    j=1a

    ij

    =Nÿ

    j=1P (Q

    t

    = sj

    |Qt≠1 = si) = 1 (2.13)

    0 Æ bij

    (k) Æ 1 (2.14)

  • 40 Capítulo 2. Referencial Teórico

    Mÿ

    k=1b

    ij

    (k) =Mÿ

    k=1P (O

    t

    = yk

    |Qt≠1 = si, Qt = sj) = 1 (2.15)

    As propriedades 2.12 e 2.13 foram discutidas na seção anterior, ao passo que aspropriedades 2.14 e 2.15 apresentam significados similares. Na distribuição de probabili-dade de observação B, as probabilidades b

    ij

    (k) estão compreendidas entre zero e um (VerEquação 2.14). A Equação 2.15 estabelece que dada a transição do estado s

    i

    para o estados

    j

    , a soma das probabilidades dos possíveis observáveis yk

    œ � resulta em um.

    Genericamente, HMMs apresentam um número finito de estados. A cada instantede tempo t, um novo estado é acionado, dependendo das probabilidades de transiçãoe observação do estado atual (Rabiner et Juang, 1986). A Figura 7 ilustra o processoevolutivo de um HMM, onde x(t) representa o estado no instante de tempo t e setashorizontais referem-se à probabilidade da transição de estado ocorrer, dada a observaçãoy do ambiente.

    Figura 7 – Transição de Estados em HMM.

    2.5.1 Algoritmos de Treinamento

    Em HMM há quatro algoritmos de treinamento que estão bem fundamentados naliteratura: Forward, Forward-Backward, Viterbi e Baum-Welch. De acordo com Espindola(2009), a escolha do algoritmo de treinamento deve ser baseada na aplicação em questão.Estes algoritmos são brevemente descritos a seguir:

    Algoritmo Forward: utilizado para calcular, num determinado instante de tempo, oestado mais provável, dado que o histórico de observações é conhecido.

    Algoritmo Forward-Backward: adiciona a parte Backward ao algoritmo Forward, aqual calcula probabilidades de observação nos instantes subsequentes a t, dado umponto de partida (estado) em um instante de tempo t (Espindola, 2009).

    Algoritmo Viterbi: é geralmente utilizado para prever a sequência mais provável deestados que pode ser gerada (Babakura et al. 2014).

    Algoritmo Baum-Welch: utilizado para encontrar a estimativa de máxima verossimi-lhança de parâmetros desconhecidos de um HMM, quando conhecido o histórico deobserváveis.

  • 2.6. Trabalhos Correlatos 41

    Trabalhos correlatos nos âmbitos de automação residencial e HMMs são discutidosno próximo tópico.

    2.6 Trabalhos Correlatos

    Avanços na tecnologia, juntamente com a busca cada vez maior por conforto esegurança, fazem com que as residências tenham mais e melhores sistemas automatizados(Sgarbi, 2007). Algumas vezes estes sistemas são implementados com técnicas de inteligên-cia artificial, entretanto a maioria deles possui apenas mecanismos automáticos (Bolzani,2004). A principal ênfase destes sistemas está no gerenciamento de recursos, segurança,conforto e atualmente em entretenimento (Sgarbi, 2007).

    Muitos dos trabalhos publicados alegam que seus sistemas são inteligentes. Algunsdeles detectam eventos como a presença dos habitantes e suas ações, ou possuem sensoresque conseguem capturar mudanças nas condições do ambiente; a estes eventos são aplica-das reações que estão previamente configuradas (Bolzani, 2004). O conceito de inteligênciadeve ir além de automatizar ou simplesmente aplicar regras pré-estabelecidas; os siste-mas inteligentes devem interagir com os usuários e aprender com seus comportamentos(Sgarbi, 2007).

    Diversos trabalhos têm sido desenvolvidos sob o tema de residências inteligentes.A grande maioria proveniente de países como os Estados Unidos, Japão e ComunidadeEuropeia. É tímida, ainda, a participação do Brasil no número de artigos publicados e deprojetos desenvolvidos. Algumas associações e entidades têm surgido reunindo profissio-nais e ministrando cursos sobre novos produtos e tecnologias (Bolzani, 2004).

    Um dos fatores que motiva os países acima citados a desenvolverem sistemas in-teligentes para residências tem sido a necessidade da economia de recursos naturais eenergéticos. Eles acreditam que através da implementação de sensores, dispositivos inte-ligentes e sistemas de gerenciamento haverá uma significativa redução no consumo destesrecursos, vitais para os seus contínuos processos de desenvolvimento (Bolzani, 2004).

    Poucos artigos foram encontrados pelo autor com o escopo de utilizar HMMspara aplicações em automação residencial e/ou ambientes inteligentes. Crandall et al.(2010) Introduziu a implementação de redes de sensores sem fio para identificar indivíduosutilizando conceitos de HMM. Uddin et al. (2011) conduziram uma pesquisa sobre autilização de HMMs para extrair atributos de perfis de atividades rotineiras em lares.Outro importante trabalho, realizado por Babakura et al. (2014), foca na apresentaçãode um modelo de decisão baseado em HMMs para ambientes inteligentes.

    Até o presente momento, não foi encontrada pelo autor nenhuma produção cien-tífica no Brasil sobre a utilização de HMMs para aplicações em automação residencial.

  • 42 Capítulo 2. Referencial Teórico

    2.7 Conclusão do CapítuloNeste capítulo foram apresentados conceitos de automação residencial e protoco-

    los de comunicação, as classificações dos métodos de aprendizagem de máquina e, comorequisito para melhor entender os modelos Markovianos apresentados, também foram re-visados tópicos básicos sobre Probabilidade. Por último, foi discutido o estado da arte etrabalhos correlatos em automação residencial com emprego de HMMs.

    Com base no que foi estudado, conclui-se que a utilização de HMM constitui umaabordagem válida para aplicações em automação residencial, permitindo realizar umaanálise comparativa com outras técnicas de aprendizado de máquina. Adicionalmente, apresente proposta de trabalho constitui uma contribuição original nas pesquisas sobreautomação residencial realizadas na Universidade de Brasília.

  • Parte III

    Especificação do Sistema

  • 45

    3 Especificação do Sistema

    Este capítulo apresenta a arquitetura proposta dos sistemas geral e simplificado,bem como especificações dos módulos necessários a este sistema. São apresentados, aindaneste capítulo, o pseudocódigo do algoritmo de treinamento, a métrica escolhida paraefetuar a validação do sistema e simulações acerca de um problema similar que foi solu-cionado com emprego de HMM.

    3.1 Sistema GeralEm um projeto de automação residencial, diversas variáveis físicas podem ser con-

    troladas. Para tanto, são necessários módulos de monitoramento destas variáveis e tambémmódulos atuadores que possibilitem aplicar uma lei de controle sobre cada variável emquestão. Todos os módulos devem ser interligados por meio de uma rede de comunicaçãoà uma unidade central de computação, que é responsável por tomar decisões baseadas emmodelos previamente estabelecidos.

    De forma geral, a arquitetura de um sistema de automação residencial pode serentendida como aquela mostrada na Figura 8.

    Figura 8 – Sistema Geral para Automação Residencial.

    Visando usar esta arquitetura para extrair atributos de perfis de atividades ro-tineiras em automação residencial usando HMM, as seguintes considerações devem serressaltadas:

    1. O módulo Mestre, com maior capacidade computacional, implementa, para cadavariável física, o HMM com seu respectivo algoritmo de treinamento.

    2. Dado que o módulo Mestre faz uso dos dados de evolução do perfil de usuário paracada variável física, os requisitos de memória deste módulo devem ser levados emconsideração.

  • 46 Capítulo 3. Especificação do Sistema

    3. Os módulos de monitoramento realizam a leitura das variáveis físicas usando senso-res e conversores de dados.

    4. Os módulos de monitoramento ou de atuação devem informar ao módulo Mestrequando o usuário efetua uma intervenção sobre o sistema, permitindo considerar anova informação para atualizar as distribuições de probabilidade de observação etransição de estados.

    3.2 Caso de Estudo: Monitoramento de Temperatura com HMMNo contexto deste trabalho é proposto um caso de estudo que considera o uso de

    HMM para identificar e aprender o perfil do usuário em relação ao seu conforto térmico.A arquitetura proposta do sistema de automação residencial é mostrada na Figura 9.

    É válido enfatizar que o sistema proposto, ilustrado na Figura 9, tem plena ca-pacidade para comportar diversos outros módulos (assim como mostrado na Figura 8).Entretanto, adicionar mais módulos para sensoriamento de outras grandezas físicas fogedo escopo deste trabalho, que é propor um sistema que torne possível a utilização deHMM para aplicações em automação residencial.

    Figura 9 – Arquitetura do Sistema Proposto.

    Os módulos são conectados por uma rede de comunicação sem fio. O móduloatuador, mostrado em cor cinza na Figura 9, não será objeto de estudo deste trabalhoe, portanto, sua implementação não será realizada. Todavia, é fundamental que sejamconhecidas suas características para o completo entendimento da proposta. A seguir sãodescritos os sistemas presentes em cada um dos módulos.

  • 3.2. Caso de Estudo: Monitoramento de Temperatura com HMM 47

    1. Módulo Mestre

    • SD Card: unidade de armazenamento de dados. Será utilizada pelo algoritmode treinamento.

    • Raspberry Pi: unidade de computação. Responsável por implementar o algo-ritmo de aprendizado e receber/transmitir informações para outros módulos.

    • CC2530ZNP: unidade computacional para transmissão e recepção de dados.

    2. Módulo de Monitoramento

    • Sensor °C: unidade de sensoriamento. Transforma informação da temperaturaem sinal elétrico, a ser interpretado pela unidade de computação.

    • CC2530ZNP: unidade computacional para leitura da unidade de sensoriamento,transmissão e recepção de dados.

    3. Módulo Atuador

    • Equipamento de Controle Térmico: unidade de atuação. Realiza as operaçõesnecessárias estabilizar o ambiente na temperatura informada pela unidade decomputação do módulo mestre.

    • CC2530ZNP: unidade computacional para transmissão e recepção de dados.

    Nas seções seguintes são apresentados em detalhe os sistemas que compõem osmódulos Mestre e de Monitoramento.

    3.2.1 Módulo Computacional (Mestre)

    A escolha do módulo computacional foi baseada em alguns fatores, dentre eles,pode-se listar: disponibilidade, praticidade de utilização, suporte oferecido, tamanho ecusto. Mostrado na Figura 10, o Raspberry Pi, que é um computador com dimensõessimilares a de um cartão de crédito, mostrou-se uma escolha conveniente para a imple-mentação física do módulo mestre.

    Figura 10 – Computador Raspberry Pi.

  • 48 Capítulo 3. Especificação do Sistema

    O Raspberry Pi, modelo B, conta com o processador ARM11 operando a 700Mhz,512 MB de memória flash e 26 pinos de uso geral. Apresenta interfaces ethernet, UART,SPI e I2C e I2S (eLinux, 2014).

    3.2.2 Cartão de Memória SD

    Para armazenar dados, será utilizado um cartão de memória de 8GB classe 4 daSanDisk, mostrado na Figura 11.

    Figura 11 – Cartão de Memória SD.

    Esta memória será utilizada para armazenar tanto o sistema operacional Raspbianutilizado quanto os dados de saída do algoritmo HMM.

    3.2.3 Unidade de Monitoramento (Escravo)

    O módulo escolhido para realizar as atividades de monitoramento, transmissão erecepção de dados é o CC2530ZNP da Texas Instruments (Ver Figura 12), que conta como microcontrolador MSP430, que é ideal para aplicações que requerem baixo consumo deenergia, e o SoC CC2530, que será utilizado para a implementação da rede sem fio.

    Figura 12 – Módulo CC2530ZNP.

    O SoC CC2530 atende as necessidades do modelo de comunicação escolhido, queserá melhor explicado na seção 3.2.5. Quanto ao MSP430, além de ser recomendado paraaplicações alimentadas por baterias, o mesmo conta com um conversor analógico-digitalintegrado de 10 bits, essencial para realizar a leitura do sensor de temperatura (a serdescrito na próxima seção). Uma grande vantagem deste módulo é que a antena é integradana confecção da placa.

  • 3.2. Caso de Estudo: Monitoramento de Temperatura com HMM 49

    3.2.4 Sensor de Temperatura

    Para adquirir informações sobre a temperatura do ambiente, foi escolhida a utili-zação do sensor de temperatura LM35 da Texas Instruments. A Figura 13 ilustra o sensorescolhido.

    Figura 13 – Sensor de Temperatura LM35.

    O sensor escolhido apresenta boas características para monitoramento de tempera-tura em uma residência, tais como acurácia de 0.5 °C, baixo consumo de corrente elétricae faixa de operação de -55 °C até +150 °C. O LM35 não requer calibração externa e podeser conectado de tal forma que sua tensão de saída seja proporcional à temperatura emgraus centígrados (V

    out

    =10mV/°C) (Texas Instruments, 2013). Este sensor será conectadoà unidade de monitoramento, que por sua vez será responsável por enviar informações so-bre a temperatura ambiente para o módulo mestre.

    3.2.5 Rede de Comunicação ZigBee

    Por tornar aplicações em automação residencial mais flexíveis, optou-se neste tra-balho por utilizar uma rede de comunicação sem fio. A Tabela 1 (ver seção 2.1.3) faz acomparação entre importantes tecnologias comunicação sem fio, tais como Wi-Fi, Blueto-oth e ZigBee. O padrão ZiandgBee apresenta alcance relativamente alto para aplicaçõesem automação residencial, aceita várias topologias de rede, conta com uma taxa de trans-ferência de dados suficiente para envio e recepção de informações curtas, tais como leisde ação e apresenta baixos níveis de complexidade de implementação e consumo de po-tência. Além disso, o protocolo ZigBee pode operar em bas não licenciadas e sua relaçãocusto-benefício é considerada alta para aplicações em automação residencial (Evangelista,2010). Ainda na Tabela 1, é possível observar que dentre as principais aplicações do padrãoZigBee, estão:

    • monitoramento industrial;• automação em residencial;• redes de sensores.

  • 50 Capítulo 3. Especificação do Sistema

    De acordo com Atmel (2013), ainda que as tecnologias WiFi e ZigBee operemna mesma faixa de frequência (2400 a 2483 MHz), é possível que essas duas tecnologiascoexistam em um ambiente sem que os níveis de interferência entre elas seja significativo.Quanto à escolha da topologia de rede, a considerada mais adequada para este trabalhoé a do tipo árvore, conforme ilustra a Figura 14.

    Figura 14 – Topologia de Rede Escolhida.

    Pode-se observar na Figura 14. que os dispositivos ZR são utilizados para aumentara cobertura da rede, caso seja necessário. Nesta topologia, o dispositivo ZC comunica-secom todos os outros dispositivos da rede, direta ou indiretamente.

    O hardware escolhido que permitirá a comunicação entre os dispositivos é o CC2530(presente no módulo CC2530ZNP mostrado na Figura 12). Fabricado pela Texas Instru-ments, o transceptor CC2530 é utilizado para implementar redes de comunicação IEEE802.3.4 e ZigBee. Conta com 3 modos de operação de baixo consumo e sua potência detransmissão é programável (até 4.5 mW). Sua frequência de operação é também ajustávelde 2394 MHz a 2507 MHz em intervalos de 1 MHz (Texas Instruments, 2011).

    3.3 Algoritmo de Treinamento Proposto

    Utilizando-se da formalidade de HMMs, descrita na seção 2.5, o algoritmo detreinamento proposto apresenta as seguintes propriedades:

    1. Um espaço de estados S = {s20, s21, s22, . . . , s27}, onde i em si denota valores con-siderados de temperatura para o sistema, em graus centígrados;

    2. Um conjunto de observáveis � = {y1, y2, y3, . . . , yM}, que no contexto deste trabalhocorrespondem às intervenções do usuário no sistema de controle de temperatura emdado instante de tempo t;

    3. Uma variável estocástica Q a assumir valores do espaço de estados S em diferentesinstantes de tempo.

    4. Uma variável estocástica O a assumir valores do conjunto de observáveis � emdiferentes instantes de tempo.

  • 3.3. Algoritmo de Treinamento Proposto 51

    5. Uma distribuição de probabilidade inicial para cada estado � = fii

    , tal que fii

    =P (Q0 = si).

    6. Uma distribuição de probabilidade de transição entre estados A = {aij

    }, tal quea

    ij

    = P (Qt

    = sj

    |Qt≠1 = si). Esta distribuição de probabilidade não leva em conta

    as intervenções realizadas pelo usuário sobre o sistema, entretanto, somente as pro-babilidades de transição entre estados observadas até o tempo presente.

    7. Uma distribuição de probabilidade de observação B = {bij

    (k)}, tal que bij

    (k) =P (O

    t

    = yk

    |Qt≠1 = si, Qt = sj), que é afetada unicamente pelo usuário ao intervir

    no sistema de controle de temperatura.

    A implementação do algoritmo do sistema é baseada no algoritmo de aprendizadoForward, apresentado brevemente na seção seção 2.5.1. O pseudocódigo do algoritmo aser implementado é descrito a seguir.

    Código Principal- Inicializar timer- Criar e inicializar a matriz de probabilidade de transição entre estados- Criar e inicializar a matriz de probabilidade de observação

    Loop: a cada 5 minutos,- Obter leitura do sensor de temperatura- Atualizar matriz de probabilidade de transição entre estados- Consultar matrizes de probabilidade de transição e observação

    (probabilidade conjunta) para identificar o estado mais provávelde ser o desejado pelo usuário

    - Informar sistema de controle de temperatura para resfriar ouaquecer o ambiente, caso necessário.

    Fim do LoopFim do Código Principal

    Interrupção: a cada intervenção do usuário sobre o sistema,- Obter leitura momentânea da temperatura desejada- Atualizar matriz de probabilidade de observação

    Fim da Interrupção

    O pseudocódigo proposto anteriormente, baseado no algoritmo Forward, foi utili-zado em outras situações para resolver um problema similar ao deste trabalho: utilizar

  • 52 Capítulo 3. Especificação do Sistema

    HMM para prever a posição de um automóvel utilizando somente sensores de ruído (mi-crofone), baseando-se em distribuições de probabilidades de transição e observação, queeram atualizadas a cada instante de tempo t. Simulações acerca da solução deste últimoproblema serão discutidas na próxima seção.

    3.4 Métrica para Estimativa de Erro do Sistema de PrevisãoExistem diversas medidas de erro de previsão. A escolha de uma medida de acu-

    rácia pode variar de acordo com a seleção do modelo ou calibração de um dado modeloe com o tamanho das amostras utilizadas. Para alguns autores, algumas medidas de erroapresentam resultados superiores a outras. Morettin et Toloi (1985) indicam o Erro Qua-drático Médio (Mean Square Error – MSE) como uma boa e prática medida de acuráciapara a realização de estudos empíricos.

    O MSE é uma forma de avaliar a diferença entre um estimador e o verdadeiro valorda quantidade estimada. O MSE mede a média do quadrado do erro, com o erro sendo omontante pelo qual o estimador difere da quantidade a ser estimada. Quantitativamente,o MSE é calculado de acordo com a Equação 3.1.

    MSE = 1n

    nÿ

    i=1(Y

    i

    ≠ Ȳi

    )2 (3.1)

    onde n é o número de predições, Yi

    é o valor verdadeiro e Ȳi

    é o valor estimado.

    Neste trabalho será utilizada a medida de estimativa de erro MSE para quantificaro erro associado ao método utilizado para solucionar o problema em questão.

    3.5 Simulações Prévias Usando HMMNesta seção serão discutidas as simulações de dois problemas correlatos, que fo-

    ram solucionados previamente para o projeto final da disciplina Inteligência Artificial naUniversidade de Stanford. Ambos os problemas tratam da previsão da localização de umobjeto dado um conjunto de observações (leituras de sensores) utilizando HMM. No pri-meiro problema, o objeto a ser localizado está estacionário: sua posição não varia como tempo. Já no segundo problema, o objeto a ser localizado está constantemente emmovimento.

    3.5.1 Carro Estacionário

    Neste primeiro problema, o objetivo é descobrir a localização de um carro esta-cionário utilizando somente um microfone. Na Figura 15, o retângulo preto representao carro equipado com microfone, o retângulo cinza representa o carro estacionário cuja

  • 3.5. Simulações Prévias Usando HMM 53

    localização será inferida com base somente na emissão de ruídos por ele, geometrias azuisrepresentam obstáculos e os ladrilhos rosados representam visualmente a probabilidadedo carro cinza estar em determinada posição do ambiente: quanto mais forte a coloraçãode rosa, maior é a probabilidade do mesmo estar presente no ladrilho. As subfiguras de(a) até (h) da Figura 15 ilustram a convergência na previsão da localização do carro cinza.

    (a) (b)

    (c) (d)

    (e) (f)

    (g) (h)

    Figura 15 – Simulação Carro Estacionário.

  • 54 Capítulo 3. Especificação do Sistema

    Observa-se que no início da simulação – parte (a) da Figura 15 – que os ladrilhoscom maior probabilidade (mais rosados) estão dispostos radialmente em relação ao carropreto. Isto ocorre porque nenhuma ou pouca informação foi adquirida ainda. À medida queo carro preto se locomove (mais observações são adicionadas ao modelo probabilístico),a estimativa da localização do carro cinza melhora, até que convirja para a localizaçãocorreta (ver parte (h) da Figura 15).

    3.5.2 Carro em Movimento

    Neste problema, o objetivo é descobrir a localização de um carro em movimentoutilizando somente um microfone. Na Figura 16, o retângulo preto representa o carro equi-pado com microfone, o retângulo cinza representa o carro em movimento cuja localizaçãoserá inferida com base somente na emissão de ruídos por ele, geometrias azuis representamobstáculos e os ladrilhos rosados representam visualmente a probabilidade do carro cinzaestar em determinada posição do ambiente: quanto mais forte a coloração de rosa, maioré a probabilidade do mesmo estar presente no ladrilho. As subfiguras de (a) até (h) daFigura 16 ilustram a convergência na previsão da localização do carro cinza.

  • 3.5. Simulações Prévias Usando HMM 55

    (a) (b)

    (c) (d)

    (e) (f)

    (g) (h)

    Figura 16 – Simulação Carro em Movimento.

    Observa-se que no início da simulação – parte (a) da Figura 16 – que os ladrilhosde maior probabilidade (mais rosados) estão bastante dispersos. Isto ocorre porque ne-nhuma ou pouca informação foi adquirida ainda. À medida que o carro cinza se locomove(mais observações são adicionadas ao modelo probabilístico), sua estimativa de localizaçãomelhora, até que convirja para a localização correta (ver parte (h) da Figura 16). Para

  • 56 Capítulo 3. Especificação do Sistema

    tornar esta solução possível, foi necessário treinar o algoritmo com as rotas mais usuais aserem traçadas por um veículo quando trafega no ambiente ilustrado.

    3.6 Conclusão do CapítuloNeste capítulo foram apresentadas as arquiteturas propostas para um sistema de

    previsão de perfis de usuário em automação residencial utilizando HMM. Inicialmente foiapresentada uma arquitetura geral do sistema, com diversos módulos de monitoramentode variáveis físicas. Em seguida, foi proposta uma arquitetura específica para o caso deestudo de um único módulo de monitoramento de temperatura. Para o caso de estudoforam definidos os dispositivos necessários para a correta implementação destes sistemas.

    Foram também descritas as propriedades do algoritmo de treinamento proposto eseu pseudocódigo, baseados em um algoritmo já existente e bem conhecido na literatura(Forward algorithm).

    Soluções e simulações prévias, aplicadas ao problema de localização de um robômóvel, foram incluídas neste trabalho para mostrar a eficácia do método de aprendizagemde máquina escolhido.

  • Parte IV

    Simulações

  • 59

    4 Simulações

    Este capítulo apresenta detalhes sobre o perfil de temperatura do usuário e sobrea criação dos dados de treinamento pro algoritmo HMM. Posteriormente são discutidosos resultados das simulações realizadas em computador pessoal.

    4.1 Perfil de Temperatura do UsuárioBaseando-se no perfil de usuário previamente definido na seção 1.4, criou-se o perfil

    térmico desejado por aquele usuário. Este perfil é cíclico e tem período de 1 semana (10080minutos). A Figura 17 ilustra este perfil.

    Figura 17 – Perfil Térmico Desejado pelo Usuário.

    4.2 Dados de TreinamentoConsiderando-se que os dados de treinamento não devem satisfazer igualmente o

    perfil térmico desejado pelo usuário, foi criado um perfil físico baseando-se na aproximaçãodo perfil desejado (ilustrado na Figura 17). Primeiramente, calcula-se a série de Fourierpara o perfil desejado (ver Figura 18). Em seguida, a ela é adicionando ruído branco (verFigura 19) com as seguintes propriedades:

    • µ = 0.0°C;• s = 0.4°C.

    A Figura 18 ilustra a aproximação do perfil desejado por série de Fourier, emcontraste com o perfil térmico desejado pelo usuário.

  • 60 Capítulo 4. Simulações

    Figura 18 – Série de Fourier para o Perfil Desejado.

    Adiciona-se ruído branco à forma de onda ilustrada em cor azul na Figura 18 paraobter a forma de onda ilustrada em cor azul na Figura 19. O perfil térmico desejado pelousuário permanece em cor vermelha.

    Figura 19 – Perfil Térmico e Aproximação.

    É importante citar a necessidade de adicionar ruído ao perfil desejado, para entãocriar o perfil físico a ser utilizado pelo algoritmo de treinamento, pois este ruído podesignificar a soma de algumas componentes, aleatórias ou não, tais como a inércia térmica,o erro associado aos sensores de temperatura, a incerteza da temperatura desejada pelopróprio usuário, variações na temperatura ambiente causada por fatores externos e/ouinternos, entre outras.

    Um segundo ponto a ser enfatizado é a não ciclicidade do perfil físico. Isto ocorreporque o valor do ruído branco a ser adicionado em cada componente do perfil desejado,para cada semana, é aleatório. Portanto, o perfil utilizado para a primeira semana detreinamento do algoritmo é provavelmente diferente do perfil utilizado para a segundasemana, e assim por diante.

  • 4.3. Simulações em Computador Pessoal 61

    4.3 Simulações em Computador PessoalUtilizou-se o perfil físico descrito na seção 4.2 como dado de treinamento para o

    algoritmo HMM. Este conjunto de dados relaciona-se diretamente, no algoritmo HMM,com a operação da matriz de probabilidade de transição entre estados.

    O resultado do algoritmo de treinamento, isto é, o perfil de temperatura previstopor ele, é ilustrado em cor azul na Figura 20, juntamente o com o perfil térmico desejadopelo usuário (em vermelho). É importante notar que, para cada instante de tempo, a saídado algoritmo implementado é sempre um valor inteiro de temperatura.

    Figura 20 – Resultado da Aproximação do HMM.

    Percebe-se, ao analisar a Figura 20, que o algoritmo de treinamento foi capaz deidentificar, com erros, o perfil de temperatura desejado pelo usuário.

    Utilizando-se a métrica de estimativa de erro MSE, é possível quantificar o erro.A Figura 21 ilustra o erro quadrático da aproximação em cada instante de tempo (emazul), juntamente com o MSE (em vermelho), que nada mais é do que a média dos errosquadráticos no intervalo de uma semana.

    Figura 21 – Métrica MSE para Estimativa de Erro.

    A Figura 21 ilustrou, para a simulação da primeira semana com HMM, a distribui-

  • 62 Capítulo 4. Simulações

    ção das medidas de erro em cada instante de tempo. O valor MSE obtido com a simulaçãoda primeira semana foi de 0.254 °C2.

    Neste ponto, é importante analisar os erros pontuais cometidos. Ainda na Figura21, é possível observar, para a primeira semana, a ocorrência de erros quadráticos de até4 °C2, o que corresponde a erros pontuais de até 2 °C. A explicação para a frequente ocor-rência de erros está na escolha dados de treinamento utilizados para treinar o algoritmoHMM: um conjunto de dados aproximados

    A Figura 22 Ilustra o comportamento da métrica de estimativa de erro MSE paracada uma das 100 semanas simuladas com o algoritmo HMM.

    Figura 22 – Métrica MSE para 100 semanas.

    Analisando-se o gráfico da Figura 22, é possível constatar que o resultado do HMMnão varia significativamente com o passar das semanas. Observa-se também que o valorde erro obtido com a métrica MSE não converge para nenhum valor específico, entretanto,oscila em torno de aproximadamente 0.31°C2. Isto deve-se à natureza aleatória dos dadosde treinamento.

    4.3.1 Intervenção do Usuário sobre o Sistema

    Quando o usuário intervém no sistema, informando-o a temperatura desejada porele naquele instante de tempo, o algoritmo passar a levar em conta esse tipo de informação.Esta informação relacionada ao treinamento da matriz de probabilidade de observação doHMM. Imaginemos o seguinte caso hipotético:

    Após algumas semanas utilizando o sistema, o usuário decide, por razão qualquer,que o seu perfil de temperatura mudou em um determinado intervalo de tempo, e por issoespera que o sistema se adapte a seu novo perfil de temperatura. Para tanto, o usuáriointervêm sobre o sistema utilizando o equipamento controle remoto.

    Este caso hipotético foi simulado com o algoritmo HMM, considerando que o perfilde temperatura desejado mudou de 23°C para 21°C no intervalo de tempo [4080,4200]

  • 4.3. Simulações em Computador Pessoal 63

    minutos, que corresponde ao intervalo de 20h00 até 22h00 nas noites de terça-feira. Ousuário intervêm diretamente sobre o equipamento ar-condicionado às 20h30, 21h00 e21h30, buscando aumentar seu conforto térmico, de acordo com suas novas expectativas.

    As Figuras 23 e 24 ilustram a mudança no perfil térmico desejado pelo usuá-rio, juntamente com a crença do algoritmo HMM sobre o perfil desejado pelo usuário.Considera-se a semana que o usuário realizou as intervenções pela primeira vez comosendo a semana 1.

    Figura 23 – Perfil Térmico Desejado (anteriormente à mudança).

    Figura 24 – Perfil Térmico Desejado (posteriormente à mudança).

    Observa-se que, ainda que o usuário tenha mudado seu perfil térmico, o sistemanão é capaz de identificar isto instantaneamente. Será necessário algum tempo para queo sistema possa aprender e então satisfazer as novas expectativas do usuário. As Figurasde 25 a 29 ilustram o entendimento do sistema sobre o perfil desejado pelo usuário logoapós às 21h30 de terça-feira das semanas 1, 2, 3, 4 e 5, respectivamente.

  • 64 Capítulo 4. Simulações

    Figura 25 – Perfis Térmicos Desejado e Estimado para a Semana 1.

    Figura 26 – Perfis Térmicos Desejado e Estimado para a Semana 2.

    Figura 27 – Perfis Térmicos Desejado e Estimado para a Semana 3.

    Ao analisar as Figuras 25 a 29, observa-se que, com poucas semanas de treina-mento, o perfil estimado pelo HMM consegue atender satisfatoriamente às expectativasdo usuário. Já as Figuras 30 a 34 mostram a evolução do estimador Erro Quadrático logoapós às 21h30 de terça-feira, juntamente com o valor MSE para o intervalo [4080,4200]minutos, das semanas 1 a 5, respectivamente.

  • 4.3. Simulações em Computador Pessoal 65

    Figura 28 – Perfis Térmicos Desejado e Estimado para a Semana 4.

    Figura 29 – Perfis Térmicos Desejado e Estimado para a Semana 5.

    Figura 30 – Erro Quadrático e MSE para a Semana 1.

    Ao analisar as Figuras 30 a 34, observa-se que o valor do estimador MSE decrescecom o tempo. Seus valores para as semanas 1 a 5 são 1.96°C2, 0.63°C2, 0.58°C2, 0.54°C2

    e 0.50°C2, respectivamente.

  • 66 Capítulo 4. Simulações

    Figura 31 – Erro Quadrático e MSE para a Semana 2.

    Figura 32 – Erro Quadrático e MSE para a Semana 3.

    Figura 33 – Erro Quadrático e MSE para a Semana 4.

    4.4 Conclusão do Capítulo

    Neste capítulo foi apresentado, em forma de gráfico, o perfil térmico desejado pelousuário. A partir desse perfil térmico, foi criado e apresentado um perfil aproximado, a serutilizado como dado de treinamento pelo HMM. Ainda neste capítulo, foram apresentadase discutidas duas simulações distintas para verificar as funcionalidades e convergência do

  • 4.4. Conclusão do Capítulo 67

    Figura 34 – Erro Quadrático e MSE para a Semana 5.

    algoritmo de treinamento, realizadas em computador pessoal.

  • Parte V

    Implementação do Sistema

  • 71

    5 Implementação do Sistema

    Este capítulo apresenta detalhes sobre a implementação física do sistema, taiscomo sua arquitetura final, lista de materiais utilizados e tabela de custo dos produtosutilizados. Ainda neste capítulo é discutido o desenho dos experimentos para verificaçãofuncional do sistema, assim como os resultados obtidos experimentalmente.

    5.1 Arquitetura Final

    Após feitas as considerações acerca da disponibilidade, praticidade de utilizaçãoe facilidade de obtenção dos componentes e módulos eletrônicos, a arquitetura final dosistema implementado é ilustrada na Figura 35.

    Figura 35 – Arquitetura Final Implementada.

    Na Figura 35, foram omitidos alguns componentes eletrônicos (resistores e LEDs)com a finalidade de melhorar o entendimento sobre a arquitetura proposta.

    5.2 Lista de Materiais Utilizados

    Para a implementação física do sistema, fez-se necessário adquirir diversos produtos(hardware e software). A Tabela 2 mostra o custo total aproximado da implementaçãofísica do sistema, exceto pelo custo dos módulos CC2530ZNP, pois esses não são maisfabricados.

  • 72 Capítulo 5. Implementação do Sistema

    Tabela 2 – Lista Completa de Materiais Utilizados.

    Produto Loja Quantidade Preço Unitário Preço Total

    Suporte Para Pilhas http://www.farnellnewark.com.br 2 R$ 4,75 R$ 9,50

    Conjunto 4 Pilhas AA BIC http://www.kalunga.com.br 2 R$ 2,80 R$ 5,60

    LD1117V33 - Regulador de Tensão http://www.farnellnewark.com.br 3 R$ 1,47 R$ 4,41

    LM35 – Sensor de Temperatura Contato Eletrônica 2 R$ 6,95 R$ 13,90

    Potenciômetro 10K http://www.farnellnewark.com.br 2 R$ 3,21 R$ 6,42

    Resistor Contato Eletrônica 15 R$ 0,20 R$ 3,00

    LED Contato Eletrônica 2 R$ 0,30 R$ 0,60

    Conversor USB-TTL http://www.adafruit.com 1 R$ 23,00 R$ 23,00

    Matriz de Contato (Protoboard) http://www.soldafria.com.br 2 R$ 18,55 R$ 37,10

    Chave Lógica Contato Eletrônica http://www.soldafria.com.br 2 R$ 0,50 R$ 1,00

    Cartão de Memória 8GB http://www.ciadoseletronicos.com 1 R$ 34,90 R$ 34,90

    Raspberry Pi http://www.lojamundi.com.br 1 R$ 187,00 R$ 187,00

    Pacote com Fios Conectores Contato Eletrônica 1 R$ 10,00 R$ 10,00

    Fonte de Tensão 5V http://www.cauastore.com 1 R$ 31,00 R$ 31,00

    Módulo CC2530ZNP Não Manufaturado 3 - -

    IAR Workbench for MSP430 http://www.iar.com 1 R$ 0,00 R$ 0,00

    Sistema Operacional Raspbian http://www.raspberrypi.org/ 1 R$ 0,00 R$ 0,00

    Software TightVNC Server para Raspbian http://www.tightvnc.com 1 R$ 0,00 R$ 0,00

    Software RealVNC Client para OS X http://www.realvnc.com 1 R$ 0,00 R$ 0,00

    TOTAL R$ 372,43

    5.3 Desenho dos ExperimentosPara verificar a funcionalidade do sistema implementado fisicamente, propõe-se

    uma verificação simplificada da funcionalidade do mesmo. De fato, verificar o sistema emseu funcionamento normal pode ser bastante dispendioso, visto que o sistema é progra-mado processar informações de 5 em 5 minutos, durante todo o dia, todos os dias dasemana.

    Uma possível solução para minimizar os esforços sobre as baterias de teste é reduzira escala de tempo do sistema. Entretanto, ao fazer isso, torna-se inviável atuar sobre osensor de temperatura LM35 de forma que o mesmo ofereça uma resposta em tempo hábil,devido à inércia térmica associada ao mesmo. Portanto, a solução utilizada para realizaros testes no sistema implementado fisicamente con