基于秦通等大佬的AVP-SLAM论文,对其进行了代码复现,并做了一些新的探索。代码开源在github上,开源地址请访问

先快速浏览下AVP-SLAM代码复现版本的建图及定位效果吧。建图效果如下图所示:

动图封面

基于先验地图的定位效果如下图所示:

动图封面

建图及定位的详细效果可访问下面的视频链接

接下来将从AVP-SLAM-PLUS原理、仿真环境搭建、实验结果、致谢等四部分进行介绍。

1. AVP-SLAM-PLUS原理

AVP-SLAM的pipeline如下图所示,摘自AVP-SLAM论文。

复现版本AVP-SLAM-PLUS的pipeline如图所示

AVP-SLAM-PLUS是一款同时支持RGB相机和RGBD相机的自主泊车环视视觉SLAM系统。除了提供SLAM功能,该系统还支持基于先验地图的定位(这点AVP-SLAM也有)。

下面以环视RGB相机为例,介绍下AVP-SLAM-PLUS系统的工作流程:

当系统接收到环视相机发送的图像(预先进行图像时间同步)后,依据IPM原理,转化为鸟瞰图点云。IPM原理可参考AVP-SLAM原论文。

将多个相机的鸟瞰图点云拼接成一张点云后,将该点云与地图进行配准,求解当前帧机器人的位姿。配准方式可灵活选用NDT或ICP。当较上一个关键帧运动距离超过阈值时,创建新的关键帧,并将新关键帧的点云加入地图中。

当系统执行完毕后,保存地图到指定pcd文件中。

利用保存的地图,即可进行基于先验地图的重定位。

环视RGBD相机原理与RGB相机原理相似,仅在点云拼接原理上有所不同。环视RGBD相机利用相机外参,将其他相机的点云转到同一个相机的坐标上,组成一帧环视的点云。

2. 仿真环境搭建

为了检验AVP-SLAM-PLUS系统的性能,使用gazebo仿真环境进行实验。仿真环境主要包括两部分,小车模型和带停车位的路面环境。

仿真小车借鉴了ros_exploring的开源小车仿真模型。

路面模型借鉴了AVP-SLAM-SIM的开源道路环境仿真模型。

3. 实验

环视RGB相机建图实验效果如下

动图封面

环视RGB相机基于先验地图重定位,实验效果如下

动图封面

4. 致谢:

感谢秦通等大佬的研究工作,感谢ros_exploringAVP-SLAM-SIM的开源仿真环境。

最后,希望这项工作能抛砖引玉,SLAM领域越来越欣欣向荣。