9.Isaac教程-- Laikago 四足机器人的自主导航

news/2025/2/21 4:23:32/

Laikago 四足机器人的自主导航

开发智能机器人系统是一项多学科的工作,集成了动力学、控制、计算机视觉、人工智能等。 很难掌握所有这些领域。 即使你掌握了所有这些,也需要花费大量时间才能正确和稳健。

为了帮助机器人专家加速智能机器人的开发,NVIDIA Isaac SDK 包含参考应用程序和平台。 其中一个平台是 Kaya,一种三轮完整的自主机器人。 Laikago 应用程序是使用 Kaya 作为参考构建的,以创建可以导航和避开障碍物的自主机器。

Laikago 是由 Unitree Robotics 制造的四足机器人。 它具有用于在微控制器单元 (MCU) 中行走和平衡的运动控制算法。 它还提供一个作为可选包的安装座,其中包括用于大脑的 NVIDIA Jetson TX2 模块,允许用户开发自定义软件并访问运动控制和传感器数据。 开箱即用,它没有任何用于映射、定位或避障的传感器或软件。

此应用程序使用 Velodyne VLP-16 激光雷达进行感知,并将 Isaac SDK 导航堆栈与 Unitree Robotics API 集成。 所有计算都在 TX2 内部完成。 运动控制器以 500Hz 运行,而导航堆栈需要 50% 的 CPU。 运行此应用程序时,Laikago 以 0.6 m/s 的峰值速度行走。

升级硬件

您需要将激光雷达和接口盒安装到 Laikago。 我们根据 Unitree GitHub 存储库中的 Laikago CAD 文件设计了 3D 打印支架。 Laikago 提供 19V 输出,高于 VLP-16 的工作电压。

注意

最新的 VLP-16 支持高达 32V 的规格。

我们建议使用 DC-DC 转换器来降低电压,并使用 USB 转以太网将激光雷达传感器连接到 TX2。 您还可以安装一个兼容的摄像头用于物体检测,但在这个示例应用程序中没有应用。 下图显示了整体设置。

Isaac SDK 导航和感知堆栈与 Jetson 板的传感器品牌和类型无关。 例如,Kaya 使用相同的导航堆栈,但在 Jetson Nano 上运行,并使用摄像头而不是激光雷达传感器进行定位。 Kaya 的许多感知算法也适用于简单的网络摄像头。

软件概述

此应用程序主要使用 Isaac SDK 导航堆栈,其中包括地图、定位、全局路径规划、控制、避障、里程计和路径跟踪。 Isaac SDK 还包括激光雷达驱动程序和 Laikago SDK,因此不需要额外的库或依赖项。

下图显示了设计层次结构。 所有圆框都包含在 Isaac SDK 中。 矩形框指定机器人硬件。 Laikago 驱动主要用于将 Isaac SDK 的消息传递给 Laikago SDK。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WtYh3q01-1673226211970)(https://docs.nvidia.com/isaac/_images/laikago_app_graph.png)]

运行 Laikago 导航应用程序

  1. 确保 Jetson 设备已按照设置文档中的详细信息进行设置。

  2. 构建一个 ARM 目标并使用以下命令将其部署到机器人:

    bob@desktop:~/isaac/sdk$ ./../engine/engine/build/deploy.sh --remote_user <username> -p //packages/laikago/apps:laikago_navigate-pkg -d jetpack45 -h <robot_ip_address>
    

    其中 <username> 是您在机器人上的用户名(默认为 nvidia),<robot_ip_address> 是机器人的 IP 地址。

  3. 使用以下命令通过 SSH 连接到机器人:

    bob@desktop:~/isaac/sdk$ ssh <username>@<robot_ip_address>
    

    其中 <username> 是您在机器人上的用户名(默认为 nvidia),<robot_ip_address> 是机器人的 IP 地址。

  4. 使用以下命令在机器人上运行 Laikago 应用程序:

    bob@jetson:~/$ ./packages/laikago/apps/laikago_navigate --config <map_config_json> --graph <map_graph_json>
    

    <map_config_json><map_graph_json> 是地图文件。 apps/assets/maps 文件夹中提供了示例。

    连接到蓝牙操纵杆控制器。 我们在此示例中使用 NVIDIA Shield 控制器。 这可用于向 Laikago 发送定向命令并触发自主导航模式。

    注意

    默认情况下,机器人处于“站立”模式。 当方向命令通过一个小阈值时,机器人将开始行走。 有关详细信息,请参阅操纵杆部分。

  5. <robot_ip>:3000 的浏览器中打开 Isaac Sight。 您应该会看到 Laikago 所在的地图。 使用操纵杆移动 Laikago 并观察地图更新。


http://www.ppmy.cn/news/10630.html

相关文章

架构设计---用户加密处理

前言&#xff1a; 在互联网各种安全问题中&#xff0c;最能引发话题&#xff0c;刺激大众神经的就是用户的泄密问题&#xff0c;数据库被拖库导致所有的数据泄露&#xff0c;这种系统安全问题涉及的因素可能有很多&#xff0c;大部分和开发软件的程序员没有关系&#xff0c;但…

SOA 和微服务有何区别?

玩过 Dubbo 的小伙伴应该都有听说过一个概念叫做 SOA&#xff0c;每当我们说起微服务的时候&#xff0c;很多人就会去纠结这和 SOA 有啥关系呀&#xff1f;感觉换汤不换药呀。 今天松哥来稍微和小伙伴们讨论下这个话题&#xff0c;我们一起来看看 SOA 和微服务到底有何异同。 …

【数据结构趣味多】循环队列

目录 函数介绍及模拟实现 Front()函数 Rear()函数 enQueue()函数 deQueue()函数 isEmpty()函数 isFull()函数 循环队列模拟题 定义&#xff1a;把队列的头尾相连接的的顺序存储结构称为循环队列&#xff1b;循环队列的是由顺序表实现的。 为什么要使用循环队列&#…

吊炸天,springboot的多环境配置一下搞明白了!

1、 使用springboot的profile命名规则profile用于多环境的激活和配置&#xff0c;用来切换生产&#xff0c;测试&#xff0c;本地等多套不通环境的配置。如果每次去更改配置就非常麻烦&#xff0c;profile就是用来切换多环境配置的。在Spring Boot框架中&#xff0c;使用Profil…

10 位院士对 AI 的深度把脉

10 位院士对 AI 的深度把脉 10 位院士对 AI 的深度把脉1、蒲慕明院士:脑科学与类脑智能研究2、高文院士:数字视网膜与云视觉系统演进3、汤晓鸥:人工智能,创新应用4、王海峰:自然语言处理前沿五大院士把脉:人工智能的发展现状以及未来能够做哪些尝试5、张正友:机器人的智…

InceptionNet与ResNet

以下代码图片思路来源&#xff1a; 北京大学Tensor flow笔记 嗯,最近学了一下神经网络&#xff0c;并没有很难&#xff0c;主要是把代码背下来&#xff0c;然后掌握Tensorflow是怎么搭建网络的&#xff0c;Tensorflow是比pytorch好用的&#xff0c;我直接抄的代码里面&#xff…

【自学Python】Python复数(complex)

Python复数(complex) Python复数(complex)教程 Python 可以支持复数&#xff0c;复数的虚部用 j 或 J 来表示。如果需要在程序中对复数进行计算&#xff0c;需要导入 Python 的 cmath 模块&#xff0c;在该模块下包含了各种支持复数运算的函数。 案例 复数 定义 Python 中…

Android UI界面刷新机制

一 前言 作为严重影响 Android 口碑问题之一的 UI 流畅性差的问题&#xff0c;首先在 Android 4.1 版本中得到了有效处理。其解决方法即在 4.1 版本推出的 Project Butter。Project Butter 对 Android Display系统进行了重构&#xff0c;引入三个核心元素&#xff1a;VSYNC、T…