Awesome
OpenCDA
OpenCDA is an open co-simulation-based research/engineering framework integrated with prototype cooperative driving automation (CDA; see SAE J3216) pipelines as well as regular automated driving components (e.g., perception, localization, planning, control). It not only enables CDA evaluation in a CARLA + SUMO co-simulation environment but also provides a rich library of source codes of CDA research pipelines.
In collaboration with U.S.DOT CDA Research and the FHWA CARMA Program, OpenCDA, as an open-source project, is designed and built to support <strong>early-stage fundamental research </strong> for CDA research and development. Through collaboration with CARMA Collaborative, this tool provides a unique capability to the CDA research community and will interface with the CARMA XiL tools being developed by U.S.DOT to support more advanced simulation testing of CDA Features.
The key features of OpenCDA are:
- <strong> Research Pipeline </strong>: OpenCDA provides rich research pipelines (i.e., open-source codes for basic and advanced CDA modules, such as platooning, cooperative perception).
- <strong>Integration</strong>: OpenCDA utilizes CARLA and SUMO separately, as well as integrates them together.
- <strong> Full-stack Simulation</strong>: OpenCDA provides a simple prototype automated driving and cooperative driving platform, <strong>all in Python</strong>, that contains perception, localization, planning, control, and V2X communication modules.
- <strong>Modularity</strong>: OpenCDA is highly modularized.
- <strong>Benchmark</strong>: OpenCDA offers benchmark testing scenarios, benchmark baseline maps, state-of-the-art benchmark algorithms, and benchmark evaluation metrics.
- <strong>Connectivity and Cooperation</strong>: OpenCDA supports various levels and categories of cooperation between CAVs in simulation. This differentiates OpenCDA from other single vehicle simulation tools.
Users could refer to OpenCDA documentation for more details.
What's New
March 2023
- OpenCDA now supports Docker Installation! Many thanks to @GoodarzMehr!
- OpenCDA has make the configuration system better! We provide a
default.yaml
as a template for all scenarios. Users now can only change the parts that are different from the default parameters, which makes the configuration file much cleaner.
Jan 2023
- Our paper The OpenCDA Open-source Ecosystem for Cooperative Driving Automation Research has been accepted by IEEE Transactions on Intelligent Vehicles. We extend the scope of the original OpenCDA simulation framework to a ecosystem, which contains a model zoo, a suite of driving simulators at various resolutions, large-scale real-world and simulated datasets, complete devel-opment toolkits for benchmark training/testing, and a scenario database/generator.
July 2022
- Powered by OpenCDA, our paper V2X-ViT: Vehicle-to-Everything Cooperative Perception with Vision Transformer has been accepted by ECCV2022! Check the codebase v2x-vit if interested.
March 2022
- HD Map manager is online! It currently supports generating rasterization map that includes road topology, traffic light info, and dynamic objects around each cav in real-time. This can be used for RL planning, HD Map learning, scene understanding, etc.
Feb 2022
- Our paper OPV2V: An Open Benchmark Dataset and Fusion Pipeline for Perception with Vehicle-to-Vehicle Communication has been accepted by ICRA 2022! It utilizes the offline Cooperative Perception(data dumping) function in OpenCDA. Check the benchmark codebase OpenCOOD of OPV2V if interested.
Oct 2021
- CARLA 0.9.12 now supported; Different weather conditions are supported.
- Better traffic management supported: users now can set a customized range to background cars.
Major Components
OpenCDA consists of four major component: <strong>Cooperative Driving System</strong>, <strong>Co-Simulation Tools</strong>, <strong>Data Manager and Repository</strong>, and <strong>Scenario Manager</strong>.
Check the OpenCDA Introduction for more details.
Get Started
Users Guide
Note: We continuously improve the performance of OpenCDA. Currently, it is mainly tested in our customized maps and Carla town06 map; therefore, we <strong>DO NOT </strong> guarantee the same level of robustness in other maps.
Developer Guide
Contribution Rule
We welcome your contributions.
- Please report bugs and improvements by submitting issues.
- Submit your contributions using pull requests. Please use this template for your pull requests.
Citation
If you are using our OpenCDA framework or codes for your development, please cite the following paper:
@inproceedings{xu2021opencda,
title={OpenCDA: an open cooperative driving automation framework integrated with co-simulation},
author={Xu, Runsheng and Guo, Yi and Han, Xu and Xia, Xin and Xiang, Hao and Ma, Jiaqi},
booktitle={2021 IEEE International Intelligent Transportation Systems Conference (ITSC)},
pages={1155--1162},
year={2021},
organization={IEEE}
}
The arxiv link to the paper: https://arxiv.org/abs/2107.06260
Also, under this LICENSE, OpenCDA is for non-commercial research only. Researchers can modify the source code for their own research only. Contracted work that generates corporate revenues and other general commercial use are prohibited under this LICENSE. See the LICENSE file for details and possible opportunities for commercial use.
Contributors
OpenCDA is mainly supported by the UCLA Mobility Lab. <br>
Lab Principal Investigator:
- Dr. Jiaqi Ma (linkedin, UCLA Samueli)
Project Lead: <br>
Team Members:
- Xu Han (linkedin, github)
- Hao Xiang (linkedin, github)
- Zhaoliang Zheng(linkedin
- Zonglin Meng(linkedin
- Dr. Xin Xia (linkedin)
External Contributor Acknowledgements
- We would like to acknowledge the great contributions from UC Davis Professor Junshan Zhang's group, particularly to Dr. Wei Shao, who played a crucial role in this collaboration. Their expertise enabled the seamless integration of openScenario with OpenCDA.
- We would like to thank @GoodarzMehr for his outstanding contribution in creating the OpenCDA Dockerfile.