What Is ADAS? Three Key Points You Should Know

What Is ADAS? Three Key Points You Should Know

ADAS – Advanced Driver Assistance Systems, includes a range of hardware and software components that automatically perform multiple functions of the driver. Currently, common vehicle ADAS functions include adaptive cruise control, blind spot detection, lane change detection, automatic lane keeping, and automatic emergency braking.
This article will cover three topics:Why is ADAS so important? How are ADAS functions designed? How to use MATLAB and Simulink to assist in ADAS development?
Why is ADAS so important?
ADAS can improve road traffic safety by minimizing human error. Some ADAS systems issue warnings when unsafe road conditions arise (e.g., when a vehicle appears in the driver’s blind spot, making lane changes potentially dangerous), thereby enforcing safe driving habits. Other ADAS systems automate driving behaviors, such as avoiding collisions through autonomous emergency braking.
In fact, according to a study by Boston Consulting Group, ADAS can prevent 28% of car accidents in the United States, avoiding 9,900 deaths each year.
Levels of ADAS
According to the definition by the Society of Automotive Engineers, there are five levels of driving automation. Most of the cars currently seen on the road have ADAS functions that range from levels 0 to 3. Companies at the forefront of the autonomous driving industry are striving to achieve levels 4 and 5 of automation.
What Is ADAS? Three Key Points You Should Know
SAE J3016™ Levels of Driving Automation
With the resolution of safety, cybersecurity, and policy issues, fully autonomous vehicles may become a reality.
How are ADAS functions designed?
Let’s take adaptive cruise control as an example to illustrate the design process of ADAS functions. When using this ADAS feature, the car slows down when approaching a vehicle ahead; if the vehicle ahead moves beyond a safe distance, the car accelerates to cruising speed.
The first step in the design of adaptive cruise control (ACC) is to collect data from sensors installed on the vehicle. Adaptive cruise control requires the use of camera and radar sensors. The camera is used to detect other objects within the line of sight (vehicles, pedestrians, trees, etc.), while radar is used to calculate the distance between our vehicle and these objects.
After collecting data from the sensors, we turn our focus to the development of the ADAS algorithms. Adaptive cruise control can be divided into three steps:
What Is ADAS? Three Key Points You Should Know
Steps 1, 2, and 3 correspond to the following:
  1. Perception algorithm for detecting vehicles ahead
  2. Radar algorithm for calculating distance to the vehicle ahead
  3. Control algorithm for adjusting vehicle speed based on the measured distance.
We use ACC as an example to explain ADAS; however, the choice of sensors and then designing algorithms based on the sensor data is a general method applicable to all ADAS functions.
Importance of Sensors
The three most commonly used types of sensors in ADAS functions are cameras, radar, and LiDAR.
Cameras
Cameras are suitable for detection-related ADAS tasks. Side cameras on vehicles can be used to detect blind spots. Front cameras can detect lanes, other vehicles, road signs, pedestrians, and cyclists. The relevant ADAS detection algorithms are generally built using traditional computer vision and deep learning algorithms. The advantages of cameras include:
  • Excellent target detection data
  • Relatively low cost – For manufacturers, low prices mean they can test multiple types of cameras at lower costs
  • Wide selection – Developers can test and choose from types of cameras such as fisheye, monocular, and pinhole
  • Well-researched – Cameras are the oldest among the three types of sensors and have been the most thoroughly researched.
Compared to data from other sensor types, the disadvantage of camera data is that it is less suitable for measuring distances to targets. Therefore, ADAS developers typically use cameras in conjunction with radar.
Radar
Radar sensors emit high-frequency waves and record the time it takes for the waves to reflect back from targets in the environment. This data can be used to calculate the distance to the target. Radar sensors in ADAS are typically mounted at the front of the vehicle.
Radar can operate under various weather conditions, making it a very practical sensor option for implementing ADAS functions such as automatic emergency braking and adaptive cruise control.
Radar sensor data is very suitable for distance detection algorithms, but not as suitable for algorithms that classify detected targets. Therefore, ADAS developers often use radar in conjunction with cameras.
LiDAR
LiDAR (Light Detection and Ranging) sensors emit lasers into the environment and record the time it takes for the signals to return. The returned signals are reconstructed to create a three-dimensional point cloud that displays the environment around the LiDAR. LiDAR data can be used to calculate the distance between the sensor and targets in the three-dimensional point cloud.
Two types of LiDAR sensors are used in ADAS applications:
  1. Mechanical (rotating) LiDAR – Mechanical LiDAR is mounted on the top of the vehicle, rotating while collecting data to generate a three-dimensional point cloud map of the environment.
  2. Solid-state LiDAR – This is a newer type of LiDAR without moving parts. In the long term, solid-state LiDAR is expected to outperform mechanical LiDAR in speed, cost, and accuracy. However, the design of commercial sensors faces engineering challenges regarding safety and detection range.
LiDAR data can be used for distance detection and target classification functions in ADAS. However, processing LiDAR data requires stronger computational capabilities compared to camera and radar data, which presents challenges for ADAS algorithm developers.
Using Simulation to Develop ADAS Algorithms
Testing on hardware is costly, so engineers first use virtual simulation technology to test their ADAS solutions. Simulation environments can be either two-dimensional or three-dimensional.
Two-dimensional simulations can be used for the development and testing of ADAS algorithms involving cameras and radar. We first create a virtual scene containing roads, pedestrians, cyclists, and other vehicles. Then we place our vehicle into the scene and load virtual cameras and radar sensors onto the vehicle. Next, we can program the vehicle’s movements to generate virtual sensor data for the development and testing of ADAS algorithms.
Three-dimensional simulation builds upon two-dimensional simulation, supporting not only the testing of cameras and radar but also LiDAR. The complexity of the three-dimensional environment is relatively high, requiring stronger computational power.
After completing the development of ADAS algorithms in the simulation environment, the next stage is Hardware-in-the-Loop (HIL) testing. This stage requires connecting real vehicle hardware (such as real braking systems) to the simulation environment to test the ADAS algorithms. HIL testing allows us to gain a good understanding of how the vehicle’s ADAS components operate in the real world.
In addition, there are other ADAS tests such as Driver-in-the-Loop, while on-vehicle testing is the final test stage, which examines the vehicle’s performance when all components are combined. This is the most costly ADAS test, but it is also the most accurate, and it is an essential step before the vehicle goes into production.
Building ADAS Functions with MATLAB and Simulink
MATLAB® and Simulink® can support various stages of the ADAS development workflow:
  1. Data Analysis
  2. Synthesizing Driving Scenarios
  3. Designing ADAS Planning and Control Algorithms
  4. Designing Perception Algorithms
  5. Deploying Algorithms
  6. Integration and Testing
Data Analysis
MATLAB allows you to access, visualize, and label real-time or recorded driving data during the ADAS development process. MATLAB also supports geographic map data from HERE HD Live Maps, OpenStreetMap, and Zenrin Japan Maps. This data is often used for ADAS algorithm development and validation.
What Is ADAS? Three Key Points You Should Know
The ground truth annotator is used to interactively annotate ground truth data in videos, image sequences, or LiDAR point clouds.
Synthesizing Driving Scenarios
MATLAB supports you in developing and testing ADAS algorithms in virtual scenarios, using cubic simulation environments for control, sensor fusion, and motion planning algorithms, while using Unreal Engine environments for perception algorithms. You can also use RoadRunner to design realistic three-dimensional scenes.
What Is ADAS? Three Key Points You Should Know
The driving scene designer can be used for scene design, sensor configuration, and synthetic data generation in ADAS applications.
Designing ADAS Planning and Control Algorithms
MATLAB provides many autonomous driving reference applications that can serve as starting points for designing your own ADAS planning and control algorithms.
What Is ADAS? Three Key Points You Should Know
Visually displays the evaluation of various possible trajectories in highway driving scenarios in a bird’s-eye view.
Designing Perception Algorithms
MATLAB provides tools for developing perception algorithms using camera, radar, and LiDAR data. You can use computer vision, deep learning, radar and LiDAR processing, and sensor fusion for algorithm development.
What Is ADAS? Three Key Points You Should Know
Using MATLAB to detect stop signs with a pre-trained R-CNN.
Deploying ADAS Algorithms
MATLAB Coder™, Embedded Coder®, and GPU Coder™ toolboxes can help you automatically generate code and deploy ADAS algorithms to embedded devices and service-oriented architectures (such as ROS and AUTOSAR).
What Is ADAS? Three Key Points You Should Know
An NVIDIA Jetson TX2 development board. CUDA code can be generated for it using GPU Coder.
Integration and Testing
You can use Simulink tools to integrate and test perception, planning, and control systems. With Requirements Toolbox™, you can capture and manage ADAS requirements. You can also use Simulink Test™ to run test cases in parallel and automate testing tasks.
What Is ADAS? Three Key Points You Should Know
Testing the requirements of highway lane following reference applications.

Learn more about topics related to autonomous driving and ADAS:

Register now to participate in the MATLAB EXPO 2022 China User Conference, Session 3: Intelligent Vehicles and Unmanned Systems

June 21-24 | Online Live

What Is ADAS? Three Key Points You Should Know

Leave a Comment