Is there any example of a ros2_control hwinterface successfully using Micro-ROS to implement the control/feedback mechanism against an MCU (physical hardware)?
I've been working on an integration between a hardware_interface::SystemInterface (or similar) with a Micro-ROS based MCU. On the host, I've got something built to relay the read()/write() invocations over to the MCU via ROS2 service calls, but have had a difficult time getting the MCU/MicroROS side of things setup, partly because I am not a firmware engineer.
So, an example application, particularly with the MCU-side implemented (with a functioning build system that ties together all the relevant MCU/RTOS toolchains, the microros build, the micro-ros agent build and any custom message types), would be tremendously helpful. The specific build system used, the MCU, the RTOS and the link-layer aren't important. I just want to see an example of the following modules being built and working together:
A ros2_control interface implementation + Custom msgs/srvs + MicroROS/DDS + RTOS + MCU Toolchain
I have seen some packages to help with the build, such as micro-ros-arduino
, micro-ros-platformio
, and micro-ros-espidf-component
etc, but I'm looking for an actual working example (github sources) of a ros2_control based end-to-end implementation, not just documentation or links to toolkits.
Hope such an example exists somewhere :). If not, I'd love to contribute a PR at some point, but first I've got to get past the overwhelmingly steep learning curve!