Skip to content

cubesys-GmbH/ros_cube_ca_plugins

Repository files navigation

cube_ca_plugins

The cube_ca ROS2 components running on cube devices can be customized via plugins. This repository includes the C++ interfaces and base implementations.

Dissemination Rules

ETSI specifies rules when and how often Cooperative Awareness Messages (CAMs) shall be transmitted (disseminated). The VehicleDisseminationRules class implements these rules for vehicle stations (section 6.1.3) whereas RsuDisseminationRules implements them for Road Side Units (section 6.1.4). The cube_ca::TxNode component uses one of these classes by default depending on its station_type parameter.

Primarily, the dissemination rules indicate if a CAM should be transmitted at the current time point. Furthermore, they can also modify the provided CAM object, e.g. disabling optional containers which shall only be included at lower rates. Please refer to the documentation in the header file of DisseminationRules for the full API.

Users can explicitly request the usage of particular rules, including custom implementations of DisseminationRules, by setting the dissemination_rules_plugin parameter. For example, with the value "my_plugins::MyDisseminationRules" the cube_ca transmitter instantiates the user's MyDisseminationRules object from the my_plugins package.

Example

The example directory contains a full example how the cube-its image can be customized. You can use it as template when you intend to run the cube_ca transmission node with your own dissemination rules.

About

ROS plugins for the cube CA service

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published