This project aims to personalize Advanced Driving-assistance Systems (ADAS) for autonomous vehicles with the self-driving cars simulator CARLA. The two main focus are on personalizing lane changing and personalizing Adaptive Cruise Control (ACC) that includes vehicle following and lane following.
Hardware-In-Loop based simulation with Torque controlled Steering motor and CARLA
Learning Phase
The Learning Phase uses Gaussian Mixture Model (GMM) for clustering the user preferences to into known presets which the ADAS can understand.
The vehicle is initialized with autopilot mode on. To switch between manual control and autopilot mode, press p
.
To start or end the learning process, press l
in manual control mode. Noted that starting and ending learning process would only collect driver's behavior data. One has to press t
to let the model learn from the data and be stored locally.
After learning, one could regenerate the scene by pressing Backspace
and turn autopilot mode on to see the performance of the vehicle.
It is advisable to personalize lane following in front in scene 0, to clone vehicle following behavior in scene 1, and to teach the model lane changing in scene 2.
Personalization
Some sets of data of 3 different drivers are stored in data/Driver_Data.
Lane Following
personalized parameter: target_speed
method: GMM
Driver 1 Set 1 Target Speed Histogram Plot & V-t Plot
All sets of 3 drivers' data
Vehicle Following
personalized parameter: Time Headway (THW)
method: GMM
Driver 1 Set 1 THW, TTCi
All sets of 3 drivers' data
Lane Changing
personalized parameter: Lateral Time, Longitudinal Velocity
method: GMM + COS Trajectory
3 drivers' trained models perform in standard case [10m/s, -3.5m, 15m, -12m]