Closed toliver closed 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.
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.