  Although Cooperative Driving Automation (CDA) has attracted considerable
attention in recent years, there remain numerous open challenges in this field.
The gap between existing simulation platforms that mainly concentrate on
single-vehicle intelligence and CDA development is one of the critical
barriers, as it inhibits researchers from validating and comparing different
CDA algorithms conveniently. To this end, we propose OpenCDA, a generalized
framework and tool for developing and testing CDA systems. Specifically,
OpenCDA is composed of three major components: a co-simulation platform with
simulators of different purposes and resolutions, a full-stack cooperative
driving system, and a scenario manager. Through the interactions of these three
components, our framework offers a straightforward way for researchers to test
different CDA algorithms at both levels of traffic and individual autonomy.
More importantly, OpenCDA is highly modularized and installed with benchmark
algorithms and test cases. Users can conveniently replace any default module
with customized algorithms and use other default modules of the CDA platform to
perform evaluations of the effectiveness of new functionalities in enhancing
the overall CDA performance. An example of platooning implementation is used to
illustrate the framework's capability for CDA research. The codes of OpenCDA
are available in the https://github.com/ucla-mobility/OpenCDA.
