一、核心一句话AMCL 全称自适应蒙特卡洛定位是机器人有地图前提下的室内定位算法靠大量虚拟猜测点 环境比对一步步锁定自己精准位置包括地图的位置和自身的位置。二、前置条件已经建好室内二维地图机器人自带里程计记行走距离激光雷达看周围环境三、两个核心数据源里程计相当于人闭着眼睛走路只知道自己走了多远多少步、转了多少度只能粗略估位置走久了一定会跑偏存在累计误差。激光雷达相当于人睁开眼睛看四周测出周围墙壁、障碍物距离用来验证位置对错修正跑偏。四、核心概念粒子粒子 机器人一个猜测的位置 朝向地图里撒几百个粒子每一个粒子都代表机器人此刻可能站在这里、面朝这个方向。五、四大运行步骤全程用人找位置举例举例场景你拿着商场平面图被人蒙眼带到商场里现在要确定自己在哪。1. 初始化随机撒粒子你不知道身处何处心里冒出几十种猜测我可能在入口、奶茶店旁、电梯口、服装区。每一个想法就是一个粒子铺满整张商场地图。2. 运动更新粒子跟着移动你蒙眼往前走 5 米再右转。你心里所有猜测的位置全部统一跟着走 5 米、同步右转。这一步只依靠走路动作判断不看环境对应机器人里程计推算位置所有粒子同步位移猜测范围变大。3. 观测更新给所有粒子打分你掀开眼罩看清周围左边是扶梯、前方是通道、右边是店铺墙体。对照平面图挨个核对每一个猜测位置猜测在扶梯旁眼前景象完全匹配 →高分可信度高猜测在奶茶店、入口处环境完全不符 →低分可信度低4. 重采样淘汰错误聚拢正确位置系统自动清理低分错误粒子把高分正确粒子多复制几份聚集在真实位置附近。反复重复走路、看环境、筛选猜测最后所有粒子全部扎堆聚拢扎堆的位置就是你的真实位置。六、自适应是什么意思定位很准、粒子集中时自动减少粒子数量节省算力定位混乱、位置丢失时自动增多粒子扩大搜索范围机器人被人为抱走挪动后会自动随机新增粒子重新找回位置七、解决的实际问题修正里程计长时间行走产生的位置漂移室内无 GPS 信号也能精准定位轻微行人、杂物遮挡依旧能稳定找准位置八、极简总结AMCL 定位就是先遍地猜位置走路跟着一起动看清环境判对错删掉错的留对的最后所有猜测聚在一起确定机器人精准坐标。