外观
踩坑Robotics Stack Exchange2025-02-15
Nav2点云与地图偏移且初始位姿设置无效,激光雷达TF或安装方向错误
本文由 AI 根据公开内容整理,可能有误,请以原文为准:ROS2 Humble Nav2 Stack Localization and Robot Initial pose difference with occupancy grid map(Robotics Stack Exchange #114310)
状态:已解决
问题
在ROS2 Humble Nav2栈中,Map Server加载的占用栅格地图与激光点云扫描存在明显偏移,且机器人朝向相对于Z轴偏差90度。尽管在nav2_amcl配置中启用了set_initial_pose并设置了具体坐标与yaw角,机器人仍生成在同一位置,初始位姿参数修改无效。Rviz中观察到激光扫描数据呈现倒置或错位状态。
环境
ROS2 Humble, Nav2 Stack, nav2_amcl, Isaac Sim 2.2.0, DifferentialMotionModel
解决办法
- 检查激光雷达的物理安装位置及方向,确认传感器实际朝向与机器人base_link定义的坐标系前向一致,修正90度机械安装偏差。
- 验证激光雷达驱动输出的点云数据旋转方向是否正确,若数据反向需在驱动层或预处理节点中修复,确保符合ROS REP-103标准。
- 审查激光雷达link到base_link的TF变换树,使用
ros2 run tf2_tools view_frames确认静态变换矩阵的平移与旋转参数准确无误。 - 停止调整nav2_amcl的initial_pose参数,该参数仅用于定位初始化,无法纠正由底层TF错误或传感器数据异常导致的系统性空间偏移。
原问题作者:RSS;采纳答案作者:Steve Macenski。原内容依 CC BY-SA 4.0 授权,本页摘要同样依 CC BY-SA 4.0 授权。
来源
本页事实对应的公开页面,以原文为准。