本文提出了一种基于先验信息的主动SLAM算法,算法具有以下能力:
根据先验信息进行建图主动进行回环减小位姿误差修正先验信息的错误本文设计的使用场景是,操作人员提供一个拓扑逻辑路线图,要求机器人遍历图的每一条边,最后回到起点。但是为了减少位姿跟踪的误差,会对运行顺序就行调整以形成回环。 给定路径P,代价计算如下: f m ( P ) = f ( P loop_closure ) + λ f ( P end ) f_{m}(P)=f \left(P_{\text {loop\_closure}}\right)+\lambda f\left(P_{\text {end}}\right) fm(P)=f(Ploop_closure)+λf(Pend) 前一项为进行闭环前的代价,计算方法和边代价相加,后一项为回环之后的代价,需要额外乘以比例因子 λ \lambda λ。位姿估计的不确定度越大, λ \lambda λ越小,越鼓励回环。 在每一个节点,考察除了上一条路径之外,重复经过其他路径构成回环,如上图所示,在到达7之后,考察重新经过 5 → 4 5 \rightarrow 4 5→4和 3 → 4 3 \rightarrow 4 3→4构成回环。构成回环前的路径规划算法为最短路径,构成会还未的算法为遍历剩余路径的最短路径。
用户给定的路径图只能作为近似,需要机器人在运行过程中对路径图进行修正。本文假设,存在一个边和顶点数量和位置不变的实际路径图。 在发现实际观测和路径图不一致之后,相对于先验路径和之前观测一致性最强的图作为实际路径图。 优化过程中考虑:
恢复障碍物破坏的连通性最小化边的长度差和顶点的位置差维持路径图的尺度不变