ROS RVIZ: How to visualize a point cloud that doesn't have a fixed frame transform

Amal Gunatilake picture Amal Gunatilake · Sep 20, 2018 · Viewed 15.3k times · Source

I was following the ROS official documentation on how to publish a point cloud and I was able to successfully run the code. Now I'm trying to visualize the point cloud using ROS RVIZ but I'm getting an error.

Transform [sender=unknown_publisher] For frame [single_frame]: Fixed Frame [map] does not exist

enter image description here

How can I overcome this error? It says the frame does not exist. Is there a workaround or a configuration setting in RVIZ to bypass the error? Or how can I update my c++ code to update the frame object? Can you please provide me with some example code?

Answer

Tik0 picture Tik0 · Sep 20, 2018

rviz is missing the transformation from its given Fixed Frame (i.e. map) to the frame of your point cloud data (i.e. base_link). If you are working with ROS by means of measurement data, kinematics and dynamics, I highly recommend the tf-tutorials on that.

However, there are two options two fix your issue:

1. You can create a publisher which tells rviz how to transform the base_link frame into the map frame by typing the following command into your command line:

rosrun tf static_transform_publisher 0 0 0 0 0 0 map base_link 50

This command, explanation here, publishes the information that both frames coinside, with 50 Hz.

2. Another option is to tell rviz that its fixed frame should be base_link. So just alter map to base_link as proposed in the image below.

enter image description here