13.Isaac教程--模型制作

模型制作

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

该软件包演示了具有软件定义装配工作流程的工厂场景。 在模拟工厂环境中,多个 AMR 在装配站之间运输材料,而每个装配站的机械臂拾取所需材料并将其放置在对接的 AMR 上。 多个机器人分别由一个 Isaac SDK 应用程序控制,每个应用程序的任务由一个集中的任务协调器分配。

运行模拟

此示例使用 NVIDIA Omniverse Isaac Sim。 要设置和启动 Omniverse,请参阅相应的文档:

  • https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/overview.html

  • https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/ext_omni_isaac_robot_engine_bridge.html

Omniverse 运行后,从内容面板加载舞台:

omni:/Isaac/Samples/Isaac_SDK/Scenario/multi_robot_fof.usd

在 Robot Engine Bridge 面板上,将 Application Json Path 更改为:

<your isaac folder>/sdk/packages/multi_robot_fof/isaacsim.app.json

单击 Isaac SDK 后端的 Create Application,然后单击 Play 开始模拟。

注意

请确保在单击创建应用程序之前更新应用程序 JSON 路径。 如果您在 Omniverse 窗口底部看到错误消息“应用程序未成功启动”,请检查应用程序 JSON 路径是否为有效文件。

运行工厂任务

模拟开始后,打开一个新终端,导航到 Isaac SDK 文件夹,然后运行:

bob@desktop:~/isaac/sdk$ bazel run packages/multi_robot_fof:factory_mission

这将启动任务协调器。

打开第二个新终端,导航到 Isaac SDK 文件夹,然后运行:

bob@desktop:~/isaac/sdk$ ./packages/multi_robot_fof/launch_robots.sh

这会启动七个 Isaac SDK 应用程序:三个运输应用程序 (//packages/multi_robot_fof:transporter) 用于控制三个 AMR,四个站应用程序 (//packages/multi_robot_fof:station) 用于控制装配站的 UR10 臂。

注意

该脚本首先运行 packages/multi_robot_fof:build_graph 以生成 pose2 规划图,这可能需要几秒钟。 在此之后,它会继续启动传输器和站点应用程序,这在第一次运行时可能需要一段时间才能构建。

所有应用程序启动后,在 localhost:2999 打开任务坐标的 Sight。 “地图查看器”窗口显示所有 AMR 的当前姿态、目标和计划的全局路径。 您还可以在 localhost:4000-4006 查看单个机器人应用程序的 Sight。 下面的屏幕截图显示了任务坐标和运输机器人 1 的视线。

它是如何工作的?

下图显示了多个 Isaac SDK 应用程序和模拟器是如何连接的。 带箭头的实线表示数据流通过 TCP 上的 Isaac Capnp Proto 消息。

在 Omniverse 模拟器中,每个 AMR 和机械臂都会在不同的 TCP 端口对上发布传感器数据并从相应的 Isaac SDK 应用程序(transporter/station)接收驱动命令,如图所示。 packages/multi_robot_fof/isaacsim.app.json 中的节点名称与 Omniverse 模拟器中 RobotEngine 组件的节点名称匹配。

工厂任务应用程序使用 MissionServer MissionServer 向各个运输车或站点应用程序发布任务并从中接收任务状态。 对于运输应用程序,任务行为控制 navigation.go_to.go_to_behavior 节点并指定目标航路点和到达容差。 对于站应用程序,任务行为指定姿势树上拾取对象的名称和下降姿势。 下图是小站app的行为树。

注意

当站点应用程序完成任务时,您会看到错误消息 Component ‘task_remain_checker/PyCodelet’ of type ‘isaac::alice::PyCodelet’ reported FAILURE: All tasks are done.’,以及来自其他行为树组件的后续错误消息。 这是给定上面所示的行为树构造的预期行为。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

扫地的小何尚

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

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

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

打赏作者

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

抵扣说明:

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

余额充值