Skip to content

ADAS (Advanced Driver Assistance Systems) - Notes

Table of Contents (ToC)

Introduction

Advanced Driver Assistance Systems (ADAS) are technologies designed to enhance vehicle safety and driving experience by automating, adapting, and enhancing vehicle systems for better driving.

What's ADAS?

  • A set of electronic systems that assist drivers in driving and parking functions.
  • Helps reduce human error and improve road safety.
  • Includes sensors, cameras, radar, and machine learning algorithms.

Key Concepts and Terminology

  • LIDAR, RADAR: Key sensors for object detection.
  • Lane Departure Warning (LDW): Alerts when the vehicle drifts out of its lane.
  • Adaptive Cruise Control (ACC): Adjusts speed to maintain safe distance from other vehicles.
  • Blind Spot Detection: Monitors areas not visible to the driver.
  • Computer Vision: Analyzes camera images for road sign recognition, pedestrian detection, etc.

Applications

  • Enhanced safety features in modern vehicles.
  • Reduces the likelihood of accidents through automated interventions.
  • Autonomous driving systems for self-driving cars.
  • Parking assistance systems, collision avoidance, and emergency braking.

Fundamentals

ADAS Architecture Pipeline

  • Sensors: Collect environmental data (LIDAR, cameras, RADAR).
  • Data Processing: Fuses sensor inputs using advanced algorithms.
  • Decision Making: Determines actions like braking or steering.
  • Actuation: Executes the system's decision (e.g., slowing down the car).

How ADAS works?

  • Detects environmental changes using sensors.
  • Processes data using algorithms (computer vision, ML, etc.).
  • Issues warnings or automates actions (steering, braking).

Types of ADAS

  • Level 1: Driver assistance (e.g., cruise control).
  • Level 2: Partial automation (e.g., lane keeping with adaptive cruise control).
  • Level 3: Conditional automation (e.g., hands-off driving under certain conditions).
  • Level 4: High automation (full driving autonomy in specific areas).
  • Level 5: Full automation (autonomous driving under all conditions).

ADAS Systems & Taxonomy Spreadsheet

Some hands-on examples

  • Implementing lane detection using OpenCV.
  • Adaptive cruise control with ROS (Robot Operating System).
  • Simulating an autonomous parking system with Gazebo and Python.

Tools & Frameworks

  • OpenCV: For computer vision tasks like object detection and lane tracking.
  • ROS: A framework for developing ADAS systems.
  • TensorFlow, PyTorch: For machine learning and sensor fusion algorithms.
  • Autoware: An open-source software stack for self-driving technology.
  • Matlab/Simulink: For modeling and simulating ADAS features.

Datasets

  • Waymo Open Dataset: For self-driving research and development.
  • NuPlan & NuScenes: For advanced perception tasks and sensor fusion.
  • Argoverse 1 & 2: For self-driving research and development.
  • KITTI Dataset: For object detection and scene understanding.
  • Lyft Level 5 Dataset: For self-driving research and development.
  • MS COCO: For object detection and segmentation.

Driving Simulators

Models & Algorithms

  • YOLO5 - Ultralytics
  • ...

Standards & Safety and Regulatory Considerations

  • SAE J3016
  • ISO 26262
  • MISRA C
  • ISO 21434
  • ISO 26118
  • ISO 9001

ADAS vs Self-Driving Cars:

Hello World!

import cv2

# Simple lane detection using OpenCV
def detect_lane(image_path):
    image = cv2.imread(image_path)
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    edges = cv2.Canny(gray, 50, 150)

    lines = cv2.HoughLinesP(edges, 1, np.pi/180, 100, minLineLength=40, maxLineGap=5)
    for line in lines:
        x1, y1, x2, y2 = line[0]
        cv2.line(image, (x1, y1), (x2, y2), (0, 255, 0), 3)

    cv2.imshow("Lane Detection", image)
    cv2.waitKey(0)

detect_lane('road_image.jpg')

Lab: Zero to Hero Projects

  • Develop a lane-keeping assist system using OpenCV and Python.
  • Build a pedestrian detection model with TensorFlow.
  • Implement adaptive cruise control using ROS and Gazebo.
  • Create a collision avoidance system using LIDAR and machine learning.

References

Wikipedia: - Advanced Driver Assistance Systems (ADAS)

Books: - John, B. (2020). Introduction to Autonomous Vehicles. Pearson. - Smith, L. (2021). ADAS and Autonomous Driving: A Comprehensive Guide. Springer.

Online Resources: - OpenCV Documentation - ROS Documentation - Autoware Documentation