shadow-robot / sr-ros-interface

A ROS interface for Shadow Robot's hand.
GNU General Public License v2.0
22 stars 12 forks source link

Create a J0 transmission file based on transmission_interface::simple_transmission #307

Closed toliver closed 9 years ago

toliver commented 9 years ago

For the hand we should try to use (for the moment to get Gazebo running):

https://github.com/ros-controls/ros_control/blob/indigo-devel/transmission_interface/include/transmission_interface/simple_transmission.h

What is actually being instantiated when reading from the URDF is not transmission_interface::SimpleTransmission, but transmission_interface::SimpleTransmissionLoader.

https://github.com/ros-controls/ros_control/blob/indigo-devel/transmission_interface/include/transmission_interface/simple_transmission_loader.h

So maybe we will need to create a transmission_interface::J0TransmissionLoader as well.

toliver commented 9 years ago

@AndriyPt I have tried to run the branch and you are right that the hand moves.

But I'm puzzled by that, as I think it shouldn't work, because the tranmissions are not being loaded. We get this error:

[ INFO] [1435768346.454980140, 112.219000000]: Callback thread id=7f6108e23700
[FATAL] [1435768346.590463458, 112.219000000]: ros_ethercat_model failed to parse the URDF xml into a robot model
According to the loaded plugin descriptions the class transmission_interface/SimpleTransmission with base class type ros_ethercat_model::Transmission does not exist. Declared types are  sr_mechanism_model/J0Transmission sr_mechanism_model/J0TransmissionForMuscle sr_mechanism_model/NullTransmission sr_mechanism_model/SimpleTransmission sr_mechanism_model/SimpleTransmissionForMuscle sr_ronex_transmissions/RonexTransmission
[INFO] [WallTime: 1435768346.684136] [112.318000] Controller Spawner: Waiting for service controller_manager/switch_controller

The reason for this error is that you are using the sr_gazebo_plugins. We should be using gazebo_ros_control instead.

It wouldn't be a bad idea to investigate a bit why is it working in gazebo with sr_gazebo_plugins with the transmissions failing to load.