49.Isaac教程--Cartographer

Cartographer

在这里插入图片描述
ISAAC教程合集地址: https://blog.csdn.net/kunhe0512/category_12163211.html


Cartographer 是 Google 的一个(同步定位和映射)SLAM 系统,能够进行 2D 或 3D SLAM。 Isaac SDK 结合了 Cartographer 以提供映射功能。

Cartographer 和其他第三方 SLAM 系统可能需要调整(独立于 Isaac SDK)才能在某些应用程序中获得有用的结果。

Cartographer 需要的计算资源可能超过边缘设备。 因此,所提供的示例采用记录的日志数据,而不是直接在边缘设备上运行。 假设 Carter 机器人硬件,示例应用程序执行 2D 映射。

数据要求

Flat Lidar Scan 作为 FlatRangeScanProto 消息。

  • 里程计框架中的激光雷达姿势。 在 Carter 机器人上,它由 DifferentialBaseDynamics 类型的 StateProto 消息中的 DifferentialBaseOdometry codelet 提供。

  • 记录和回放日志请参考记录和回放。

配置

有关 Cartographer 示例应用程序的配置,请参阅 IsaacSDK/apps/carter/log_cartographer/log_cartographer.app.json

"tick_dt": 0.25,
"num_visible_submaps": 100
"lua_configuration_basename": "carter.lua",

  • num_visible_submaps 是映射期间要渲染的子图数。 如果需要,减少此数字以节省 CPU 周期。

  • tick_dt 是将激光雷达数据输入 Cartographer 之间的秒数。 更频繁地提供数据可能会提高生成地图的质量,同时相应地增加资源成本。

  • lua_configuration_basename 指向包含 Cartographer 参数的 LUA 脚本。 有关参数的详细信息,请参阅 Cartographer Configuration 和 Cartographer Tuning Guide。 如有必要,检查并修改 IsaacSDK/apps/carter/log_cartographer/carter.lua 中的参数。

启动 Cartographer 示例应用程序

使用以下命令启动示例应用程序:

bazel run apps/carter/log_cartographer

监控和可视化

在 Web 浏览器中打开以下 URL:

http://localhost:3000

  • 该应用程序允许您指定日志输入的路径,如 Replay Widget 中所述。

  • 当 Cartographer codelet 的滴答时间长于预设的滴答间隔 tick_dt 时,结果可能会降低。 在这种情况下,减少 num_visible_submaps 或禁用子图的可视化可能会有所帮助。

输出

退出时,示例应用程序将最终地图写入 /tmp/submap_merged.png。 使用以下配置参数为 Cartographer codelet 指定输出路径:

"output_path": "PATH/TO/WRITE"

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

扫地的小何尚

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

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

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

打赏作者

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

抵扣说明:

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

余额充值