深度|如何快速地让机器人变得更智能,更聪明?
本文共3090字,阅读需要10分钟。
为什么智能机器人的研发门槛高?
因为研发一款智能机器人需要掌握机械和电子硬件、驱动程序、各种传感器、规划算法、计算机视觉、人工智能(包括深度学习、机器学习、人工神经网络等)多个领域的专业知识。这对于初学者和初创公司具有极高的技术门槛。
最近,我发现了一款好产品,大大降低了机器人研发门槛。
它是 NVIDIA 开发的一款智能机器人开发平台 Isaac(获取更多资料,见文后链接),还有 Replicator 合成数据生成引擎——面向机器人、用于 Isaac Sim 的 Isaac Sim Replicator。
首先,为了方便大家理解,先解释一下这些概念都是什么。
NVIDIA:世界著名的人工智能公司 NVIDIA 英伟达,创始人是江湖人送绰号黄教主的黄仁勋。
图1 采用了“数字人”的黄仁勋Omniverse:英文字面意思“全能宇宙”。它是 NVIDIA 开发的一款支撑元宇宙技术的技术开发平台,适用于 3D 设计协作和模拟。
Replicator:英文字面意思“复制程序”,在虚拟世界中训练数据,生成模型以后,可以快速移植到现实世界的物理单元上,例如机器人大脑上。它是一个先驱架构,能够实现物理上准确的 3D 合成数据生成,加速感知网络的训练,并提高模型的准确性。
Isaac:NVIDIA 开发的一款智能机器人开发平台。这个平台提供了一个机器人开发、训练和测试的集合,大大降低了机器人的开发难度,降低了研发的技术门槛。
Isaac Sim:由 Omniverse 提供底层支持,是一种可扩展的机器人仿真应用程序和合成数据生成工具,可支持逼真、物理精确的虚拟环境,用来开发、测试和管理基于 AI 的智能机器人。
Isaac Sim Replicator:一个建立在可扩展的 Omniverse 平台上的高度可扩展 SDK,它可以生成物理级精确的 3D 合成数据来加速 AI 感知网络的训练和性能。开发者、研究人员和工程师现在可以使用 Isaac Sim Replicator 生成的大规模逼真合成数据来引导和提高现有深度学习感知模型的性能。
其次,介绍一下 NVIDIA 机器人仿真开发平台的特点。
图2 机器人开发平台框架(1)逼真的模拟
Isaac Sim 借助 Omniverse 平台的强大模拟技术,包括使用 PhysX 5 支持 GPU 的高级物理模拟、实时光线和路径跟踪的真实感,以及基于物理渲染的 MDL 材质定义支持。
(2)模块化架构包含了最常用的应用程序
Isaac Sim 解决了最常见的机器人用例,包括操作、导航、训练数据的合成数据生成,例如模拟机器人动力学测试控制算法,模拟机器人传感器生成真实感相机、深度和分割图像、激光雷达、IMU,模拟不同的环境和场景,在不同的条件和环境下测试算法,模拟代理,机器人周围提供有趣动态环境的人类演员,将域随机化,以创建具有随机变化的对象和环境属性的巨大多样的训练集。此外,由于其模块化设计,该工具可以定制并扩展到许多新的用例。
(3)无缝连接和互操作性
Isaac Sim 支持协作构建、共享和导入环境和机器人模型。通过 Isaac SDK 和 ROS/ROS2 接口、功能齐全的 Python 脚本、用于导入机器人和环境模型的插件,轻松将机器人的大脑连接到虚拟世界。
最后,以一个智能服务机器人的研发案例,讲一下 Isaac Sim Replicator 的作用。
以往智能机器人开发,通常是先购置一款芯片与开发板,然后安装开源的机器人操作系统 ROS,根据场景添加各类传感器,再进行适配驱动调优,最后选择相应算法,很明显整个研发过程非常复杂,需要掌握很多专业知识,并且多人协作,技术门槛很高。
图3 基于VSLAM的智能服务机器人图3是一款智能服务机器人的构成。这款机器人技术含量特别高,其中有一项核心技术叫 VSLAM 即 Visual Simultaneous Localization and Mapping,主要是指用视觉图像对机器人进行定位、地图构建和导航(再配合一个惯性传感器)。
图3中的左眼和右眼是一对摄像头,这种配置叫双目视觉。我们要做的,就是根据一张张连续运动的图像,从中推断机器人的运动以及周围环境的情况。
图4 VSLAM 原理为了训练这款机器人在室内行走,我们做了大量的标定工作,把整个办公室和走廊都贴满了标定符号。
图4 传统的数据训练过程为了训练一个用于感知任务的深度神经网络 DNN,通常需要从数百万图像中手动采集数据,然后,对这些数据进行手动注释和有选择性的增强。
人工数据采集和注释是一项费力而主观的任务。在采集和注释真实图像的过程中,即便只是像大规模 2D bounding box 这样的简单注释也会带来许多人力协调方面的挑战。分割等所涉及到的注释存在资源限制,并且手动执行此类任务时的准确性要差得多。
在采集和注释完毕后,数据将被转换成 DNN 可用的格式,然后训练用于感知任务的 DNN。一般情况下,接下来会通过超参数调节或改变网络结构来优化网络性能。在对模型性能进行分析时,可能会导致数据集发生变化,在大多数情况下,还需要进行一轮手动数据采集和注释,这种人工数据采集和注释的迭代循环成本高,并且非常缓慢。
利用 Isaac Sim Replicator 可以把训练感知模型的任务直接放到虚拟环境中完成。Isaac Sim Replicator 是一个建立在可扩展的 Omniverse 平台上的高度可扩展 SDK,它可以生成物理级精确的 3D 合成数据来加速 AI 感知网络的训练和性能。开发者、研究人员和工程师现在可以使用 Isaac Sim Replicator 生成的大规模逼真合成数据来引导和提高现有深度学习感知模型的性能。
NVIDIA Isaac 机器人平台现可轻松集成至机器人操作系统 ROS 中。ROS 是常用的开源机器人操作系统,也是机器人的大脑,这款软件平台应用广泛,具有大量成熟的软件库和工具。
为了加快机器人的部署,可以采用 NVIDIA Isaac GEMs。它是 NVIDIA 为 ROS2 应用程序提供的一套 GPU 加速包,大大提高了图像处理和基于 DNN 的感知模型的吞吐量。
图5 NVIDIA Isaac GEMs 硬件加速模块NVIDIA Isaac GEMs 的能力是非常强大的。NVIDIA Isaac GEMs 中自带了 VSLAM 算法,大大节省了机器人工程师的开发工作量。
它还包含了用于立体相机视差预测的 DNN--- GEM ESS,为机器人应用提供基于视觉的连续深度感知;用于基于视觉的障碍预测的 DNN--- GEM Bi3D,以检测自由空间,同时预测障碍物(获取更多资料,可以见文后链接)。
总之,正如 NVIDIA 系统软件总监 Nathan Ratliff 在最近的 GTC 演讲中所说:“我们的目标是让具有任务意识的机器人的编程,变得像游戏 AI 编程那样简单。”这无疑大大降低了智能机器人开发的技术门槛,并可以让机器人快速地变得更加聪明。
备注:对文中内容感兴趣的读者可以登录如下资源链接。
Isaac Sim 官网链接:https://developer.nvidia.com/isaac-sim;
NVIDIA Isaac GEMs 更多详细信息请见:https://github.com/NVIDIA-ISAAC-ROS;
开发文档:https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/overview.html;
论坛支持:https://forums.developer.nvidia.com/c/agx-autonomous-machines/isaac/simulation/69
本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。
如果侵犯了你的权益请来信告知我们删除。邮箱:dacesmiling@qq.com
上一篇:智能机器人的介绍