近年来,机器人强化学习技术领域取得显著的进展,例如四足行走,抓取,灵巧操控等,但大多数局限于实验室展示阶段。将机器人强化学习技术广泛应用到实际生产环境仍面临众多挑战,这在一定程度上限制了其在真实场景的应用范围。强化学习技术在实际应用的过程中,任需克服包括奖励机制设定、环境重置、样本效率提升及动作安全性保障等多重复杂的问题。业内专家强调,解决强化学习技术实际落地的诸多难题,与算法本身的持续创新同等重要。
面对这一挑战,来自加州大学伯克利、斯坦福大学、华盛顿大学以及谷歌的学者们共同开发了名为高效机器人强化学习套件(SERL)的开源软件框架,致力于推动强化学习技术在实际机器人应用中的广泛使用。
- 项目主页:https://serl-robot.github.io/
- 开源代码:https://github.com/rail-berkeley/serl
- 论文题目:SERL: A Software Suite for Sample-Efficient Robotic Reinforcement Learning
SERL 框架主要包含以下几个组件:
1、高效强化学习
在强化学习领域,智能体(如机器人)通过与环境的互动来掌握执行任务的方法。它通过尝试各种行为并根据行为结果获得奖励信号,从而学习出一套旨在最大化累积奖励的策略。SERL 采用 RLPD 算法,赋能机器人同时从实时互动和之前收集的离线数据中学习,大大缩短机器人掌握新技能需要的训练时间。
2、多样的奖励规定方法
SERL 提供了多种奖励规定方法,允许开发人员根据特定任务的需求定制奖励结构。例如,固定位置的安装任务可以按照机械手的位置制定奖励,更复杂的任务可以使用分类器或 VICE 学习一个准确的奖励机制。这种灵活性有助于精确指导机器人学习特定任务的最有效策略。
3、无重制功能
传统的机器人学习算法都需要定期重置环境,进行下一轮交互学习。在很多任务中这无法自动实现。SERL 提供的无重制强化学习功能同时训练前向 - 后向两个策略,为彼此提供环境重置。
4、机器人控制接口
SERL 提供了一系列 Franka 机械手任务的 Gym 环境接口作为标准示例,方便用户可以轻松地将 SERL 拓展到不同的机械臂上。
5、阻抗控制器
为了确保机器人可以在复杂的物理环境中安全精确地探索与操作,SERL 为 Franka 机械臂提供了特殊的阻抗控制器,在保证准确性的同时确保与外界物体接触后不产生过大的力矩。
通过这些技术和方法的结合,SERL 大大缩短了训练时间,同时保持了高成功率和鲁棒性,使机器人能够在短时间内学习完成复杂任务,并在现实世界中有效应用。
图 1、2: SERL 和行为克隆方法在各项任务中成功率和节拍数对比。在相似数据量的情况下,SERL 的成功率要比克隆的高出数倍 (最高 10 倍),节拍数也要快上至少两倍。
应用案例
1、PCB 元件组装:
在 PCB 板上装配穿孔元件是一项常见却又充满挑战的机器人任务。电子元件的引脚极易弯曲,而孔位与引脚之间的公差非常小,要求机器人在装配时既要精准又要轻柔。通过仅仅 21 分钟的自主学习,SERL 使机器人达到了 100% 的任务完成率。即便面临如电路板位置移动或视线部分被遮挡等未知的干扰,机器人也能稳定完成装配工作。
图 3、4、5:在执行电路板元件安装任务时,机器人能够应对在训练阶段未曾遇到的各种干扰,顺利完成任务。
2、电缆布线:
在许多机械和电子设备的组装过程中,我们需要将电缆沿着特定的路径精确地安装到位,这一任务对精度和适应性提出了很高的要求。由于柔性电缆在布线过程中容易产生形变,而且布线过程可能会受到各种干扰,比如电缆被意外移动或者夹持器位置的变化,这导致使用传统的非学习型方法难以应对。SERL 能够在短短 30 分钟内实现 100% 的成功率。即便是在夹持器位置与训练期间不同时,机器人也能够泛化其学习到的技能,适应新的布线挑战,确保布线工作的正确执行。
图 6、7、8:机器人无需更多的专项训练也能直接把线缆穿过与训练时位置不一样的夹子里。
3、物体抓取摆放操作:
在仓库管理或零售业中,机器人经常需要将物品从一个地方移动到另一个地方,这要求机器人能够识别并搬运特定的物品。强化学习的训练过程中,很难对欠驱动的物体进行自动的归位重置。利用 SERL 的无重置强化学习功能,机器人在 1 小时 45 分钟内同时学习两个 100/100 成功率的策略。用前向策略把物体从 A 箱放到 B 箱,再用后向策略把物体从 B 箱归为回 A 箱。
图 9、10、11:SERL 训练了两套策略,一个把物体从右边搬运到左边,一个从左边放回右边。机器人不仅在训练物体上达到 100% 成功率,就连没见过的物体也能智能搬运。
主要作者
1. Jianlan Luo
Jianlan Luo 目前是加州大学伯克利分校电子与计算机科学系的一名博士后学者,他在伯克利人工智能中心 (BAIR) 与 Sergey Levine 教授合作。他的主要研究兴趣在于机器学习,机器人学,以及最优控制。在回到学术界前,他是 Google X 的一名全职研究员,与 Stefan Schaal 教授合作。在此之前,他在加州大学伯克利分校取得计算机科学硕士学位,机械工程博士学位;此间他与 Alice Agogino 教授,Pieter Abbeel 教授一起工作。他也曾在 Deepmind 伦敦总部担任访问研究学者。
2. Zheyuan Hu
他本科毕业于加州大学伯克利的计算机科学和应用数学专业。目前,他在由 Sergey Levine 教授领导的 RAIL 实验室进行研究。他对机器人学习领域有浓厚的兴趣,专注于开发能够使机器人在真实世界中迅速且广泛地掌握灵巧操作技能的方法。
3. Charles Xu
他是加州大学伯克利分校的一名电气工程与计算机科学专业的四年级本科生。目前,他在由 Sergey Levine 教授领导的 RAIL 实验室进行研究。他的研究兴趣位于机器人技术与机器学习的交汇处,旨在构建高鲁棒性且具有泛化能力的自主操控系统。
4. You Liang Tan
他是伯克利 RAIL 实验室的研究员工程师,由 Sergey Levine 教授指导。他先前在新加坡南洋理工大学获得了学士学位和美国佐治亚理工学院完成了硕士学位。在此之前,他曾是开源机器人基金会(Open Robotics)的一员。他的工作专注于机器学习和机器人软件技术在真实世界应用。
5. Stefan Schaal
他于 1991 年在德国慕尼黑的慕尼黑技术大学获得机械工程和人工智能方面的博士学位。他是麻省理工学院大脑与认知科学部及人工智能实验室的博士后研究员,日本 ATR 人类信息处理研究实验室的特邀研究员,以及美国佐治亚理工学院和宾夕法尼亚州立大学运动学系的兼职助理教授。在日本 ERATO 项目期间,他还担任计算学习小组组长,该项目为川人动态大脑项目(ERATO/JST)。1997 年,他成为南加州大学计算机科学、神经科学和生物医学工程教授,并晋升为终身教授。他的研究兴趣包括统计与机器学习、神经网络与人工智能、计算神经科学、功能性脑成像、非线性动力学、非线性控制理论、机器人学及仿生机器人等主题。
他是德国马克斯・普朗克智能系统研究所的创始董事之一,在那里他多年领导了自主运动部门。他目前是 Alphabet [Google] 的新机器人子公司 Intrinsic 的首席科学家。Stefan Schaal 是 IEEE Fellow。
6. Chelsea Finn
她是斯坦福大学计算机科学与电气工程的助理教授。她的实验室 IRIS 研究通过大规模机器人互动来探索智能,该实验室隶属于 SAIL 和 ML Group。她也是 Google Brain 团队的一员。她对机器人和其他智能体通过学习和互动发展出广泛智能行为的能力感兴趣。此前,她在加州大学伯克利分校完成了计算机科学博士学位,以及在麻省理工学院获得了电气工程与计算机科学学士学位。
7. Abhishek Gupta
他是华盛顿大学保罗・G・艾伦计算机科学与工程学院的助理教授,领导 WEIRD 实验室。此前,他在麻省理工学院作为博士后学者,与 Russ Tedrake 和 Pulkit Agarwal 合作。他在加州大学伯克利分校的 BAIR 完成了关于机器学习与机器人学的博士学位,期间受到 Sergey Levine 教授和 Pieter Abbeel 教授的指导。在此之前,他也在加州大学伯克利分校完成了他的学士学位。他的主要研究目标是开发算法,使机器人系统能够学会在各种非结构化环境中执行复杂任务,如办公室和家庭。
8. Sergey Levine
他是加州大学伯克利分校电气工程与计算机科学系的副教授。他的研究专注于能够使自主智能体通过学习获得复杂行为的算法,特别是那些能够使任何自主系统学会解决任何任务的通用方法。这些方法的应用包括机器人技术,以及需要自主决策的其他一系列领域。