- SLAM
Simultaneous Localization and Mapping
- 知识储备
C&C++/Linux/cmake/vim&emacs/openCV&PCL&Eigen/ROS
- 硬件
激光雷达或者单目/双目摄像头
- 实现
是定位(Localization),建图(Mapping),路径规划(Navigation)。
- 应用
室内机器人/AR/无人机/无人驾驶
- AR/机器人SLAM区别
- 精度上,AR一般更关注于局部精度,要求恢复的相机运动避免出现漂移、抖动,这样叠加的虚拟物体才能看起来与现实场景真实地融合在一起;机器人一般更关注全局精度,需要恢复的整条运动轨迹误差累积不能太大,循环回路要能闭合,而在某个局部的漂移、 抖动等问题往往对机器人应用来说影响不大。
- 效率上,AR需要在有限的计算资源下实时求解,人眼的刷新率为24帧,所以AR的计算效率通常需要到达30帧以上; 机器人本身运动就很慢,可以把帧率降低,所以对算法效率的要求相对较低。
- 配置上,AR对硬件的体积、功率、成本等问题比机器人更敏感,比如机器人上可以配置鱼眼、双目或深度摄像头、高性能CPU等硬件来降低SLAM的难度,而AR应用更倾向于采用更为高效、鲁邦的算法达到需求。
- 无人车/无人机SLAM区别
关于无人车和无人机中,Slam的区别,最大的区别是二维和三维。无人车是二维,无人机是三维。SLAM在二维世界中,有三个量,x轴,y轴,和方向角。三维世界中,会复杂很多,有6个量,x,y,z,roll,yaw,pitch。就是说,在确定位置时,无人机要多确定三个量,相应的计算量会大很多。但是原理仍然是一样的。
- 摄像头/激光雷达区别
算法上分,他们精度上目前能做到差不多,激光相对要稳定一些,而帧数,视觉要快很多,比如比30针(人眼上限)要快很多,毕竟每秒出数不同,配置的话,现在激光雷达也有平价华的方案了,配置要求都不是那么高。
- SLAM的一般过程
EKF:扩展卡尔曼滤波器。
最终目的:更新机器人的位置估计信息。