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

Rviz: fixed frame [world] does not exist

asked 2014-10-26 04:45:58 -0500

JacoPisa gravatar image

Hi everybody, i'm working on Rviz, after opening it:

rosrun rviz rviz

and open a configuration:


that the instuction of SVO gives me

it give me an errore on the fixed frame:

No tf data.  Actual error: Fixed Frame [world] does not exist

and i cannot display nothing on my grid and cannot change my markers that doesn't work on image... i'm new on rviz, did someone know how solve the problem?? cause yesterday was working well.... for more precision, i'm working on the svo instruction, with the video from the bag.


edit retag flag offensive close merge delete



now it give me error when i load the default configuration too... it gives me an error frame that say "the map doesn't exist" and i don't know how to solve...

JacoPisa gravatar image JacoPisa  ( 2014-10-28 08:59:50 -0500 )edit

6 Answers

Sort by ยป oldest newest most voted

answered 2014-12-02 07:49:29 -0500

William gravatar image

The issue is that you do not have a world frame in your /tf tree. As @forinkzan suggested you may need to run a SLAM or localization node which provide this mapping from world -> the robot's base, usually base_link or base_footprint.

If you just want to visualize stuff you can click on the drop down for the fixed frame and select some other frame to visualize in. The available ones will be listed in the drop down.

edit flag offensive delete link more



What if there is not drop down menu? I am running a SLAM package with the same issue and I get the data to come into the point cloud topic. However, odometery fails with the error (Fixed Frame [velodyne] does not exist.

Gordon gravatar image Gordon  ( 2018-07-10 16:01:17 -0500 )edit

there is no world in the fixed frame.

CroCo gravatar image CroCo  ( 2021-11-12 22:53:27 -0500 )edit

answered 2016-04-24 08:01:51 -0500

user23fj239 gravatar image

updated 2016-07-07 02:43:21 -0500

I would like to extend jaco answer as this is an easy solution to a struggle lot of people, including myself run into when starting rosrun --debug rviz rviz (debug for verbose)

The solution is having a publisher for the fixed frame attached to the grid that describes your frame relative to it. This means using the quaternion/euler-angles rviz can transform the coordinate system from the fixed one into your frame. This is sets up a publisher that tells rviz where to put the fixed world frame.

rosrun tf static_transform_publisher 0 0 0 0 0 0 1 map my_frame 10

The one is necessary as its the quaternion identity 0 0 0 1.

The doc says this:
static_transform_publisher x y z qx qy qz qw frame_id child_frame_id period_in_ms

or in eulers as jaco did
static_transform_publisher x y z yaw pitch roll frame_id child_frame_id period_in_ms

having this publisher running the global status of the fixed frame is known and the Fixed Frame No tf data. Actual error: Fixed Frame [map] does not exist disappears.

edit flag offensive delete link more


I agree that your solution can solve the issue when run the rviz through roscore. However, if I use the roslaunch file to set the tf node and the rvize node, the "No tf data. Actual error: Fixed Frame [map] does not exist" still exists. Any suggestions?

bryanby gravatar image bryanby  ( 2017-07-10 15:43:25 -0500 )edit

answered 2015-01-10 03:19:40 -0500

JacoPisa gravatar image

updated 2015-01-15 02:28:22 -0500

i've found that code:

rosrun tf static_transform_publisher 0.0 0.0 0.0 0.0 0.0 0.0 map my_frame 100

it work, by the way, i have to open rviz after starting the svo node, unless it not visualize nothing on the map, and can visualize only the camera image.

edit flag offensive delete link more

answered 2021-11-12 23:33:46 -0500

CroCo gravatar image

For visualization, by default, RViz doesn't create a world frame and you will see no tf data. actual error fixed frame map does not exist in RViz GUI. See the following picture

image description

To set up the scene, you need to use static_transform_publisher. Now you open a new terminal and type the following

rosrun tf static_transform_publisher 0 0 0 0 0 0 1 map world 5

You can see how static_transform_publisher is defined as follows: see the documentation

static_transform_publisher x y z yaw pitch roll frame_id child_frame_id period_in_ms

Publish a static coordinate transform to tf using an x/y/z offset in meters and yaw/pitch/roll in radians. (yaw is rotation about Z, pitch is rotation about Y, and roll is rotation about X). The period, in milliseconds, specifies how often to send a transform. 100ms (10hz) is a good value.

Once you prepare the scene, you see the following picture

image description

Finally to reflect the change, go to Fixed Frame, you choose world (i.e. the one you've typed before) and hit enter as follows

image description

edit flag offensive delete link more

answered 2014-11-30 18:59:26 -0500

forinkzan gravatar image

try rosrun gmapping slam_gmapping ;and make sure you already have a gmapping package .or some other slam package.

edit flag offensive delete link more

answered 2021-10-30 02:48:37 -0500

neeraj gravatar image

Sorry, I am bit late to answer but I hope it helps ppl in future In order to solve the above error check your gazebo.launch ( your launch file name could be different ) and check the line <arg name="paused" value="false"/>

In case the value of this argument is "true", pls make it "false".

I hope it helps Thank you

edit flag offensive delete link more

Question Tools



Asked: 2014-10-26 04:45:58 -0500

Seen: 127,151 times

Last updated: Nov 12 '21