Dear all, REP-105 [1] states that the coordinate frames for navigation should look like this: map --> odom --> base_link ... where base_link can be an arbitrary link and does not have to lie in the ground plane. However, the PR2 specifies an additional virtual link, base_footprint, which lies below base_link in the ground plane. Moreover, robot_pose_ekf publishes transforms from odom_combined to base_footprint. All in all, the PR2's frames look like this (on Diamondback): map --> odom_combined --> base_footprint --> base_link So, what is the best way to resolve this inconsistency when creating an own URDF model? - Follow the REP? This unfortunately means that robot_pose_ekf cannot be used, since the transform from odom_combined to base_footprint is hard coded. - Follow PR2's model? In that case, the REP should probably be updated. Also, what is the semantical meaning of odom_combined? From my experience, I'd say that the pure odometry publishes "odom -> base_link" (or base_footprint), and the EKF publishes "odom_combined -> base_link". However, since base_link can only have one parent, one has to switch off all but one of those TF publishers via a parameter. In that case, why not just call all of them "odom" (or "odom_combined")? Cheers, Martin [1] http://www.ros.org/reps/rep-0105.html -- Dipl.-Inf. Martin Günther Universität Osnabrück Institut für Informatik Albrechtstr. 28 (Raum 31/503) D-49076 Osnabrück Fon: 0541 969 2434 http://www.inf.uos.de/mguenthe/