SLAM中全局优化初值设置的经验谈

    xiaoxiao2021-04-15  262

    情况分析:

    有两段轨迹,段内的重投影误差很小,但是两段轨迹的相对位置有点错位。我们找到了这两段轨迹overlap的一些共视关系。这个时候如果我们直接把两段轨迹放一起做BA,其实是不能减少这两段轨迹的整体偏差的。假设我们通过纯视觉slam得到了一堆点云和一个轨迹。每个pose都有一个gps的位置对应。我们知道slam的轨迹和gps轨迹之间有很大的一个变换。想通过BA直接把slam的数据和gps对齐是很困难的。做视觉里程计的时候,会产生累计误差。通过BA是不能消除这种累计误差的。

    原因分析:

    可以把每个节点的修正看作是一个随机运动,如果所有节点都有像一个方向移动的倾向,那么才有可能整体减少误差。比如情况1中,大部分点都倾向于不动,overlap附近的点才有栋的倾向。所以很难实现整体的移动。虽然overlap的点有移动的倾向,但是非overlap的点就像是惯性很大的物体一样,很难拉得动。所以看优化问题也可以用受力情景来直观理解。所以对于缓慢积累的累计误差,很难用全局BA来解决。因为对于局部,大家都是很和谐的。

    解决办法:

    先做刚体变换,se3或者sim3做graph的优化最后做BA(BA只能在附近微调位置)

     


    最新回复(0)