在有能力的情况下尽量的多看看文章还是很有好处的!
近期要讲组会分享了,就读一读这个文章把!
首先是Abstract:
可以看出,所提出的方法讲了三件事情:
(1)这是一个基于VIO的后端;
(2)就单个的UAV来说,实验证明其可以获得良好的drift correction以及metric sacle estimation也就是说这个方法使得漂移减少了,同时也使得尺度的估计变得更加准确了;
(3)就全局一致性的地图来说,两个UAV联合(collaborative)的使用可以收获更好的表现
(当然这里两个就称之为联合的话,我自己是有点不认同的,最主要的是我在文中也没有发现关于联合的太多的点,可能知识为了发论文而言吧,这种文章以后基本就是扫一眼,以后多关注经典的方法和比较著名的实验室课题组的成果应该对自己的成长帮助更大,这里的联合主要就是针对多机器人场景而产生的,我是这么从文章中理解的)
然后Introduction里面的东西:
我觉得有意义的说法或者评价(没准以后我会用得上,真希望我也能写出一篇文章):
-
对ORB-SLAM的评价:
pushed the state of the art, tackling largescale loop correction at an unprecedented robustness and accuracy in monocular systems。
-
对VIORB的评价:
Incorporating additional inertial data to the monocular setup, the most recent VIORB-SLAM [17] was the first VI-SLAM system capable of correcting drift via loop-closure detection and optimization, while maintaining an estimate of metric scale with high accuracy. Despite constituting a milestone, VI-ORB-SLAM remains closed source and based on the authors’ evaluation[17] as the only source of information, its accuracy is reportedly fluctuating across different datasets, highlighting the need for deeper analysis in VI-SLAM.
这里怎么说呢,就是VIORB确实挺好的,是第一个能够进行闭环检测以及优化进行漂移纠正的VISLAM系统,但是目前没有开源,评价指标完全由作者说,所以需要进一步研究。 -
这篇文章的主要的地方:
In this spirit, we present a carefully designed back-end, which in combination with a nominal VIO system enables the generation of a globally consistent map at comparable accuracy with the state of the art VI-SLAM systems – at times even achieving error reduction of over 50%, solely considering the backend optimization.
然后就是联合两个UAV的实验是一个卖点:Moreover, here we go a step further to illustrate the use of the proposed back-end with two UAVs to achieve collaborative mapping, while correcting for drift upon loop-closures, both within each trajectory as well as across trajectories of different UAVs as shown in Figure 1.
introduct剩下的那几句就是夸自己的工作啦,怎么怎么好!
接下来就是文章的方法Method了
这里记录一下IMU的特点:一般的IMU都是MEMS器件,也就是说我们从这些上面获取到的数据都不是真实的加速度以及角速度,而是一个带有bias以及噪声的有误差的项。
然后IMU器件所误差项基本上可以认为就是个常量比如cross-couplings以及scaling errors这些东西,就可以在出厂的时候已经进行标定,所以这些在算法的实验里我们基本上不需要在考虑,但是还有一些比如bias以及noise这些东西就是时变(time-varient)的了,所以这些东西就需要在线的进行标定。这里采用的就是标准的IMU误差模型,和Foster的预计分论文里面讲的一致,也基本上上其他比如VINS或者VIORB采用的IMU模型
Systemoverview
对于这个我是有话要说的,
- 首先就是从VIO端获取的信息,这里我们称之为
keyframe message(里面包括了一些量,比如VIO-frame的ID、以及之前已经获取到我位姿、IMU传感器获取的带有噪声的measurements、关键点的位置以及关键点的描述子,最后还有已经得到的匹配好的关键点,这些已经匹配好的关键点将极大的降低后端优化任务的算法复杂度,使得整个系统的实时性变为现实) - 接着就是在关键帧以及相邻的关键帧之中进行寻找一些3D-2D或者是2D-2D的对应关系,这里如果实在已经已经存在的landmark中搜寻,就利用3D-2D的PnP的方法进行寻找,如果是之后的2D-2D就用对极约束的方法进行求解,由此可以求解出相机的位姿,这里求解的方法基本上都是用的RANSAC的方法迭代的进行求解的。然后就是一个关于pose的一个优化,这里使用相对的变化进行一个T的估计。具体的比较麻烦就不说了。
- 下面就是new landmark初始化的东西,如果上一步得到的correspondences的数量足够的多,大鱼一个阈值,那么就继续去融合掉那些重合的landmark,接下来就是KF的管理的,然而,有时候可能会面对的情况是这样的correspondences是不够多的,那么这个时候得到的landmark就非常的不可靠,那么我们就需要从新对landmarks从KF中进行初始化,也就是这里需要在已经存在的correspondences里面进行一些三角化,这里是通过之前的VIO的前端进行的,最后如果再获取到相应的对应关系后,那么继续吧重复的Landmarks给merge掉就好了,之后进行的还是KF的管理工作,这里就比较像ORB-SLAM了,采用了共视图和关键图的办法
- LocalBA 以及以及闭环检测的相关的东西最后还有全局优化,这里常规的进行就好了,但是也用到了一个buffer~
————————————————————————————————————————————————
后面的就是基本差不多了!结果多么的好,但是真的这里的联合没怎么弄明白,就是为了地图的一致性才引入的吗?