personalrobotics / ros_control_client

Python and C++ libraries for commanding ros_control
1 stars 0 forks source link

Support Indigo and Jade msg types #3

Open mkoval opened 8 years ago

mkoval commented 8 years ago

The functionality looks good, but there are two minor cleanup issues:

Also, I spotted a few typos:

athackst commented 8 years ago

Also, it looks like you're linking against the Jade version of controller_manager_msgs. Have you guys upgraded to Jade, or are you compiling from source?

mkoval commented 8 years ago

I don't think we are intentionally using the Jade version of controller_manager_msgs. Did you run into a compatibility issue on indigo with our most recent changes?

We have not yet upgraded to Jade, but we are currently building most of the ros_control stack from source on the jade-devel branch. This is necessary because the inverse dynamics controllers we use on HERB (rewd_controllers) require MultiInterfaceController, which is not available in indigo-devel.

athackst commented 8 years ago

Yes, they changed the ControllerState message between the two

mkoval commented 8 years ago

You are right. The controller_manager_msgs/ControllerState message changed from this (in indigo):

string name
string state
string type
string hardware_interface
string[] resources

To this in Jade:

string name
string state
string type
controller_manager_msgs/HardwareInterfaceResources[] claimed_resources

It appears that this change is actually prompted by the fact that the addition of MultiInterfaceController allows a single controller to claim multiple resources.

@ClintLiddick Can you add logic to support both message formats? This should be relatively straightforward in Python, since we can simply use hasattr to check for the claimed_resources attribute.