ROS2 Can Node Controller Manager Interface

I am reaching out to inquire as to whether anyone has had good success with the ROS2 ODrive CAN package, interfacing with controller manager.

I’m not an expert with ROS, so this has been tricky. I wanted to make sure I’m on the track. If anyone knows of good example code to get me on the right track, that would be helpful.

It seems that in order to use controller manager, you need a hardware interface package. That subsequently means as it stands, the ROS2 ODrive CAN package won’t work. I have it making a node, and I have it running at the same time as the rest of my ROS2 framework.

Subsequently, as I understand it, I’d need to extend the existing ODrive CAN package, making it instead into a plug in. Then I need the appropriate code for Hardware_Interface, and use that plug-in within ROS2.

Unless this is simpler than I’m approaching it, and the existing package can work?

There is an existing ODrive ROS2 Control package, but it seems it only works with the V3 ODrive, as the firmware wouldn’t be compatible with the ODrive S1. If anyone has had success integrating that with the ODrive S1, let me know, as that would quickly solve my issue.

Thank you for any thoughts.

Bump.

Hi there! We don’t have a hardware package at the moment, though it’s definitely on our radar - but no definite timeline. You could probably use the V3 ROS2 Control package as a guideline for modifying the odrive_can package, in the meantime, or write a thin wrapper / intermediary node around odrive_can to provide a translation layer for ROS2 Control.