I hope to have some feedback to share very soon
Sure, I’ll come back on this as soon as we have a nice demo.
As we actually use CAN in our hardware architecture, another option would be to directly connect via CAN from the PC running ROS instead of running a gateway between CAN and ROS with micro-ROS.
We are looking for the easier way (from the developer point of view) to integrate hardware with ROS.
ROS-enabled hardware is an option, so we are testing micro-ROS to explore this approach. If this is the way to go, in the future we could add Ethernet to our motor drivers and remove the CAN<->ROS gateway.
Otherwise we could work on a software bridge between the CAN middleware and ROS, but this is a different topic.
We also have lifecycle management implemented by the firmware, maybe those two can be synchronized somehow. While hardware access management would be “broken” if we expose the motor driver to all ROS nodes via topics / services, good point.