Objective of the CARMA Platform
With a multimodal approach, the Federal Highway Administration (FHWA) developed the CARMA PlatformSM alongside the CARMA CloudSM to support the research and development (R&D) of cooperative driving automation (CDA) and enable the safe operation of new transportation system management and operations (TSMO) strategies. The CARMA PlatformSM is an open source-software (OSS) platform initiated by FHWA to enable the testing and evaluation of cooperative automation concepts to improve safety and increase infrastructure efficiency. The platform provides vehicles with the functions needed for automation and facilitates the development of new TSMO strategies while identifying TSMO scenarios that would benefit from CDA.
The CARMA Platform is an automated driving system (ADS) that allows automated vehicles (AVs) to interact and cooperate with infrastructure (such as stop lights) and other vehicles via communication. By providing information about what’s ahead on the roadway in real time (such as work zones, traffic incident, weather, etc.) using CARMA Cloud, the CARMA Platform enables AVs to interact and cooperate with infrastructure and other vehicles, facilitating the safer and more efficient movement of goods and services.
Collaborative Transportation Research
The latest version of CARMA Platform is available on GitHub and open for collaboration. The architecture was designed to be extensible and reusable for a wide variety of research purposes to advance innovation and enable communication between vehicles; road users such as pedestrians, bicyclists, and scooters; and infrastructure devices capable of communication. The platform encourages collaboration between transportation engineers and researchers to accelerate the development, testing, and evaluation of CDA, while advancing the safety, security, data, and use of artificial intelligence in automated driving technology.
CARMASM started in 2014 for the development and implementation of the initial proof of concept now known as the CARMA Platform, or, CARMA1. Next, CARMA2 migrated to a robot operating system (ROS) architecture in 2018 and is also available on GitHub. The development of CARMA3 kicked off in August 2018 and is being developed in the open using agile software development.
|Abbreviations: Open source software (OSS), Society of Automobile Engineers (SAE), Transportation systems management and operations (TSMO), Traffic incident management (TIM).|
|Figure 1. CARMA Evolution.|
A platform developed in the open using an agile software development process to collaborate with the stakeholder community.
The CARMA3 software release is developed in the open using an agile software development process to collaborate with the stakeholder community. The latest version of CARMA is a reusable and extensible vehicle platform that can be used with multiple vehicles.
The CARMA Platform currently includes the following features:
- Built on Top of ROS: Encourages modular design so that components can be easily swapped out to experiment with different combinations.
- Motion Planning Plugin Application Programming Interface (API): Allows users to install plugins (e.g. software applications) for either strategic planning or tactical planning of vehicle behaviors and trajectories to exercise particular algorithms and cooperative interaction.
- Controller Plug-in API: Allows users to install new plugins for low-level motion planning algorithms.
- Hardware Driver API: Allows the platform to be installed on any properly equipped vehicle as long as drivers are installed that connect to the various vehicle sensors and controller equipment.
- Vehicle-to-Everything (V2X) Communications Messaging: Has built-in capability to compose/transmit and receive/parse V2X messages in SAE J2735 format, and can work with any radio device.
CARMA3 has four levels of planning:
- Route planning: Defines the mission.
- Maneuver planning: Defines behaviors.
- Trajectory planning: Defines precise path.
- Command planning: Defines motion.
Abbreviations used: Global positioning system (GPS), inertial measurement unit (IMU), onboard units (OBU), platform actuation and control module (PACMOD), vehicle-to-everything (V2X), light detection and ranging (LiDAR).
|Figure 2. Illustration of CARMA3 Architecture.|
CARMA Cloud will be released fall 2019 as a downloadable, cloud-based OSS service that provides information to support and enable CDA. It will faciltate communication between cloud services and vehicles; road users such as pedestrians, bicyclists, and scooters; and infrastructure devices capable of communication. CARMA Cloud will allow for simulation capabilities to support CDA research, including setting up a transportation management center (TMC)-like emulation for interacting with CARMA-enabled vehicles.
Questions about conducting R&D with CARMA? Email CARMAsupport@dot.gov.
A platform that was developed as OSS to engage with the industry in developing cooperative automation.
|Figure 3. CARMA Cooperative Vehicle Test on Highway.|
CARMA2 runs on a Linux computer inside of a vehicle, and the computer interacts with the vehicle’s devices and microcontrollers via the vehicle’s controller area network (CAN bus). The computer also interfaces with the onboard unit (OBU), which functions as a two-way radio for dedicated short-range communications (DSRC) with other vehicles and infrastructure. Additionally, the computer interacts with after-market sensors, such as radars. DSRC has been designed specifically for vehicles in motion because there is a short time period to establish a connection and quickly exchange messages from vehicle-to-vehicle (V2V) or vehicle-to-infrastructure (V2I).
The CARMA Platform manages the following interactions:
- Provides the CAN bus messages for the vehicle to speed up or slow down.
- Gathers data from connected sensors to better understand the host vehicle’s environment.
- Sends the OBU messages to transmit to other vehicles so that the other vehicles are aware of the host vehicle.
- Processes incoming messages from other vehicles and infrastructure so that the vehicle can cooperate with other vehicles.
Abbreviations used: vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), global positioning satellite (GPS), and human machine interface (HMI)
|Figure 4. Illustration of the CARMA2 Architecture.|
The CARMA2 platform was created to operate on an ROS. CARMA is modular; individual components of CARMA can be replaced and functionality can be customized. The central ROS component is guidance, which provides an application programming interface (API) that allows CARMA users to install any number of plugins beyond those preconfigured in the CARMA Platform package. Plugins are a way to add custom path planning and cooperative logic to the system. The guidance component is also responsible for determining which plugin to use and for managing plugin interactions. In addition, the CARMA Platform has adaptive cruise control (ACC) built in as a low-level guidance function.
The CARMA2 platform currently has plugins that support the following cooperative driving tactics:
- Cruising—Recognize and follow speed limit.
- Yielding—Slow down vehicle to avoid a collision.
- Lane changing and merging—Coordinate with vehicle in a lane to the left or right to make space to merge and change lanes.
- Platooning—Enable collaboration between vehicles at close range in a single lane to save fuel and reduce roadway usage.
- Speed harmonizing—Follow dynamic speed commands from a cloud server that is measuring traffic and determining upstream speeds to minimize traffic jams and limit back-end congestion.
As the CARMA2 platform currently operates, all plugins need to be written in Java (installed as a jar file). These plugins work strictly on CARMA2. To learn more about opportunities to collaborate with FHWA, please visit our Collaboration page.
A proof-of-concept software package developed to enable multiple vehicles to communicate and coordinate their longitudinal movements.
|Figure 5. CARMA Cooperative Vehicles Test.|
CARMA1 developed FHWA’s first cooperative automated vehicle fleet to demonstrate a 5-vehicle cooperative adaptive cruise control proof of concept. The goal of the roadway tests was to combine speed harmonization with connected automation technologies such as platooning and cooperative merging on managed lanes. Through this testing, the team assessed system performance of these scenarios by having vehicles drive in parallel and allow a vehicle to merge behind the platoon. The platoon had variable speed limits determined by the roadway operator. The speed harmonization application communicates with infrastructure and roadway sensors, continuously sending speed guidance to the vehicles. To learn more about the CARMA1 project, visit transportation.gov.