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

Landmark updates in robot_localization

asked 2015-04-11 13:05:50 -0500

Sowmya gravatar image

updated 2015-04-11 18:30:09 -0500

bvbdort gravatar image

I am currently obtaining landmark updates for odometry which are not continuous position data and provide with discrete jumps in the position data. The 'robot_localization' documentation mentions that the 'navsat_transform_node' essentially takes in the GPS data and converts it to an odometry message in the 'world frame'.

I have the two following questions with respect to this:

  1. What is the 'world frame' for the output odometry in this node?
  2. Will the landmark updates for state estimation required to be with respect to the odom frame or map frame? (because they are discrete position updates)
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2015-04-12 12:46:10 -0500

Tom Moore gravatar image

updated 2015-04-14 07:51:49 -0500

First, see my answer to this question, which I think is similar to yours.

Second, are you taking in landmark updates to provide a (potentially discontinuous) pose estimate, or are you using GPS? navsat_transform_node is only necessary if you are working with GPS data.

A typical use case would be:

  1. ekf_localization_node or ukf_localization_node instance one: fuse continuous measurement source, e.g., odometry and IMU data. The world_frame for this instance is the same value as your odom_frame; this is typically odom. Alternatively, some robots provide an odometry message and the odom->base_link transform. This is typically less accurate than a solution with fused data sources, but it may fit you needs.
  2. ekf_localization_node or ukf_localization_node instance two: fuse the same data as in instance one, but also fuse discontinuous sources like GPS or position updates from landmark observations. The world_frame for this instance is the same value as your map_frame; this is typically map. This instance is really only necessary if you have discontinuous measurement sources.

To more directly answer your question, for navsat_transform_node, the frame_id of the /odometry/gps message that gets created is depedent on the frame_id of the odometry message that gets fed to it.

edit flag offensive delete link more

Question Tools


Asked: 2015-04-11 13:05:50 -0500

Seen: 478 times

Last updated: Apr 14 '15