Ask Your Question

Revision history [back]

It's all really just a reflection of what's specified in REP-105. From the "Frame Authorities" section:

The transform from odom to base_link is computed and broadcast by one of the odometry sources.

The transform from map to base_link is computed by a localization component. However, the localization component does not broadcast the transform from map to base_link. Instead, it first receives the transform from odom to base_link, and uses this information to broadcast the transform from map to odom.

The whole REP is worth a read. I haven't updated r_l to work with the changes involving the earth frame, but I believe it conforms to the rest.

Note that you don't have to have a dual EKF setup. It's just that if you want your state estimate to come from fused data, rather than a single data source, then r_l can support that. Other approaches, such as letting amcl handle the map frame state estimate (and transform publication) by itself, or letting your wheel encoder odometry source (e.g., the differential drive controller) provide the odom frame state estimate/transform by itself, will also work.