clearpathrobotics / clearpath_config

Clearpath Configuration YAML Parser
https://docs.clearpathrobotics.com/
BSD 3-Clause "New" or "Revised" License
9 stars 9 forks source link

Add CycloneDDS to supported middlewares #95

Open civerachb-cpr opened 1 week ago

civerachb-cpr commented 1 week ago

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.