Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

If I understand correctly, you are using Xenomai to communicate with your hardware, and you want to expose the raw data (sensors, actuators) to ros_control. If so, you don't need to modify any of the existing ros_control classes, but rather create a RobotHW abstraction class for your robot and populate its hardware interfaces. Take a look at this simple example for inspiration.

ros_control does not know whether Xenomai or a realtime shared memory is being used. It only knows about the addresses of the raw data, and what they represent. This allows you to transparently switch between hardware and simulation backends.

P.S. I had intermittent Internet access and had prepared a draft answer offline. I see that by now you figured this one out, but I'm putting up this post for completeness.