MONITORAMENTO DE CONDUTORES DE VEÍCULOS AUTOMOTORES POR MEIO DO CONTROLE ESTATÍSTICO DE PROCESSOS

Texto

(1)

UNIVERSIDADE FEDERAL DE OURO PRETO

INSTITUTO DE CIÊNCIAS EXATAS E BIOLÓGICAS

DEPARTAMENTO DE COMPUTAÇÃO

PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

MONITORAMENTO DE CONDUTORES DE

VEÍCULOS AUTOMOTORES POR MEIO DO

CONTROLE ESTATÍSTICO DE PROCESSOS

A

RTHUR

N

ASCIMENTO

A

SSUNÇÃO

O

RIENTADOR

: P

ROF

. D

R

. R

ICARDO

A

UGUSTO

R

ABELO

O

LIVEIRA

(2)

UNIVERSIDADE FEDERAL DE OURO PRETO

INSTITUTO DE CIÊNCIAS EXATAS E BIOLÓGICAS

DEPARTAMENTO DE COMPUTAÇÃO

PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

MONITORAMENTO DE CONDUTORES DE

VEÍCULOS AUTOMOTORES POR MEIO DO

CONTROLE ESTATÍSTICO DE PROCESSOS

A

RTHUR

N

ASCIMENTO

A

SSUNÇÃO

Dissertação de Mestrado apresentada ao Programa de Pós-Graduação em Ciência da Computação da Universidade Federal de Ouro Preto, como parte dos requisitos necessários à obtenção do título de Mestre em Ciência da Computação.

Orientador: Prof. Dr. Ricardo Augusto Rabelo Oli-veira

(3)

Catalogação: www.sisbin.ufop.br

A851m Assunção, Arthur Nascimento.

Monitoramento de condutores de veículos automotores por meio do controle estatístico de processos [manuscrito] / Arthur Nascimento Assunção. - 2016. 135f.: il.: color; grafs; tabs.

Orientador: Prof. Dr. Ricardo Augusto Rabelo Oliveira.

Dissertação (Mestrado) - Universidade Federal de Ouro Preto. Instituto de Ciências Exatas e Biológicas. Departamento de Computação. Programa de Pós-graduação em Ciência da Computação.

Área de Concentração: Sistemas de Computação.

1. Controle de processos. 2. Estatística - Processamento de dados. 3. Direção de automóveis. 4. Sono. I. Oliveira, Ricardo Augusto Rabelo. II. Universidade Federal de Ouro Preto. III. Titulo.

(4)
(5)
(6)

AGRADECIMENTOS

Ao meu orientador, Prof. Dr. Ricardo Augusto Oliveira Rabelo, pela confiança que deposi-tou em mim, pela enorme paciência, apoio e "puxões de orelha"que foram mais que fundamen-tais para a realização deste trabalho e por seu grande conhecimento científico, essencial para me conduzir até aqui.

Em segundo, agradeço à minha família, em especial aos meus pais Vilmar Vale de Assunção e Naide Nazareth do Nascimento Assunção e meus irmãos Armando e Cristiane, que sempre estiveram ao meu lado, me ajudando em todos os momentos difíceis e oferecendo todo o tipo de suporte que eu necessitei durante o mestrado.

Também ao Laboratório iMobilis e à Seva pela infraestrutura, me permitindo realizar a pesquisa em uma área que utiliza sensores que, particularmente, gosto muito. Ainda pelo apoio financeiro, concedido pela UFOP e CAPES, que ajudaram a concluir esse mestrado e apresentar os artigos publicados. E principalmente a alguns membros do laboratório, meus amigos MSc. Maurício José da Silva, MSc. Charles Tim Batista Garrocho e Fábio Oliveira de Paula, pelas esclarecedoras conversas a respeito do projeto e por toda ajuda ao longo de todos esses meses de muito trabalho.

Agradeço aos meus amigos, especialmente ao Breno Almeida e ao Mateus Ferreira, por serem grandes responsáveis pelo excelente profissional e pessoa que tenho me tornado, além, claro, de toda a força antes e durante este mestrado. E aos meus amigos da república Diretoria pela ótima convivência.

Um último agradecimento, aos professores membros da banca, Prof. Dr. André Luiz Lins De Aquino e Prof. Dr. Fernando Cortez Sica, pelas sugestões e críticas. E a todos os demais que direta ou indiretamente contribuíram para a realização deste trabalho.

Reconhecida toda a ajuda que me trouxe até aqui. Muito Obrigado!

29 de julho de 2016

(7)

Sempre que tiver vontade de criticar alguém, lembre-se de que ninguém teve as oportunidades que você teve.

(8)

Declaração

Esta dissertação é resultado de meu próprio trabalho, exceto onde referência explícita é feita ao trabalho de outros, e não foi submetida para outra qualificação nesta nem em outra universidade.

(9)

R

ESUMO

Diversos fatores, como avanços em tecnologia, tornaram os automóveis uma das invenções mais utilizadas no século XXI. No entanto, um grande número de pessoas sofrem acidentes de viação todos os anos transformando, assim, dirigir um veículo numa tarefa desafiadora, principalmente porque até 90% desse acidentes são causados por falhas do condutor. Esses acidentes causam graves prejuízos à sociedade, como perda de vidas, perdas econômicas etc. Devido a isso, tem sido crescente a necessidade do desenvolvimento de sistemas e mé-todos que monitoram as ações do condutor. Para monitorar a condução, identificar e, até diminuir acidentes são desenvolvidas soluções que têm como principais abordagens: a ba-seada no veículo, com uso de dados do veículo, e a baba-seada no comportamento do condutor, com uso de dados do condutor. Para realizar todo esse monitoramento, esta dissertação pro-põe alguns métodos, além de um Sistema Avançado de Assistência ao Condutor (ADAS) e um circuito, sistema e aplicativo de protótipo de LWDS (Lane Departure Warning System) utilizando componentes de baixo custo e o Controle Estatístico de Processos (SPC), uma técnica que, na literatura, não teve seu uso em ambientes veiculares encontrado. Para o uso do SPC, é explorada a aplicação de seu gráfico de controleExponentially Weighted Moving Average(EWMA) em dados de sensores. Mais especificamente, para a detecção de saída de faixa perigosa, com acelerômetro e com acelerômetro e giroscópio, o EWMA é aplicado aos dados dos sensores para identificação da saída de faixa; para o ADAS uma câmera é posicionada em frente ao motorista e fornece imagens para a detecção de sonolência do condutor. O monitoramento do volante é feito por meio dos dados de um acelerômetro e do pedal do freio através de um potenciômetro. O EWMA é aplicado aos dados do volante, pedal e da face do condutor para a identificação de erros e de sonolência; para o protótipo um módulo Wi-Fi é ligado a um sensor 9-axis e os dados são analisados pelo EWMA por meio de um dispositivo móvel. Como prova de conceito e avaliação são apresentados testes sobre o método de detecção de saída de faixa com acelerômetro, incluindo com o giros-cópio, o ADAS e o protótipo. O principal objetivo é mostrar que os métodos e sistemas, bem como o SPC no contexto de condução, são boas alternativas para o monitoramento da condução. Resultados mostram que a proposta é uma alternativa viável, com métodos eficientes, identificando e detectando movimentos bruscos, saídas de faixa e sonolência.

(10)

A

BSTRACT

Advances in technology together with various other factors made the automobile one of the most used inventions in the 21st century. However, a large number of people get involved in traffic accidents every year, which makes driving a vehicle a challenging task, mainly because 90% of accidents are caused by driver’s impairment. It is not only traffic signaling errors that lead to these numbers, but rather inattentive drivers who reach or exceed their limits. Such accidents cause serious loss to society, such as life losses, economic losses etc. Because of this, developing systems and methods that monitor the actions of the driver has been of a growing need. Some solutions to monitor the driving, to identify and decrease accidents are developed. Such solutions have the following main approaches: the one based on the vehicle, using vehicle data, and the one based on driver’s behavior, using driver’s data. This dissertation proposes some methods to perform all this monitoring, as well as an Advanced Driver Assistance Systems (ADAS) and a circuit, system and application, of LWDS (Lane Departure Warning System) prototype application using low-cost components and Statistical Process Control (SPC), a technique not found in vehicular environments lit-erature. For the use of SPC, the application of its control chart is explored Exponentially Weighted Moving Average (EWMA) in sensors data. More specifically, for the danger-ous lane departure detection with accelerometer and with gyroscope and accelerometer, the EWMA is applied to the sensors data to identify the lane departure. For ADAS, a camera is positioned in front of the driver and provides images for the driver drowsiness detec-tion. The tracking of the steering wheel is done through data from an accelerometer and the tracking of the brake, from a potentiometer. The EWMA is applied to the handwheel, data of the pedal and the driver’s face to identify errors and drowsiness; for the prototype a Wi-Fi module is connected to a 9-axis sensor and the data is analyzed by the EWMA using a mobile device. As proof of concept and evaluation some testings with the lane departure detection method using accelerometer are presented, including testings with the gyroscope, ADAS and the prototype. The main objective is to show that the methods and systems, as well as the SPC in the driving context, are good alternatives for monitoring driving. Re-sults show that the proposal is a viable alternative, with efficient methods, identifying and detecting sudden movements, lane departures and drowsiness.

(11)

LISTA DE

FIGURAS

2.1 Tipos de desatenção. . . 11

2.2 Ilustração com exemplo de veículo cometendo um pequeno desvio de pista. . . 12

2.3 Ilustração com exemplo de veículo cometendo um grande desvio de pista, aná-logo a uma saída de faixa. . . 13

2.4 Evolução das taxas de adoção global de soluções de segurança ativa nos veícu-los leves. . . 15

2.5 Exemplo de ADAS da Honda. . . 15

2.6 Exemplo de um microcontrolador e dos componentes que o constituem. . . 17

2.7 Arduíno Mega 2560. . . 18

2.8 Diagrama de bloco de um microcontrolador (ATmega640/1280/1281/2560/2561). 19 2.9 IDE do Arduíno. . . 21

2.10 Placa Wandboard Quad. . . 22

2.11 Diagrama de blocos da Wandboard Quad. . . 22

2.12 ESP8266 Modelo ESP-01 fabricado pela Espressif. . . 23

2.13 Diagrama de bloco do ESP8266. . . 24

2.14 Variantes do ESP8266 fabricado pela Espressif. . . 25

2.15 ESP8266 Modelo Thing fabricado pela SparkFun. . . 25

2.16 Visão geral dos principais componentes do módulo ESP8266 Thing. . . 26

2.17 Exemplo de bateria para ESP8266. . . 27

2.18 Carregador de bateria para ESP8266. . . 27

(12)

2.20 Eixos de Sensores Inerciais triaxiais. . . 33

2.21 Exemplo de acelerômetro, modelo H48C da empresa Hitachi. . . 33

2.22 Estrutura geral do acelerômetro e seu modelo mecânico. . . 34

2.23 Diagrama de blocos de um transdutor de deslocamento . . . 36

2.24 Exemplo de giroscópio, modelo XZN ITG-3205 da empresa XZN. . . 37

2.25 Efeito Coriolis . . . 38

2.26 Exemplo de potenciômetro, modelo G006856 da empresa SZS. . . 39

2.27 Etapas básicas de um sistema de visão computacional. . . 41

2.28 Gráfico do decaimento do peso das amostras a partir de valores de lambda (λ). 46 3.1 Sistema de coordenadas do Volante e do Tablet. . . 50

3.2 Processo da solução de detecção de saída de faixa com acelerômetro. . . 51

3.3 Processo da solução de detecção de saída de faixa com acelerômetro e giroscópio. 53 3.4 Simulador de condução utilizado para instalação do ADAS. . . 55

3.5 Posicionamento dohardwarepara o ADAS proposto. . . 56

3.6 Esquema de ligação do Arduíno ao acelerômetro e potenciômetro. . . 56

3.7 Fluxograma de detecção de faixa. . . 57

3.8 Detecção de faixa em um dosframesdos experimentos do ADAS. . . 58

3.9 Gráfico de comparação da leitura do acelerômetro no volante sem média móvel e com média móvel com janelas de tamanhos 2, 3, 4, 6 e 7. . . 60

3.10 Gráfico de comparação da leitura do potenciômetro no pedal do freio sem média móvel e com média móvel com janelas de tamanhos 2, 3, 4, 6 e 7. . . 61

3.11 Diagrama da detecção de sonolência. . . 63

3.12 Simulador de condução com o sistema Vol-LDWS instalado. . . 64

3.13 Posicionamento do protótipo no veículo e no volante. . . 65

3.14 Esquema de ligação dos componentes do protótipo Vol-LDWS (módulo ESP8266, unidade IMU e bateria). . . 65

(13)

3.16 Telas do aplicativo Vol-LDWS. . . 73

4.1 Simulador Veicular utilizado nos experimentos. . . 76

4.2 Sistema de coordenadas do Volante e doTablet. . . 77

4.3 Diagrama de blocos de um transdutor de deslocamento. . . 77

4.4 Rota de teste no simulador de condução para os experimentos da Seção 4.2 e Seção 4.3. . . 79

4.5 Número de eventos detectados em número absoluto com a aplicação do EWMA com calibragem nos sentidos anti-horário e horário. Número de erros distintos possíveis de serem detectados foi de 4 para o eixo X e 8 para o eixo Y. . . 81

4.6 Taxa de detecção e a taxa de falso positivo combinando os resultados dos dois eixos, X e Y. . . 82

4.7 Gráfico de controle EWMA aplicado aos dados dos eixos X e Y do acelerôme-tro. Calibragem com dados de giro no sentido horário. . . 83

4.8 Gráfico de controle EWMA aplicado aos dados dos eixos X e Y do acelerôme-tro. Calibragem com dados de giro no sentido anti-horário. . . 84

4.9 Número de eventos detectados em número absoluto com combinação dos resul-tados da aplicação do EWMA no acelerômetro e giroscópio. Número de erros distintos possíveis de serem detectados foi 8. . . 87

4.10 Taxa de detecção e taxa de falsos positivos com a combinação dos resultados dos dois eixos, X e Y. . . 88

4.11 Gráficos de controle EWMA aplicados aos dados do acelerômetro, emm/s2, e do giroscópio, em◦/s. Calibragem com dados de giro no sentido horário. . . . 90

4.12 Gráficos de controle EWMA aplicados aos dados do acelerômetro, emm/s2, e do giroscópio, em◦/s. Calibragem com dados de giro no sentido anti-horário. 91 4.13 Rota de teste no simulador de condução para os experimentos da Seção 4.4. . . 92

4.14 Taxa de detecção dos componentes do sistema, detecção de faixa, de sonolência, de erros no uso do freio e volante, e do sistema completo. . . 96

4.15 Gráficos EWMA para detecção no volante, no pedal do freio e de sonolência. . 97

(14)

4.17 Número de eventos detectados em número absoluto pelo Vol-LDWS com velo-cidade constante e sem velovelo-cidade constante. Número de erros distintos

possí-veis de serem detectados é 20. . . 100

4.18 Taxa de detecção e taxa de falsos positivos do Vol-LDWS com velocidade cons-tante (60 km/h) e sem velocidade constante. . . 101

5.1 Fluxograma do algoritmo do sistema de Son (2015). . . 104

5.2 Diagrama de bloco do algoritmo do sistema de Jung, Min e Kim (2013). . . 106

5.3 Diagrama de detecção dos olhos do método de Abulkhair (2015). . . 108

5.4 Fluxograma de detecção de sonolência do método de Patel (2015). . . 109

5.5 Diagrama de bloco do método de Ma’touq (2014). . . 110

5.6 Esquema do sistema de detecção de sonolência e fadiga do método de Jung, Shin e Chung (2014). . . 111

5.7 Fluxograma de análise da VFC do método de Jung, Shin e Chung (2014). . . . 111

5.8 Estratégia de controle do ADAS de Wang (2013). . . 114

(15)

LISTA DE

TABELAS

2.1 Especificações técnicas do Arduíno Mega 2560. . . 18

2.2 Especificações técnicas da Wandboard Quad. . . 23

2.3 Especificações técnicas de entrada e saída da Wandboard Quad. . . 23

2.4 Especificações técnicas do módulo ESP8266. . . 26

2.5 Especificação típica de acelerômetros para aplicações automotivas e de navega-ção inercial. . . 36

2.6 Requisitos de desempenho para as três categorias de giroscópios. . . 39

3.1 Custo dos componentes do ADAS. . . 57

3.2 Espeficicação de dimensões dos componentes do protótipo. . . 66

3.3 Custo dos componentes do protótipo. . . 66

4.1 Parâmetros utilizados nos experimentos do método EWMA com acelerômetro. 81 4.2 Métricas a partir da matriz de confusão sobre os dados dos testes com Acelerô-metro. . . 82

4.3 Parâmetros utilizados nos experimentos do método EWMA com acelerômetro e giroscópio. . . 87

4.4 Métricas a partir da matriz de confusão sobre os dados dos testes com Acelerô-metro e Giroscópio. . . 88

4.5 Parâmetros utilizados nos experimentos do método EWMA nos dados do ADAS KITT. . . 95

4.6 Métricas a partir da matriz de confusão sobre os dados do ADAS KITT. . . 96

(16)

6.1 Quadro comparativo dos métodos/sistemas de detecção de faixa e saída de faixa apresentados. . . 118

6.2 Quadro comparativo dos métodos/sistemas de detecção de sonolência apresen-tados. . . 119

(17)

L

ISTA DE

A

LGORITMOS

2.1 Exemplo de código de um servidor web para ESP8266 . . . 29

2.2 Exemplo de código de um Web service para ESP8266 . . . 30

3.1 Pseudo-código para a detecção com acelerômetro e giroscópio . . . 54

3.2 Exemplo de JSON retornado pelo Web service do protótipo Vol-LDWS . . . . 68

3.3 Web service do protótipo Vol-LDWS . . . 68

3.4 Código-fonte do protótipo Vol-LDWS . . . 71

(18)
(19)

LISTA DE

S

IGLAS

A-MSDU–Aggregated Mac Service Data Unit

ACC–Adaptive Cruise Control - Controle de Velocidade de Cruzeiro

ACM–Association for Computing Machinery

ADAS –Advanced Driver Assistance System - Sistema Avançado de Assistência ao Con-dutor

ASIC– Application Specific Integrated Circuit - Circuito Integrado de Aplicação Especí-fica

CAPES–Coordenação de Aperfeiçoamento de Pessoal de Nível Superior

CBA–Congresso Brasileiro de Automática

CL–Center Line - Linha Central

CPU–Central Processing Unit - Unidade Central de Processamento

CRG–Cylindrical Resonator - Ressonador Cilíndrico

CUSUM–Cumulative Sum Chart - Gráfico de Soma Cumulativa

DTIM–Delivery Traffic Indication Message

ECG–Eletrocardiograma

EEG–Eletroencefalograma

EEPROM–Electrically-Erasable Programmable Read-Only Memory

EMG–Eletromiograma

EOG–Eletro-oculograma

(20)

FCW/FCA–Frontal Collision Warning/Avoidance

FPS–Frames Per Second - Quadros Por Segundo

GPS–Global Positioning System - Sistema de Posicionamento Global

HDMI–High-Definition Multimedia Interface

HMI–Human[Pleaseinsert\PrerenderUnicode{â ˘A¸S}intopreamble]Machine Interface - In-terface Homem-Máquina

HOG–Histograms of Oriented Gradient

IDE–Integrated Developement Enviroment - Ambiente de Desenvolvimento Integrado

IMU–Inertial Measurement Unit - Unidade de Medida Inercial

INS–Inertial Navigation System - Sistema de Navegação Inercial

IP–Internet Protocol - Protocolo de internet

IR–InfraRed - Infravermelho

JSON–JavaScript Object Notation - Notação de Objetos JavaScript

KB–Kilobytes

LBP–Local Binary Pattern

LCL–Lower Control Limit - Limite Inferior de Controle

LDWS–Lane Departure Warning System - Sistema de Alerta de Saída de Faixa

LNA–Low Noise Amplifier

LTP–Local Ternary Pattern

LiPo–Lithium-ion Polymer - Lítio-Íon Polímero

MEMS–Micro-Electro-Mechanical Systems - Sistemas Micro-Electro-Mecânicos

MHz–Megahertz

MIMO–Multiple-Input and Multiple-Output

MLL–Machine Learning Library - Biblioteca de Aprendizagem de Máquina

MMX–MultiMedia eXtension

MPDU–Message Protocol Data Unit

(21)

MWG–Momentum Wheel Gyroscope

MobiWac–ACM International Symposium on Mobility Management and Wireless Access

NHTSA–National Highway Traffic Safety Administration

NSF–National Sleep Foundation

PERCLOS–PERcent of the Time Eyelids are CLOSed

PLSF–Piecewise Linear Stretching Function

RLS–Recursive Least Squares

ROI–Region Of Interest - Região de Interesse

SATA–Serial AT Attachment

SBESC–Simpósio Brasileiro de Engenharia de Sistemas Computacionais

SI–Sistema Internacional de Unidades

SO–Sistemas Operacional

SPC–Statistical Process Control - Controle Estatístico de Processos

SRAM–Static Random Access Memory - Memória Estática de Acesso Aleatório

SSE–Streaming SIMD Extensions

SVM–Support Vector Machine - Máquina de vetor de Suporte

SWM–Steering Wheel Movement - Movimento do Volante

SoC–System-on-a-chip - Sistema-em-um-Chip

TC–Temperature Coefficient - Coeficiente de Temperatura

UART–Universal Synchronous Receiver/Transmitter

UCL–Upper Control Limit - Limite Superior de Controle

USB–Universal Serial Bus

VFC–Variabilidade da Frequência Cardíaca

W3C–World Wide Web Consortium

XML–eXtensible Markup Language

(22)

S

UMÁRIO

RESUMO v

ABSTRACT vi

LISTA DE FIGURAS vii

LISTA DE TABELAS xi

LISTA DE SIGLAS xv

CAPÍTULO 1 – INTRODUÇÃO 2

1.1 Contextualização . . . 2

1.2 Definição do Problema . . . 5

1.3 Hipótese . . . 5

1.4 Objetivos . . . 6

1.5 Contribuições . . . 6

1.6 Produção Acadêmica . . . 7

1.7 Organização do Trabalho . . . 8

CAPÍTULO 2 – REFERENCIAL TEÓRICO 10

2.1 Falhas do Condutor . . . 10

2.1.1 Desatenção na Condução . . . 11

2.2 ADAS . . . 14

(23)

2.3.1 Introdução . . . 16

2.3.2 Arduíno . . . 16

2.3.2.1 Hardware . . . 17

2.3.2.2 Ambiente de Desenvolvimento Integrado ao Hardware do Arduíno . . . 18

2.3.3 Wandboard . . . 21

2.3.4 Módulo ESP8266 . . . 23

2.3.4.1 Hardware . . . 26

2.3.4.2 Ambiente de Desenvolvimento . . . 28

2.3.4.3 Criação de Servidor Web e Webservice . . . 28

2.4 Sensores . . . 31

2.4.1 Sensores Inerciais . . . 32

2.4.1.1 Acelerômetro . . . 33

2.4.1.2 Giroscópio . . . 37

2.4.2 Potenciômetro . . . 39

2.4.3 Calibragem e Filtragem . . . 40

2.4.3.1 Calibragem de Média em Repouso . . . 40

2.4.3.2 Filtro Passa-baixa com Média Acumulada . . . 40

2.4.3.3 Filtro Passa-baixa com Média Móvel . . . 41

2.4.4 Sensoriamento Através da Visão Computacional . . . 41

2.5 Controle Estatístico de Processos . . . 42

2.5.1 Conceitos de Qualidade . . . 44

2.5.2 Gráfico de Controle . . . 44

2.5.2.1 Gráfico de Média Móvel Exponencialmente Ponderada (EWMA) 45

2.6 Considerações Finais . . . 47

(24)

3.1 Introdução . . . 49

3.2 Detecção de Saída de Faixa com Acelerômetro . . . 50

3.3 Detecção de Saída de Faixa com Acelerômetro e Giroscópio . . . 52

3.4 Sistema KITT - ADAS . . . 54

3.4.1 Hardware . . . 54

3.4.2 Detecção de Faixa . . . 57

3.4.3 Detecção de Movimentos Bruscos do Condutor . . . 59

3.4.4 Detecção de Sonolência . . . 62

3.5 Protótipo de LDWS - Vol-LDWS . . . 64

3.5.1 Hardware . . . 64

3.5.2 Implementação . . . 66

3.5.3 Sistema . . . 67

3.5.3.1 Funcionamento . . . 72

3.5.4 Detecção Saída de Faixa . . . 72

3.6 Considerações Finais . . . 74

CAPÍTULO 4 – METODOLOGIA DE AVALIAÇÃO E RESULTADOS 75

4.1 Equipamento . . . 75

4.2 EWMA com Acelerômetro . . . 76

4.2.1 Coleta dos Dados . . . 76

4.2.2 Extração dos Dados . . . 77

4.2.3 Cenários Experimentais . . . 78

4.2.4 Aplicação do Gráfico de Controle EWMA . . . 79

4.2.5 Resultados . . . 81

4.2.5.1 Exemplo de Condução . . . 83

4.3 EWMA com Acelerômetro e Giroscópio . . . 85

(25)

4.3.2 Extração dos Dados . . . 85

4.3.3 Cenários Experimentais . . . 85

4.3.4 Aplicação do Gráfico de Controle EWMA . . . 85

4.3.5 Resultados . . . 87

4.3.5.1 Exemplo de Condução . . . 88

4.4 ADAS . . . 92

4.4.1 Cenários de Condução . . . 92

4.4.2 Extração dos Dados . . . 93

4.4.3 Aplicação do Gráfico de Controle EWMA . . . 94

4.4.4 Resultados . . . 95

4.4.4.1 Exemplo de Condução . . . 97

4.5 Protótipo Vol-LDWS . . . 98

4.5.1 Cenários de Condução . . . 98

4.5.2 Aplicação do Gráfico de Controle EWMA . . . 99

4.5.3 Resultados . . . 99

CAPÍTULO 5 – TRABALHOS RELACIONADOS 102

5.1 Detecção de Faixa e Saída de Faixa . . . 103

5.1.1 Método de Gaikwad e Lokhande (2015) . . . 103

5.1.2 Método de Son (2015) . . . 104

5.1.3 Método de Aung e Zaw (2014) . . . 105

5.1.4 Método de Jung, Min e Kim (2013) . . . 106

5.2 Detecção de Sonolência . . . 107

5.2.1 WakeApp (2015) . . . 107

5.2.2 Método de Patel (2015) . . . 108

5.2.3 Método de Ma’touq (2014) . . . 109

(26)

5.2.5 Método de McDonald (2014) . . . 112

5.3 ADAS - Sistemas Avançado de Assistência ao Condutor . . . 112

5.3.1 iCar (2014) . . . 112

5.3.2 ADAS de Wang (2013) . . . 114

5.3.3 ADAS de Chien (2013) . . . 115

5.4 Considerações Finais . . . 116

CAPÍTULO 6 – COMPARAÇÃO COM OS TRABALHOS RELACIONADOS 117

6.1 Detecção de Faixa e Saída de Faixa . . . 117

6.2 Detecção de Sonolência . . . 119

6.3 ADAS . . . 120

CAPÍTULO 7 – CONCLUSÕES E TRABALHOS FUTUROS 122

7.1 Trabalhos Futuros . . . 123

(27)
(28)

Capítulo 1

I

NTRODUÇÃO

1.1 Contextualização

No século XXI, os veículos automotores são uma das invenções mais utilizadas. Apresenta um aumento de 15% no número de veículos no mundo entre 2007 e 2010, tendo 84 milhões de novos veículos em 2013 (GHO et al., 2011;VOELCKER, 2014). Esse número de automóveis, segundo o VOELCKER, chegou a 1,2 bilhões em 2014 em todo o mundo, podendo chegar a 2 bilhões em 2035. Apenas no Brasil, há um automóvel para cada 4,4 habitantes, sendo 45,4 milhões de veículos, há dez anos, essa proporção era de 7,4 habitantes (REIS, 2014). Com esse aumento, há uma elevação no número de acidentes de trânsito em todo mundo.

De acordo com estatísticas analisadas, aproximadamente 1,24 milhões de pessoas morrem a cada ano nas estradas e 20 a 50 milhões de pessoas sofrem lesões não fatais devido a acidentes rodoviários. Apenas no Brasil, mais de 35 mil morrem todos os anos (WHO et al., 2013), com cus-tos totais relacionados aos acidentes em torno de R$ 28 bilhões por ano (PAIXÃO, 2015). Com base em relatórios da polícia, aUS National Highway Traffic Safety Administration(NHTSA), uma agência estadunidense de segurança viária, estimou que um total de 100.000 acidentes com veículos a cada ano como resultado direto da sonolência do motorista. Esses acidentes resul-tam em aproximadamente 1.550 mortes, 71.000 feridos e $12.5 bilhões em perdas econômicas (RAU, 2005).

(29)

1.1 Contextualização 3

KUMAR, 2015). Assim, estimativas indicam que 75% (HANKEY, 1999 apudMEDINA, 2004), ou mesmo até 90% (TREAT, 1979) de todos os acidentes rodoviários envolvem alguma forma de erro do condutor.

Essas estatísticas sugerem que acidentes rodoviários, que envolvem falhas do condutor, como cansaço e sonolência, impõem um encargo significativo para a sociedade, constituindo um grave problema de saúde pública. Devido a isso, tem aumentado a necessidade do desenvol-vimento de métodos e sistemas ativos dentro do veículo que monitoram as ações do condutor.

Para diminuir os acidentes que abrangem falhas do condutor, é preciso ser capaz de iden-tificar problemas na condução para que contramedidas adequadas possam ser desenvolvidas. Por exemplo, uma abordagem baseada no veículo pode monitorar a condução a partir de várias métricas, como desvio na posição da pista, movimentos do volante, movimentos no pedal, etc, para que qualquer mudança que cruze limites especificados possam indicar que houve um erro na condução e, até, que há um aumento na probabilidade do motorista estar com desatenção, seja por estar cansado, sonolento, alcoolizado ou qualquer outra causa (SAHAYADHAS; SUNDA-RAJ; MURUGAPPAN, 2012). Essas informações utilizadas no monitoramento podem ser obtidas por meio de sensores, como sensores inerciais, de visão computacional etc.

Pesquisadores têm desenvolvido técnicas para esse monitoramento, que podem ser dividi-das em três categorias (ou abordagens) principais e mais uma híbrida que é definida como o uso de duas ou mais abordagens, são elas: com base no veículo; com base no comportamento do condutor; com base em medidas fisiológicas (SAHAYADHAS; SUNDARAJ; MURUGAPPAN, 2012; CHEN, 2015;SAINI; SAINI, 2014).

Dessas abordagens, a abordagem baseada no veículo se beneficia por permitir a mediação contínua, de forma barata, não-intrusiva e robusta, mesmo sob condições ambientais extrema-mente exigentes. Sendo menos dependente do condutor, ao contrário da abordagem baseada em medidas fisiológicas, pois foca no veículo, com sensores acoplados ao veículo, geralmente em equipamentos já existentes e conhecidos, como o volante, e sem a necessidade de treinamento ou mesmo qualquer aviso ao condutor sobre a existência do sensor (LIU; HOSKING; LENNÉ, 2009). A abordagem comportamental, normalmente utiliza visão computacional, tem boa parte dos benefícios da técnica com base no veículo, exceto por ser mais sensível a condições ambi-entais, como iluminação.

(30)

1.1 Contextualização 4

Montgomery (2007) na qualidade da condução (condução segura, ou seja, sem erros que cau-sem acidentes), com o uso de sensores inerciais, analógicos e de visão computacional, além de técnicas de processamento de imagens.

Essa dissertação explorou o uso do SPC em ambientes veiculares, utilizando-o para moni-torar o processo de condução. O SPC é uma técnica amplamente utilizada no monitoramento e controle de processos, proveniente da engenharia da qualidade, com vários esquemas sendo bastante estudados na literatura, como o EWMA. Não tendo sido encontrado na literatura seu uso em ambientes veiculares.

Assim, as soluções apresentadas nesta dissertação são: detecção de saída de faixa com acelerômetro, com acelerômetro e giroscópio, um ADAS (Sistema Avançado de Assistência ao Condutor) (HEIJDEN; MARCHAU, 2002), chamado de KITT, e um protótipo de LDWS (Sistema de Alerta de Saída de Faixa, do inglês Lane Departure Warning System) (WIKIPEDIA, 2015), chamado Vol-LDWS. As detecção de saída de faixa utilizam acelerômetro e acelerômetro e giroscópio, respectivamente, acoplados ao volante do veículo. O ADAS tem como componentes placa Wandboard (FREESCALE, 2015b) e Arduíno (ARDUINO, 2015b) conectados a sensores, como acelerômetro (no volante), potenciômetro (no pedal do freio), câmeras de vídeo (voltada para a pista e para o condutor). E o protótipo analisa a condução em tempo real a partir de um sensor 9-axis ligado a um módulo ESP8266 (Espressif Systems IOT Team, 2015) e conectado ao volante do automóvel.

Os principais benefícios das soluções propostas incluem baixo custo, monitoramento sem a necessidade de interação humana e de forma contínua e transparentes para o condutor, pois os métodos e sistemas permitem a análise e aviso ao condutor em caso de problema. Além disso, os métodos com base no veículo, como os métodos para detecção de saída de faixa e movimentos bruscos, não dependem de iluminação, diferente dos métodos baseados em visão computacio-nal. Podendo, estes, serem utilizados em conjunto com métodos de visão computacional para aumentar a eficiência de sistema como um todo.

Como prova de conceito e avaliação são apresentados testes sobre o método de detecção de saída de faixa com acelerômetro, o método com acelerômetro e giroscópio, o KITT (ADAS) e o protótipo Vol-LDWS. O principal objetivo é mostrar que os métodos e sistemas, bem como o SPC no contexto de condução, são boas alternativas para o monitoramento da condução, ajudando na solução de problemas na detecção de saída de faixa, sonolência e de movimentos incorretos.

(31)

1.2 Definição do Problema 5

grande partes dos eventos perigosos, o ADAS obteve bom desempenho da detecção de sonolên-cia e de movimentos incorretos, além de suas outras detecções. Por fim, o protótipo de LDWS se mostrou bastante eficiente na detecção em tempo real, emitindo avisos sonoros para o condutor em caso de erros.

1.2 Definição do Problema

Acidentes de trânsito causados por falhas de condutores são um grande problema para a sociedade, gerando perdas em vários aspectos, de humano a econômico. Dessa forma formam o principal problema estudado nessa dissertação. Dentro desse problema, estão:

• sonolência, é um dos grandes problemas nas estradas, responsável por até 25% dos aci-dentes fatais (BERGASA, 2006;HUSAR, 2010).

• saída de faixa, é um problema que causa até 30% de todos acidentes em rodovias (KAUR; KUMAR, 2015), sendo ou não relacionado a sonolência. As soluções na literatura cos-tumam utilizar visão computacional, esta abordagem tem a eficiência alterada por con-dições ambientais, como iluminação ou estradas com faixas apagadas ou obstruída. Por isso, métodos/sistemas com abordagens diferentes podem substituir ou complementar os existentes, diminuindo suas limitações.

• movimentos incorretos no volante, como movimentos bruscos.

• movimentos incorretos no pedal do freio, sendo um problema pouco visto na literatura.

A partir disso, verificamos a aplicação do uso do Controle Estatístico de Processos na aná-lise da condução de ambientes veiculares visando a criação de soluções para o problema dos acidentes de trânsito.

1.3 Hipótese

(32)

1.4 Objetivos 6

1.4 Objetivos

Esta dissertação tem como objetivo geral validar a hipótese definida na Seção 1.3, a partir do desenvolvimento de um protótipo, de um ADAS (Advanced Driver Assistance Systems) e de métodos para análise da condução utilizando controle estatístico de processos.

Como objetivos específicos destacamos:

1. Propor um novo método para detecção de saída de faixa utilizando o gráfico de controle EWMA aplicado ao volante.

2. Propor um novo método para detecção de movimentos bruscos no volante utilizando o gráfico de controle EWMA.

3. Propor um novo método para detecção de movimentos bruscos no pedal do freio utili-zando o gráfico de controle EWMA.

4. Propor um novo método para detecção de sonolência utilizando o gráfico de controle EWMA aplicado a métodos de visão computacional.

5. Propor um ADAS utilizando esses novos métodos e métodos da literatura.

6. Propor um circuito, sistema e aplicativo de protótipo de LDWS para análise do volante em tempo real.

Esses objetivos são alcançados por meio de provas de conceito apresentando avaliações de: métodos para detecção de saída de faixa com acelerômetro e com acelerômetro e giroscópio; de um ADAS com métodos para detecção de movimentos bruscos no volante e pedal do freio, com um método de visão computacional para detecção de desvio na faixa e com um método que aplica SPC aos dados obtidos da face e olhos do condutor por um método de visão compu-tacional; E, por fim, do protótipo de LDWS que utiliza dados do volante. Isso após uma revisão bibliográfica na literatura em busca de métodos para detecção de saída de faixa, sonolência e ADAS.

1.5 Contribuições

(33)

1.6 Produção Acadêmica 7

• A primeira contribuição deste trabalho foi a aceitação da nossa hipótese que foi a uti-lização do Controle Estatístico de Processos em aplicações voltadas para ambientes de condução, uma vez que não foram encontrados na literatura trabalhos utilizando tal mé-todo para análise da condução;

• Novos métodos com a aplicação do gráfico de controle EWMA:

– detecção de saída de faixa, utilizando o gráfico de controle EWMA aplicado a dados do volante, sendo um campo de estudo pouco explorado pela comunidade científica;

– detecção de movimentos bruscos no volante, utilizando o gráfico de controle EWMA aplicado a dados do volante;

– detecção de movimentos bruscos no pedal do freio, utilizando o gráfico de controle EWMA aplicado a dados do pedal do freio;

– detecção de sonolência, utilizando o gráfico de controle EWMA aplicado a porcen-tagem de olho fechado a cada 2 segundos;

• Um ADAS (Advanced Driver Assistance Systems) utilizando novos métodos e métodos da literatura;

• Um circuito, sistema e aplicativo de protótipo de LDWS para análise do volante em tempo real;

• Surveysde:

– métodos para detecção de saída de faixa;

– de métodos para detecção de sonolência;

– ADAS;

1.6 Produção Acadêmica

Este trabalho possibilitou até o momento a publicação de quatro artigos científicos. O pri-meiro foi apresentado no congresso MobiWac, em novembro de 2015, em Cancún, no México. O segundo e terceiro foram apresentados no congresso SBESC, em novembro de 2015, em Foz do Iguaçu, no estado Paraná, Brasil. O quarto no congresso CBA, em Vitória, no estado Espírito Santo, Brasil. As referências completas aos artigos são mostradas abaixo:

(34)

1.7 Organização do Trabalho 8

Data. In: Proceedings of the 13th ACM International Symposium on Mobility

Manage-ment and Wireless Access. New York, NY, USA: ACM, 2015. (MobiWac ’15), p. 1-4. ISBN 978-1-4503-3758-8. Disponível em: <http://doi.acm.org/10.1145/2810362.2810378>. [Qualis-CC B3];

• Arthur N. Assunção, Ricardo C. C. de M. Santos, Luiz G. X. Janeiro, Rafael F. Vitor, Fábio O. de Paula and Ricardo A. R. Oliveira. KITT - Sistema de Carro Inteligente com Apoio à Segurança do Motorista. In: Anais do V Simpósio Brasileiro de Engenharia de Sistemas Computacionais (SBESC), Foz do Iguaçu, Brasil: [s.n.], 2015. [Qualis-CC B4];

• Arthur N. Assunção, Fábio O. de Paula and Ricardo A. R. Oliveira. Metodologia para Detecção de Saída de Faixa Utilizando EWMA Aplicado a Sensores Inerciais no Volante. In: Anais do V Simpósio Brasileiro de Engenharia de Sistemas Computacionais (SBESC), Foz do Iguaçu, Brasil: [s.n.], 2015. [Qualis-CC B4];

• Fábio O. de Paula,Arthur N. Assunçãoand Ricardo A. R. Oliveira.Análise de Sensores para um Ambiente de Testes Automotivos. In: Anais do XXI Congresso Brasileiro de Automática (CBA), Vitória, Espírito Santo, Brasil: [s.n.], 2016. [Qualis-CC B4];

1.7 Organização do Trabalho

Esta dissertação está dividida em 7 capítulos. Neste primeiro capítulo foi apresentada uma introdução do trabalho.

No Capítulo 2, é apresentada a fundamentação teórica necessária para o entendimento deste trabalho, onde são abordados conceitos de ADAS, falhas do condutor, microcontroladores e computadores (como Arduíno, Wandboard, ESP8266), sensores (como acelerômetro, giroscó-pio, potenciômetro, sensor para visão computacional) e controle estatístico de processos, in-cluindo o gráfico de controle EWMA.

O Capítulo 3 apresenta a descrição geral da proposta, onde são apresentadas as soluções iniciais que deram origem ao protótipo, incluindo a detecção de saída de faixa com acelerômetro e, depois, com a combinação do acelerômetro com giroscópio e, após isso, um ADAS criado. O capítulo finaliza com a apresentação da proposta para o circuito, sistema e aplicativo do protótipo de LDWS para detecção de saída de faixa.

(35)

1.7 Organização do Trabalho 9

O Capítulo 5 contém uma breve revisão dos principais trabalhos relacionados à detecção de faixa e saída de faixa, detecção de sonolência e ADAS. Esse capítulo tem como objetivo apresentar uma visão global das abordagens utilizadas em outras pesquisas. Em seguida, no Capítulo 6, são apresentadas comparações das soluções dessa dissertação com os trabalhos da literatura.

(36)

Capítulo 2

R

EFERENCIAL

T

EÓRICO

Neste capítulo, é apresentado o embasamento teórico que norteia os principais domínios de conhecimento envolvidos neste trabalho. Inicialmente são apresentados os conceitos de falhas do condutor, destacando suas definições e principais falhas, finalizando a parte com a descrição dos ADASs. A segunda parte, descreve os componentes dehardware, com as seções sobre microcontroladores e computadores (como Arduíno, Wandboard, ESP8266) e sensores (como acelerômetro, giroscópio, potenciômetro, sensor para visão computacional). Por fim, o Controle Estatístico de Processos é apresentado, incluindo, principalmente, seu gráfico de controle EWMA.

2.1 Falhas do Condutor

Apesar dos veículos automotores serem muito utilizados há décadas, ocorrem um grande número acidentes de viação a cada ano. Pesquisam tem sugerido que falhas do condutor são a principal causa de acidentes rodoviários, indicando que 75% (HANKEY, 1999 apudMEDINA, 2004), ou mesmo até 90% (TREAT, 1979) de todos os acidentes rodoviários envolvem alguma forma de erro do condutor.

(37)

2.1 Falhas do Condutor 11

2.1.1 Desatenção na Condução

Autores definem a desatenção como incluindo desatenção na rodovia, fadiga e uma de-manda por uma tarefa secundária. A desatenção ocorre quando o condutor falha ao tratar de uma demanda da condução, como quando o sono supera um condutor sonolento. Essa desa-tenção representa uma adesa-tenção diminuída das atividades críticas para a condução segura sem que aja uma atividade concorrente. Assim, a distinção entre desatenção e distração é que a distração envolve uma atividade explícita (como falar ao telefone) que compete com a atenção do condutor e não inclui estados cognitivos que diminuem a capacidade de tratar uma tarefa da condução, como sonolência ou fadiga (YOUNG; LEE; REGAN, 2008;LEE, 2008).

Desta forma podemos separar a desatenção em dois grandes grupos, a distração e a fadiga, incluindo neste segundo grupo a sonolência (LEE, 2008;DONG, 2011). A Figura 2.1 ilustra uma cada um dos dois tipos de desatenção.

(a) Distração (b) Fadiga/sonolência

Figura 2.1: Tipos de desatenção (Fonte: (DAMASHEK, 2015)).

Assim, a distração, numa definição mais geral, é um desvio de atenção para longe das atividades críticas necessárias para uma condução segura para atividades concorrentes tendo como principais atividades: comer ou beber, atenção a uma pessoa de fora, falar ao celular, uso de tecnologias do veículo, como GPS, etc. (LEE, 2008;STUTTS; ASSOCIATION et al., 2001).

Enquanto a fadiga e sonolência são diferentes da distração, pois refere-se a combinação de sintomas tais como desempenho prejudicado e uma sensação de sonolência sem envolver atividades concorrentes, porém o termo fadiga ainda não tem uma definição universalmente aceita (BRILL; HANCOCK; GILSON, 2003).

Estes tipos de desatenção alteram o desempenho da condução do motorista, algumas alte-rações têm sido observadas para cada um dos dois tipos de desatenção:

(38)

2.1 Falhas do Condutor 12

(2008) verificou que a distração pode ser associada a lapsos de controle do veículo, o que resulta em mudança de velocidade não intencional ou permitindo que o veículo saia dos limites da pista. Zhou, Itoh e Inagaki (2008) encontraram as influências sobre o compor-tamento de mudança de faixa quando uma tarefa secundária é realizada, que inclui uma diminuição na intenção de mudar de faixa e no comportamento de verificar informações da condução, como retrovisor lateral, velocímetro, etc, e aumento no tempo para realizar estas verificações.

2. Fadiga e sonolência: Tem sido relatado que os motoristas privados de sono tem uma frequência mais baixa de reversões da direção (cada vez que o ângulo de direção cruza zero graus), pois o condutor tende a corrigir menos a posição do veículo por estar sono-lento (BROWN, 1994), deterioração do desempenho da direção (MAST; JONES; HEIMSTRA, 1989), manobras de direção mais frequentes durante os períodos de vigília, sem correção da direção por um período prolongado, seguido por um movimento involuntário durante períodos sonolentos (YABUTA, 1985), movimentos de grande amplitude e grande desvio padrão no ângulo do volante (ELLING; SHERMAN, 1994). Zhong (2007) descobriram que, quando os motoristas estavam cansados, o ângulo do volante se tornou irregular e a gama de desvios aumentou.

Figura 2.2: Ilustração com exemplo de veículo cometendo um pequeno desvio de pista.

(39)

2.1 Falhas do Condutor 13

Figura 2.3: Ilustração com exemplo de veículo cometendo um grande desvio de pista, análogo a uma saída de faixa.

Assim, um motorista que comete algum erro, adormece ou se distrai na condução, pode perder o controle do veículo, cometer uma saída de faixa perigosa etc. Essa falha muitas vezes pode resultar em um acidente com outro veículo ou algum objeto fixo. A fim de evitar acidentes devastadores, as ações do condutor devem ser monitoradas por meio de tecnologias de senso-riamento ou similares. As seguintes medidas ou abordagens são amplamente utilizadas, como apresentado em (SAHAYADHAS; SUNDARAJ; MURUGAPPAN, 2012; CHEN, 2015; SAINI; SAINI, 2014):

• Baseada no veículo: dados referentes ao veículo, como dispositivos do veículo, por exem-plo volante e pedais, e relação do veículo com o meio, por exemexem-plo desvio na pista e posição em relação a outro carro, são monitorados e mudanças que cruzam um limite especificado indicam algum erro e/ou aumento na probabilidade de alguma forma de de-satenção.

• Comportamental: o comportamento do condutor, suas respostas físicas, como o bocejo, fechamento dos olhos, piscar dos olhos, posição da cabeça, etc, é monitorado por meio de uma ou mais câmeras, podendo alertar o motorista em caso da identificação de algum erro ou probabilidade de desatenção. Essa abordagem é amplamente utilizada com visão computacional.

• Sinais Fisiológicos: Sinais fisiológicos, como eletrocardiograma (ECG), eletromiograma (EMG), eletro-oculograma (EOG) e eletroencefalograma (EEG) são monitorados e cor-relacionados a formas de desatenção.

(40)

2.2 ADAS 14

seja analisado, sendo essa segunda mais difícil de ser empregada por necessitar de dispositivos ligados diretamente ao motorista, enquanto a baseada no veículo apenas necessita da adição de sensores no veículo, uma única vez, não necessitando ajuste no local do dispositivo para cada condutor ou a conexão do sensor em cada condutor.

A abordagem comportamental, normalmente utiliza visão computacional, e tem boa parte dos benefícios da técnica com base no veículo, sendo mais sensível a condições ambientais, como iluminação, etc.

Esses estudos demonstram que a desatenção causa graves problemas na condução, sendo necessário a criação de sistemas e métodos para identificar os problemas gerados e até para diminuir suas consequências, diminuindo estes efeitos ou indicando que houve erros. Sistemas para solucionar esses problemas são apresentados na seção a seguir.

2.2 ADAS

Um ADAS (Advanced Driver Assistance System - Sistema Avançado de Assistência ao Condutor) é um sistema de controle no veículo que utiliza sensores para melhorar o conforto e segurança no trânsito, auxiliando o motorista no reconhecimento e reação a situações potenci-almente perigosas, desta forma reduzindo o número de acidentes decorrentes de falha humana (LU; WEVERS; VAN DER HEIJDEN, 2005) e (HEIJDEN; MARCHAU, 2002).

As tecnologias empregadas nesses ADAS podem ser divididas em dois grupos, ativa e pas-siva. Tecnologias passivas geralmente estão presente nos veículos de forma padrão e minimizam os danos ao condutor e passageiros quando ocorre um acidente, como cinto de segurança e air-bag. Enquanto as tecnologias ativas diminuem ou, até, eliminam as possibilidades de ocorrência de acidentes, atuando na prevenção, como sistemas de controle de velocidade (LITTLE, 2014).

Nos últimos anos sistemas de segurança ativa têm progredido, tendo maior presença em veículos. Na União Europeia, sistemas de monitoramento de pressão dos pneus e sistemas de controle eletrônico de estabilidade já são obrigatórios em todos veículos novos. Enquanto nos EUA, o controle de estabilidade já é obrigatório desde 2011 e o monitoramento de pressão de pneus desde 2007. Desta forma é esperado que mais sistemas sejam adotados nos próximos anos, impulsionados, principalmente, por regulamentos criados pelos governos e agências de testes de segurança (LITTLE, 2014). O gráfico da Figura 2.4 ilustra a evolução da taxa de adoção de alguns sistemas e a taxa esperada para adoção de novos sistemas nos próximos anos.

(41)

veí-2.2 ADAS 15

Figura 2.4: Evolução das taxas de adoção global de soluções de segurança ativa nos veículos leves (Adaptado de Little (2014)).

culos inteligentes, pois o ADAS pode intervir de forma autônoma. Estes sistemas devem atender a algumas exigências, como desempenho, confiabilidade (baixa taxa de falsos positivos) e se-gurança (alta taxa de precisão) (VELEZ; OTAEGUI, 2015). A Figura 2.5 ilustra um exemplo de ADAS criado pela Honda.

Os ADAS podem incluir outros sistemas, como os LDWSs (Lane Departure Warning Sys-tems), que são sistemas de aviso de saída de faixa e surgiram para avisar o motoritsa quando o veículo está saindo ou saiu da faixa (em casos onde se trata de um movimento incorreto na estrada). Esses sistemas são projetados para minimizar os acidentes, abordando as prin-cipais causas de colisões, erros do motoristas, distrações e sonolência (HOUSER; PIEROWICZ; FUGLEWICZ, 2005).

(42)

2.3 Microcontroladores e Computadores 16

Assim, os ADAS são sistemas que focam no auxílio à condução, uma das formas de auxílio é no monitoramento de ações do condutor. Esses ADAS precisam de microcontroladores ou computadores com sensores para a obtenção e processamento dos dados da condução. Esses componentes são vistos nas seções seguintes.

2.3 Microcontroladores e Computadores

2.3.1 Introdução

Microcontroladores são processadores bem simples de baixa capacidade. Esses microcon-troladores são usados em diversas áreas, como automação, domótica, controle sem fio industrial, redes de sensores, dispositivos vestíveis, dispositivos móveis etc.

Mais completos que os microcontroladores, temos os computadores de placa única, os SoC (System-on-a-chip - Sistema-em-um-Chip), que são computadores onde todos os componen-tes eletrônicos necessários para o seu funcionamento estão integrados numa mesma placa de circuito impresso. Essas placas têm grande uso em sistemas de controle, sistemas de medida, sistemas para veículos, controles residenciais e diversas outras aplicações onde se necessita de um bom processamento e conectividade. Além disso, há as placas de desenvolvimento, que são plataformas de placa de circuito impresso contendo um microprocessador e/ou microcontrola-dor e um suporte lógico mínimo necessário para se familiarizar com microprocessamicrocontrola-dores.

Nas próximas subseções serão vistos alguns microcontroladores, como o ESP8266, placa de desenvolvimento, como o Arduíno, e computadores de placa única, como a Wandboard.

2.3.2 Arduíno

O Arduíno é uma plataforma aberta de prototipação eletrônica composta por hardware

(placa controladora) esoftware(ambiente de desenvolvimento) que pode ser associada ao con-ceito dephysical computing, ou seja, ao conceito que, por meio dehardwareesoftware, cria-se sistemas físicos que interagem e respondem a entradas do mundo real (LADYADA, 2015). Foi projetado para tornar o processo de uso de eletrônicos de todos os meios, como acadêmicos, tecnológicos, científicos e artísticos, mais acessível (TARIQ; ZIYAD; ABDULLAH, 2013).

(43)

flexibi-2.3 Microcontroladores e Computadores 17

lidade e capacidade de interação com diversos sistemas operacionais (como Windows, Linux e Macintosh) e sua simplicidade de utilização (ARDUINO, 2015b;BANZI; SHILOH, 2014).

Para realizar o trabalho com esta plataforma de desenvolvimento é necessário conhecer seu funcionamento. Para isso, serão apresentados os principais conceitos, começando pelo funcionamento a nível dehardwareesoftware, utilizando como exemplo o Arduíno Mega 2560 que foi utilizado como uma das placas de aquisição e conversão de dados.

2.3.2.1 Hardware

Antes de apresentar o hardware do Arduíno, é necessário conhecer as diferenças entre microcontrolador e microprocessador.

Um microprocessador é constituído de um circuito integrado que é capaz de realizar ins-truções, tendo sua velocidade de processamento determinada por meio de seu tempo declock, forma de implementação do pipeline, previsão dinâmica de desvios etc. Esse tempo declock é geralmente descrito em função da frequência e não em função do tempo.

Figura 2.6: Exemplo de um microcontrolador e dos componentes que o constituem (Fonte: Dinis (2010)).

As características do microprocessador influenciam sua capacidade. Desta forma, a arqui-tetura, o tipo de instruções que é capaz de realizar, o número de bits que utiliza, a memória externa onde seus programas são executados, dentre outros fatores afetam a capacidade deste componente.

Por outro lado, um microcontrolador é constituído para integrar todos os componentes ex-ternos em um único circuito integrado, permitindo um acesso e controle constante a todos os periféricos.

A Figura 2.6 ilustra um exemplo de microcontrolador, deixando explícito todos os compo-nentes que podem ser inseridos nele. Essa figura demonstra uma parte dos compocompo-nentes que podem constituir um microcontrolador, assim podemos perceber a diferença entre um micro-controlador e um microprocessador.

(44)

ba-2.3 Microcontroladores e Computadores 18

Figura 2.7: Arduíno Mega 2560 (Fonte: Arduino (2015a)).

seada no ATmega2560 (ATMEL, 2014) e é mostrado na Figura 2.7. O diagrama de bloco do ATmega2560 é ilustrado na Figura 2.8, onde pode-se identificar todos os seus componentes. A especificação técnica deste modelo é mostrada na Tabela 2.1.

Tabela 2.1: Especificações técnicas do Arduíno Mega 2560.

Microcontrolador ATmega2560

Tensão Operacional 5V

Tensão de Entrada (recomendado) 7-12V Tensão de Entrada (limite) 6-20V

Pinos Digitais de I/O 54 (dos quais 15 fornecem saída PWM) Pinos de Entrada Analógica 16

Corrente Contínua por Pino de I/O 20 mA Corrente Contínua para o Pino de 3.3V 50 mA

Memória Flash 256 KB dos quais 8 KB são usados pelobootloader

SRAM 8 KB

EEPROM 4 KB

Frequência doClock 16 MHz

Comprimento 101.52 mm

Largura 53.3 mm

Peso 37 g

Para este trabalho não é necessária uma análise profunda do funcionamento do microcon-trolador, portanto não será um dos objetivos desta dissertação.

2.3.2.2 Ambiente de Desenvolvimento Integrado aoHardwaredo Arduíno

Nesta parte será descrito de forma breve como instalar e utilizar o software de desenvol-vimento do Arduíno. A leitura deste tópico não dispensa a consulta ao site do fornecedor (ARDUINO, 2015b), pois osoftwareé atualizado constantemente.

(45)

desenvol-2.3 Microcontroladores e Computadores 19

(46)

2.3 Microcontroladores e Computadores 20

vimento integrado (IDE -Integrated Developement Enviroment). Esta IDE é multiplataforma, escrita em linguagem Java, permite o desenvolvimento dos programas, geração dos códigos e o envio dos códigos a placa (PINTO, 2011). Esta ferramenta está disponível na página oficial do Arduíno (http://arduino.cc). Além disso, algunsdriverssão necessários para o funcionamento. A Figura 2.9, ilustra a interface da IDE.

Este componente utiliza uma linguagem de programação padrão, baseada emWiring, que pode ser estendida pelo uso de bibliotecas em linguagens C/C++, assim a programação pode ser feita em linguagem C/C++, com o uso de bibliotecas (BANZI; SHILOH, 2014). O uso é simples e bastante amigável com diversos exemplos que podem ser encontrados no site do fabricante e pela própria IDE.

Uma IDE é normalmente um conjunto de ferramentas que auxiliam no desenvolvimento de aplicações. Nesse conjunto geralmente se encontra:

• um editor de código, consiste em um editor de texto para facilitar a criação de um pro-grama em uma determinada linguagem, geralmente vem com a função dehighlight (des-taque de palavras-chave da linguagem, variáveis etc), verificador de sintaxe, entre outras;

• compilador, sua principal função é traduzir o código fonte para um formato que o com-putador pode entender;

• linker, liga os vários objetos criados pelo compilador para formar um programa executá-vel;

• loader, carrega o executável na memória para a CPU (Central Processing Unit) executar;

(47)

2.3 Microcontroladores e Computadores 21

Figura 2.9: IDE do Arduíno.

2.3.3 Wandboard

WandBoard é uma série de computadores de placa única, do inglêsSingle Board Computer, de ultra baixo consumo de energia, baixo custo, com foco em projetos que exigem alto desem-penho multimídia, principalmente para vídeos, e conectividade, como aplicações automotivas, baseado na família de processadores Freescale i.MX6 Cortex-A9 (FREESCALE, 2015a, 2015b).

É vendida e fabricada pela Freescale Inc. em 3 versões, WandBoard Solo, WandBoard Dual e WandBoard Quad. Tendo como principais diferenças entre elas, o processador e a quantidade de memória.

Essas placas suportam diversos sistemas operacionais (SO), como Android e sistemas ba-seados em Linux, como Ubuntu. Vários desses SOs são disponibilizados na página oficial de

downloadde arquivos1para a WandBoard.

Devido a possibilidade de instalação do SO, o desenvolvimento pode ser feito voltado para o sistema operacional desejado, neste trabalho foi utilizada uma versão do Linux (kernel 3.19)

(48)

2.3 Microcontroladores e Computadores 22

Figura 2.10: Placa Wandboard Quad.

gerada pelo Yocto Fido2(versão 1.8).

Figura 2.11: Diagrama de blocos da Wandboard Quad (Fonte: Freescale (2013)).

Neste trabalho foi utilizada a WandBoard Quad, ilustrada na Figura 2.10 com seu diagrama de blocos na Figura 2.11, devida a sua configuração superior as demais, sendo assim mais adequada para o processamento de imagens.

Toda a especificação dessa placa é mostrada na Tabela 2.2 e Tabela 2.3.

2O Yocto Project (https://www.yoctoproject.org/) é um sistema de construção de distribuições Linux

Embar-cado. O projeto é encabeçado pela The Linux Foundation e conta com a contribuição de diversas empresas como, Intel, Wind River, Dell, Texas Instruments, Freescale, Huawei e LG Electronics.

3A especificação do protocolo 802.11n pode ser encontrada em https://standards.ieee.org/findstds/standard/802.

(49)

2.3 Microcontroladores e Computadores 23

Tabela 2.2: Especificações técnicas da Wandboard Quad.

Processador Freescale i.MX6 Quad Cores Cortex-A9 Quad core

EngineGráfica Vivante GC 2000 + Vivante GC 355 + Vivante GC 320

Memória 2GB DDR3

Tabela 2.3: Especificações técnicas de entrada e saída da Wandboard Quad.

Áudio Sim

Áudio Digital S/PDIF (Sony/Philips Digital Interface Format) Sim HDMI (High-Definition Multimedia Interface) Sim Interface para Câmera - MIPI® Interface CSI-2 Sim

SlotsMicro-SD 2

Porta Serial Sim

Cabeçalho Expansível Sim

USB (Universal Serial Bus) Sim

USB OTG (USB On-The-Go) Sim

SATA (Serial AT Attachment) Sim

Gigabit LAN Sim

Wifi (802.11n3) Sim

Bluetooth Sim

2.3.4 Módulo ESP8266

Com o aumento da demanda por sistemas para Internet das Coisas (IoT), diversas empresas desenvolveram módulos para explorar mais esta demanda. O módulo de maior destaque é o ESP8266, originalmente fabricado pela Espressif, que possui baixíssimo custo e um tamanho muito reduzido.

Figura 2.12: ESP8266 Modelo ESP-01 fabricado pela Espressif.

(50)

2.3 Microcontroladores e Computadores 24

Além disso, por sua facilidade de uso, tamanho reduzido e preço baixo pode ser utilizado em ADAS para oferecer uma interface Wi-Fi, permitindo inclusive a conexão com dispositivos do condutor e passageiros, desta forma, até realizando uma combinação de IoT com o ADAS.

Esse módulo foi originalmente criado pela Espressif, é um conjunto de alto desempenho, alta interaçãowireless, projetado para espaços pequenos com restrição de consumo de energia para plataformas móveis. Ele fornece a capacidade de incorporar Wi-Fi dentro de outros siste-mas, podendo funcionar como aplicativo independente, com menor custo e com um mínimo de espaço. O diagrama de blocos do ESP8266 é ilustrado na Figura 2.13.

Figura 2.13: Diagrama de bloco do ESP8266.

O módulo possui uma grande facilidade para se integrar a outras soluções, podendo utilizar comunicação serial UART e, até, Wi-Fi (Espressif Systems IOT Team, 2015). O ESP8266 foi criado em diversas variantes por sua fabricante. Oficialmente são 11 ESP, todos muito pequenos com o objetivo principal de serem pontes Serial-Wi-Fi, recebendo dados serial (UART) e interagindo com a rede Wi-Fi, podendo ter mais funcionalidades, como operarem em modo standalone, assim funcionando como microcontroladores Wi-Fi. Os módulos são numerados de ESP-01 a ESP-11, como ilustrado na Figura 2.14.

Algumas características desse módulo são mostradas na Tabela 2.4.

(51)

2.3 Microcontroladores e Computadores 25

Figura 2.14: Variantes do ESP8266 fabricado pela Espressif.

(52)

2.3 Microcontroladores e Computadores 26

Tabela 2.4: Especificações técnicas do módulo ESP8266 (Fonte: Espressif Systems (2013)).

Característica

Protocolo 802.11 b/g/n Wi-Fi Direct (P2P), soft-AP

Pilha de protocolo TCP/IP integrada

TR switch, balun, LNA e amplificador de potência integrados

PLL, reguladores, e unidades de gerenciamento de energia integrados Potência de saída de +19.5dBm no modo 802.11b

Sensor de temperatura integrado Suporte a diversas antenas

CPU de 32-bit de baixo consumo integrada que pode ser usada como processador de aplicações SDIO 2.0, SPI, UART

STBC, 1x1 MIMO, 2x1 MIMO A-MPDU e A-MSDU

Transmissão de pacotes em <2ms

Consumo em standby de <1.0mW (DTIM 3)

2.3.4.1 Hardware

O ESP8266 Thing é uma placa relativamente simples. Seus pinos são divididos em duas linhas paralelas. Os conectores USB e LiPo ficam no topo da placa para prover energia, tendo também um controle ON/OFF. Logo abaixo ficam vários leds para indicar, energia, carga e estado do circuito integrado. A visão geral dos principais componentes é ilustrada na Figura 2.16.

Figura 2.16: Visão geral dos principais componentes do módulo ESP8266 Thing (Fonte: SparkFun (2015)).

O módulo pode utilizar uma bateria de ion-lítio para o seu fornecimento energético ( MUL-TILOGICASHOP, 2015), uma bateria é ilustrada na Figura 2.17.

(53)

2.3 Microcontroladores e Computadores 27

Figura 2.17: Exemplo de bateria para ESP8266.

isso pode-se utilizar um carregador USB LiPo (Lítio Polímero), como ilustrado na Figura 2.18.

Figura 2.18: Carregador de bateria para ESP8266 (Fonte: (SPARKFUN, 2016)).

Esse carregador também pode ser alimentado por uma fonte de 5v, com pino barrel jack. Mais detalhes sobre as especificações, entradas e saídas desse carregador podem ser visualiza-dos na Figura 2.19.

Figura 2.19: Especificações do carregador para ESP8266 (Fonte: (SPARKFUN, 2016)).

Além disso, esse carregador pode ser customizado quanto à corrente de saída, essa e outras informações podem ser encontradas no site do fabricante4.

(54)

2.3 Microcontroladores e Computadores 28

2.3.4.2 Ambiente de Desenvolvimento

Para ligar o módulo é necessário o uso de uma bateria ou via USB e o desenvolvimento para o módulo ESP8266 pode ser feito utilizando a IDE do Arduíno, disponibilizada no website do Arduíno (http://arduino.cc), com o gerenciador de placa especifico para a ESP8266, disponível em https://github.com/esp8266/Arduino. Esse gerenciador funciona Windows, Mac OS, and Linux (32 and 64 bit).

A instalação do gerenciador é simples e segue os seguintes passos:

• Instalar a IDE Arduíno.

• Iniciar a IDE Arduíno e abrir a opçãoPreferences window.

• Digite http://arduino.esp8266.com/stable/package_esp8266com_index.json no campo Ad-ditional Board Manager URLs. Caso tenha alguma url, apenas separe-as por vírgula.

• AbraBoards Managerno menuTools >Boarde instale e marque esp8266.

Com o gerenciador instalado, torna-se possível o desenvolvimento utilizando a IDE do Arduíno. Necessitando marcar a opção SparkFun ESP8266 Thing, para desenvolver para o modelo da SparkFun, emBoardno menuTools.

Códigos de exemplo podem ser encontrados em https://github.com/esp8266/Arduino. Esses códigos podem ser compilados e enviados a ESP8266 com o uso de um conversor serial USB, como o Conversor FTDI Serial USB RS232.

2.3.4.3 Criação de Servidor Web e Webservice

Devida a possibilidade de incluir implementações no ESP8266 e de possuir Wi-Fi, podemos criar um Servidor Web e, assim, um Webservice. Um Web service é uma solução utilizada para integrar sistemas permitindo uma melhor comunicação entre aplicações diferentes. Com essa tecnologia é possível que novas aplicações podem interagir com aplicações já existentes, permitindo que sistemas de plataformas diferentes possam ser, de certa forma, compatíveis. Os Web services permitem o envio e recebimento de dados em diversos de formatos interoperáveis, como XML (eXtensible Markup Language)5, JSON (JavaScript Object Notation)6etc.

5XML é uma recomendação da W3C (World Wide Web Consortium) para gerar linguagens de marcação para

necessidades especiais.

6JSON (JavaScript Object Notation- Notação de Objetos JavaScript) é uma formatação leve de troca de dados.

(55)

2.3 Microcontroladores e Computadores 29

Antes de iniciar a criação do Web service, alguns componentes devem ser instalados. Pri-meiramente o ambiente Arduíno deve ser preparado para o desenvolvimento com o ESP8266, como mostrado anteriormente. Em seguida, para a leitura dos sensores que serão utilizados, al-gumas bibliotecas devem ser instaladas, na IDE do Arduíno, no diretóriolibrary, abaixo exem-plos de bibliotecas para os sensores do MinIMU-9 v3:

• Para a leitura dos dados do acelerômetro e magnetômetro utiliza-se a biblioteca disponível em https://github.com/ArthurAssuncao/lsm303-arduino, originalmente em https://github. com/pololu/lsm303-arduino.

• Para a leitura dos dados do giroscópio utiliza-se a biblioteca disponível em https://github. com/ArthurAssuncao/l3g-arduino, originalmente em https://github.com/pololu/l3g-arduino.

Para a codificação do Web service, devemos primeiro criar um servidor web utilizando a classe WiFiServer com o uso do header ESP8266WiFi.h. O código do Algoritmo 2.1 ilustra um servidor web simples ouvindo na porta 80. Por padrão, o gerenciador de rede Wi-Fi do ESP8266 da SparkFUn cria a rede 192.168.4.0/255 e, assim, o módulo recebe o endereço IP 192.168.4.1.

Algoritmo 2.1: Exemplo de código de um servidor web para ESP8266

# include <ESP8266WiFi . h>

const char* s s i d = "seu -ssid";

const char* p a s s w o r d = "sua -senha";

// define a porta do servidor web

W i F i S e r v e r s e r v e r ( 8 0 ) ;

void s e t u p ( ) {

S e r i a l . b e g i n ( 1 1 5 2 0 0 ) ; d e l a y ( 1 0 ) ;

WiFi . b e g i n ( s s i d , p a s s w o r d ) ;

while ( WiFi . s t a t u s ( ) != WL_CONNECTED) {

d e l a y ( 5 0 0 ) ; }

// Inicia o servidor

s e r v e r . b e g i n ( ) ;

}

void l o o p ( ) {

// Checa se algum cliente conectou

W i F i C l i e n t c l i e n t = s e r v e r . a v a i l a b l e ( ) ;

if ( ! c l i e n t ) {

d e l a y ( 1 0 0 ) ;

(56)

2.3 Microcontroladores e Computadores 30

}

// Le a primeira linha da requisicao

S t r i n g r e q = c l i e n t . r e a d S t r i n g U n t i l (’\r’) ; c l i e n t . f l u s h ( ) ;

// Envia uma resposta ao cliente

c l i e n t . p r i n t ("HTTP /1.1␣200␣OK\r\nContent -Type:␣text/html\r\n

␣␣ ␣␣␣␣␣␣ \r\n<! DOCTYPE ␣HTML >\r\n<html >\r\ nMensagem ␣de␣resposta </html >\n") ; d e l a y ( 1 ) ;

// O cliente eh desconectado

// quando a funcao retornar e o objeto ’client ’ for destruido

}

Em seguida, com o servidor web funcionando, precisamos fornecer dados utilizando uma linguagem interoperável, como XML ou JSON. Dessa forma, basta alterarmos a string de res-posta do servidor web para uma resres-posta em notação JSON para que nosso servidor web passe a funcionar como um Web service simples. Dessa forma, o código do Algoritmo 2.2 ilustra um exemplo de Web service simples que retorna o objeto "{’webservice’: ’ok’}".

Algoritmo 2.2: Exemplo de código de um Web service para ESP8266

# include <ESP8266WiFi . h>

const char* s s i d = "seu -ssid";

const char* p a s s w o r d = "sua -senha";

// define a porta do servidor web

W i F i S e r v e r s e r v e r ( 8 0 ) ;

void s e t u p ( ) {

S e r i a l . b e g i n ( 1 1 5 2 0 0 ) ; d e l a y ( 1 0 ) ;

WiFi . b e g i n ( s s i d , p a s s w o r d ) ;

while ( WiFi . s t a t u s ( ) != WL_CONNECTED) {

d e l a y ( 5 0 0 ) ; }

// Inicia o servidor

s e r v e r . b e g i n ( ) ; }

void l o o p ( ) {

// Checa se algum cliente conectou

W i F i C l i e n t c l i e n t = s e r v e r . a v a i l a b l e ( ) ;

if ( ! c l i e n t ) { d e l a y ( 1 0 0 ) ;

return;

}

// Le a primeira linha da requisicao

S t r i n g r e q = c l i e n t . r e a d S t r i n g U n t i l (’\r’) ; c l i e n t . f l u s h ( ) ;

// Cria a string de resposta em JSON

S t r i n g s = "HTTP /1.1␣200␣OK\r\n";

Imagem

Referências