Non-intrusive vehicle-based measurement system for drowsiness detection

,


Introduction
Drowsiness while driving is considered as one main cause of traffic accidents.In general, road accidents are caused by human factors, environment, road conditions, and vehicle characteristics [1].According to [2], the cause of road accidents is driving at high speed, alcohol consumption, no safety tools, road design conditions, and lack of attention to hazard factors.Referring to [2] the cause of traffic accidents is dominated by human factors.However, aspects of human factors may be influenced by cognitive ability, hazard perception, response to driving environments (weather, traffic density, road conditions), and the effects of physical conditions such as fatigue and drowsiness.Furthermore, the US National Sleep Foundation report about 54% of adult drivers drove the vehicle in a drowsy state and 28% were asleep [3].This proves that drowsy drivers are one of the main causes of road accidents [4].A prompt detection of drowsy drivers is therefore very useful.
Drowsiness detection can be measured by subjective and objective indicators.Subjective measurements were using Karolinska Sleepiness Scale questionnaire [5][6][7].Objective measurements can be performed based on human physiology indicators, vehicle-based, and performance-based driving.Human physiology-based measurements consist of brain signal parameters [8][9][10][11]; oculomotor [6,12,13] heart rate changes [12,14] and muscle activity [8].This method claimed has reliability and accuracy in detecting drowsiness but has limitations.Vehicle-based measurements consist of parameters of steering change [4], [15][16][17] pathway changes [17][18][19]; and gas pedal changes [20].This method has nonintrusive advantages, able to detect changes in micro-corrections on the steering wheel, can detect gas pedal changes and also detect lane transfers.Vehicle-based measurements are useful in sleepiness measurements when reduced alertness due to drowsiness effect of vehicle control or deviation of vehicle function (lateral position, steering wheel change, gas pedal) [21].On the other hand vehicle-based method still has disadvantage can not be sure when changes to the vehicle's equipment can be due to effects other than drowsiness such as driver's emotional condition, road conditions, routes and highly dependent on driver's habits [15,16,18,20,22].

ISSN: 1693-6930 
Non-intrusive vehicle-based measurement syste for… (Ignatius Deradjad Pranowo) 957 Specifically, study focusing on the drowsiness detection system with vehicle-based measurement methods has been widely practiced.This study will develop a prototype to measure drowsiness by indicators of steering changes, and changes in gas pedal and brake pedal.The objectives is to provide the suitable sensors that meet the criteria of accuracy and integration between driving simulators (real vehicle unit) and simulation software "CityCarDriving" to gain higher fidelity.

On-Vehicle Drowsiness Detection System 2.1. System Design
The vehicle-based driving simulator for drowsiness detection mainly compose of hardware and software.Modified of a real vehicle/car by placing several sensors and microcontroller will be part of the hardware.The hardware configuration consists of several major components.There include a set of buttons consisting of the five buttons to enable up transmission, down transmission, seatbelt, start engine, and handbrake release.The other are one HMC5883L sensor mounted on steering rod, and two MPU6050 sensors mounted on the gas pedal and brake pedal.Arduino ProMicro which is a programming control unit that gets input signals from all buttons and sensors, and a PC unit containing the "CityCarDriving" simulation software.Figure 1 shows the block diagram of all components that builds vehiclebased driving simulator.The system consists of three main components are system input, signal processing, and application software.The system input consists of 5 setting buttons, an HMC5883L sensor for steering wheel, two MPU6050 sensors for gas pedal and brake pedal.The signal processing of system input is performed by Arduino Promicro, which is used as the interface between sensor and application software.The application software used here is CityCarDriving simulation software.The process that occurs in this system is as follows, whenever there is a change in position on the steering wheel, or the gas pedal, or the brake pedal, will be read by the sensors.The sensor then sends the change data to the Arduino Promicro.Arduino Promicro then processes the data and sends it to the computer.The computer, through the simulation software displays the data in the form of images that approximate the actual conditions.

Software Design
Figure 2 shown the algorithm developed in the vehicle-based driving simulator.The program will start from sensors reading the changes come from steering wheel rod, gas pedal, and brake pedal in simulator vehicle unit.In addition, Arduino as a programming control unit also received readings from five keys representing the activation of: engine start, seat belt, hand-brake off, transmission up, and transmission down.The reading results from the Arduino will have an impact on the simulation software "CityCarDriving".

Figure 2. Program flowchart
Software development in the Arduino programming to process data derived from HMC5883L and MPU6050 sensors to enable simulation software based on changes in data input from steering wheel, gas pedal, and brake pedal.The first problem to overcome is to find out which part of the CityCarDriving simulation software associated with the relevant variables must be set via the MPU6050 sensor.The next programming is Arduino ProMicro which receives input from five buttons, one HMC5883L, and two MPU6050 sensors.Specification of Arduino used is Arduino ProMicro 5V-16MHz.This study used Arduino sensors and integrates them with driving simulation software (CityCarDriving).Several studies used the simulation software (CityCarDriving) combined with unreal vehicle as a hardware [5,18,[20][21][22].The different point proposed in this study is the integration between the real car unit and the simulation software to gain higher fidelity in a driving simulator.

Electronic and Interface Design
The schematic circuit of electronic and interface devices of vehicle-based driving simulator shown in Figure 3.

Driving Simulation Software
The driving simulation software used is CityCarDriving commonly used as simulated driving software on a driving simulator.Figure 4 shows the display of the CityCarDriving version 1.5.2.The CityCarDriving recommended platform requirements are: 1GB free disk space, Core 2 Duo 3GHz/AMD 3GHz, nVidia ATI Radeon, 2GB, OS XP/Vista/7.This simulation software will be integrated with a real vehicle unit in the form of a modified car.The consideration of using the CityCarDriving simulation software is because this study is still in the early stages, where the target in this stage is the use of appropriate and adequate software.

Hardware Configuration
The development of a vehicle-based driving simulator has been achieved as shown in Figure 4 and Figure 5.The mounting results of three MPU sensors (Figure 5c-5d) successfully provide data readings of changes the steering angle, gas pedal changes, and brake pedal.There are patents on the use of sensors in the vehicle for the driving detection system [23][24]; but the studies that used Arduino sensors and combine them with driving simulation software have not been much or even not yet done.The integration of hardware (the installed sensors on steering rod, gas pedal, brake pedal) and software (driving simulation application and Arduino Based on this finding, related studies are no longer constrained and even able to build a low-cost driving simulator on their own for the benefit of a research laboratory.able to read the position of the steering angle, the pressing position of the gas pedal and the brake pedal.Of the many available sensors in the market, 3 sensors meet the above criteria, namely MPU6050 sensor, HMC5883L sensor and Multiturn Linear Potentiometer as shown in Figure 6.The Rotary Encoder sensor is not selected because difficult to be mounted on the steering rod.In order for the steering angle position can be estimated, a sine wave signal is generated.Table 1 was the results of these experiments.It is expected that the steering angle position can follow the sine wave signal, by rotating to the left (ccw) or right (cw) of the steering wheel, such that the signal issued by the three sensors approaches the sine wave signal, which is the target position for the steering.Observations are made by comparing each signal formed by the three sensors to each position of the steering angle.Figure 8 is a graph generated by the three sensors on the readings of the steering angle position.Figure 9 shows a graph generated of sine wave signal, and the performance of the three sensors on the reading of the steering angle position.Starting from the top signal, it appears that the graph generated by Precision (Multiturn Linier) Potentiometer is not smooth, with a fairly narrow range width, and even smaller than the noise.Meanwhile, for the second signal, which is generated by the HMC5883L sensor looks smooth and follows the sine wave pattern.Similarly, the MPU6050 sensor looks smooth and almost coincides with the sine wave.
Figure 10 is an oscillatory observation chart of the HMC5883L sensor following the target of the sine wave almost exactly.Figure 11 is a graphic observation of the HMC5883L sensor that oscillates rather roughly following the target sine wave.This is because the target of the sine wave moves faster than normal so that the oscillation results more roughly.It can happen only if the driver is in a sleepy condition or other reason.At least this indicator can be used to identify sleepiness despite the need for other studies to prove it.

Discussion
From the results of the experiment, the driving simulator has been able to be driven well and smoothly.Initially, the sensor devices used was 3 MPU6050 sensors, to read the steering angle position, the position of the gas pedal and the brake pedal.Since the three sensors both use I2C communication with Arduino, it is necessary to use the correct reading method.The problem that arises is, the I2C provided in MPU6050 only has 2 address, namely 0x68 and 0x69.Because there are only 2 addresses, only 2 MPU 6060 sensors can be read at once.So to read the third sensor, it takes a delay of 5 milliseconds.This time delay is used to make Arduino set the address on the third sensor with the same address as the first sensor.However, this solution causes the simulator response to slow down.During the experiment, especially for speeds above 20 km/h, the simulator becomes difficult to drive because the software response at the steering wheel is quite slow.From the results of repeated experiments, the time delay of 5 milliseconds is the smallest delay time for Arduino can read all three sensors correctly, and can not be reduced anymore.
To overcome the problem of reading above, the third sensor MPU6050 was replaced with an HMC5883L sensor, which was mounted on the steering wheel.Although the HMC5883L sensor also uses I2C communication, but because the I2C address of HMC5883L is different from the I2C address of MPU6050, the reading of the three sensors at the same time becomes no problem.Consideration of choosing HMC5883L magnetometer sensor compared to other similar magnetometer sensors, some of which such as MAG3110, LIS3MDL, LSM303DLHC, MPU9250, HMC5983 and L3G4200D have not been carried out.Future research will compare the performance of all existing magnetometer sensors, and choose the best performance.With an HMC5883L to read the steering angle position, and two MPU6050 sensors to read the position of the gas pedal and brake pedal, the driving simulator can be steered well and smoothly, and the simulator response is better.

Conclusion
Provide a statement that what is expected, as stated in the "Introduction" chapter can ultimately result in "Results and Discussion" chapter, so there is compatibility.Moreover, it can also be added the prospect of the development of research results and application prospects of further studies into the next (based on result and discussion).

Figure 1 .
Figure 1.Block diagram of the system

TELKOMNIKA
Figure 3. (a) Schematic circuit of electronic and interface

TELKOMNIKA
Vol. 17, No. 2, April 2019: 956-964 960 promicro program) on the simulator using easily accessible and relatively inexpensive components, opens opportunities to support the study of drowsiness detection using simulators.

Figure 6 .
Figure 6.Three sensors Figure 7 is a circuit to observe the three sensors, relating the reading performance of the steering angel position of each sensor.

Figure 7 .
Figure 7. Schematic of the circuit to observe the reading of the steering angle position

Figure 8 .Figure 10 .Figure 11 .
Figure 8.The readings of the three sensors Figure 9.The sine wave target and performance of the three sensors at the steering position