OpenCDA Overview

Current autonomous driving simulation platforms that support scene rendering and traffic simulation mainly concentrate on single-vehicle intelligence; therefore, developing and testing Cooperative Driving Automation applications (e.g., cooperative perception, platooning, signalized intersection approach and departure) under a realistic simulated environment becomes difficult.

OpenCDA is created to fill such gaps.

Major Components


  1. Cooperative Driving System:
    OpenCDA provides a full-stack software that contains the common self-driving modules including sensing, planning and actuation layers , and it is developed purely in Python for fast prototyping. Built upon these basic modules, OpenCDA supports a range of common cooperative driving applications.

  2. Co-Simulation Tools:
    OpenCDA provides interfaces to integrate multiple open-source simulation tools with the cooperative driving system. Through the interfaces, OpenCDA is able to take advantage of the high-quality scene rendering and realistic dynamic modelling from CARLA , and the realistic traffic simulation from SUMO. Also, CARLA only and SUMO only mode of OpenCDA also offers researchers the flexibility to test vehicle-level and traffic-level performance, respectively.

  3. Scenario Manager:
    By defining the parameters in the Yaml file, OpenCDA is able to construct the simulation scenario, creating the traffic flows, and assigning various dynamic driving tasks to different connected automated vehicles. Through such lightweight configuration, researchers can conveniently test and evaluate their algorithms under different scenarios. In the next verision v0.2, OpenScenario will be supported to trigger special events.

  4. CDA Data Manager and Repository: OpenCDA provides a series of practical functions to collect offline CDA data (e.g. V2X perception data, multi-agent trajectory prediction data) and log replay them in the simulator. The recent ICRA work OPV2V comes out from this component.

Key Features

The key features of OpenCDA are:

  • Integration: OpenCDA utilizes CARLA and SUMO separately, as well as integrates them together for realistic scene rendering, vehicle modeling, and traffic simulation.

  • Full-stack prototype CDA Platform in Simulation: OpenCDA provides a simple prototype automated driving and cooperative driving platform, all in Python, that contains perception, localization, planning, control, and V2X communication modules.

  • Modularity: OpenCDA is highly modularized, enabling users to conveniently replace any default algorithms or protocols with their own customzied design.

  • Benchmark: OpenCDA offers benchmark testing scenarios, benchmark baseline maps, state-of-the-art benchmark algorithms for ADS and Cooperative ADS functions, and benchmark evaluation metrics.

  • Connectivity and Cooperation: OpenCDA supports various levels and categories of cooperation between CAVs in simulation. This differentiates OpenCDA from other single vehicle simulation tools.