NeRD:神经网络动力学在机器人仿真中的突破
传统的机器人仿真技术因其简化的接触模型、忽略的运动学闭环以及不可微分的模型,难以满足现代机器人的复杂需求。神经机器人动力学(Neural Robot Dynamics,简称NeRD)作为一个神经仿真框架,旨在通过以下方式应对这些挑战:
- 使用富有表现力且可微分的模型,实现长时域内的稳定状态预测。
- 捕捉复杂的、接触丰富的物理现象。
- 能够泛化到不同的任务、环境和控制器,缩小仿真与现实的差距。
- 支持基于真实数据进行微调。
与针对特定任务的神经仿真器不同,NeRD可作为如Newton这类模块化物理引擎中的“即插即用”后端。这意味着开发团队可以重用现有的策略学习环境,只需通过一行代码切换物理求解器。这种将分析模块与以机器人为中心的神经建模相结合的方法,为机器人的动力学模型通过仿真和现实经验持续改进铺平了道路。
什么是NeRD?
NeRD是一种神经仿真框架。NeRD模型是学习得到的、针对特定动力学模型的体现,能够预测与环境接触的关节刚体(例如,具有多个关节的机器人)的未来状态。
一旦训练完成,NeRD模型能够:
- 在数百到数千个仿真步长中提供稳定且准确的预测。
- 针对特定机器人,泛化到不同的任务、环境和底层控制器。
- 基于真实世界数据进行微调,以弥合仿真与现实的差距。
NeRD模型可以使用任何仿真器的数据进行训练。训练完成后,它们可以作为分析求解器(例如,在Newton这类模块化框架中使用的求解器)的直接替代品进行部署。这使得用户能够重用现有的策略学习环境,并通过简单的单行切换激活NeRD作为新的物理后端。
机器人仿真的未来愿景
随着机器人技术的进步,我们设想一个生命周期,其中每个机器人都会配备一个从分析仿真预训练而来的神经动力学模型。这样的神经动力学模型可以随着机器人与真实世界的交互而持续微调,使其能够考虑机器人的磨损和环境变化。
机器人的神经动力学模型可以嵌入到一个混合仿真系统中,其中神经动力学用于模拟机器人,而分析动力学则用于场景的其他部分(例如,障碍物)。这些持续改进的神经机器人动力学为现实世界的动力学提供了更精确的副本,从而促进在由这种持续更新的仿真器驱动的数字孪生中学习更多样化的机器人技能。
神经机器人动力学如何工作?
NeRD通过两项关键创新实现了泛化性和长时域预测准确性——混合预测框架和以机器人为中心的输入参数化。
-
混合预测框架:NeRD模型取代了传统仿真器中的时间积分(求解器)部分。在如Newton这样的框架中,碰撞检测与求解器是解耦的,这使得我们可以将分析碰撞检测与我们的学习模型结合起来。该混合框架使NeRD能够利用中间仿真量(即机器人状态、接触信息和关节空间扭矩)来描述完整的仿真状态,从而提供必要信息以演化机器人动力学,而不受具体应用(如任务、场景和控制器)的限制。这与先前仅将机器人状态和特定任务动作作为输入的方法形成对比,后者因此会过度拟合于训练所用的任务。
-
以机器人为中心的参数化:NeRD采用以机器人为中心的输入参数化,使学习到的动力学模型能够实现空间泛化。具体而言,机器人状态和与接触相关的量在作为输入传递给NeRD模型之前,会被转换到机器人的基坐标系中。这种以机器人为中心的状态表示使NeRD能够在机器人运动过程中遇到的、未见过的空间位置进行可靠的预测,从而增强了模型的长时域准确性。
训练数据集与网络架构
NeRD的训练数据集以任务无关的方式使用仿真器数据生成。对于每个机器人实例,我们收集10万条随机轨迹,每条轨迹包含100个时间步。这些轨迹通过随机化的机器人初始状态、机器人电机扭矩限制内的随机关节扭矩序列以及可选的随机化环境配置生成。我们使用因果Transformer架构(具体是一个轻量级的GPT-2 Transformer实现)来建模NeRD,该模型以最近10步的仿真状态作为输入。
一旦模型训练完成,我们就将其集成到如Newton这样的模块化物理引擎中。它作为仿真器的一个可互换求解器,替代了现有的分析动力学和接触求解器。然后,开发者可以像以前一样使用这个集成了NeRD的仿真器,并重用现有的策略学习环境。
使用NeRD训练机器人的优势是什么?
使用NeRD训练机器人能够实现高度稳定、准确和可泛化的仿真,加速策略学习,并为可靠的真实世界部署弥合仿真与现实的差距。
-
稳定性与准确性:训练好的NeRD模型能够准确预测混沌系统(如双摆)在数百个时间步内的动力学行为。单个NeRD模型还能模拟不同的接触配置(例如,地平面的不同高度和方向)。
-
在NeRD集成仿真器中学习机器人策略:NeRD在跨任务、控制器和空间的效率和泛化能力,使得针对多样化下游任务进行大规模机器人策略学习成为可能。例如,为一个ANYmal机器人预训练一个NeRD模型,然后使用PPO强化学习算法在NeRD集成仿真器中训练前进行走策略和侧向行走策略,而无需访问地面真实分析仿真器。学习到的策略随后可以零误差地迁移到地面真实分析仿真器中,且性能损失极小。
-
零误差仿真到现实迁移:NeRD模型的准确性也在一个7自由度Franka机械臂上得到了验证,我们为零误差的仿真到现实迁移训练了一个“到达姿态”策略,该策略完全在NeRD集成仿真器中训练。
-
基于真实世界数据微调NeRD模型:NeRD模型固有的可微性使其能够基于真实世界数据进行快速微调。例如,使用真实世界的方块抛掷数据集对一个预训练的NeRD模型进行方块抛掷任务的微调。微调后的NeRD模型在动力学准确性上相比分析仿真器有显著提升。
总结
神经机器人动力学(NeRD)是一种基于神经网络的机器人仿真框架,旨在长时间内准确预测复杂关节机器人的动力学行为。与使用简化模型、难以应对现代机器人复杂性的传统机器人仿真器不同,NeRD直接从数据中学习机器人特定的动力学,从而实现稳定、可泛化且精确的仿真。
单个训练好的NeRD模型能够泛化到特定机器人的多样化任务、环境和控制器,并且可以使用真实世界数据进行微调以减少仿真与现实的差距,这使其成为机器人仿真领域一个高度适应性和先进的解决方案。
未来方向
为复杂的现实世界机器人动力学开发有效的神经仿真器是一个活跃的研究领域。为了实现通用且可微调的机器人神经动力学模型,该研究可以向几个令人兴奋的方向扩展:
- 更复杂结构、更高自由度的机器人。
- 基于部分可观测的真实世界数据进行微调。
- 模拟机器人操作。
开始使用NeRD
-
首先下载Newton,这是一个用于仿真、AI、机器人和机器学习GPU加速核函数程序的开源、可扩展物理引擎。
-
从arXiv上的NeRD论文中了解更多关于神经机器人动力学的细节。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
公众号二维码

公众号二维码
