1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Lifelong SLAM 论文解读合集:针对长时间重复运行SLAM地图更新问题

Lifelong SLAM 论文解读合集:针对长时间重复运行SLAM地图更新问题

时间:2020-08-02 11:37:50

相关推荐

Lifelong SLAM 论文解读合集:针对长时间重复运行SLAM地图更新问题

目录

(ICRA )Towards Lifelong Feature-Based Mapping in Semi-Static Environment观测与特征的建模特征的持续性估计递归贝叶斯估计(IVS )Robust Localization based on Radar Signal Clustering地图表示(IROS )Dynamic Pose Graph SLAM: Long-term Mapping in Low Dynamic Environments动态位姿图环境模型和假设动态图模型长时间地图的表示动态位姿图SLAM局部子图计算检测和Label的改变更新active和dynamic地图从动态位姿图里移除节点和约束(IROS )Temporary Maps for Robust Localization in Semi-static Environments半静态地图观测模型建立半静态地图

(ICRA )Towards Lifelong Feature-Based Mapping in Semi-Static Environment

论文传送门: /document/7487237.

这个大佬的论文从特征的存在状态角度出发,分析了lifelong Mapping的可行性。对特征Feature的缓慢变化进行建模,每一个特征都是从可以辨认慢慢变为不可辨认,从而使针对特征的观测产生变化。这正是一个量变到质变的过程。

从这个图里面可以看出来,当没有观测时(30s左右),对特征的置信度随着时间逐步下降往状态为0的方向靠拢;当观测又来了时,对状态为1的置信度又陡然上升。当出现相反的观测后,置信按照一定的斜率进行突变下降。其中一些错误的观测仍然会影响置信度的大小。

观测与特征的建模

在这里我们可以看到,特征存活时间T服从一定的概率分布,特征的状态X服从一个反阶跃函数。而特征X和观测Y服从一个似然分布函数。

似然函数可以被这两个参数进行建模,分别是missed detection和false alarm。

特征的持续性估计

用贝叶斯公式将下述公式展开。状态对观测的后验等于观测Y的似然乘状态X的先验。

其中状态X=1等价于状态T>=t。对于先验项,我们有:

这一结果取决于状态自身的生存寿命条件,对齐进行积分即得到其生存的先验。针对似然,我们可以建模为:

上面前半部分指的是这个特征死了之前的那段时间的观测y_ti的似然,后半部分是这个特征死了之后的那段时间的观测y_ti的似然。把这玩意看作是T的函数后,这函数右连续而且在[t_i,t_i+1)之间是个常数。(由于ti是离散的采样时间,观测只发生在ti点处,所以T在两个端点之间移动的话是不会改变整体的似然概率函数的)因此,可以对似然函数积分推导贝叶斯公式的分母:

如果t>=t_N,进入到未来无观测的时间段,意思为:已经知道特征活到了现在(t_N之后),观测Y的似然概率为:

递归贝叶斯估计

为了能够递归求解,需要找到递归的迭代公式,似然的迭代公式为:

evidence的迭代公式为为:

因此,我们可以应用一个完整的 Persistence Filter

算法的输入有:两种错误的概率、累积分布函数、特征检测输出。滤波器能够输出一个当前时刻到未来的后验概率分布。当有新的观测数据y_t_N+1输入时,后验、evidence都随即更新。通过贝叶斯公式求出来后验分布情况。

(IVS )Robust Localization based on Radar Signal Clustering

这种算法将具有噪声的雷达信息通过DBSCAN算法聚类,并存储在R-tree中,以便灵活修改和访问。由于物理特性,毫米波雷达的信号具有可穿透性,具体程度和物体特性有关。算法框架采用里程计信息和激光雷达信息的粒子滤波完成,如图所示。

地图表示

在地图上,整了这么几个公式来表示地图:

当雷达波束穿过其他类的时候,我们并不考虑对波束的遮挡等问题,只有当波束通过类中心时,才考虑遮挡问题。如图所示:

每个类都被看作是高斯分布,半径R实际上就是每个高斯的标准差。(这篇文章其余部分略水,没什么创新的i地方,不详细讲了)

(IROS )Dynamic Pose Graph SLAM: Long-term Mapping in Low Dynamic Environments

论文传送门: /document/6385561.

这篇文章采用了图模型的方式解决半静态环境中定位存在的问题。

动态位姿图

环境模型和假设

环境一共有三种分类:1.如建筑物之类的不动的物体;2.如人一样一直在动的物体;3.如家具等偶尔动一动,在某一次导航时长内,大多数时候不动的物体。动态的物体,他给了几篇参考文献告诉我们怎么过滤,本文主要讲半静态物体的建模。他的模型中包含active map和dynamic map,前者是只包含当前正确信息的map,而后者是包含所有历史变化信息的map。

动态图模型

动态图模型的节点和边的定义如下:

Dynamic Pose Graph, DPG = <N, E>:• Node ni ∈ N, where ni = <x, c, a, p, z> with• Pose x = [xi yi θi]T• Change node indicatorc = (1 or 0), if change detected• Active node indicatora = (activ or inactive) if measurement is used in the map• Pass number p, an integer representing the pass at which the node was created• Measurement z taken at node ni.• Edge ei,j ∈ E, where e_i,j = <T, Σ> with• Constraint T_i,j is determined by computing spatialconstraints between two nodes ni and nj, where thespatial geometric transform is T_i,j = [xij yij θij]T• Covariance Σ ∈ R3×3 of the constraint Ti,j

其具体表示图如下:

长时间地图的表示

这块儿他把地图节点测量给搞成了z = <ψ,α>,其中,ψ={<r,l>},分别是range reading 和label,label又分为三种状态 = {static, added,removed},α是一个按雷达扫描角度均分的sector,每一帧雷达信息b个选择器A = { α1, α2, …, αb}如上图所示。到此我们就可以定义active map和dynamic map的具体内容了:

Zactive = {ri | ri is a range point from scan zj, and α(ri) = on,and range label li ∈ {static, added} and node(zj) = active}. Zdynamic = {ri | ri is a range point from scan zj, with range label li ∈ {removed, added} }

一句话来说就是,active记录有用的,dynamic记录变化的。

动态位姿图SLAM

局部子图计算

局部子地图:最新add到DPG中的一串位姿

当前位姿链:当前active地图中之前扫描过的部分

具体如图所示:

我们需要从局部地图的之前的pass中找到一条最能逼近当前这一帧的scan链条。这一个scan链条和我们最新的pose chain首先应该通过卡方相关性测试。其次,scan链条所覆盖的占据栅格也应该尽可能覆盖pose chain(超过阈值)。

检测和Label的改变

首先需要先计算不匹配的点有哪些,两种方法:1.使用扫描匹配方法;2.使用占据栅格地图来分析两帧scan之间的不同。然后,需要分析两帧之间是否产生了改变,采用score来进行判断,得分是指当前帧数据里,不匹配的点η是否超过了一定的阈值δ,如果超过了就视为change。得分计算之后,需要根据得分去给动态地图添加新的点并更新label方法如下:

更新active和dynamic地图

如果sector和removed points相交,则把secctor给搞成off,被off掉的sector中的点都不再被active map包含。如果一个节点被关掉太多的sector,那么这个节点就被设置为inactive等待进一步的去除。这个过程很像用costmap导航时用free的激光雷达扫描消除障碍物,但其创新点是在消除的时候追根溯源到了被消除激光束所在的节点,一个节点如果被消除的信息过多,说明则个节点已经过于陈旧,那么这个节点也会被消除。具体算法流程如下:

从动态位姿图里移除节点和约束

作为最后一步,去除的时候主要考虑四点:The first is that DPG mustremain connectedat all times. The second consideration is that additional nodes will likely be removed with an inactive node (termed a removal chain in Alg. 3). The third is thatremoving nodes requires removing constraints which at times may greatly affect the pose estimates. The fourth consideration is that thenumber of active nodes removed from the DPG affect the active map coverage.

算法从inactive node开始迭代,向一头一尾开始进行去除,走到某个地方就可以添加开始约束和结束约束了。

从上面的地图中可以看出来,active map上体现出了一种类似于擦除的效果,只保留了最难的状态估计形式。Dynamic上保留了所有的历史信息。

(IROS )Temporary Maps for Robust Localization in Semi-static Environments

这个论文就比较牛逼了,是University of Freiburg的发明Gmapping团队Giorgio Grisetti他们做得一个半静态环境鲁棒定位的文章。

半静态地图

从这里我们可以看到,对观测z起作用的除了地图m之外,还引入了一个d,这个d就是我们所说的半静态地图。他们也将物体分为了三类:

Static objects: like buildings, that do not change theirlocation.

Semi-static objects: like parked cars, that change theirlocations with a relatively low frequency. In particular,we assume that these objects do not change their location while the robot is observing them.

Dynamic objects: like moving people, that frequentlychange their location. Unlike semi-static objects, dynamic objects do change their location while being observed by the robot.

其中半静态地图不是一帧一个,而是一个半静态地图能够解释许多帧连续的观测。

观测模型

定位上用的是粒子滤波,和AMCL类似,没什么好讲的。感知模型上利用了似然域模型,对于每个观测点,都套在粒子上(被称作似然),并为每个点找地图上最近的点。The outlier ratio for a given observationzt corresponds to the fraction of range measurements that do not correspond to their expected values according to the map. 如果找到的对应距离大于一定阈值就被称作是外点。统计外点的比率称作是外点率

建立半静态地图

当外点率过高,就直接拿出来一个当前建立的小地图进行定位跟踪,这个小地图是一直在建造的。当到达了已知区域,小地图就不用了,直接和原有静态地图进行匹配。这块我直接翻译一下:We assume that a semi-static map either consistently explains the observations at a given time or it is not valid anymore. 半静态地图应该是能够很好地解释观测的,否则,这个半静态地图就不是很行,需要丢弃。 Accordingly, semi-static maps are discarded if the average outlier ratio of the particle set is too high over multiple consecutive time steps. 如果粒子群的平均外点率都很高,说明这块儿定位就不是很行,半静态地图也解释不了这块儿的情况,继续建立局部地图只会越来越糟? Ideally, semi-static maps should only be eliminated if the environment has changed since the moment of its creation. 理想条件下半静态地图从被生成起只会在环境改变的情况下被删除。To reduce the problem of incorrectly eliminating a map, the uncertainty in the pose estimate is also taken into account. Maps are discarded if the uncertainty of the particle set is below a given threshold.为了减少错误的地图删除,位姿的不确定性被考虑进来,粒子群的不确定性在低于一定阈值之后地图才会被删除。

实时更新中 /7/30 15:30

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。