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 消息。

13.Isaac教程--模型制作_第1张图片

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

13.Isaac教程--模型制作_第2张图片

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

13.Isaac教程--模型制作_第3张图片

注意

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

你可能感兴趣的:(ISAAC,python,开发语言,NVIDIA,Isaac,机器人)