ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

MoveIt generates PR2 moveit.rviz file regardless

asked 2013-05-30 08:02:03 -0600

JML gravatar image

updated 2013-05-30 08:25:27 -0600

When trying to generate a MoveIt package for a non-PR2 robot in Groovy, I get a Global Status: Warning in RViz which says:

"No tf data. Actual error: Fixed Frame [/odom_combined] does not exist"

And I cannot interact with the robot (move the effectors, etc.)

Looking at the moveit.rviz file in the generated MoveIt package, I find link descriptions and names related to the PR2, nothing to do with the two robots I have described in the URDF used to generate the package. I do agree that the PR2 is cool, but shouldn't this file be related to the specifc robots used?

EDIT: Just found out I get the same error when loading the PR2 as described in the MoveIt "Groovy/PR2/Rviz Plugin/Quick Start" tutorial, so both issues described above may be unrelated.


edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2013-05-30 16:17:12 -0600

updated 2013-05-30 16:29:57 -0600

MoveIt Setup Assistant uses a directory of template files to generate the moveit package. The moveit.rviz template includes several PR2-specific elements, as you have identified.

In general, these elements don't affect the operation of rviz, and are automatically overwritten with the correct values for your robot when the rviz visualization is first launched. If you select File -> Save Config, you can save this updated config over the default package-generated moveit.rviz and see that it's updated for your robot.

However, as you have seen, the Fixed Frame must be set properly for your robot before you can interact with it. But this is an easy fix. At the top of the ''Displays'' list, find the Global Options -> Fixed Frame setting. Click on the value, and pick one of the options from the drop down list. Typically, the link closest to the base is used.

You'll need to manually change this value for each package generated by the MoveIt Setup Assistant. But it's easy. And once you save the config file, it'll be correct for your moveit package.

When generating a PR2 MoveIt package (e.g. following the MoveIt Quick Start tutorial), you will have the same issue described above. Normally, in the full PR2 startup sequence, there are other nodes publishing a transform to the odom_combined link. In this case, you would be able to interact with the robot as all required transforms are present. But, just running the PR2 MoveIt package on its own, that transform is missing. So, you'll need to change the Fixed Frame to one of the defined PR2 links (e.g. base_link).

edit flag offensive delete link more


Thanks Jeremy, yes, saving the config overwrites the file with robot-specific info. However, I don't have any options other than "odom_combined" for choosing the Fixed Frame (both for my robot and the PR2). I'll be at the ROS-I training next week, perhaps we can check it out if you're available...

JML gravatar image JML  ( 2013-05-31 08:54:21 -0600 )edit

I'll be there (teaching!). Feel free to bring the package files you're having issues with on a USB stick, and we can troubleshoot. You could also try a diff with the default pr2 moveit pkg (/opt/ros/groovy/share/pr2_moveit_config, if installed from pkg). Check for valid joint_states and tf data.

Jeremy Zoss gravatar image Jeremy Zoss  ( 2013-05-31 09:39:30 -0600 )edit

Wouldn't the non-existence of odom_combined also prevent the moveit from planning? From running this tutorial, it looks like the planning reference frame is also odom_combined.

dinosaur gravatar image dinosaur  ( 2015-12-10 17:51:18 -0600 )edit

Question Tools


Asked: 2013-05-30 08:02:03 -0600

Seen: 812 times

Last updated: May 30 '13