SLAM_关于SUB-MAP的点滴

问题

2D SLAM 中比较核心的问题是地图更新速度问题,对于路径规划和避障有非常多的好处。

方法

可行和产品化的方法是通过subsequent maps的方式进行地图的设计和更新。

Graph G 包含 一个Nodes V and Edges E

V-->位置估计  E-->NODE间的关系 


我们需要做的是初始化一个空图并将其切分,如下图中的方式,并将G填充到地图中

这样我们进行探测的过程中,G的集合就可以生成地图集合。

核心

如何处理新生成M+1的地图和以前地图集合的问题, 1、是需要地图相似性的缓存(Slice Caching) 2、需要一个节点覆盖(Node Covering)的方式、

1,地图相似性的缓存

我们可以这样理解如果,新加入的Map(M+1)进入的时候,如果坐标匹配且无明显特征点则掠过,否则加入或进行合并,我们可避免全局的形式的位置估算,我们需要考虑的近视临近的S集合的重新计算

2.节点覆盖

节点覆盖的原因在于Sensor的信息大部分是冗余的,而环境常常是静态的。多次的对一个地方的测量反而有可能引起测量结果的模糊和重要特征的移除,也就是我们之关注我们当前区域的传感器数据即当前submap所覆盖的面积。

算法综述


代码结合比对:

      a. cartographer采用了submap的概念, 依据一定数量的scan初始一个submap, 依据窗口大小, 插入newScan,更新submap.    有子图缓存,会占用内存。


       b. cartogapher -> real-time correlative scan matcher ,引入了branch and bound的方式, 加快了闭环的查找。依据多分辨率多层的树型结构,单枝生长的方式(branch),及时剪枝操作(bound),深度优先搜索确定闭环。 (Intra-submap Inter-submap)添加相应的闭环约束。构建优化问题,利用ceres优化。

       参见: cartographer/cartographer/mapping_2d/sparse_pose_graph.h .cc

引用

[1]. Occupancy Grid Rasterization in Large Environments for Teams of Robots

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,871评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,008评论 25 709
  • 思念它说:我要你开心。 就给了你快乐的梦 思念它说:我要你哭泣。 就给了你争执的痛 思念它默不作声 我却失去了方向...
    Joker吉阅读 2,870评论 1 2
  • 08 千灯知道,伽蓝寺外的天下动荡不太平。秦徵每天都守着她们,直到她们的房间传来平稳的呼吸声。 这日子,倒也安稳。...
    雾锁千灯阅读 3,759评论 2 5
  • 与她独处一室。 安静端详着她,她长发披肩垂下,慢慢靠近,她的发丝根部很白皙。顺滑的裙子,身材凹凸动人。 我知道自己...
    Angkon阅读 2,865评论 0 2

友情链接更多精彩内容