Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
toliver opened this issue Jun 5, 2015 · 1 comment
Assignees

Comments

@toliver
Copy link
Contributor

toliver commented Jun 5, 2015

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

  • transmission_interface::simple_transmission for the normal joints
  • a modification of transmission_interface::simple_transmission for J0

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
Copy link
Contributor Author

toliver commented Jul 1, 2015

@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.

  • For that you will need to change the plugin here to make it look like this
  • After that, you will also have to change the type from being an xml attribute to an xml element, like here.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants