纯定位算法 定位问题概述 已知地图 传感器观测 估计机器人位姿 贝叶斯估计、最大后验 位姿 或 全局定位 vs 追踪定位 vs 重定位 全局:无先验;追踪:有初始位姿 kidnapped robot 问题 误差来源:传感器噪声、轮滑、环境变化 里程计漂移、动态障碍物 多径、遮挡对激光/视觉影响 贝叶斯滤波框架 先验 预测 观测更新 状态转移模型 观测模型 递推:belief_k dx EKF 定位 高斯假设:状态 线性化:Jacobian 预测:μ̄ 更新:K 适合小姿态误差、连续运行的里程计融合 粒子滤波 AMCL 使用粒子集合表示位姿分布 粒子数与计算量权衡 权重与有效粒子数 重要性采样 重采样 系统重采样、残差重采样 粒子退化与多样性 AMCL:基于激光 地图的自适应蒙特卡洛定位 KLD 采样、自适应粒子数 nav2 中的 amcl 节点 支持全局定位、kidnapped robot 重定位 随机粒子注入 多假设跟踪 多传感器融合 轮速计 IMU 激光 视觉 紧耦合 vs 松耦合 时间同步:时间戳、外参标定 在 ROS2 中结合 自写滤波器 工程实践要点 地图分辨率、传感器模型调参 似然模型、beam model 地图与激光分辨率匹配 收敛时间与粒子数量 初始分布与收敛速度 处理地图误差与环境变化 动态物体、地图更新 多地图、场景切换 调试工具:RViz、bag 回放、可视化轨迹 粒子云、位姿箭头 ros2 bag play