27.Isaac教程--局部建图

26.Isaac教程-局部建图

在这里插入图片描述

ISAAC教程合集地址: https://blog.csdn.net/kunhe0512/category_12163211.html

局部地图是机器人周围直接环境的基于网格的简化表示。 这些简化的世界表示对于安全地规划机器人附近的静态和动态障碍物至关重要。 局部建图管道将来自连接到机器人的不同传感器的传感器消息(如 FlatscanProto)作为输入。 每个传感器都遵循独立的发射模式,并且可以围绕机器人任意定向。 局部建图管道的输出是一个统一的距离图,由规划堆栈使用。 距离图是一个单通道图像,描述了机器人与网格图上最近障碍物的距离。

证据网格图

为了融合来自不同传感器的数据并生成统一的地图,使用了一种基于中间网格的表示形式,称为证据网格图。 Dempster-Shafer 理论有助于在机器人周围构建一个占用网格,其中每个单元格包含三个浮点数:一个单元格是自由的信念质量,一个单元格被占用的信念质量和被分配为不确定的剩余质量。 每个传感器消息都被解析成一个证据网格图,所有这些单独的网格图融合在一起,构建一个统一的环境证据网格图。

Evidence Grid Map 消息作为三通道 ImageProto 消息传输,可以使用 EvidenceGridMapViewer codelet 查看。

一个有代表性的工厂环境及其对应的统一证据网格图如下所示:

白色代表空闲单元格,黑色代表占用单元格,绿色代表不确定单元格。

架构

本地构图管道的架构如下所示:

  • 每个证据图的结构是通过其格定义来定义的。 网格指定证据网格图的机器人中心、单元格大小、维度和框架。 可以更改相应 LatticeGenerator codelet 中的参数以更改相应证据网格图的结构。

  • 收到平面扫描消息后,RangeScanToEvidenceMap 通过鸟瞰证据网格图表示范围值。 命中点之前的所有网格单元都标记为空闲,而命中点之外的网格单元标记为不确定。 lattice proto 指定传感器在网格地图上的中心,并帮助可视化传感器范围值相对于它自己的格子。

  • 一旦生成传感器证据网格,它就会与 EvidenceMapFusion codelet 中先前时间步计算的统一网格融合。 最后计算的融合地图根据机器人在刻度之间的相对运动进行转换。 传感器地图根据传感器相对于机器人的对齐方式进行转换(如机器人模型中指定的那样)。 然后将两个转换后的地图堆叠起来,并融合它们相应的证据网格值(在必要时进行插值)。 可以通过将 ISAAC_PARAM(FusionOperator, fusion_operator) 设置为四个字符串之一来使用四个融合规则之一:“pcr6”(默认)、“dempster_shafer”、“josang_average”、“josang_cumulative”。

    注意

    目前,PCR6 融合规则是 CUDA 加速的,结果比同等的基于 CPU 的融合实现至少快 4 倍。

  • EvidenceMapInpaint 使用所需的证据质量值绘制证据网格图中的区域。 例如,如果传感器配置有盲点,则可以通过此小代码手动设置这些区域中的值。

  • EvidenceToBinaryMap 根据空闲类和占用类的参数化阈值将证据图转换为二进制图。

  • BinaryToDistanceMap codelet 将二进制映射转换为距离映射以供规划器使用。

更多精彩内容:
https://www.nvidia.cn/gtc-global/?ncid=ref-dev-876561

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扫地的小何尚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值