一、SLAM 简介
SLAM(Simultaneous Localization and Mapping同步定位与地图构建) 是业界公认视觉领域空间定位技术的前沿方向,它主要的作用是让机器人在未知的环境中,完成定位(Localization),建图(Mapping)和路径规划(Navigation)。
目前科技发展速度飞快,想让用户在 AR/VR、机器人、无人机、无人驾驶领域体验加强,还是需要更多前沿技术做支持,SLAM 就是其中之一。实际上,有人就曾打比方,若是手机离开了 WIFI 和数据网络,就像无人车和机器人,离开了 SLAM 一样。
SLAM 算法最早出现在 SmithSelf 和 Cheeseman 的论文中,他 们 运用扩展卡尔曼滤波对状态空间中的机器人位姿和特征 ( 路标 ) 位置进行同 时 估 计 。 计 算 复 杂 度 高 一 直 是 SLAM 的 难 题 之 一 ,在 基 于 特 征 的SLAM 算法中,标准 EKF SLAM 方法的计算复杂度与环境特征个 数 呈二次方关系,这使得它只能在一般不超过上百个特征的较小范围内应用。 因此,研究一种计算量可随地图大小进行缩放的 SLAM 算法成为一个公共难题。由于 SLAM 问题针对未知且不确定的环境,一般使用概率方法来描述该问题。 SLAM 的常用概率解法有两类, EKF 算法 和 粒 子 滤 波 算法。 对于非线性系统的 SLAM 问题 EKF 算法和快速 SLAM(FastSLAM)算法是比较典型的两种算法 。 粒子滤波方法对模型进行直接近似,它不要 求 控 制 向 量 和 观 测 值 满 足 高 斯 分 布 假 设 将 粒 子 滤 波 方 法 应 用 到高维 SLAM 问题,计算量非常大, FastSLAM 算法 把 联 合SLAM状 态 分成运动部分和条件地图部分以缩小采样空间 ,机器人的位姿用不同权值的粒子 表 示 ,地