外观
踩坑Robotics Stack Exchange2025-09-28
Gazebo libgazebo_ros_p3d报错body_name: base_link doe。
本文由 AI 根据公开内容整理,可能有误,请以原文为准:[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插件
解决办法
- 打开Gazebo GUI左侧面板,展开Models树形结构查看当前模型的实际link列表。
- 确认Gazebo是否将base_link与dummy等静态链接合并,导致实际body名称变为dummy或其他父级link名。
- 将URDF中<plugin>标签内的<body_name>参数值修改为Gazebo中显示的真实link名称(如dummy)。
- 重新启动仿真验证odom话题是否正常发布位置数据。
原问题作者:Bastian2909;采纳答案作者:Joe28965。原内容依 CC BY-SA 4.0 授权,本页摘要同样依 CC BY-SA 4.0 授权。
来源
本页事实对应的公开页面,以原文为准。