Compatibility breaking change affecting custom build hand and ronex controllers

10 views
Skip to first unread message

toni

unread,
Feb 23, 2016, 12:51:49 PM2/23/16
to ros-sig-shadow
Today we have merged into indigo-devel a change that will break compatibility and affect any custom-build controllers that build on a controller_interface::Controller<ros_ethercat_model::RobotState>.

Now they should build on public controller_interface::Controller<ros_ethercat_model::RobotStateInterface>.

The necessary changes to adapt an existing controller can be found here for the shadow hand and here for ronex.

The main reason behind this change is to make RosEthercat compatible with this CombinedRobotHW class that is pending to be merged into ros_control, and that we plan to use to have arms and hands accessible from a single controller_manager. This would allow e.g. an impedance controller to act on arm and hand at the same time. This stems form the jade-devel version of ros_control and works with the jade-devel version of ros_controllers. The jade version allows multi-interface controllers, which can come in handy.

To be able to load two different RosEthercat objects on the same CombinedRobotHW, the RobotState has to be loaded through a RobotStateHandle instead of directly (see here), otherwise the CombinedRobotHW will be unable to create a combined HardwareInterface containing both resources.

We have also created the ros_control_robot package that provides a realtime loop with a CombinedRobotHW ready to load any RobotHW objects that you indicate in the robot_hardware parameter. For an example of its use see this launchfile.

Sorry for any inconvenience, and please let us know about any problems that you may find.
Reply all
Reply to author
Forward
0 new messages