自己动手写一套2D的SLAM算法(1)

需要利用到OpenCv的图像库函数,用到二值贝叶斯知识,粒子滤波。

想自己写一套SLAM算法并能在一些低端4核处理器上运行,并最终商业化是我的初衷。

通过查看各种论文发现,可以尽快实现的使用得分地图来确定机器人位姿,然后根据机器人位姿,旋转激光雷达的点云数据,得到最新的世界地图。

目前已经通过OpenCV 构建一个世杰地图,接着对第2帧数据第3帧数据使用评分地图得到最佳的旋转角度、平移x、平移Y。

Map_word.png

构建的世界地图


Map_lidars_prepoint.png

这是将激光雷达数据转换成点云坐标

接下来,要对单个的点云坐标进行随机的x、y、角度平移转换,以寻找最佳的融合边界。

这里“随机”可以改成IMU的陀螺仪角度获取方向,从而避免随机角度的获取,提高速度。

sitemap