|Institution:||University of Waterloo|
|Keywords:||driver; manoeuvre; classification; machine learning; support vector machine; kalman filter; mobile; smartphone; accelerometer; gyroscope; magnetometer; inertial measurement unit|
|Full text PDF:||http://hdl.handle.net/10012/10754|
Automobiles are integral in today's society as they are used for transportation, commerce, and public services. The ubiquity of automotive transportation creates a demand for active safety technologies for the consumer. Recently, the widespread use and improved sensing and computing capabilities of mobile platforms have enabled the development of systems that can measure, detect, and analyze driver behaviour. Most systems performing driver behaviour analysis depend on recognizing driver manoeuvres. Improved accuracy in manoeuvre detection has the potential to improve driving safety, through applications such as monitoring for insurance, the detection of aggressive, distracted or fatigued driving, and for new driver training. This thesis develops algorithms for estimating vehicle kinematics and recognizing driver manoeuvres using a smartphone device. A kinematic model of the car is first introduced to express the vehicle's position and orientation. An Extended Kalman Filter (EKF) is developed to estimate the vehicle's positions, velocities, and accelerations using mobile measurements from inertial measurement units and the Global Positioning System (GPS). The approach is tested in simulation and validated on trip data using an On-board Diagnostic (OBD) device as the ground truth. The 2D state estimator is demonstrated to be an effective filter for measurement noise. Manoeuvre recognition is then formulated as a time-series classification problem. To account for an arbitrary orientation of the mobile device with respect to the vehicle, a novel method is proposed to estimate the phone's rotation matrix relative to the car using PCA on the gyroscope signal. Experimental results demonstrate that e Principal Component (PC) corresponds to a frame axis in the vehicle reference frame, so that the PCA projection matrix can be used to align the mobile device measurement data to the vehicle frame. A major impediment to classifier-manoeuvre recognition is the need for training data, specifically collecting enough data and generating an accurate ground truth. To address this problem, a novel training process is proposed to train the classifier using only simulation data. Training on simulation data bypasses these two issues as data can be cheaply generated and the ground truth is known. In this thesis, a driving simulator is developed using a Markov Decision Process (MDP) to generate simulated data for classifier training. Following training data generation, feature selection is performed using simple features such as velocity and angular velocity. A manoeuvre segmentation classifier is trained using multi-class SVMs. Validation was performed using data collected from driving sessions. A grid search was employed for parameter tuning. The classifier was found to have a 0.8158 average precision rate and a 0.8279 average recall rate across all manoeuvres resulting in an average F1 score of 0.8194 on the dataset.