发布时间:2022-08-18 18:28
2021SC@SDUSC
SLAM是Simultaneous Localization and Mapping(同时定位 + 建图)。
独立的定位问题是建立在地图已知的情况下的,单独的建图问题也是建立在定位已知的情况下的。当机器人不能得到环境地图,也不知道自身位姿的时候,SLAM问题就出现了。也就是说SLAM要同时的进行机器人定位和建图,这个问题比单独的定位和单独的建图都要难得多。
SLAM算法分为在线SLAM和全SLAM问题。
在线SLAM的代表是EFK SLAM算法;全SLAM算法的代表是GraphSLAM。
EKF SLAM和GraphSLAM是两个极端。EKF SLAM需要取得每一时刻的信息,把信息分解为概率分布,计算代价很高。而GraphSLAM刚好相反,只是简单的积累每一时刻的信息并存储,然后进行离线推理计算开销较小,但是随着地图规模扩大,算法会消耗越来越多的内存直至崩溃。
有其他的SLAM算法结合了上述两种算法的优点,如SEIF SLAM、FastSLAM。SEIF SLAM算法继承了EKF SLAM信息表示的高效性,也保留了GraphSLAM计算代价小的优点,可以说SEIF SLAM是高效和可实现的SLAM算法;FastSLAM算法使用粒子滤波估计机器人的路径,基于FastSLAM的多个变种算法在机器人已经得到广泛的应用,比如gmapping等等。
现今在机器人上使用最广泛的应该算激光SLAM了,在扫地机器人、服务机器人、AGV智能车上普遍搭载了单线激光雷达SLAM算法,像无人驾驶汽车、户外机器人则普遍搭载了多线激光雷达SLAM。另一种热门的研究是视觉SLAM,视觉SLAM有配备单目、双目、深度相机的多种形态,并且根据采用视觉特征点的区别还有直接法、半直接法、稀疏法之分。然后还有就是各种复合式的SLAM算法,比如激光与视觉融合的SLAM、融合了IMU的视觉SLAM。最后,就是一些最新颖的SLAM算法,比如用深度学习来做的端到端的SLAM、基于物体识别的语义SLAM。
LVI-SAM是一个lidar-visual-inertial里程计和建图系统,在系统级别结合了LIO-SAM和Vins-Mono的优势。
LVI-SAM是一个紧耦合的雷达视觉惯导SLAM系统,可以实时高精度鲁棒的进行状态估计和建图。
LVI-SAM构建在因子图之上,并且由两个子系统组成:一个视觉惯导系统和一个激光惯导系统。这两个子系统利用紧耦合的方法,视觉惯导的系统利用激光惯导的估计来做初始化,利用激光雷达的测量给视觉特征提供深度来提升精度。同时激光惯导系统利用视觉惯导的估计值作为初值来做帧的匹配,利用视觉做闭环检测,把检测的结果给激光惯导系统来做优化。
当激光惯导和视觉惯导子系统的一个失败的时候LVI-SAM仍然可以工作,这极大的提升了系统在缺少纹理或者特征场景中的鲁棒性。LVI-SAM系统在数据集上进行了测试,取得了很好的效果。
LIV-SAM项目是一种新型的复合式的SLAM算法,较好的实现了激光雷达+视觉+惯性导航融合,我们将首先围绕该项目进行3D-SLAM的学习。
项目包:
LIV-SAM的安装和运行在之前的工作中已经完成,以下是运行作者提供的数据包的截图:
单纯基于雷达或者视觉的SLAM系统都有自己的局限性,因此激光和视觉经常和惯导融合来提升他们的精度和鲁棒性。
整个项目分为3个输入端:雷达端(3D激光点云)、视觉端(单目图像)、IMU输入惯性测量值;2个可独立工作、也可耦合的子系统:雷达惯性系统和视觉惯性系统。
不懂的知识点:
点云:点云是在同一空间参考系下表达目标空间分布和目标表面特性的海量点集合。
点云的属性包括空间分辨率、点位精度、表面法向量等,稀疏点云或密集点云都是逆向造型的基础
feature map:在CNN的设定里,Feature Map是卷积核卷出来的,你用各种情况下的卷积核去乘以原图,会得到各种各样的feature map。你可以理解为你从多个角度去分析图片
https://blog.csdn.net/weixin_39875161/article/details/90045650
https://blog.csdn.net/dengheCSDN/article/details/77848246
https://www.cnblogs.com/freshmen/p/6021239.html
词袋模型:视觉单词袋是一种描述计算图像之间相似度的技术。常用于用于图像分类当中。
单目图像:单目摄像头需要对目标进行识别,也就是说在测距前先识别障碍物是车、人还是别的什么。在此基础上再进行测距。
残差:在数理统计中是指实际观察值与估计值(拟合值)之间的差。
bias
位置识别(Place Recognition)
里程计(视觉里程计、雷达里程计)
里程计是衡量我们从初始位姿到终点位姿的一个标准,通俗的说,我们要实现机器人的定位与导航,就需要知道机器人行进了多少距离,是往哪个方向行进的
https://blog.csdn.net/zhu751191958/article/details/79322364