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

Using robot_localization with correct frames.

asked 2018-03-24 10:44:23 -0500

OwnageManFromLOL gravatar image

Right now I'm using viso2_ros to get a set of odometry information. Viso2 publishes in the odom frame such that my rover moves in the z direction. My IMU+GPS system publishes in the odom frame such that my rover moves in the x direction. How can I reconcile these two differences?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2018-03-26 06:54:31 -0500

stevejp gravatar image

That sounds like what I would expect based on this explanation in the viso2_ros wiki:

NOTE: The coordinate frame of the camera is expected to be the optical frame, which means x is pointing right, y downwards and z from the camera into the scene.

The wiki also explains:

To be able to calculate robot motion based on camera motion, the transformation from the camera frame to the robot frame has to be known.

So you need to change the frame which your camera is outputting images on to be something other than odom (like /camera_link), and then you need to define the /camera_link to /base_link transform.

edit flag offensive delete link more

Comments

Hi stevejp, thanks for your comment. I figured out what my issue was. I had accidentally set use_sim_time to false in my launch files. As a result, viso2 did not read the tf tree that I was publishing.

OwnageManFromLOL gravatar image OwnageManFromLOL  ( 2018-03-26 10:59:47 -0500 )edit

@OwnageManFromLOL can you please write that up as an answer?

jayess gravatar image jayess  ( 2018-06-16 13:04:19 -0500 )edit

Question Tools

Stats

Asked: 2018-03-24 10:44:23 -0500

Seen: 125 times

Last updated: Mar 26 '18