I start briefly by introducing why I need to use SDF files instead of URDF files, and then I'll explain my problem.
I am currently trying to simulate a robot with servomotors, due to some constraints, I need to simulate the reduction gear which has a significant inertia since the gear ratio is 200. I was first using URDF file and I hoped to use the tag "mimic" on the joints to obtain the desired behavior. Since this tag is not implemented yet (according to [this comment](https://github.com/ros-simulation/gazebo_ros_pkgs/issues/251#issuecomment-149179615)), I tried to use the proposed solution and switched to a sdf file, using gearbox joint. I received a very clear message indicating that gearbox joint was not handled. Therefore I switched from ros indigo to ros jade in order to be able to use gazebo 5 (following the advice given on gazebosim.org).
Finally, I managed to get a model running properly with a gearbox joint, but when I tried to control it, I suddenly realized that most of the documentation concerning ros_control was written for URDF descriptions of the robots. Particularly the transmission/actuator part.
After a few hours of research on how to declare the hardware interfaces in the sdf file, I found
the [following page](http://machineawakening.blogspot.jp/2015/05/controlling-differential-drive-robot-in.html) which explained how to declare a differential drive controller in a SDF file. Over I did not manage to understand how to declare a basic EffortJointInterface from this example.
Did I miss a good documentation/tutorial/answer about how to declare ros_controllers in sdf files? Has anyone already faced this situation and found a convenient solution?
↧