Feature Summary
Add CycloneDDS to supported RMW implementations in clearpath_config/common/types/rmw_implementation.py. This would allow users to select what middleware they want to use.
Pros
Enables more flexibility. Under some scenarios, CycloneDDS may be preferable to FastDDS.
Cons
MCU firmware on Clearpath's physical platforms use MicroROS. At present MicroROS does not operate well with CycloneDDS
Other notes
Simulation should be able to support CycloneDDS just fine, as should any physical platforms that do not use MicroROS (e.g. Husky A200).
We could leverage the new exception system to validate that the selected middleware is compatible with the selected physical platform, though that would be a non-trivial set of changes to the generators. We'd also need to be able to specify if the system is being used for a physical robot vs a simulation. It's probably doable, but right now it's a question of complexity to implement vs the potential benefits of CycloneDDS.
Originally proposed in https://github.com/clearpathrobotics/clearpath_config/pull/85
Feature Summary Add CycloneDDS to supported RMW implementations in
clearpath_config/common/types/rmw_implementation.py
. This would allow users to select what middleware they want to use.Pros Enables more flexibility. Under some scenarios, CycloneDDS may be preferable to FastDDS.
Cons MCU firmware on Clearpath's physical platforms use MicroROS. At present MicroROS does not operate well with CycloneDDS
Other notes Simulation should be able to support CycloneDDS just fine, as should any physical platforms that do not use MicroROS (e.g. Husky A200).
We could leverage the new exception system to validate that the selected middleware is compatible with the selected physical platform, though that would be a non-trivial set of changes to the generators. We'd also need to be able to specify if the system is being used for a physical robot vs a simulation. It's probably doable, but right now it's a question of complexity to implement vs the potential benefits of CycloneDDS.