Autonomous Lab Scale Car Maneuvers
Obstacle Avoidance and Lane Following via Lidar
The laser scan data from lidar provides a 360-degree view to the the vehicle, which enables it to identify obstacles in the surrounding environment. In the above video, the vehicle's lane following algorithm is improved by the lidar which detects the boundaries, as well as the obstacle in front to perform safe lane following.
Lane Following via Camera using Deep Learning
A deep convolutional neural network architecture, namely ResNet-18, is trained on lane images obtained from the car's camera. A dataset for supervised learning was created by annotating the desired pixel location in the image where the car should move towards. The result is a model that can perform lane following through camera on both directions of the track. The training video can be found below which emphasises the accuracy of the model trained as more data was collected based on variety of conditions.
Emergency Braking and Collision Free Driving
Detection of an obstacle using Lidar and then braking was implemented, which was further modified into a local path planning algorithm (based on real-time lidar data) was developed to calculate motion commands (steering and throttle) for the vehicle to roam collision free autonomously in the environment. Later, the same was acheived by training a deep convolutional neural network (ResNet-18).
Simultaneous Localisation and Mapping (SLAM)
The car was driven in a customised environment with obstacles to create a map using the onboard sensors and an algorithm called SLAM. The saved map can be used for localisation, path planning and other maneuvers.
Image-Based Lane Keep Assist System
The image captured from car's camera is passed through an image processing pipeline to obtain lane markings and find a proper a trajectory accordingly. Then, mean cross-track deviation error is calculated which is fed to a proportional-derivative-integral (PID) controller for keeping the car on the track in between the lanes.
Trajectory Tracking using Pure Pursuit
The car's position and orientation is obtained via real-time lidar data by constantly performing a localision algorithm on a saved map, where a tajectory is defined in the form of waypoints. A geometric controller, namely Pure Pursuit, is used to calculate the steering angle and velocity of the car (based on its current states) to track the specified path.
Cooperative Adaptive Cruise Control (CACC)
A two vehicle platoon was created by establishing communication between leader and follower vehicles through TCP/IP. The follower uses an ultrasonic sensor to measure the gap between itself front car and maintain a safe seperation distance, which is used along with leader's state informations to calculate the required acceleration.
Mitigation of Processor-level Timing Side Channel Attacks
To prevent attacks using timing-based processor side channels, we proposed multi-rate attack-aware schedule randomization. Here, we explore the aspect of both multi-rate switching strategies for safety-critical control loops and schedule randomization. This methodology provides a comprehensive approach to generate and classify schedules, as well as a runtime invoker that selects schedules strategically to prevent prolonged attacks. This method was evaluated on an ARM platform-based one-tenth-scale race car over a lane-keep assist system. The experiment demonstrates that under attack-aware schedule randomization, attack success rate becomes least.
Real-Time Testing and Evaluation
Hardware-in-Loop (HiL)
Real-time HiL emulation of Adaptive Cruise Control (ACC) System under Bus-Off Attack on CAN Protocol and Detection, performed on ETAS labcar.Schedule-Based Bus-Off Attack - The attacker injects the attack message into CAN synchronously with the target message at the same time. Repeated synchronous transmissions cause the transmission error count of the victim message’s source ECU to increase and gradually send the victim ECU to the bus-off mode. The timing information about the message schedule is collected by the attacker after analyzing the CAN message logs. Therefore, it remains stealthy during the attack process as it uses the same identifier and timing information as the victim message. With the victim ECU in bus-off mode, the attacker can now transmit false data messages mimicing the victim ECU. As demonstrated by our experiment with HiL setup, the ECU executing the adaptive cruise control loop becomes unstable.
Schedule-based Bus-Off Attack Detection - We propose an attack-aware schedule obfuscation strateg that instruments an ECU schedule that hides the timing information of safety-critical messages, transmitted through the CAN bus, from an attacker who is attempting a schedule-based attack (SBA), like bus-off attack. In this method, we skip some job instances of a victim task. The proposed strategy also detects possible bus-off attempts while obfuscating the schedules. It also ensures that a desired performance guarantee is always ensured and none of the tasks misses their deadlines. We experimentally demonstrate this on our automotive HIL testbed, where the detector flags an attack, whenever there is a bus-off attack attempt.