AutoSVT

3D Virtual Simulation Framework for SOTIF Validation and Training in Autonomous Driving

AutoSVT is an open-source framework dedicated to enhance the Safety of The Intended Functionality (SOTIF) of autonomous driving systems, providing first-principles based 3D virtual simulation testing tools to discover adverse weather related corner cases.

Features

[object Object]

First-principles Based Simulation

A first-principles based sensor modeling and interaction with the environment is proposed, which is further integrated into CARLA simulator. In our simulation, the long-overlooked safety issue in autonomous driving related to adverse weather is exposed.

[object Object]

Discovering Adverse Weather Related Corner Cases

A meta-heuristic algorithm is designed based on several empirical insights. These insights guide both seed scenarios and mutations, significantly reducing the search dimensions of scenarios and enhancing the efficiency of corner case discovery under adverse weather.

[object Object]

Synchronization For Multi-agent Collaborative Simulation

An eBPF-based synchronization mechanism is designed to bridge ADSes and the simulator. This addresses the discrepancies in clock frequencies between the simulator and ADSes, significantly mitigating issues of false positives and negatives arising from asynchronous simulations in the domain.

Adverse Weather Related Corner Cases

Case 1

The fog interferes with the ego vehicle's LiDAR and camera, and the physical characteristics of the fog result in the fog noise points in the LiDAR point cloud having heights similar to those of the jeep ahead. The fog noise points in the point cloud overlap significantly with the points from the jeep, causing the ego vehicle to not detect the jeep ahead, leading to a collision. If the weather is set to clear or the preceding vehicle model is changed to a shorter car, no collision occurs.

Case 2

There is a distant NPC vehicle ahead of the ego vehicle with a speed lower than that of the ego vehicle. The ego vehicle plans to change lanes to the right first and then make a right turn at the intersection. When the NPC vehicle is far away, the ego vehicle can detect it, so the ego vehicle plans to change lanes first and then follow the NPC vehicle in making a right turn. However, as the ego vehicle changes lanes, the distance to the NPC vehicle decreases, bringing the NPC vehicle into the range of fog noise points around the ego vehicle. At this point, the ego vehicle fails to detect the NPC vehicle, resulting in a collision.

Case 7

The ego vehicle and an ambulance merge at an intersection. When the ambulance is relatively far from the ego vehicle, it can be recognized by the ego vehicle. However, as the distance between them decreases and the ambulance enters the range of fog and noise around the ego vehicle, the ego vehicle can no longer identify the ambulance. It continues to move forward, resulting in a collision.

The table below lists the adverse weather related corner cases we have found, along with accompanying videos. The "Fog Visibility" column in the table indicates the visibility required for each corner case.

IDDescriptionFog Visibility (m)Video
1The fog interferes with the ego vehicle's LiDAR and camera, and the physical characteristics of the fog result in the fog noise points in the LiDAR point cloud having heights similar to those of the jeep ahead. The fog noise points in the point cloud overlap significantly with the points from the jeep, causing the ego vehicle to not detect the jeep ahead, leading to a collision. If the weather is set to clear or the preceding vehicle model is changed to a shorter car, no collision occurs.
150
Video
2There is a distant NPC vehicle ahead of the ego vehicle with a speed lower than that of the ego vehicle. The ego vehicle plans to change lanes to the right first and then make a right turn at the intersection. When the NPC vehicle is far away, the ego vehicle can detect it, so the ego vehicle plans to change lanes first and then follow the NPC vehicle in making a right turn. However, as the ego vehicle changes lanes, the distance to the NPC vehicle decreases, bringing the NPC vehicle into the range of fog noise points around the ego vehicle. At this point, the ego vehicle fails to detect the NPC vehicle, resulting in a collision.
100
Video
3This is a false positive case in object detection. As the ego vehicle approaches a tunnel, the environment inside the tunnel is relatively open, and fog noise points mainly concentrate at the entrance of the tunnel. When the ego vehicle is close to the tunnel entrance, fog noise points connect with the stone wall on the left side of the tunnel entrance, being identified as a large obstacle. This misidentification causes the ego vehicle to come to a halt for an extended period at the tunnel entrance.
50
Video
4The ego vehicle is making a right turn, and suddenly a pedestrian crosses the road. In foggy conditions, LiDAR's detection performance for small targets significantly decreases, leading to the ego vehicle not detecting the pedestrian and resulting in a collision. The same scenario doesn't result in a collision when the weather is clear.
150
Video
5This case is on a slope. When the ego vehicle is ascending, the LiDAR angle is tilted, and fog noise points concentrate in front of the ego vehicle. This concentration of fog noise points leads to the ego vehicle failing to detect the vehicle ahead, resulting in a collision.
150
Video
6In foggy conditions, the ego vehicle experiences a significant decrease in the accuracy of motorcycle recognition. The probability of correctly identifying motorcycles is very low, resulting in a collision.
50
Video
7The ego vehicle and an ambulance merge at an intersection. When the ambulance is relatively far from the ego vehicle, it can be recognized by the ego vehicle. However, as the distance between them decreases and the ambulance enters the range of fog and noise around the ego vehicle, the ego vehicle can no longer identify the ambulance. It continues to move forward, resulting in a collision.
50
Video
8The ego vehicle is affected by fog noise points while driving downhill, leading to the inability to detect the vehicle in front, resulting in a collision.
50
Video
9The scenario is similar to corner case 2. The ego vehicle needs to change lanes to the right before making a right turn, and there is a slow-moving NPC vehicle ahead. In foggy weather, the ego vehicle's accuracy in recognizing the front vehicle decreases, and during certain periods of driving, it fails to recognize the NPC. During this time, the route planned by the ego vehicle collides with the NPC. After a short period, the NPC can be accurately recognized again, causing the ego vehicle to replan its route. The ego vehicle frequently replanning its route results in it not reaching the right-turn lane at the intersection, preventing it from making a right turn and forcing it to take a detour.
150
-
10When the ego vehicle approaches the intersection, the camera in foggy weather mistakenly recognizes the wall on the right as a vehicle, causing the main vehicle to come to a stop.
150
-
11During the lane-changing maneuver, the ego vehicle fails to recognize an NPC vehicle due to fog noise, resulting in a collision.
150
-
12The ego vehicle is following an NPC vehicle. It can detect the leading vehicle when the distance is far, but as the distance decreases, it fails to detect it, resulting in a collision.
50
-
13The ego vehicle is traveling on a straight road, and there is a stationary truck on its left lane. The fog noise causes an error in the ego vehicle's bounding box detection of the truck, incorrectly estimating the truck's volume. The ego vehicle believes that the truck is blocking its travel path, preventing it from moving forward.
100
-
14In foggy weather, the ego vehicle is unable to detect the motorcycle in front, resulting in a collision.
50
-

Other Corner Cases

IDDescriptionVideo
15The corner case is primarily caused by the planning and localization modules. The ego vehicle plans to change lanes first and then make a right turn. When the ego vehicle reaches the intersection, its position is between the right-turn lane and the straight lane. However, at this moment, the ADS incorrectly judges that the ego vehicle is still in the straight lane, preventing it from making a right turn. The ego vehicle might end up going straight and then detouring back or may come to a stop at the intersection.Video
16The ego vehicle, at a specific location on a narrow road, identifies standing water in front as an obstacle, preventing it from moving forward.Video
17At night, when the ego vehicle attempts a left turn at the T-junction, it mistakenly identifies the traffic light and the wall ahead as vehicles, causing it to brake and preventing the left turn.Video
18The ego vehicle is obstructed by a slow-moving NPC vehicle in its forward direction. To proceed, the ego vehicle decides to change lanes to the right and overtake the vehicle in front. After a successful overtaking maneuver, the ego vehicle changes lanes back to the left, returning to its original lane. However, during the process of returning to the original lane, the ego vehicle suddenly comes to a stop. The reason is that there are two routes at the intersection, and when returning to the original lane, the ego vehicle's position coincides with another route, making it unable to determine which route is the intended path to take.-
19The ego vehicle makes a right turn at the roundabout. As it reaches the exit, the ego vehicle is positioned between the straight lane and the right-turn lane. The ADS incorrectly perceives the ego vehicle to still be in the straight lane, preventing a right turn and causing the ego vehicle to stop or take a detour.-
20The camera of the ego vehicle mistakenly identifies the wall in the front-right as an obstacle.-

More corner cases are still under verification.

Getting Started

Getting Started Today: Ready to dive in? Explore our documentation, download the source code, and become a part of the AutoSVT community today. Together, we are making the roads safer for everyone.  Github Page