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

Camera feed frame_id

asked 2020-12-09 09:15:21 -0600

Y009 gravatar image

updated 2020-12-11 08:58:53 -0600

Very new to ROS but I have set up a CSI camera with ROS melodic, running on ubuntu 18.04 (On jetson nano). And I am trying to overlay a pointcloud on it in rviz, however the camera visualization doesn't work as I'd expect. I am getting a For frame [/cam_frame]: Frame [/cam_frame] does not exist. The camera info and topic are recieved and OK and the image visulization works fine.

As far as I could understand I have to add some information to each frame to make this work? How would i do this?

Edit: just saw that the rviz Camera display requires calibration information, while the Image display does not. Going to test with calibration set.

Edit2: Still no luck after calibrating

Edit3: As far as I understood I am going to have to use the SetCameraInfo service to add the data.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2020-12-12 07:20:40 -0600

gvdhoorn gravatar image

I am getting a For frame [/cam_frame]: Frame [/cam_frame] does not exist.

this implies the sensor_msgs/Image messages have their header.frame_id set to cam_frame, but that TF frame is actually not broadcast by anything.

The Camera display shows "the world" of RViz rendered from a specific viewpoint. To be able to do that, it must "know" where objects and the camera frame are. For this it uses TF. If you specify cam_frame as the frame_id (== TF frame), but that frame is not broadcast by anyone, RViz cannot resolve the location of the viewpoint from which to render objects.

edit flag offensive delete link more


thank you, got it working

Y009 gravatar image Y009  ( 2020-12-13 04:56:53 -0600 )edit

Question Tools

1 follower


Asked: 2020-12-09 09:15:21 -0600

Seen: 704 times

Last updated: Dec 12 '20