# Nav2 2D costmap的TF Z参考错误，global和local costmap显示高度不…

> 原文链接：https://robotics.hellobike.com/pitfalls/2026-05-14-robotics-se-118373
> 频道：pitfalls | 更新日期：2026-05-14 | 标签：auto, stackexchange, ros2
> 核心摘要：用户配置Nav2时TF树缺少base_footprint层导致costmap Z高度异常，建议将EKF的base_link_frame设为base_footprint解决。

# Nav2 2D costmap的TF Z参考错误，global和local costmap显示高度不…

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Correct TF Z reference for Nav2 2D costmaps: map/odom/base_footprint/base_link](https://robotics.stackexchange.com/questions/118373/correct-tf-z-reference-for-nav2-2d-costmaps-map-odom-base-footprint-base-link)（Robotics Stack Exchange #118373）

**状态**：有绕过办法

## 问题

base_link高于地面0.1m，当前TF树中odom直接连接base_link而非base_footprint，导致RViz中两个costmap显示的Z高度不同。

## 环境

系统为Ubuntu 22.04，ROS 2 Humble版本，Nav2版本为humble_main，提交哈希d50b68f，使用默认DDS、MPPI控制器、robot_localization EKF。

## 解决办法

1. 将robot_localization EKF的base_link_frame参数设置为与odom帧Z高度相同的base_footprint。

原问题作者：JorgeCasatejada；采纳答案作者：Mike973。原内容依 CC BY-SA 4.0 授权，本页摘要同样依 CC BY-SA 4.0 授权。
:::

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #118373：Correct TF Z reference for Nav2 2D costmaps: map/odom/base_footprint/base_link](https://robotics.stackexchange.com/questions/118373/correct-tf-z-reference-for-nav2-2d-costmaps-map-odom-base-footprint-base-link)