0
$\begingroup$

Rosanswers logo

Hello,

I am trying to put identified offsets to the nominal URDF-values of my industrial robot. Since I do not want to modify the support package of my robot, I thought a good way to insert the identified rotary and translation offsets would be to change the robot_description on the parameter server. Is there a more elegant way to fulfill my goal, or do I really have to modify the string from the robot_description parameter? Is it even possible or advisable to change values of the robot description at runtime?

Thanks for all recommendations.


Originally posted by nmelchert on ROS Answers with karma: 143 on 2019-01-28

Post score: 0


Original comments

Comment by gvdhoorn on 2019-01-28:\

Is it even possible or advisable to change values of the robot description at runtime?

it's possible, but there are a whole host of potential issues with it.

I can't find them right now, but there have been discussions about this in the past. Main issue is that consumers of URDFs do not ..

Comment by gvdhoorn on 2019-01-28:
.. expect the parameter (so robot_description) to ever change. So even if you update it, almost no readily available software that consumes URDF/XACRO will ever load it more than once, and will not see your updated content.

Comment by nmelchert on 2019-01-28:
Well that sounds pretty disappointing. Are there any possibilities to include my identified URDF-Offsets, without directly changing the URDF then?

Comment by nmelchert on 2019-01-28:\

it's possible, but there are a whole host of potential issues with it.

That's what I thought. I figured that the robot description is probably loaded once by all instances, that use it (like moveit).

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

To close this: It seems like that modifying the URDF is the only "proper" way of modifying the robot_desription parameter, so that it can be used by any software consumer, that reads the URDF/XACRO.

The robot_calibration package does the same thing: Calibrated results are stored inside of a new modified urdf file.


Originally posted by nmelchert with karma: 143 on 2019-01-28

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by gvdhoorn on 2019-01-28:
You might want to take a look at the YAML support in xacro. See ros-industrial/universal_robot#371 for a prototype of how that can be used for these kind of use-cases.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.