8.Isaac教程--在Kaya上运行IsaacSDK

在Kaya上运行IsaacSDK

构建自己的 NVIDIA Kaya 机器人后,请按照本页中的步骤在其上运行一些示例应用程序。

文章目录

  • 在Kaya上运行IsaacSDK
      • 安装和设置
    • 操纵杆应用程序
    • 跟随我的应用程序
    • 物体检测应用
    • 地图应用

8.Isaac教程--在Kaya上运行IsaacSDK_第1张图片

安装和设置

在 Kaya 上运行应用程序之前完成这些先决条件步骤:

  1. 按照 Jetson Nano 入门指南中的说明在 Jetson Nano 上安装 Jetson 操作系统。

  2. 按照 Getting Started With Jetson Nano 指南中的说明获取机器人的 IP 地址。

  3. 按照安装指南在 Jetson Nano 上安装 Isaac SDK 及其所有依赖项。

  4. 按照“应用程序控制台选项”部分中的步骤使用 Kaya 注册您的 SSH 密钥。

操纵杆应用程序

以下步骤部署一个简单的操纵杆应用程序,该应用程序使用配对的 PS4 控制器来控制 Kaya。 相同的步骤可用于在您的机器人上部署和运行其他应用程序。

  1. 要在 Kaya 上运行 //apps/kaya:joystick 游戏杆应用程序,请使用以下命令将包从桌面部署到 Kaya:

    bob@desktop:~/isaac/sdk$ ./../engine/engine/build/deploy.sh --remote_user <username_on_robot> -p //apps/kaya:joystick-pkg -d jetpack45 -h <robot_ip>
    

    其中 是机器人的 IP 地址, 是您在 Kaya 上的用户名。

    注意

    如果未使用 --remote_user 选项指定用户名,则用户名默认为 nvidia

    -d jetpack45 选项指定您正在使用 Jetpack 版本 4.5.1 构建和部署到 Jetson 设备。

  2. 登录Kaya

    bob@desktop:~/isaac/sdk$ ssh <username_on_robot>@<robot_ip>
    
  3. 转到 Kaya 上的部署文件夹并运行应用程序:

    bob@jetson:~/$ cd deploy/<bob>/joystick-pkg/
    bob@jetson:~/deploy/<bob>/joystick-pkg$ ./apps/kaya/joystick
    

    是您在主机系统上的用户名。

默认情况下,控制器上的 L1 按钮用作 deadman 触发器。 仅当按下触发器时,机器人才会执行操纵杆命令。

跟随我的应用程序

以下步骤部署 Follow Me 应用程序,它将 Kaya 自主移动到指定的 AprilTag 基准点。 此应用程序结合了 AprilTag 检测、路径规划、控制和 Kaya 驱动程序。 它需要一个工作的英特尔实感摄像头来进行 AprilTag 检测和路径规划,并需要一个操纵杆来启用自主模式。

  1. //apps/kaya:follow_me-pkg 部署到 Kaya,如操纵杆应用程序的第 1 步所示。

  2. 切换到 Kaya 上的目录并使用以下命令运行应用程序:

    cd deploy/<your_username>/follow_me-pkg/
    ./apps/kaya/follow_me
    
  3. :3000 的桌面浏览器上打开 Isaac Sight。 在右侧的 Application Configuration 面板中,单击“fiducial_as_goal”并将“target_fiducial_id”值更改为正在使用的 AprilTag 的 ID。

如果您将 AprilTag 放在 RealSense 摄像头的视野内,您应该会在 Follower Kaya - Camera 窗口中看到检测到 AprilTag 并且计划的路径(显示为蓝线)将 Kaya 连接到 AprilTag。

如果你按住控制器上的 R1 按钮,Kaya 将进入自主模式并向 AprilTag 移动。 将 AprilTag 四处移动,同时将其保持在摄像头的视野范围内,Kaya 将跟随它四处移动。

物体检测应用

此应用程序使用 Kaya 上的 DetectNetv2 来执行对象检测。 DetectNetv2 模型经过训练可以识别网球。 以下是运行此应用程序的步骤。

  1. //apps/kaya:object_detection-pkg 部署到 Kaya,如操纵杆应用程序的第 1 步所示。

  2. 切换到 Kaya 上的目录并使用以下命令运行应用程序:

    cd deploy/<your_username>/object_detection-pkg/
    ./apps/kaya/object_detection_kaya
    
  3. :3000 的桌面浏览器上打开 Isaac Sight。 您应该会看到实时摄像机图像。

将一个网球放在 Kaya 的相机前,您应该会在标记为“tennis_ball”的对象周围看到一个边界框。 此示例是在有限的数据集上训练的,不能保证在所有情况和光照条件下都能正常工作。 要提高自定义环境中的模型准确性,请参阅在 docker 中训练自定义模型的说明或目标检测训练文档

地图应用

GMapping 应用程序演示了如何使用 Kaya 构建其环境的占用地图。 Kaya 通过其 RealSense 摄像头感知障碍物的深度,并使用车轮里程计和 IMU 更新自身状态。 然后它将障碍物深度和机器人状态信息发布到主机,主机构建地图。

这个应用程序有两个部分:运行在 Kaya 上的 gmapping_distributed_kaya 和运行在主机上的 gmapping_distributed_host

  1. //apps/kaya:gmapping_distributed_kaya-pkg 部署到 Kaya,如操纵杆应用程序的第 1 步所示。

  2. 切换到 Kaya 上的目录并使用以下命令运行应用程序:

    cd deploy/<your_username>/gmapping_distributed_kaya-pkg/
    ./apps/kaya/gmapping_distributed_kaya
    

    :3000 的桌面浏览器上打开 Isaac Sight。 您应该会看到相机 RGB 和深度图像,以及机器人状态图。

  3. 使用操纵杆驾驶卡亚四处走动。 您应该看到正在更新的机器人状态。

  4. 在桌面系统上,打开 app/kaya/gmapping_distributed_host.app.json 并将 tcp-subscriber 主机从“YOUR_NANO_IP_HERE”更改为 Kaya 上 Jetson Nano 的 IP 地址。

  5. 使用以下命令构建并运行主机应用程序:

    bazel build //apps/kaya:gmapping_distributed_host
    bazel run //apps/kaya:gmapping_distributed_host
    
  6. localhost:3000 的桌面上打开 Isaac Sight。 您应该会看到 Kaya 正在构建的地图。 使用操纵杆驾驶 Kaya 并观察地图更新。

如果您发现地图更新存在性能问题,请转到 Isaac Sight 上的 Kaya 页面并通过取消选中 Channels - viewer 来禁用相机 RGB 和深度可视化。

你可能感兴趣的:(ISAAC,NVIDIA,GPU,Isaac,机器人,人工智能)