在科技飞速发展的今天,机器人的能力边界不断拓展。想象一下,机器人坐在钢琴前,行云流水地弹奏出美妙乐章,这不再是科幻电影里的场景。近日,科研人员在机器人弹钢琴领域取得了突破性进展,让我们一同走进这个有趣的研究。
©️【深蓝AI】编译
论文链接:https://arxiv.org/abs/2503.15481
论文名称:Learning to Play Piano in the Real World
论文作者:Yves-Simon Zeulner, Sandeep Selvaraj, Roberto Calandra
1、为什么让机器人学弹钢琴意义重大?
弹钢琴看似只是一项艺术活动,但对于机器人领域来说,却有着非凡的意义。弹钢琴要求演奏者手部动作精准、协调且流畅,同时还要根据触觉和听觉反馈实时调整。人类的手在这一过程中展现出了极高的灵活性和适应性,而模仿人类手部的这些特质一直是机器人研究的重要目标。
过往,机器人研究多集中于一些特定的操作任务,像物体旋转等。不过,这些研究中的机器人动作往往不够自然,与人类的真实动作存在差异。而弹钢琴恰好能弥补这一研究空白,它与人类手部的自然动作高度契合,是探索机器人从模拟到现实应用(Sim2Real)的绝佳场景。如果机器人能够学会弹钢琴,那就意味着在复杂操作任务上,机器人向人类水平又迈进了一大步。
▲图1|现实世界中的机器人学习弹钢琴的概念验证©️【深蓝AI】编译
2、如何让机器人学会弹钢琴?
▍硬件准备:模拟人类演奏的物理基础
研究人员为机器人搭建了一套精妙的硬件系统。机械臂选用UFACTORY xArm7,它可以带动末端执行器沿着平行于钢琴的特定轴移动,模拟人类前臂的动作。手部则采用了左侧的Allegro hand v4.0,这款手有4根手指,每根手指4个关节,共16个关节,但由于拇指难以触及钢琴键,实际使用12个关节。为了让机器人能准确按下单个琴键,研究人员还专门3D打印了尺寸接近人类手指的指尖替换默认指尖。
钢琴方面,选用M - Audio Keystation 49e MIDI键盘,它有4个八度的琴键,每次按键和松开都会触发MIDI事件并传输给主机,不过按键的具体力度信息无法获取。
▍模拟环境:训练机器人的虚拟舞台
模拟环境基于robopianist环境构建,使用Mujoco物理引擎和dm control作为强化学习任务的框架。在模拟场景中,有配备3D打印指尖的Allegro手和M - Audio Keystation钢琴模型。为了模拟手部在钢琴上的平行移动,还添加了一个滑动关节。此外,去除了现实环境中不存在的延音踏板。
▍马尔可夫决策过程:为机器人弹奏制定规则
整个任务被建模为一个随机的、部分可观测的马尔可夫决策过程(MDP),由状态空间(S)、动作空间(A)、转移概率(p)、奖励函数(r)和折扣因子(γ)组成。
状态空间和转移概率由Mujoco物理引擎确定;动作空间包含13个连续动作,对应手部各关节和手腕的移动;观察空间则有356维,涵盖手部关节状态、滑动关节位置、当前按下的琴键、目标琴键等信息。不过,与以往环境不同的是,这里的观察空间不包含指法信息,这对机器人的探索增加了难度,也凸显了合理设计奖励函数的重要性。
▍奖励函数:引导机器人正确弹奏的“指挥棒”
奖励函数由四部分构成:
- 能量奖励(renergy):用于惩罚那些需要大力气的快速动作,避免手指无意义的摆动,让机器人的弹奏动作更流畅、更接近人类。
- 手部位置奖励(rhand_position):通过缩小手掌与目标琴键的平均距离,引导手部朝着正确的琴键移动。
- 按键奖励(rkeypress):这是奖励函数的核心部分。它基于两个关键设计要求:一是按错键比不按键好;二是按对键比按错键好。这样可以引导机器人大胆尝试按键,不断向正确按键探索。
- 滑动奖励(rsliding):主要惩罚按键时手部的快速横向移动,尤其是在按下相邻琴键时,惩罚力度加倍,防止机器人陷入局部最优解。
▍评估指标:量化机器人弹奏水平
研究采用与robopianist相同的评估指标,即精确率(Precision)和召回率(Recall)。精确率衡量机器人不按错键的可靠性,召回率衡量按对键的可靠性,二者取值范围都在0到1之间。将这两个指标通过调和平均数计算得到F1分数,F1分数越高,表明机器人的弹奏表现越好。
▍工作流程:从模拟训练到现实演奏
机器人学习弹钢琴的过程分为两个阶段。首先在模拟环境中进行策略训练,使用DroQ算法,每个模型训练100万次episode,在配备GeForce RTX 4070 GPU和i9 - 13980HX CPU的笔记本电脑上耗时约47分钟。训练过程中运用域随机化技术,对钢琴高度、手部起始位置、关节阻尼等多种参数进行随机化处理,以缩小模拟与现实之间的差距。
训练完成后,通过三种执行模式在现实世界中评估策略:
- 关节镜像模式(Joint Mirroring):所有观察基于模拟,现实中的机器人模仿模拟环境中的关节位置。这种模式下动作是确定的,但机器人无法适应现实环境变化。
- 现实世界执行模式(Real World Execution):与关节镜像模式相反,所有观察都来自现实世界,动作直接应用于机器人,不过这种模式需要更强大的模型,对训练环境要求较高。
- 混合执行模式(Hybrid Execution):观察空间一部分来自现实世界(按键信息),一部分来自模拟(关节位置)。这种模式结合了前两种模式的优点,机器人既能利用模拟训练的经验,又能根据现实情况及时纠正行为。
图2 | 模拟训练环境与现实世界的对比
▍歌曲选择:多维度测试机器人能力
研究团队选取了四首不同特点的歌曲来测试机器人的演奏能力:
- 《一闪一闪小星星(Twinkle Twinkle Little Star)》:简单的儿歌,开头音程跨度大,旋律自然流畅,是日常生活中常见的歌曲。
- C大调音阶(C - Major - Scale):可以评估机器人在不同琴键之间切换的能力,人类弹奏时会自然地运用所有手指,研究人员借此观察机器人是否采用相同策略。
- D大调音阶(D - Major - Scale):与C大调音阶不同,它包含黑键,有助于观察机器人按黑键时的指法技巧。
- 和弦进行(Chord Progression):前三首歌曲机器人每次只需按一个键,而这首歌曲需要按一系列和弦,能测试机器人的多指协作性能。
3、实验收获了哪些成果?
▍模型表现:能成功弹奏但仍有提升空间
实验结果显示,机器人的模型能够成功弹奏这四首歌曲。不过,精确率普遍高于召回率,这可能是因为提高召回率需要机器人完成更复杂的动作序列,比如抬起手指、移动到正确位置再按下,过程中容易受到新目标键的干扰。
在模拟环境中,和弦进行的F1分数比其他歌曲低,这是因为弹奏和弦对机器人多指协调要求更高。但在现实世界中,和弦进行的F1分数却高于平均水平,Sim2Real差距最小,原因是和弦按键持续时间长,机器人有更多时间自我纠正。
▍执行模式对比:混合执行模式优势显著
在对不同执行模式的对比中发现,混合执行模式表现最佳。关节镜像模式在弹奏《一闪一闪小星星》和和弦进行时表现较好,但在音阶弹奏中表现欠佳,因为它无法根据现实情况纠正错误按键。现实世界执行模式在C大调音阶弹奏中表现不错,但在其他歌曲中表现不佳,主要是模型难以适应训练环境的变化。而混合执行模式结合了模拟训练的经验和现实世界的反馈,让机器人既能利用已学策略,又能及时纠错,是最具潜力的执行模式。
▍域随机化强度的影响:适度最佳
研究还探讨了域随机化强度对机器人现实世界表现的影响。在模拟环境中,域随机化强度越高,环境变化越大,模型性能下降越明显。在现实世界中,随着域随机化强度增加,精确率变化趋势与模拟环境相似,但召回率先降后升再降。适度的域随机化(Cd r = 0.6时)能让机器人召回率达到最高,F1分数也最高,这表明在训练中合理调整域随机化强度对提升机器人现实表现至关重要。
图3 | 对比了我们介绍的三种执行模式:A)在关节镜像模式中,整个观察空间均来自模拟环境。B)在混合执行模式中,只有按下的琴键信息基于现实世界,其他所有信息均为模拟所得。C)在现实世界执行模式中,所有观察信息都基于现实世界
4、研究存在哪些局限与未来方向?
尽管这项研究取得了显著进展,但仍存在一些局限性。在歌曲泛化方面,机器人在未训练过的歌曲上表现不佳,目前需要针对每首新歌重新训练策略,未来应探索更高效、稳健的上下文策略。
在传感器方面,缺乏触觉传感器限制了机器人对环境的感知,虽然考虑过集成现有触觉传感器,但尺寸问题导致同时按下两个键,未来需等待更小型、全方位的触觉传感器。
硬件上,现有的多指机器人手灵活性不如人类,手指的伸展和弯曲受限,手腕使用也不够灵活,后续研究可以探索如何改进硬件,减少不必要的手部动作,利用更灵巧的机器人手。
此外,当前实验仅使用单只手,而复杂的钢琴曲目需要双手协作,未来研究有望拓展到双手弹奏,增加演奏曲目的难度和复杂度。
这项关于机器人弹钢琴的研究为机器人操作领域开辟了新方向,尽管目前还存在一些不足,但随着技术的不断进步,相信机器人在复杂操作任务上会越来越接近人类水平,为未来的科技发展带来更多惊喜。