UR3机械臂在光洋电子的触屏检测工位。AWS教程以同型号机械臂的抓取示范演示训练流程。
近日,亚马逊云服务AWS发布了Physical AI Toolchain,一套供机器人开发者使用的开源工具链。距离它关停机器人云服务RoboMaker,刚过去一年多。
RoboMaker于2018年推出,提供机器人软件的开发环境、云上仿真和机队管理等服务,也能用于训练模型。2025年9月10日,这项服务终止支持,AWS建议用户把仿真任务迁到自己的批处理服务Batch上。
这次,AWS把机器人开发用的参考代码放到了GitHub。开发者可以按需要选用模块,在自己的AWS账号里部署,调用云上的算力和存储,运行英伟达的模型与仿真软件。
AWS想解决的,是团队拿到模型以后还得自己搭建开发流程的问题。AWS负责行业业务的副总裁Uwem Ukpong说,客户告诉他们,太多工程精力花在了基础设施上。对于正在训练机器人模型的团队,下载模型只是开头,让自己的数据、训练程序和云上的机器配合起来,同样需要投入人手。
01.
把模型和云上的机器接起来
用示范来训练机械臂抓取,团队先得采集数据,让模型看到人在什么情况下做了什么动作。相机录下的画面、机械臂的关节状态和控制指令,来自不同的设备,必须整理成训练程序能读懂的数据。
英伟达展示的示范数据采集:操作员借助VR头显和手柄,在仿真环境中操作机器人。图源:NVIDIA
模型能读懂数据以后,还需要合适的软件环境和计算资源。训练任务从哪里取数据,结果存到哪里,下一次换了参数怎么再跑,都要有人安排。英伟达提供的机器人模型和仿真器各有用途,把它们放进团队日常使用的开发流程,又是另一项工作。
AWS把其中一部分工作写成了参考代码,也配好了部署说明。它所说的工具链,就是用这些程序连接现有的软件和云服务。模型由英伟达提供,训练所需的机器和存储由AWS提供,开源项目把两边接起来。开发者可以照着搭起自己的流程,再修改与自身任务有关的部分。
仓库里有一个现成的例子。操作员用Xbox手柄遥控UR3机械臂抓取物体,录下27段示范数据。教程用这批数据,演示怎样在AWS上微调英伟达的GR00T模型。微调是在已有模型的基础上继续训练,让它适应新的机器人和任务。
这27段数据随代码一起提供。开发者即使手头没有UR3,也可以先用它们熟悉云上的训练流程,看看从一批示范数据到一个模型文件,中间要经过什么。等准备好了自己的数据,再沿着这条路径替换和调整。
程序先把录像、关节状态和动作指令按时间对齐,再转换成模型需要的格式,上传到云存储。整理以后,画面与相应的机器人状态、动作配在一起,才能送进模型学习。
随后,教程给出构建训练环境和提交任务的代码。在它采用的托管训练方式下,云服务安排机器运行训练,结束后保存模型,释放训练机器。管线还会把模型登记为一个新版本,等待人工批准。模型有没有学好、能不能放到机器人上,需要团队另行检验。
下一次补录了示范,或者想换一组参数,开发者可以沿用这套流程,再提交一次训练。新模型按版本登记,旧的训练结果也有记录可查。团队可以把这套代码保留下来,用于后续实验。
这套工具链还提供仿真、生成训练数据等模块。开发者可以用仿真软件搭建虚拟场景,也可以用生成模型扩充训练素材。各模块有各自的用途,UR3教程选择了其中利用示范数据训练模型的一条路径。
英伟达Isaac Lab的虚拟训练场景示意,画面中设有台阶和不平地形。图源:NVIDIA
02.
开发者能复用哪些工作
做抓取任务的团队,很难靠一次训练就结束开发。机械臂换了要抓的工件,摄像头换了位置,原来的示范数据和模型是否还合适,都需要重新检查。开发者可能要补录数据、调整模型,再看机器人在现场的表现。训练流程也得跟着这些实验反复使用。
做这些实验的同时,团队还要照顾训练环境。程序能不能在云上的机器里运行,任务中途出了问题,到哪里查看记录,换个人来接手能不能继续用,都属于实际的开发工作。即使已经拿到开源模型,这些工作也不会自动完成。
AWS的参考代码给这些工作提供了一套现成做法。同样采用英伟达软件、同样准备在AWS上训练,不同团队可以从共同的代码出发,修改与自己有关的部分。如果这些代码适用,研发人员就能少花一些时间搭建和连接环境,去检查训练数据是否有效、模型为什么抓不好。
刚开始搭建训练流程的团队,可以先研究示例如何组织数据和任务,把适用的代码留下。已有自己的平台,也可以只取需要的部分。例如,团队只需要增加生成训练数据的能力,就可以研究相应模块怎样部署,再接入已有流程。
代码公开以后,开发者也能顺着它看清流程怎样调用云服务、用什么配置启动任务、把结果保存在哪里。示例与自己的需要不一致时,可以修改相应部分。团队若已有自己的数据存储方式,就需要检查数据进入训练程序的那一段怎样衔接,从这一部分改起。
AWS提供这套代码的方式,也与当年的RoboMaker有所不同。RoboMaker是一项专门的机器人云服务;这次开源的代码,把机器人的训练和仿真任务接到了AWS已有的通用服务上。开发者按自己的任务部署模块,AWS通过它们实际使用的算力、存储等资源收费。
项目代码可以免费使用,云上的机器和存储照样要付费。机器人公司还要算工程投入这笔账。借用现成流程少写了多少代码,为了接入自己的系统又增加了多少工作,都关系到采用它的价值。公开材料目前还没有足够的使用前后对照,能给出统一的节省幅度。
已经在AWS上使用英伟达软件的团队,与这套项目的技术选择最接近。训练一直跑在自建集群或其他云平台上的公司,则要另外评估迁移的工作。选择是否采用,要结合团队已经投入的平台和人手来判断。
再往后,还有针对具体机器人的工作。把UR3换成自己做的机械臂,团队需要提供自己的示范数据,调整模型读取关节状态和输出动作的配置,并继续微调。云上提交任务的流程可以参考,模型如何控制这台机械臂,却要结合它的结构和任务重新验证。
UR3教程已有可选的真机控制代码,不过维护者注明,实体机械臂的运动尚未在这个仓库中重新验证。教程跑到了哪一步,与机器人最终能做到什么程度,需要分开看。开发者拿到模型以后,还要在自己的设备上测试和调整。对准备在AWS上使用英伟达模型的团队,搭建训练流程有了现成代码可以借用和修改,研发可以从这里开始。
