EvoDriver

EvoDriver: Novelty-Search Driven Evolution of Behavioral Test Suites for Autonomous Vehicles

Overview

EvoDriver is a bottom-up, exploratory approach to automatic test case generation for AVs, where test cases are evolved organically (i.e., in a more open-ended fashion) to reveal uncertainty posed by diverse and unexpected maneuvers from an external vehicle in the operating environment. Specifically, novelty search-based genetic programming is used to evolve controllers for an external vehicle that interacts with the AV under study in order to reveal the most diverse behavioral responses from the AV under study. By leveraging diversity as a metric through novelty search, our approach automatically discovers behaviors for an external vehicle that result in increasingly different interactions with the AV under study. Our approach overcomes challenges typically associated with traditional search-based AV testing, such as developer bias and high development costs of manually tuning search objectives. We demonstrate the efficacy of our proof-of-concept framework in several traffic scenarios, discovering diverse test cases that enable us to reveal undesirable behaviors in the AV under study, including many edge cases that might otherwise not be detected.

Data Flow Diagram

Data flow diagram for EvoDriver framework

Data Flow Diagram Data Flow Diagram

Example Evolved Behavior Tree

Supplementary Results

We illustrate the EvoDriver framework in several illustrative use cases based on real-world traffic scenarios. We provide video demonstrations for the EvoDriver-discovered test cases below.

Merge Lane (see Figure 5, Manuscript)

Angled Intersection (see Figure 10, Manuscript)