# Revision history [back]

Restarting RViz after updating the robot_description parameter should be enough to make RViz display your updated URDF.

Typical workflow:

1. edit urdf
2. save
3. stop rviz (when started using display.launch from urdf_tutorial, just ctrl+c the roslaunch session)
4. restart rviz (or, roslaunch urdf_tutorial display.launch model:=..

If that does not work for you, please edit your original question, and show us the exact steps you use in your edit/reload cycle. Don't skip anything.

PS: actually, if you update the robot_description parameter, just dis- and enabling the Robot Model display should also result in it displaying the new urdf, but that only works for RViz and that particular plugin.

Restarting RViz after updating the robot_description parameter should be enough to make RViz display your updated URDF.

Typical workflow:

1. edit urdf
2. save
3. stop rviz (when started using display.launch from urdf_tutorial, just ctrl+c the roslaunch session)
4. restart rviz (or, roslaunch urdf_tutorial display.launch model:=..

If that does not work for you, please edit your original question, and show us the exact steps you use in your edit/reload cycle. Don't skip anything.

PS: actually, if you update the robot_description parameter, just dis- and enabling the Robot Model display should also result in it displaying the new urdf, but that only works for RViz and that particular plugin.

Edit:

From what I have right now, I do Ctrl+C to close the current roslaunch session

That should be enough to take everything down. You don't have any roscore running somewhere in the background (in another shell/terminal)?

I tried to save the urdf configuration but it shows a dialog says "Failed to save", and ask me to save to another file.

Do you have the urdf_tutorial package cloned into your catkin workspace, or did you sudo apt-get install .. it? If the latter, then the RViz configuration is located in a non-writeable directory, which would explain why you can't overwrite it.

If 03-origins.urdf is also not in your workspace (but in /opt/ros/..) then you cannot save there either. That could also explain why you can't load an updated version of the URDF.

What is the output of rospack find urdf_tutorial?

Restarting RViz after updating the robot_description parameter should be enough to make RViz display your updated URDF.

Typical workflow:

1. edit urdf
2. save
3. stop rviz (when started using display.launch from urdf_tutorial, just ctrl+c the roslaunch session)
4. restart rviz (or, roslaunch urdf_tutorial display.launch model:=..

If that does not work for you, please edit your original question, and show us the exact steps you use in your edit/reload cycle. Don't skip anything.

PS: actually, if you update the robot_description parameter, just dis- and enabling the Robot Model display should also result in it displaying the new urdf, but that only works for RViz and that particular plugin.

Edit:

From what I have right now, I do Ctrl+C to close the current roslaunch session

That should be enough to take everything down. You don't have any roscore running somewhere in the background (in another shell/terminal)?

I tried to save the urdf configuration but it shows a dialog says "Failed to save", and ask me to save to another file.

Do you have the urdf_tutorial package cloned into your catkin workspace, or did you sudo apt-get install .. it? If the latter, then the RViz configuration is located in a non-writeable directory, which would explain why you can't overwrite it.

If 03-origins.urdf is also not in your workspace (but in /opt/ros/..) then you cannot save there either. That could also explain why you can't load an updated version of the URDF.

What is the output of rospack find urdf_tutorial?

Edit2:

Output of rospack find urdf_tutorial is

/opt/ros/indigo/share/urdf_tutorial


This means that ROS is not using your version of urdf_tutorial, but the system-installed version. Any changes you make/made to the package in your workspace will not be used/reflected in RViz, simply because the workspace copy of urdf_tutorial is not being used at all.

Can you please edit your question and tell us how you setup your workspace, how you build it and which files you source (ie: source /path/to/catkin_ws/devel/setup.bash or something else)?

Restarting RViz after updating the robot_description parameter should be enough to make RViz display your updated URDF.

Typical workflow:

1. edit urdf
2. save
3. stop rviz (when started using display.launch from urdf_tutorial, just ctrl+c the roslaunch session)
4. restart rviz (or, roslaunch urdf_tutorial display.launch model:=..

If that does not work for you, please edit your original question, and show us the exact steps you use in your edit/reload cycle. Don't skip anything.

PS: actually, if you update the robot_description parameter, just dis- and enabling the Robot Model display should also result in it displaying the new urdf, but that only works for RViz and that particular plugin.

Edit:

From what I have right now, I do Ctrl+C to close the current roslaunch session

That should be enough to take everything down. You don't have any roscore running somewhere in the background (in another shell/terminal)?

I tried to save the urdf configuration but it shows a dialog says "Failed to save", and ask me to save to another file.

Do you have the urdf_tutorial package cloned into your catkin workspace, or did you sudo apt-get install .. it? If the latter, then the RViz configuration is located in a non-writeable directory, which would explain why you can't overwrite it.

If 03-origins.urdf is also not in your workspace (but in /opt/ros/..) then you cannot save there either. That could also explain why you can't load an updated version of the URDF.

What is the output of rospack find urdf_tutorial?

Edit2:

Output of rospack find urdf_tutorial is

/opt/ros/indigo/share/urdf_tutorial


This means that ROS is not using your version of urdf_tutorial, but the system-installed version. Any changes you make/made to the package in your workspace will not be used/reflected in RViz, simply because the workspace copy of urdf_tutorial is not being used at all.

Can you please edit your question and tell us how you setup your workspace, how you build it and which files you source (ie: source /path/to/catkin_ws/devel/setup.bash or something else)?

Edit3: your workspace setup is fine.

Taking a careful look at your package, I noticed that package.xml has this (here):

<package>
<name>urdf_turtorial</name>
...


Note the extra r. The name of the package you're trying to overlay is actually urdf_tutorial. Your CMakeLists.txt has the same problem (here).

Can you change the name in the manifest, rebuild your workspace and then try again rospack find urdf_tutorial? If rospack still can't find the workspace copy, please do a rospack profile. Then try again.

I expect things will start working as soon as you fix this.