universal_robot
universal_robot copied to clipboard
Consider templated yaml for simulation control yaml
For the purposes of composability, having support for a prefix in the URDF macro is terrific. However, for the purposes of simulating on the composed robot, it would be great if the simulation controller configuration files were similarly templated, eg:
https://github.com/ros-industrial/universal_robot/blob/hydro-devel/ur_gazebo/controller/arm_controller_ur10.yaml
If there'd be interest in merging this, I can prepare a PR. The basic idea would be to replace arm_controller_ur10.yaml
with arm_controller_ur10.yaml.em
, and generate (using catkin's em_expand arm_controller_ur10.yaml
at build time. Both the generated and original one would be installed with the ur_gazebo
package, so that other robots using one or more prefixed arms could easily produce simulation configs without having to manually clone in these files.
Obviously the same would be done for UR5. There would be no reason to give the moveit configs the same treatment, as a composed robot should have a new moveit config created from scratch regardless.
Thoughts?
Are you experiencing any particular problems simulating the URs in a composed robot which is why you want to change the parameters?
To be honest, I don't know the catkin feature em_expand. Feel free to propose a PR for discussing your suggestion ...as long as it simplyfies or improves this repository/usability...the community is happy to have it ;-)
The issue is that when you use the prefix, shoulder_pan_joint
becomes, for example, left_shoulder_pan_joint
, so the composed robot ends up needing to have a duplicate of the simulator controller configuration file. This is not the end of the world, but it would be great to be able to just render an appropriate simulator config with a CMake line as easily as one can render a prefixed URDF.
@mikepurvis
As there are currently several issues about configurability (e.g. arm_prefix
or the tolerances), I tried to find an example for the em_expand
feature, but I could not find any. Could you point me to an example where em_expand
is used? Thanks!
There is now support for substitution args in the roslaunch
rosparam
tag.
That would make what @mikepurvis suggests possible without resorting to template expansion.