达姆施塔特工业大学、华为诺亚方舟、伦敦帝国理工学院、牛津大学和伦敦大学学院的研究人员推出开源机器人学习框架Ark,通过提供一个基于 Python 的、易于使用的环境来加速机器人学习的研究和商业部署。
Ark 是一个开源的、基于 Python 的机器人学习框架,专为简化机器人软件开发和部署而设计。它借鉴了现代人工智能(AI)领域中 Python 为核心的开发模式,提供了从数据收集、策略训练到在模拟和真实机器人之间无缝切换的能力。例如,研究人员可以使用 Ark 在模拟环境中快速开发和测试机器人策略,然后轻松地将这些策略部署到真实机器人上,而无需对代码进行大量修改。

主要功能
- 数据收集与预处理:Ark 支持从模拟器或真实机器人收集数据,并进行预处理,为机器学习算法提供输入。
- 策略训练:框架支持使用最新的模仿学习算法(如 ACT 和 Diffusion Policy)进行策略训练。
- 模拟与真实环境的无缝切换:通过一个配置文件中的单一标志(sim=True/False),Ark 可以在模拟环境和真实机器人之间无缝切换。
- 模块化设计:Ark 提供了控制、SLAM(同时定位与地图构建)、运动规划、系统识别和可视化的可重用模块。
- 与 ROS 的互操作性:Ark 提供了与 ROS(机器人操作系统)的原生互操作性,允许用户将现有的 ROS 代码集成到 Ark 框架中。
主要特点
- Python 优先:Ark 以 Python 作为主要开发语言,降低了学习门槛,同时提供了 C/C++ 绑定以确保实时性能。
- 轻量级客户端-服务器架构:通过网络化的发布-订阅通信机制,Ark 实现了模块间的解耦和灵活通信。
- 易于上手:Ark 提供了详细的文档和案例研究,从操作到移动导航,展示了快速原型开发和硬件切换的便利性。
- 统一的配置文件:使用 YAML 格式的配置文件来定义机器人、传感器、环境和网络参数,简化了系统的设置和部署。
工作原理
Ark 的工作原理基于一个分布式节点网络,每个节点代表一个独立的 Python 脚本,节点之间通过消息通道进行通信。这些消息通道使用 LCM(Lightweight Communications and Marshalling)库进行数据传输,确保了通信的高效性和灵活性。Ark 的核心是一个配置文件,它定义了整个系统的架构,包括机器人、传感器、环境和网络参数。通过修改这个配置文件,用户可以轻松地在模拟和真实环境之间切换,而无需修改代码。
测试结果
论文中通过多个用例展示了 Ark 的灵活性和易用性。例如,在一个抓取任务中,使用 ViperX 300 机械臂和英特尔 RealSense RGB 相机,Ark 成功地在模拟环境中训练了一个扩散策略,并将其无缝部署到真实机器人上。另一个案例是使用 OpenPyro-A1 人形机器人进行的远程操作,展示了 Ark 在处理复杂任务时的能力。
应用场景
- 机器人操作:Ark 可以用于训练机器人执行各种操作任务,如抓取、搬运和组装。
- 移动机器人导航:通过集成 SLAM 和路径规划算法,Ark 可以帮助移动机器人在复杂环境中导航。
- 人机交互:Ark 支持通过虚拟现实(VR)和游戏手柄等设备进行远程操作,适用于需要人类干预的任务。
- 机器学习集成:Ark 提供了与大型语言模型(LLM)和视觉语言模型(VLM)的集成,使机器人能够执行复杂的推理任务。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...















