# Gazebo libgazebo_ros_p3d报错body_name: base_link doe。

> 原文链接：https://robotics.hellobike.com/pitfalls/2025-09-28-robotics-se-101676
> 频道：pitfalls | 更新日期：2025-09-28 | 标签：auto, stackexchange, gazebo
> 核心摘要：插件因Gazebo合并静态链接导致body_name失效，需在GUI确认实际link名称并修正配置。

# Gazebo libgazebo_ros_p3d报错body_name: base_link doe。

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[[solved] How to use libgazebo_ros_p3d?](https://robotics.stackexchange.com/questions/101676/solved-how-to-use-libgazebo-ros-p3d)（Robotics Stack Exchange #101676）

**状态**：已解决

## 问题

在ROS2 Foxy与Gazebo 11.10.2中使用libgazebo_ros_p3d插件发布odom时，仿真启动正常但无数据输出，日志报错[gazebo-4] [ERROR] body_name: base_link does not exist。尽管URDF中定义了base_link且包含inertial标签，插件仍无法识别该body。

## 环境

Ubuntu 20.04, ROS2 Foxy, Gazebo 11.10.2, libgazebo_ros_p3d插件

## 解决办法

1. 打开Gazebo GUI左侧面板，展开Models树形结构查看当前模型的实际link列表。
2. 确认Gazebo是否将base_link与dummy等静态链接合并，导致实际body名称变为dummy或其他父级link名。
3. 将URDF中&lt;plugin&gt;标签内的&lt;body_name&gt;参数值修改为Gazebo中显示的真实link名称（如dummy）。
4. 重新启动仿真验证odom话题是否正常发布位置数据。

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

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #101676：[solved] How to use libgazebo_ros_p3d?](https://robotics.stackexchange.com/questions/101676/solved-how-to-use-libgazebo-ros-p3d)