Humanoid Whole-Body Badminton via Multi-Stage Reinforcement Learning
TL;DR 精炼摘要
该论文提出了一种基于强化学习的训练流程,用于开发人形机器人羽毛球运动的统一全身控制器,实现下肢步法与上肢击打的协调,无需运动先验或专家演示。训练分为三阶段,经过验证显示在模拟和现实环境中都具备高动态、精准的击打能力。
摘要
Humanoid robots have demonstrated strong capabilities for interacting with static scenes across locomotion, manipulation, and more challenging loco-manipulation tasks. Yet the real world is dynamic, and quasi-static interactions are insufficient to cope with diverse environmental conditions. As a step toward more dynamic interaction scenarios, we present a reinforcement-learning-based training pipeline that produces a unified whole-body controller for humanoid badminton, enabling coordinated lower-body footwork and upper-body striking without motion priors or expert demonstrations. Training follows a three-stage curriculum: first footwork acquisition, then precision-guided racket swing generation, and finally task-focused refinement, yielding motions in which both legs and arms serve the hitting objective. For deployment, we incorporate an Extended Kalman Filter (EKF) to estimate and predict shuttlecock trajectories for target striking. We also introduce a prediction-free variant that dispenses with EKF and explicit trajectory prediction. To validate the framework, we conduct five sets of experiments in both simulation and the real world. In simulation, two robots sustain a rally of 21 consecutive hits. Moreover, the prediction-free variant achieves successful hits with comparable performance relative to the target-known policy. In real-world tests, both prediction and controller modules exhibit high accuracy, and on-court hitting achieves an outgoing shuttle speed up to 19.1 m/s with a mean return landing distance of 4 m. These experimental results show that our proposed training scheme can deliver highly dynamic while precise goal striking in badminton, and can be adapted to more dynamics-critical domains.
思维导图
论文精读
中文精读
1. 论文基本信息
1.1. 标题
Humanoid Whole-Body Badminton via Multi-Stage Reinforcement Learning(通过多阶段强化学习实现人形机器人全身羽毛球击打)
1.2. 作者
Chenhao Liu*, Leyun Jiang†, Yibo Wang†, Kairan Yao, Jinchen Fu and Xiaoyu Ren *所有作者均来自北京菲伯特科技有限公司(Beijing Phybot Technology Co., Ltd),位于中国北京。
1.3. 发表期刊/会议
该论文以预印本形式发布在 arXiv 上。虽然尚未明确指出未来将发表在哪个期刊或会议,但从其内容和深度来看,通常会寻求在机器人学或人工智能领域的顶级会议(如 ICRA, IROS, CoRL, RSS)或期刊上发表。
1.4. 发表年份
2025年
1.5. 摘要
人形机器人(Humanoid robots)在与静态场景互动方面已展现出强大的能力,涵盖了运动(locomotion)、操作(manipulation)以及更具挑战性的运动-操作(loco-manipulation)任务。然而,现实世界是动态的,准静态(quasi-static)的交互方式不足以应对多样化的环境条件。为了向更动态的交互场景迈进,本文提出了一种基于强化学习(Reinforcement Learning, RL)的训练流程,该流程生成了一个统一的全身控制器,用于人形机器人羽毛球运动。该控制器无需运动先验(motion priors)或专家演示(expert demonstrations),即可实现下半身步法(footwork)和上半身击打(striking)的协调。
训练遵循一个三阶段课程(three-stage curriculum):首先是步法习得(footwork acquisition),然后是精确引导的球拍挥动生成(precision-guided racket swing generation),最后是任务导向的细化(task-focused refinement)。这种训练方法使得机器人能够以腿部和手臂协同完成击球目标。在部署时,本文引入了扩展卡尔曼滤波器(Extended Kalman Filter, EKF)来估计和预测羽毛球轨迹,以实现目标击打。同时,本文还提出了一种无预测变体(prediction-free variant),该变体无需 EKF 和显式轨迹预测。
为了验证该框架,研究团队在仿真和现实世界中进行了五组实验。在仿真中,两个机器人能够维持21次连续击球的拉力(rally)。此外,无预测变体在成功击球方面表现出与已知目标策略(target-known policy)相当的性能。在现实世界测试中,预测模块和控制器模块均表现出高精度,现场击球(on-court hitting)能够达到最高 19.1 m/s 的出球速度,平均回球落点距离为 4 m。这些实验结果表明,本文提出的训练方案能够实现在羽毛球运动中高度动态且精确的目标击打,并可适应更多对动态性要求高的领域。
1.6. 原文链接
原文链接: https://arxiv.org/abs/2511.11218
PDF 链接: https://arxiv.org/pdf/2511.11218v2.pdf
发布状态:预印本 (Published at UTC:2025-11-14T12:22:19.000Z)
2. 整体概括
2.1. 研究背景与动机
2.1.1. 核心问题与挑战
人形机器人(humanoid robots)在运动(locomotion)和操作(manipulation)领域取得了显著进展,但其在与快速移动物体进行敏捷、接触密集(contact-rich)的动态交互方面仍然面临巨大挑战。现有研究主要集中在静态或准静态(quasi-static)场景,这不足以应对现实世界中多变的环境条件。
2.1.2. 羽毛球作为理想测试平台
本文认为羽毛球运动是一个理想的测试平台,因为它综合了多项高难度挑战:
- 亚秒级感知-行动循环(subsecond perception-action loops): 机器人必须在极短时间内完成感知、决策和行动。
- 精确的时序和方位(precisely timed and oriented): 球拍与羽毛球的接触必须在时间和空间上都极其精确,并且涉及到三维空间中大范围的拦截。
- 全身协调(whole-body coordination): 需要将快速的手臂挥动与稳定敏捷的腿部运动(footwork)融合,全身协同发力。
2.1.3. 现有研究的局限性与本文的切入点
- 与乒乓球(table tennis)的区别: 羽毛球相比乒乓球,气动效应(aerodynamics)更复杂(高阻力、特殊翻转模式),轨迹更难预测,决策时间更短。球拍挥动幅度更大,对全身平衡的挑战也更大。最关键的是,步法和击打必须协同进化,腿部运动不仅仅是重新定位,更是共同决定击打精度。
- 与先前人形乒乓球工作的对比:
- 本文不使用参考运动(reference motions)来塑造击打动作,而是通过强化学习纯粹地发现高效挥杆,简化了实现并避免了过度的风格约束。
- 羽毛球要求三维空间中面向方向的接触(orientation-aware contacts),而非仅仅简化为二维的“虚拟击打平面”。
- 羽毛球的大幅度击球引发显著的全身扰动,需要平衡恢复,这是乒乓球规模的运动很少遇到的。
- 本文不显式计算目标基座位置,策略仅接收所需拦截目标,并必须协调全身运动。
- 与足式操作臂羽毛球工作的对比: 虽然有研究在足式操作臂上实现了羽毛球技能,但足式平台在平衡方面比人形机器人(狭窄的支撑多边形和高重心)简单得多。且其模拟的人形机器人羽毛球策略未展现出羽毛球风格的步法,暗示缺乏下半身协调的训练信号。
2.1.4. 本文的创新思路
针对上述挑战和空白,本文提出了一套多阶段强化学习训练流程,旨在:
- 显式地促进人形机器人步法-击打(footwork-strike)的协同作用。
- 能够扩展到真实的硬件部署。
- 在没有运动先验或专家演示的情况下,自主学习统一的全身控制器。
2.2. 核心贡献/主要发现
本文的核心贡献在于提出了一套新颖的训练流程和控制器,实现了人形机器人自主、动态的羽毛球击打。主要发现和贡献总结如下:
-
首次实现真人的形机器人羽毛球击打(First real-world humanoid badminton):
- 开发了一个自主的、统一的全身控制器,能够在 21 自由度(DoF)的人形机器人上回击发球机发出的羽毛球。
- 实现了约 5.3 m/s 的挥杆速度和高达 19.1 m/s 的出球速度,反应时间在亚秒级以内。
-
分阶段强化学习实现步法-击打协调(Stage-wise RL for footwork-strike coordination):
- 提出了一种三阶段的课程学习(curriculum learning)方法,用于训练人形机器人的全身控制器。
- 阶段一: 建立步法,使机器人能够向目标区域移动。
- 阶段二: 引入挥杆生成和精确击打,逐步提高位置和方向精度。
- 阶段三: 移除大部分用于塑造运动的正则化项,以最大化击打性能,减少梯度冲突。
-
提出无预测变体(A prediction-free variant):
- 设计了一种更端到端(end-to-end)的策略,仅从短时程的羽毛球观测中隐式推断击球时机和目标,提高了对空气动力学变化性的鲁棒性。
- 消除了对显式轨迹预测器的依赖,为简化部署提供了潜力。
2.3. 主要发现
- 仿真中的高性能表现: 在仿真中,两个相同的机器人能够维持长达 21 次连续击球的拉力,证明了控制器重复定位、高质量回球和姿态恢复的能力。
- 无预测变体与目标已知策略的性能对比: 仿真结果显示,无预测变体在击打性能上仅有适度下降,表明显式目标信息并非不可或缺。
- 高精度和高速度的现实世界击打:
- 在真实世界的测试中,机器人成功回击了 91.3% 的发球机发球。
- 在 0.6 秒前,EKF 的平均预测位置误差小于 100 mm,击打时机预测误差小于 20 ms。
- 虚拟目标挥杆测试显示,平均欧氏距离误差为 24.29 mm,平均挥杆速度为 5.32 m/s。
- 现场击打实现了高达 19.1 m/s 的出球速度,平均回球落点距离为 4 m,且拦截区域相对较大(98 cm x 50 cm)。
- 协调运动的自发涌现: 策略自主学习了步法与挥杆的协调模式(例如,目标近或时间充裕时小步修正,目标远或时间紧迫时大步迈进并同时开始反手挥杆),以及一些人类中心化的行为(如踮脚够高球、回中站位)。
- 零样本迁移能力: 通过领域随机化(domain randomization)和约束项(constraint terms),在仿真中训练的控制器实现了零样本迁移(zero-shot transfer)到真实机器人上,无需系统辨识或手动调整参数。
3. 预备知识与相关工作
3.1. 基础概念
为了更好地理解本文,需要了解以下核心概念:
3.1.1. 强化学习 (Reinforcement Learning, RL)
强化学习是机器学习的一个分支,旨在通过与环境的交互来学习最优行为策略。智能体(agent)在一个环境中执行动作(action),接收到奖励(reward)信号,并根据这些奖励调整其策略,以最大化长期累积奖励。
- 马尔可夫决策过程 (Markov Decision Process, MDP): 强化学习问题通常被建模为 MDP,由以下五元组组成:
- (状态空间, State Space): 智能体可能处于的所有可能状态的集合。
- (观测空间, Observation Space): 智能体可以从环境中获得的感知信息。在部分可观测 MDP 中,观测可能不包含所有状态信息。
- (动作空间, Action Space): 智能体可以执行的所有可能动作的集合。
- (转移概率, Transition Probability): 给出当前状态 和动作 时,下一个状态 的概率分布 。
- (奖励函数, Reward Function): 智能体在状态 执行动作 后获得即时奖励 的函数 。
- 策略 (Policy, ): 定义了智能体在给定状态下选择动作的规则,可以是确定性的(
a = \pi(s))或随机性的()。 - 价值函数 (Value Function): 评估在某个状态下或执行某个动作后,长期累积奖励的期望。
- PPO (Proximal Policy Optimization): 一种流行的强化学习算法,属于策略梯度方法。它通过限制每次策略更新的幅度,以保证训练的稳定性和收敛性。PPO 旨在找到一个在当前策略附近的新策略,以避免过于激进的更新导致性能崩溃。
- Actor-Critic 架构: 一种常见的强化学习架构,其中包含两个核心网络:
- Actor (策略网络): 负责学习策略 ,输出在给定观测下应该采取的动作。
- Critic (价值网络): 负责估计价值函数,评估当前状态或动作的“好坏”。它为 Actor 提供了梯度方向,指导策略的改进。
- 非对称 Actor-Critic (Asymmetric Actor-Critic): 是一种 Actor-Critic 变体,其中 Critic 可以访问比 Actor 更多的信息(特权信息, privileged information),例如无噪声的状态、环境的内部参数等。这有助于 Critic 更准确地估计价值函数,从而稳定训练,但 Actor 仍然只使用部署时可获得的观测。
- 课程学习 (Curriculum Learning): 一种训练策略,其中智能体首先在简单或受限的任务中学习,然后逐渐引入更复杂或更完整的任务。这有助于智能体逐步掌握技能,避免在复杂任务开始时训练发散。
3.1.2. 扩展卡尔曼滤波器 (Extended Kalman Filter, EKF)
卡尔曼滤波器是一种高效的递归滤波器,用于估计动态系统的状态。EKF 是其非线性版本,通过在每个时间步对非线性系统模型进行线性化(使用雅可比矩阵)来近似状态估计。在本文中,EKF 用于估计和预测羽毛球的飞行轨迹,即使在存在测量噪声和空气动力学不确定性的情况下也能提供相对准确的预测。
3.1.3. 全身控制 (Whole-Body Control) 与运动-操作 (Loco-manipulation)
- 全身控制: 指同时协调机器人所有自由度(包括腿部、手臂、躯干等)以完成特定任务的控制策略。这对于需要平衡、力量和灵活性的复杂任务至关重要。
- 运动-操作: 结合了机器人移动(locomotion)和操作(manipulation)能力的任务。传统的做法通常是将两者解耦,但对于羽毛球这种任务,腿部移动、身体平衡和手臂挥动是紧密耦合的,需要统一的全身控制。
3.1.4. 领域随机化 (Domain Randomization)
一种 Sim2Real (从仿真到真实) 迁移技术。通过在仿真环境中随机化各种物理参数(如摩擦力、重力、质量、惯性、传感器噪声等),使得训练出的策略对真实世界中的不确定性和差异具有更强的鲁棒性,从而更容易实现零样本迁移(zero-shot transfer)。
3.2. 前人工作
本文将自身工作置于机器人学中运动、操作和全身控制的广阔背景之下,并重点对比了机器人球拍运动(robotic racket sports)领域的现有研究。
3.2.1. 全身运动-操作 (Whole-Body Loco-manipulation)
- 解耦方法: 许多工作通过将基座移动和末端执行器(end-effector)跟踪问题分开解决来降低任务复杂性。例如,[13] 提出 MPC 控制器用于跟踪安装在四足机器人上的手臂的期望末端执行器位置,并结合单独的基于 RL 的运动控制器。类似地,[14] 将接球任务分解为基座移动、手臂挥动和手部抓取三个策略模块。
- 统一方法: 尽管解耦有优势,但也有许多工作致力于统一上下半身控制。例如,[17, 18, 19] 利用多 Critic 架构来简化协调行为的优化。[20] 引入物理可行性奖励设计来指导统一策略的学习。
- 动态全身任务: 在球拍运动和投掷等动态全身任务中,性能取决于协调的全身冲量生成和时序,腿部对力量传输的贡献远超单纯的运动。统一的全身运动-操作在这些领域已被证明是有效的 [12, 21, 22]。
3.2.2. 机器人球拍运动 (Robotic Racket Sports)
球拍运动已成为评估全身运动-操作进展的关键基准 [10, 11, 12, 16, 23, 24]。感知、目标拦截和精确末端执行器控制之间的紧密耦合使得这些任务极具挑战性。
-
乒乓球 (Table Tennis):
- [8] 提出高度模块化和分层(hierarchical)的策略架构,结合学习组件和精心设计的模块,实现了人类水平的机器人乒乓球。然而,该系统复杂,需要大量手动设计和调整。
- [10] 和 [11] 均致力于人形机器人乒乓球。[10] 通过 RL 全身控制器和一个简单的基于模型的规划器(planner)实现了人形机器人与人类对手的持续拉力,但依赖专家演示(expert demonstrations)来构建高质量的参考运动。[11] 联合训练了一个额外的模块来预测球轨迹并提出球拍目标。
- 与本文的差异: 这些工作中的基座运动通常由单独的指令执行,而非从单一统一目标中涌现,导致下半身步法和上半身击打未由策略共同优化。且它们往往依赖参考运动或虚拟击打平面,简化了三维击打的复杂性。
-
羽毛球 (Badminton):
- [12] 在四足操作臂(quadrupedal platform)上引入了感知驱动的全身策略,实现了令人印象深刻的羽毛球追踪和击打性能。
- 与本文的差异: 四足形态相比人形机器人(窄支撑多边形和高重心)大大简化了平衡问题,使得平衡与大幅度球拍挥动的协调挑战显著降低。此外,[12] 中模拟的人形羽毛球策略没有表现出羽毛球风格的步法,这暗示了在下半身协调方面存在训练信号缺失的问题。
3.3. 技术演进与差异化分析
3.3.1. 技术演进
机器人全身控制和球拍运动领域经历了从模块化、分层控制(独立控制运动和操作)到统一、全身协调控制的演进。早期工作通常将腿部运动和手臂操作视为相对独立的模块,或者高度依赖预定义的参考运动。随着强化学习和计算能力的进步,研究人员开始探索如何让机器人自主学习更紧密耦合的全身行为。Sim2Real 技术的出现也使得在仿真中训练复杂策略并将其零样本迁移到真实硬件成为可能。
3.3.2. 差异化分析
本文的工作在技术路线上与现有研究存在显著差异和创新:
- 统一的全身控制器而非分层解耦: 与多数将运动和操作分离或进行分层控制的工作不同,本文训练了一个统一的全身控制器,使得步法和击打在单一策略下协同优化。这在羽毛球这种全身协调至关重要的运动中尤其重要。
- 无需运动先验或专家演示: 与依赖专家演示或参考运动(如 [10])的工作不同,本文的策略纯粹通过强化学习发现能量高效的挥杆和步法,避免了人工设计和潜在的风格限制。
- 全身平衡与大幅度动态交互: 针对人形机器人的高重心和窄支撑多边形带来的平衡挑战,本文的训练方案显式地解决了大幅度挥杆引起的全身扰动和平衡恢复问题。这与四足机器人(平衡较简单)和乒乓球(挥杆幅度较小)的任务有本质区别。
- 三维、方向感知击打: 不同于将击打简化为二维问题的“虚拟击打平面”,本文的策略能够在三维空间中实现方向感知(orientation-aware)的精确击打。
- 多阶段课程学习: 提出了一种独特的三阶段课程学习,从基础步法到精确挥杆再到任务导向优化,有效地引导了复杂技能的涌现,解决了训练复杂全身任务可能遇到的收敛性问题。
- 无预测变体探索: 首次在人形羽毛球中探索了无显式预测模块的端到端策略,这提高了对环境不确定性的鲁棒性,并为简化部署提供了新思路。
4. 方法论
本文提出了一种基于强化学习的多阶段训练流程,旨在为人形机器人生成一个统一的全身控制器,使其能够在羽毛球运动中协调下半身步法和上半身击打。该方法无需运动先验或专家演示。
4.1. 方法原理
所用方法的核心思想是利用强化学习的强大能力,通过精心设计的奖励函数和课程学习(curriculum learning)策略,让人形机器人自主学习复杂的羽毛球击打技能。其直觉是,像羽毛球这样高度动态、全身协调的任务,难以通过传统的手动编程或模型预测控制实现。强化学习能够探索并发现非直观的、最优的全身协调策略。
具体而言,该方法通过以下步骤实现:
- 统一全身控制器: 不将运动和操作解耦,而是训练一个单一的策略来同时控制所有自由度,以实现步法和挥杆的协调。
- 多阶段课程学习: 将复杂的羽毛球任务分解为三个渐进的阶段。从简单的步法开始,逐步引入击打精度和挥杆动作,最后进行精细化优化,以避免训练初期任务过于复杂导致发散。
- 模型预测与无预测变体: 部署时利用 EKF 预测羽毛球轨迹以获得击打目标,同时探索一种无预测的端到端变体,直接从历史观测中学习击打。
- 仿真到现实零样本迁移: 通过领域随机化(domain randomization)和观测噪声(observation noise)等技术,确保在仿真中训练的策略能够直接部署到真实机器人上,无需额外调整。
4.2. 核心方法详解
4.2.1. 基于强化学习的动态全身控制器 (RL-based Dynamic Whole-Body Controller)
-
马尔可夫决策过程 (MDP) 设定: 本文将策略学习建模为一个部分可观测马尔可夫决策过程(partially observable Markov Decision Process, MDP) 。
- 在时间 ,智能体的(未观测)状态为 。
- 智能体接收到观测 。
- 智能体应用动作 。
- 环境根据 进行状态转移。
- 智能体获得奖励 。
- 目标是学习一个参数化策略 ,以最大化预期累积奖励 ,其中 是折扣因子。
-
观测空间 (Observation Space):
-
基础观测: Actor(策略网络)的基础观测是 87 维向量,包含本体感受信息(proprioception information)和来自动捕系统(Mocap)的外部感知数据。
-
历史帧: 为了缓解部分可观测性问题,在此 87 维向量之上,本文堆叠了所有关节位置、速度和动作的短时(5 帧)和长时(20 帧)历史信息。这额外增加了 1470 个特征。
-
Critic 观测: Critic(价值网络)的观测总共有 98 维,其中包括用于增强 Actor 观测的特权信息(privileged information),例如无噪声的基座和关节状态以及球拍速度(在现实世界中可能难以获取)。其他信息则被归类为先验知识(preemptive knowledge),用于使 MDP 处于良好状态,以实现准确的价值学习。
-
所有物理量均在世界坐标系(world frame)中表示。
-
下图(原文 Figure 2)展示了观测空间和系统概览。
该图像是示意图,展示了通过多阶段强化学习训练的全身控制器在羽毛球运动中的应用。图中包括训练、环境和部署三个阶段的关键流程,其中有涉及的算法与输入信息,如 等参数。
VLM 描述: 该图像是示意图,展示了通过多阶段强化学习训练的全身控制器在羽毛球运动中的应用。图中包括训练、环境和部署三个阶段的关键流程,其中有涉及的算法与输入信息,如 等参数。
-
-
动作空间 (Action Space): 策略输出 21 个关节的位置目标(joint position targets),对应所有自由度(DoF)。这些目标通过一个统一的动作尺度因子 0.25 进行缩放,并由低层 PD 控制器跟踪执行。
-
回合设置 (Episode Settings):
- 每个回合包含六个挥杆目标,类似于 [12] 中的配置。这种设计使得策略能够学习后续行为(follow-through behavior),但也使得价值函数依赖于剩余的击球次数。
- 为了应对这种依赖性,本文采用非对称 Actor-Critic 架构 [26]。Critic 接收额外的先验信息(如上述特权信息)来稳定价值估计,而 Actor 仅使用可部署的观测。具体来说,这些信息包括两个连续的击球时间、下一个目标位置和方向,以及剩余的目标数量。
-
训练设置 (Training Settings):
- 使用 PPO [27] 算法进行训练。
- 训练环境:在 IsaacGym [28] 中使用单个 Nvidia RTX 4090 GPU,并行运行 4096 个环境。
- 网络架构:Actor 和 Critic 都是多层感知机(MLP),隐藏层尺寸为 (512, 256, 128),激活函数为 ELU。
- 其他超参数在附录中报告。
-
三阶段课程学习 (Three-stage curriculum): 如下图(原文 Figure 2(a))所示,训练采用三阶段课程,在各个阶段中观测空间和动作空间保持一致,只改变奖励项及其权重。每个阶段的训练都在前一阶段主要目标收敛后,从前一阶段的检查点(checkpoint)继续进行。整个过程在单个 RTX 4090 上耗时 12.4 小时。
- S1 — 步法习得 (Footwork acquisition): 学习如何以合理的下肢步态接近目标区域,并在回合中穿梭于六个采样到的击球位置之间时,保持稳定且面向前方的姿态。
- S2 — 精确引导的挥杆生成 (Precision-guided swing generation): 在 S1 的基础上,引入一个稀疏的击球奖励,仅在预定的击球时刻 激活,以强制执行时序。开始时采用宽松的姿态精度容忍度,以允许完整的挥杆动作涌现,然后逐步收紧位置和方向精度。添加轻微的挥杆风格正则化项,以获得类似人类的运动学特性,并加强能量、扭矩和碰撞约束,以实现高效、稳定的击打。
- S3 — 任务导向的细化 (Task-focused refinement): 移除目标接近奖励(S1 的主要任务奖励)和许多步态塑形正则化项(例如,足部距离、步幅/接触对称性、步高),以避免与击打目标产生梯度冲突。保留安全、能量和硬件限制约束项。在此阶段启用领域随机化和观测噪声,以巩固鲁棒性。
消融研究 (Ablation Study) 结果:
- 移除 S1 直接从 S2 开始训练会导致训练发散。
- 跳过 S2 直接从 S1 跳到 S3 会使课程差距过大,训练再次无法可靠收敛。
- 使用 S1-S2 阶段可以获得可部署到硬件的策略,但仍有改进空间。
- S3 阶段打破了性能平台期,提高了性能和鲁棒性。
4.2.2. 多阶段奖励设计 (Multi-Stage Reward Design)
本文设计了一个模块化的奖励函数,由运动风格项 、手臂击打项 和全局正则化项 组成,以引导协调的羽毛球技能的涌现。
-
S1 — 步法习得 (Footwork acquisition):
- 目标跟踪奖励: 鼓励机器人接近目标区域,不要求精确接近,只需在附近即可。
其中, 表示末端执行器目标位置 和机器人基座位置 在
xy平面上的距离。 - 其他奖励: S1 应用了标准的人形机器人稳定行走风格塑形,包括基座高度和方向、加速度正则化、接触感知足部项(空中时间、着地速度、步高、足部姿态、无二次腾空)以及简单的步态对称性塑形。此外,还包括面向来球方向的对齐奖励。安全约束(动作速率、关节位置/速度/加速度、扭矩、能量)遵循 legged_gym 的惯例 [29]。
- 收敛表现: 凭借这些塑形,S1 通常在 1k 迭代内收敛,实现了可靠的目标区域跟踪和自然的步态。
- 目标跟踪奖励: 鼓励机器人接近目标区域,不要求精确接近,只需在附近即可。
其中, 表示末端执行器目标位置 和机器人基座位置 在
-
S2 — 精确引导的挥杆生成 (Precision-guided swing generation):
- 在 S1 的基础上,降低了区域跟踪奖励的权重,并引入了一个具有高权重的击球瞬间奖励(每个回合激活六次)。
- 击球奖励(): 包含击球精度和球拍挥杆速度两部分。不同于 [12] 将击球精度分为位置和方向并赋予不同权重,本文认为将两者耦合在一起更准确。
定义目标球拍法线 为 的 轴。
设 为末端执行器线速度;在目标方向上的有效速度分量为 。
设 为位置误差。
设 为方向误差(定义为当前和目标球拍法线之间的角度;此处仅考虑法线方向,奖励完整的末端执行器方向也是可能的但对于击球任务并非必需)。
击球奖励 仅在 时激活,其公式为:
- 容忍度调度: 训练开始时,采用宽松的姿态容忍度 , ,以允许策略学习完整的挥杆动作。随着训练进行,逐步收紧位置和方向精度至 , 。
- 挥杆速度权重: 球拍速度的 固定为
3.0,因此 的挥杆速度能获得 的速度项奖励,平衡了精度与部署时的稳定性。
- 挥杆风格正则化: 添加轻微的挥杆风格正则化项,使球拍短边()轴与世界 轴对齐。 这鼓励策略采用更像人类的击打姿势——先反手挥杆,然后沿着反手挥杆的反方向挥动——以产生更完整的动能链。
- 默认保持姿态奖励: 在没有羽毛球发出时,奖励默认的保持姿态。 其中 表示手臂关节索引的集合。这提高了部署时的稳定性和可恢复性。
- 其他奖励: 添加碰撞惩罚并加强能量、扭矩成本。
- 收敛表现: 策略首先学习将球拍移近目标,然后逐渐发展出早期的反手挥杆,并在 附近达到峰值速度;通过调度收紧,大约 20k 次迭代后,策略会发展出流畅的反手挥杆-挥杆-恢复动作,并具有实用精度。
-
S3 — 任务导向的细化 (Task-focused refinement):
- 从 S2 的检查点开始,移除目标接近奖励和 中的许多步态塑形项(足部距离、接触和步态对称性、步高),以避免与击打目标产生梯度冲突。
- 保留全局正则化项和 奖励,并启用领域随机化(domain randomization)和观测噪声(observation noise)以巩固鲁棒性。
- 收敛表现: 在这些更具挑战性的设置下,策略性能没有下降,反而持续改进。主要击球奖励 增加了 ,同时动作速率降低、关节速度和加速度惩罚减少、能量消耗降低、足部接触力曲线更平滑、关节扭矩使用减少。能量和扭矩成本经验性地下降了约 。
-
全局正则化 (Global regularization, 所有阶段): 动作速率惩罚、关节位置/速度/加速度、扭矩限制遵循标准 legged_gym 实践;阈值和权重在附录中列出。
4.2.3. 基于模型的击打目标生成与预测 (Model-based Hitting Target Generation and Prediction)
本文借鉴 [12] 的方法,采用基于模型的方法来生成训练所需的羽毛球轨迹,并使用物理模型预测击打位置。
-
生成训练用羽毛球轨迹:
- 物理仿真: 采用基于物理的仿真方法,遵循 [30] 中的羽毛球动力学模型。羽毛球的飞行状态根据以下方程更新: 其中, 代表羽毛球质量, 表示其速度, 是重力加速度, 是空气动力学特征长度,定义为 。这里, 是空气密度, 是羽毛球的横截面积, 是阻力系数。本文工作中计算得到的空气动力学长度 为 3.4。
- 轨迹过滤: 生成的羽毛球飞行轨迹需要满足特定条件,以确保数据的有效性和相关性。为了模拟真实的羽毛球击打场景,本文定义了一个击打区域,其约束条件为 , , ,并且最小穿越时间为 0.8 秒。这个过滤过程有效地排除了不符合实际击打要求的轨迹。由于右手球拍设置,击打区域在 方向上是不对称的。
- 训练数据集构建: 最终,将筛选出的轨迹与相应的拦截点数据结合,构建一个全面的训练数据集,包含位置、方向(轨迹切线作为球拍法线)和时序特征。这些数据以张量(tensors)形式存储,可直接用于后续训练。
-
部署用羽毛球轨迹预测:
- EKF 算法: 在部署阶段,开发了基于 EKF 的轨迹预测算法,以实现实时羽毛球飞行状态估计和击打点预测。该方法考虑了空气动力学阻力、重力加速度和传感器噪声,为机器人的击打运动规划提供准确的目标。
- 两阶段操作: EKF 实现遵循与羽毛球轨迹生成相同的动力学模型,通过两个阶段运行:测量更新(measurement update)和预测(prediction)。
- 目标确定: 当预测高度首次落入预定义的拦截框时,该空间坐标和穿越时间被指定为预测的击打目标,表示为: 和 。
- 方向指导: 击打时刻 的对应速度向量随后被转换为四元数表示,以指导机器人末端执行器在击打运动中的方向。
- 预测激活与更新: 预测在 0.36 秒后启动,一旦收集到足够的轨迹历史,就会以滚动方式(rolling manner)持续更新击打目标,并将其馈送给控制器。
4.2.4. 无预测变体 (Prediction-free variant)
本文还训练了一个无预测策略,其与主管道的唯一区别在于观测空间;奖励函数、动作空间和训练计划(三阶段)保持不变。
- Actor 观测: 在此变体中,Actor 不再接收指令击打位置、方向和时间 。相反,它接收一个世界坐标系下羽毛球位置的滑动窗口,包括当前帧和之前五帧(以 50 Hz 采样,即 )。Actor 必须从这个短时历史中隐式推断出预期的拦截姿态和时机。
- Critic 特权信息: Critic 仍然保留对“实际”拦截点的特权访问。
- 训练数据生成: 这种设计得益于训练数据的生成方式:对于每个指令目标,不仅采样单一拦截点,还存储通过羽毛球正向动力学积分得到的完整羽毛球轨迹。在训练期间,奖励和 Critic 始终知道与当前击球相关的地面真值击球规范,而 Actor 只观察原始的羽毛球历史窗口。
- 潜在优势: 这种变体的潜在优势是部署不再依赖于手动调优的预测器(例如,EKF 加上参数化空气动力学模型)来提供 。相反,控制器直接根据测量的羽毛球位置进行条件判断,使得整个管道更具端到端特性,并减少了对预测器或空气动力学参数的显式依赖。
- 鲁棒性: 在训练期间,本文对每次击球的空气动力学参数进行了随机化,使得策略能够接触到“空气动力学补丁”,而无需知道其精确系数。这模仿了人类的打球方式:运动员不会先验地知道特定羽毛球的阻力常数,而是从短暂的飞行片段中推断出落点趋势。
- 仿真表现: 在仿真中,无预测策略的击打性能仅比已知目标设置适度下降,初步证据表明系统可以在没有显式羽毛球预测器的情况下应对。
- 未来工作: 本文未在硬件上评估此变体的部署优势,其在真实机器人上的验证和更彻底的鲁棒性分析留待未来工作。
5. 实验设置
本文通过五组实验来评估所提出的方法,这些实验共同探究了准确性、敏捷性、鲁棒性和可部署性。
5.1. 数据集
5.1.1. 训练轨迹生成
为了生成训练所需的羽毛球飞行轨迹,本文采用物理模型进行仿真。初始位置和速度在指定范围内随机生成,以确保训练数据的多样性。
这些参数定义了羽毛球的初始位置 和速度 在 x, y, z 三个维度上的均匀分布 范围,以模拟不同的发球情况。
下图(原文 Figure 8)展示了生成轨迹的过滤过程,以确保拦截点落在机器人可触及的区域内:
VLM 描述: 该图像是一个三维图示,展示了羽毛球的运动轨迹。不同颜色的线条代表了不同的轨迹,区域的边界框标记出机器人训练过程中羽毛球的截击点范围,满足条件 , 和 。
说明: 羽毛球轨迹经过筛选,以确保拦截点位于 , 和 的区域内,用于机器人训练。
本文生成了 200 万条轨迹,其中 196,940 条符合条件并被选用于机器人训练。这些轨迹中的大部分在 [0.8, 1.4] 秒的时间间隔内到达击打区域。下图(原文 Figure 10)展示了羽毛球拦截时间的统计分布:
VLM 描述: 该图像是图表,展示了与网球(z ∈ [1.5, 1.6])相关的交叉时间分布。图中呈现了交叉时间的频率与概率,频率用蓝色柱状图表示,概率用橙色曲线表示,显示在不同时间区间内的轨迹数量。
说明: 图中显示了羽毛球拦截时间的分布,大多数拦截发生在 0.8 到 1.4 秒之间,这对于训练策略的时序决策至关重要。
5.1.2. 真实世界轨迹数据
为了评估 EKF 的预测准确性,本文收集了 20 条真实的羽毛球飞行轨迹,这些轨迹使用运动捕捉系统(Mocap)记录。这些真实轨迹的部分片段被用作 EKF 的测量输入,然后 EKF 的预测结果与地面真值(ground-truth)接触位置和时序进行比较。
5.2. 评估指标
本文使用多种指标来评估机器人在仿真和真实世界中的表现。
5.2.1. 击打成功率 (Hit Success Rate)
- 概念定义: 衡量机器人成功击打到羽毛球的比例。
- 数学公式:
- 符号解释:
Number of Successful Hits:机器人成功击打到羽毛球的次数。Total Number of Attempts:机器人尝试击打羽毛球的总次数。
- 成功标准: 本文设定击打成功的标准为:位置误差低于 0.10 m 且方向误差低于 0.2 rad(在预定击球时刻)。这个标准是基于球拍的几何形状,0.10 m 大致是球拍短轴半宽。
5.2.2. 击打位置误差 (Position Error at Impact)
- 概念定义: 衡量球拍中心实际接触羽毛球的位置与目标击打位置之间的欧氏距离。
- 数学公式:
- 符号解释:
- :实际击球时刻球拍末端执行器(racket end-effector)的中心位置向量。
- :目标击球位置向量。
- :表示欧氏范数(Euclidean norm)。
5.2.3. 击打方向误差 (Orientation Error at Impact)
- 概念定义: 衡量球拍法线(racket normal)的实际方向与目标方向之间的角度误差。
- 数学公式:
- 符号解释:
- :实际击球时刻球拍法线方向向量。
- :目标击球法线方向向量。
- :计算两个向量之间夹角的函数。
5.2.4. 挥杆速度 (Swing Speed)
- 概念定义: 衡量球拍在击打羽毛球瞬间的速度。
- 数学公式:
- 符号解释:
- :击球时刻球拍末端执行器(通常指球拍中心)的速度向量。
- :表示欧氏范数。
5.2.5. 出球速度 (Outgoing Shuttle Speed)
- 概念定义: 衡量羽毛球被击打后离开球拍的初始速度。
- 数学公式: 基于弹性碰撞模型,设球拍法线为 ,来球速度为 ,球拍速度为 。
- 符号解释:
- :球拍速度在球拍法线方向的分量。
- :来球速度在球拍法线方向的分量。
- :击打后的出球速度向量。
- :向量点积。
5.2.6. 回球落点距离 (Return Landing Distance)
- 概念定义: 衡量机器人击打后的羽毛球在对方半场落地位置与网前(或特定基准点)的距离。
5.2.7. 预测误差 (Prediction Error)
- 概念定义: EKF 预测的羽毛球轨迹(位置和时机)与真实测量轨迹之间的偏差。
- 数学公式: 对于位置误差,通常也是欧氏距离;对于时机误差,是预测时间与实际时间之差的绝对值。
- 符号解释:
- :EKF 预测的羽毛球位置。
- :羽毛球的地面真值位置。
- :EKF 预测的拦截时间。
- :羽毛球的地面真值拦截时间。
5.3. 对比基线
本文主要通过以下几种方式进行对比和验证:
- 自身方法的不同变体对比:
- Target-Known Policy (目标已知策略): 即本文主要提出的、使用 EKF 进行轨迹预测并提供精确击打目标 给策略的方案。
- Prediction-Free Variant (无预测变体): 策略仅接收短时羽毛球历史观测,需要隐式推断击打目标和时机,不依赖显式预测器。这种对比旨在验证显式预测模块的必要性及其对性能的影响。
- 课程学习阶段的消融研究: 比较 S1、S1-S2、S1-S2-S3 等不同阶段组合的训练效果,以验证多阶段课程设计的有效性。
- 与先前工作的间接对比: 虽然没有直接在同一平台上进行定量对比,但本文通过定性分析和性能指标(如挥杆速度、出球速度)与机器人乒乓球(如 [10, 11])和足式机器人羽毛球(如 [12])等相关工作进行比较,突显了在人形机器人上实现全身协调羽毛球的难度和创新性。
- 仿真与真实世界的一致性: 通过 Sim2Real 迁移,验证仿真训练的策略在真实世界中的表现,这本身也是一种强大的“基线”——即验证了整个训练和部署流程的有效性。
6. 实验结果与分析
本文通过仿真和真实世界实验,全面评估了所提出的多阶段强化学习框架在人形机器人羽毛球任务中的性能。
6.1. 核心结果分析
6.1.1. 仿真:双机器人拉力 (Two-Robot Rally)
-
实验设置: 两个相同的人形机器人站在模拟的缩放球场两侧,都运行相同的
Target-Known策略。第一个拦截目标从训练风格分布中采样。一方击球后,根据来球状态和击球瞬间球拍状态计算出球速度(假设近似弹性碰撞)。然后积分羽毛球动力学直到其落在对方半场,然后交替击球。 -
结果: 在此规则下,机器人实现了 21 次连续回球的拉力。
-
分析: 这一结果表明,控制器具备重复重新定位、高质量回球和在长时间交互中恢复姿态的能力。它验证了策略在动态、多回合任务中的鲁棒性和泛化性。
-
下图(原文 Figure 3(a))展示了双机器人拉力场景。
VLM 描述: 该图像是图示,展示了两台 humanoid 机器人在羽毛球比赛中的情景。图 (a) 描绘了两台机器人在21次击球中的位置和运动轨迹,标注了击球点和羽毛球的飞行轨迹。在图 (b) 中,展示了预测无关策略,而图 (c) 展示了目标已知策略,分别用红色和绿色球体表示击球和成功击打的位置。
说明: 图 (a) 展示了双机器人拉力场景,两个相同的人形机器人在 21 次连续击球中保持拉力。图 (b) 展示了 Prediction-Free策略,机器人仅从发球后记录的前五个羽毛球位置推断最佳击打位置和方向。图 (c) 展示了Target-Known策略,其中提供了预定的击打位置。红色球体表示指定击打位置,绿色球体确认机器人成功执行了击打。
6.1.2. 仿真:目标已知与无预测策略对比 (Target-Known vs. Prediction-Free Comparison)
-
实验设置: 在相同场景、机器人初始化和球场几何形状下,对比
Target-Known和Prediction-Free两种观测设计。Target-Known策略接收规划好的拦截位置、方向和时间。Prediction-Free策略观察当前羽毛球位置和五帧历史(50 Hz),必须从这个短时窗口推断击打姿态和时机。Target-Known评估使用固定的空气动力学参数,Prediction-Free评估则对空气动力学特征长度进行适度随机化。每个策略执行 20 次随机采样的击打。 -
评估指标: 击打时的位置误差、方向误差和执行的挥杆速度。
-
结果: 如下图(原文 Figure 4)所示,虽然
Prediction-Free策略的性能略低于Target-Known,但差距不大。
VLM 描述: 该图像是图表,展示了目标已知策略与无预测策略之间的比较。上部分为位置误差比较,中间部分为方向误差比较,底部则展示了挥拍速度比较。各策略在多个试验中的表现差异明显。 -
分析:
- 位置误差 (Position Error):
Prediction-Free策略的平均位置误差略高于Target-Known策略,但仍在可接受范围内。这表明策略可以在没有显式目标信息的情况下,通过短时历史观测隐式地推断出击打目标。 - 方向误差 (Orientation Error): 类似地,
Prediction-Free策略的方向误差也略高,但其性能仍然非常接近,再次证明了其从原始观测中学习击打姿态的能力。 - 挥杆速度 (Swing Velocity): 两种策略的挥杆速度表现相似,表明策略在两种观测模式下都能生成有力的击球动作。
- 位置误差 (Position Error):
-
结论: 显式目标信息并非不可或缺,策略可以仅凭短时程羽毛球观测来推断击打目标和时机,且性能下降不大。这为简化部署(无需手调预测器)提供了初步证据。
6.1.3. EKF 预测精度研究 (EKF Prediction Accuracy study)
-
实验设置: 收集 20 条真实的羽毛球飞行轨迹,用 Mocap 系统测量。部分轨迹片段作为 EKF 的测量输入,EKF 生成预测,并与地面真值接触位置和时机进行比较。
-
结果: 如下图(原文 Figure 5)所示,在击打前 0.6 秒,平均预测位置误差低于 100 mm,且误差范围随时间迅速收敛。在击打前 0.3 秒,平均位置误差缩小到 10 mm。拦截时机预测在击打前 0.6 秒时平均误差约为 20 ms,同样迅速收敛。
VLM 描述: 该图像是图表,展示了在相对截击时间内的总位置误差和截击时间预测误差。上图显示了位置误差的均值及其标准差,紫色曲线表示位置误差;下图显示了截击时间的绝对误差,橙色曲线代表时间误差均值。截击时间以虚线表示。 -
分析:
-
高精度预测: EKF 展现出高精度预测能力,在决策窗口内(击打前 0.6 秒)误差已小于球拍半径,满足任务要求。
-
误差收敛快: 预测误差随时间迅速收敛,说明 EKF 能够有效利用最新测量数据来提高预测准确性。
-
鲁棒性: 在补充实验中,即使对空气动力学特征长度进行扰动(模拟不同羽毛球的差异),平均位置误差在击打前 0.45 秒内仍能收敛到 10 cm 以内(原文 Figure 11)。
VLM 描述: 该图像是图表,展示了在不同的拦截时间相对时间下,总位置误差和拦截时间预测误差的比较。上部分显示了总位置误差的变化,下部分则展示了绝对时间误差的变化。图中还包含了不同情况下的误差范围,并指明了拦截时间。
说明: EKF 在不同空气动力学特征长度下的预测精度。参数 缩放特征长度以模拟羽毛球空气动力学的变化。即使存在扰动,预测精度也能在击打前 0.45 秒内收敛到可接受的范围内。
-
6.1.4. 真实世界:虚拟目标挥杆 (Virtual-Target Swinging)
-
实验设置: 在没有真实羽毛球的情况下,指定大量随机采样的目标位置,并使用 Mocap 测量球拍中心位置。机器人执行击打动作,将实际测量的拦截点与指令目标位置进行比较。共进行 71 次测试。
-
结果: 如下图(原文 Figure 6)所示,平均欧氏距离误差为 24.29 mm,平均击球时球拍速度为 5.32 m/s。
VLM 描述: 该图像是图表,展示了击球过程中的总位置误差和击球时的球拍速度。上部显示了总位置误差(以毫米为单位)的变化,以及平均值24.29 mm的参考线;下部则展现了球拍在击球时的速度(以米每秒为单位),其平均值为5.32 m/s。两部分皆包含了数据分布的箱线图,以可视化不同击球点索引下的误差和速度。 -
分析:
-
高精度控制: 24.29 mm 的平均位置误差证明机器人能够有效控制接触点,使其位于球拍面半径内,这对于复杂的击打任务至关重要。
-
高挥杆速度: 5.32 m/s 的平均挥杆速度说明策略能够产生足够的力量来击打羽毛球。
-
可重复性: 在重复 20 次相同目标挥杆测试中,平均欧氏距离误差为 23.21 mm,标准差为 10.55 mm(原文 Figure 13),表明策略具有良好的可重复性。
VLM 描述: 该图像是图表,展示了在 X-Y 平面上的误差分布。图中标注了目标位置(黑星标),最近的击球点(蓝圈),以及最远的击球点(红圆)。误差的统计信息包括均值 、标准差 、最大值 和最小值 。红色虚线圈表示均方误差圆。
说明: 在 20 次重复挥杆中,测得的平均欧氏距离误差为 23.21 mm,标准差为 10.55 mm。最大和最小误差分别为 51.07 mm 和 6.34 mm。这表明机器人在精确击打方面的稳定性和可重复性。
-
-
结论: 验证了机器人执行高精度挥杆动作的实际可行性。
6.1.5. 真实世界:羽毛球击打 (Real-World Shuttle Hitting)
-
实验设置: 整合 EKF 预测和控制器模块。使用发球机发球,调整其强度和俯仰-偏航角。为安全起见,将拦截区域限制在合理范围。收集 46 次击球结果。
-
结果: 除 4 次击中球拍边缘外,机器人成功回击了所有羽毛球(成功率 91.3%),动作协调敏捷。
- 拦截区域:机器人能够在地面上方约 1.4-1.7 m 的高度,在一个 98 cm x 50 cm 的区域内拦截羽毛球。这对于一个身高仅 1.28 m 的机器人来说是相当大的区域。
- 出球速度:实现了高达 19.1 m/s 的出球速度,平均为 11.1 m/s。
- 回球质量:产生陡峭的轨迹,峰值高度超过 3 m(原文 Figure 1)。
- 落点距离:平均回球落点距离约为 4 m(从拦截区域算起)。
-
分析:
- 高成功率与动态性: 91.3% 的成功率和高出球速度(19.1 m/s)证明了系统在动态羽毛球环境中的有效性和力量。
- 大拦截范围: 即使机器人身高有限,也能覆盖相对较大的拦截区域,展现了其灵活性和全身协调能力。
- 高质量回球: 陡峭的轨迹和合适的落点距离表明机器人不仅能击中球,还能打出具有战术意义的球。
-
下图(原文 Figure 7)展示了机器人在拦截区域边界的实际击打姿势。
VLM 描述: 该图像是插图,展示了机器人在实际羽毛球击打过程中所处的两种姿势,位于适应的 的拦截区域内。图中标注了机器人高度范围为 到 ,并突出显示了击打区域的界限。
说明: 这张图捕捉了机器人在 98 cm x 50 cm 拦截区域的两个相对边界处的实际击打姿态,展示了其在不同位置的适应性。
6.2. 数据呈现 (表格)
6.2.1. 附录 A. 系统参数 (System Parameters)
以下是原文 Table I 的结果:
| stiffness (N·m/rad) | damping (N·m·s/rad) | |
| hip_pitch | 100 hip_pitch | 10 |
| hip_roll | 100 | hip_roll 10 |
| hip_yaw | 100 hip_yaw | 10 |
| knee | 50 knee | 10 |
| ankle_pitch | 50 ankle_pitch | 5 |
| ankle_roll | 5 ankle_roll | 5 |
| waist_yaw | 100 waist_yaw | 10 |
| shoulder_pitch | 50 shoulder_pitch | 10 |
| shoulder_roll | 50 shoulder_roll | 10 |
| shoulder_yaw | 5 shoulder_yaw | 5 |
| elbow_pitch | 50 elbow_pitch | 10 |
说明: Table I 列出了仿真和部署中 500 Hz 关节空间 PD 控制器使用的每个可控自由度的比例(stiffness)和微分(damping)增益。
以下是原文 Table II 的结果:
| Actuator model (PhyArc series) | 47 | 68 | 78 | 102 |
|---|---|---|---|---|
| Size | 47×68 | 68×75 | 78×79 | 102×54.8 |
| Reducer type | Cycloid | Cycloid | Cycloid | Cycloid |
| Reduction ratio | 25 | 25 | 25 | 25 |
| Rated speed (RPM) | 100 | 100 | 100 | 100 |
| Rated torque (N·m) | 3 | 28 | 40 | 60 |
| No-load speed (RPM) | 343.8 | 181.5 | 120 | 124.2 |
| Rated power (W) | 216 | 720 | 720 | 1080 |
| Peak power (W) | 864 | 4608 | 4608 | 5760 |
| Peak torque (N·m) | 12 | 96 | 136 | 244 |
| Rotor inertia | 0.00719 | 0.0339 | 0.0634 | 0.1734 |
说明: Table II 总结了机器人上使用的四种 PhyArc 执行器模块,包括物理尺寸、减速器和齿轮比、额定和空载速度(RPM)、额定和峰值扭矩(N·m)、额定和峰值功率(W)以及转子惯量。这些规格用于设置扭矩/速度限制、定义自由度属性、估算功率以及在实验中进行安全检查。
6.2.2. 附录 B. 训练细节 (Training Details)
以下是原文 Table III 的结果:
| Hyperparameter | Setting |
|---|---|
| discount factor | 0.99 |
| GAE lambda | 0.95 |
| learning rate | adaptive |
| KLD target | 0.01 |
| clip param | 0.2 |
| control dt (s) | 0.02 |
| num. envs | 4096 |
| actor MLP size | (512, 256, 128) |
| critic MLP size | (512, 256, 128) |
| network activation | elu |
| optimizer | AdamW |
说明: Table III 定义了实验中使用的 PPO 和训练配置的超参数。
以下是原文 Table IV 的结果:
| Domain random | Range | Noise | Range |
|---|---|---|---|
| friction range | [0.5, 1.0] | dof_pos | 0.05 |
| push interval | 5 | dof_vel | 0.2 |
| max push vel_xy | 0.5 | lin_vel | 0.2 |
| max push ang_vel | 0.5 | ang_vel | 0.1 |
| added base_com range | [-0.08, 0.08] | gravity | 0.1 |
| join_friction range | [0.01, 1.0] | ||
| added inertia range | [0.01, 0.1] |
说明: Table IV 指定了训练期间应用的仿真环境扰动和传感器噪声设置,以增强策略的鲁棒性。
以下是原文 Table V 的结果:
| Stage | Category | Term | Weight |
| S1 | |||
| S1 | T'loco | base_height | 5 |
| S1 | T'loco | base_ang_vel_xy | -10 |
| S1 | T'loco | base_orientation | -50 |
| S1 | T'loco | contact_no_vel | -10 |
| S1 | T'loco | feet_orientation | 10 |
| S1 | T'loco | feet_no_fly | -2 |
| S1 | T'loco | feet_height | 10 |
| S1 | Tloco | feet_distance | 2 |
| S1 | Tloco | air_time & land_time | -500 |
| S1 | T'loco | sym_contact_forces | 1 |
| S1 | Tloco | sym_step | -5 |
| S1 | T'loco | face_the_net | 8 |
| S1 | Tloco | target_approach | 30 |
| S1 | Thit | ||
| S1 | T'global | action_rate | -0.8 |
| S1 | T'global | dof_pos_limit | -30 |
| S1 | I'global | dof_vel_limit | -0.1 |
| S1 | T'global | dof_torque_limit | -0.1 |
| S1 | T'global | dof_acc | -5× 10-5 |
| S1 | Tglobal | dof_vel | -1× 10-3 |
| S1 | T'global | dof_torque | −1× 10-4 |
| S1 | Tglobal | momentum_positive | 5 |
| S2 | |||
| S2 | base_height | 5 | |
| S2 | T'loco T'loco | base_ang_vel_xy | -10 |
| S2 | base_orientation | -50 | |
| S2 | T'loco | -10 | |
| T'loco | contact_no_vel | 10 | |
| S2 | T'loco | feet_orientation | -2 |
| S2 | T'loco | feet_no_fly | |
| S2 | Tloco | feet_height | 10 |
| S2 | T'loco | feet_distance | 2 |
| S2 | T'loco | air_time & land_time | -500 |
| S2 | T'loco | sym_contact_forces | 1 |
| S2 | T'loco | sym_step | -5 |
| S2 | T'loco | face_the_net | 5 |
| S2 | T'loco | target_approach | 15 |
| S2 | Thit | T'swing | 4000 |
| S2 | Thit | T y-align | 5 |
| S2 | Thit | Thold | 10 |
| S2 | rglobal | action_rate | -0.8 |
| S2 | Tglobal | dof_pos_limit | -30 |
| S2 | T'global | dof_vel_limit | -0.1 |
| S2 | I'global | dof_torque_limit | -0.1 |
| S2 | T'global | dof_acc | -5× 10-5 |
| S2 | T'global | dof_vel | -1× 10-3 |
| S2 | T'global | dof_torque | −1× 10-4 |
| S2 | Tglobal | momentum_positive | 5 |
| S2 | T'global | energy | -0.01 |
| S2 | T'global | collision | -10 |
| S3 | |||
| S3 | Tloco | base_height | 5 |
| S3 | T'loco | base_ang_vel_xy | -10 |
| S3 | Tloco | base_orientation | -50 |
| S3 | T'loco | contact_no_vel | -10 |
| S3 | T'loco | feet_orientation | 10 |
| S2 | T'loco | feet_no_fly | -2 |
| S3 | T'loco | air_time & land_time | -500 |
| S3 | T'loco | face_the_net | 5 |
| S3 | Thit | T'swing | 4000 |
| S3 | Thit | T y-align | 5 |
| S3 | T'hit | Thold | 10 |
| S3 | Tglobal | action_rate | -0.8 |
| S3 | I'global | dof_pos_limit | -30 |
| S3 | I'global | dof_vel_limit | -0.1 |
| S3 | r'global | dof_torque_limit | -0.5 |
| S3 | T'global | dof_acc | -5×10-5 |
| S3 | T'global | dof_vel | -1× 10-3 |
| S3 | T'global | dof_torque | −1× 10−4 |
| S3 | T'global | momentum_positive | 5 |
| S3 | Tglobal | energy | -0.01 |
| S3 | rglobal | collision | -10 |
说明: Table V 记录了课程学习中每个阶段 、 和 的奖励权重。随着阶段推进,奖励项的侧重点发生变化,以引导策略学习不同的技能。
6.3. 消融实验/参数分析
6.3.1. 课程学习阶段的消融研究 (Curriculum Stage Ablation)
-
实验内容: 论文在方法论部分提到了一个简单的消融研究,探讨了不同课程阶段组合的效果。
-
结果与分析:
- 移除 S1 (Footwork acquisition): 直接从 S2 (Precision-guided swing generation) 开始训练会导致训练发散(diverge)。这表明基础的步法学习是构建复杂击打技能的必要前置条件。
- 跳过 S2 (Precision-guided swing generation): 直接从 S1 (Footwork acquisition) 跳到 S3 (Task-focused refinement) 会导致课程差距过大,训练再次无法可靠收敛。这说明 S2 阶段逐步引入挥杆和精度控制是不可或缺的中间步骤。
- 仅使用 S1-S2: 可以获得可在硬件上部署的策略,但仍有改进空间。
- 使用 S1-S2-S3 (完整课程): S3 阶段打破了性能平台期,提高了性能和鲁棒性。在 S3 阶段,通过移除大量步态塑形正则化项,策略在击打指标上持续改进( 增加 ),同时能量和扭矩成本显著下降(约 ),动作速率、关节速度和加速度惩罚也降低。这表明策略学习了更高效、更任务导向的全身运动。
-
结论: 多阶段课程学习对于成功训练复杂、协调的全身羽毛球策略至关重要,每个阶段都承载着特定的学习目标,并为后续阶段奠定基础。移除任何一个关键阶段都会导致训练失败或性能不佳。
6.3.2. 空气动力学参数不确定性分析 (Aerodynamic Parameter Uncertainty Analysis)
- 实验内容: 为了评估预测模型参数不确定性对预测性能的影响,对 20 条真实羽毛球轨迹进行了敏感性分析。对空气动力学特征长度 随机采样一个乘性扰动因子 ,并设置有效特征长度 ,然后重新计算扰动参数下的羽毛球预测。
- 结果与分析: 如下图(原文 Figure 11)所示,尽管扰动降低了预测精度,但平均位置误差在拦截前约 0.45 秒内仍能收敛到 10 cm 以内。
- 结论: EKF 预测即使在空气动力学参数存在一定不确定性的情况下,仍能保持相对较高的精度,这对于真实世界中羽毛球参数变化(如不同型号羽毛球)的鲁棒性至关重要。
7. 总结与思考
7.1. 结论总结
本文提出了一个开创性的人形机器人羽毛球系统,其核心是一个通过多阶段强化学习训练的统一全身控制器。这一工作首次在真实世界中实现了人形机器人的自主羽毛球击打。
主要成就包括:
-
全身协调控制: 策略能够协调下半身步法和上半身击打,在亚秒级的时间窗口内实现精确、动态的击球,且无需任何专家演示或运动先验。
-
多阶段课程学习: 提出的三阶段课程(步法习得 -> 精确挥杆生成 -> 任务导向细化)被证明是训练复杂全身技能的关键。该课程有效地引导了策略从基础运动到高精度、高效率击打的进化。
-
零样本迁移: 通过在仿真中广泛的领域随机化,训练出的策略能够零样本(zero-shot)迁移到真实世界机器人上,展现了出色的泛化能力和鲁棒性。
-
高性能表现: 在仿真中,两个机器人能够维持 21 次连续击球的拉力。在真实世界中,机器人实现了约 5.3 m/s 的挥杆速度和高达 19.1 m/s 的出球速度,成功率达到 91.3%,并且能够在相对较大的拦截区域内进行精确击打。
-
无预测变体探索: 仿真结果表明,即使没有显式的羽毛球轨迹预测器,策略也能仅凭短时历史观测实现可比较的击打性能,为未来的端到端学习和简化系统部署提供了方向。
本文的框架标志着在人形机器人上实现敏捷、交互式全身响应任务的重要一步。
7.2. 局限性与未来工作
7.2.1. 局限性
- 环境依赖和限制:
- Mocap 场地的限制: 依赖运动捕捉(Mocap)场地,且天花板高度有限,导致羽毛球轨迹受限于低弧线和球机发球。这限制了策略学习更广泛、更高难度的击球类型(如高远球、杀球)。
- 轨迹范围: 有限的飞行范围使得与人类对手进行长时间多球拉力赛变得困难。
- 击打风格的单一性:
- 当前学习到的击打行为相对刻板,主要发现的是一种类似于正手击球的风格。
- 尚未展现出人类击球的多样化技能(如反手、弓步、跳杀等),且可行的拦截区域相对狭窄。
- 无预测变体的部署挑战: 尽管仿真结果喜人,但无预测变体在真实硬件上的部署仍是未来工作。这需要鲁棒的缓冲和时间戳机制,以确保 Actor 能从一致间隔的观测中准确推断速度和时机。
7.2.2. 未来工作
- 更高场地和更广拦截范围: 部署到更高天花板和更广拦截带宽的场地,以充分发挥控制器的潜力,并学习更多样的击球策略。
- 多样化击打技能: 训练策略学习更丰富的击打技巧,如反手击球、弓步救球、跳杀等,并扩展可拦截的区域。
- 无预测策略的硬件验证: 在真实机器人上部署和验证无预测策略,解决其在硬件实现中的鲁棒性问题。
- 基于视觉的感知: 转向纯粹的视觉感知,这将需要可靠的视觉里程计和能在激烈运动中保持羽毛球在视野中的策略。主动跟踪羽毛球的头戴式摄像头和鼓励视线与羽毛球轨迹对齐的学习信号,被认为是去除外部跟踪的实用途径。
- 高层策略学习: 在低层控制器之上,训练一个高层策略(通过多智能体训练),来决定何时拦截、何时挥杆以及指令何种球拍方向,并将当前全身控制器作为运动原语(motor primitive)进行调用。
- 解决策略瓶颈: 当前失败情况通常出现在连续目标之间距离过远,导致 maneuver 时间不足。未来可以进行更广泛的目标采样,并设计奖励塑形以显式鼓励高速的腿部机动,以缓解这些情况。
- 适应其他球类运动: 相同的框架可以适应网球或壁球等其他球类运动,只需替换羽毛球动力学模型并调整拦截风格,并对奖励进行适度调整以反映不同运动的特定行为。
7.3. 个人启发与批判
7.3.1. 个人启发
- 课程学习的强大威力: 本文再次证明了分阶段课程学习对于训练复杂机器人技能的有效性。将一个宏大目标拆解为可管理的、渐进的子目标,能够显著提高训练的稳定性和效率,并引导策略自主学习到人类直观的协调行为。这对于未来开发更复杂的人形机器人技能具有普遍指导意义。
- 全身控制的必要性: 羽毛球任务强调了全身协调的重要性。传统上将运动和操作解耦的方法在面对这种高动态、全身耦合的任务时显得力不从心。统一全身控制器是实现真正敏捷、类人行为的关键。
- Sim2Real 迁移的进步: 通过领域随机化和精心设计的奖励,实现零样本迁移的能力令人印象深刻。这极大地加速了机器人研发周期,降低了真实世界实验的成本和风险。
- 端到端学习的潜力: 无预测变体的初步成功揭示了端到端学习在动态感知-动作任务中的巨大潜力。虽然仍需进一步验证,但它指向了一个更简洁、对模型参数不敏感的机器人控制范式。
- 强化学习在机器人领域的广阔前景: 本文展示了强化学习在应对现实世界动态交互、需要高精度和敏捷性的机器人任务上的强大能力。这预示着强化学习在推动人形机器人走向更广泛应用场景方面将发挥越来越重要的作用。
7.3.2. 批判与潜在改进点
- 技能多样性不足: 策略目前主要学会了正手击球,缺乏人类羽毛球运动员丰富的击球种类(如反手、吊球、杀球、搓球、挑球等)。未来的研究应探索如何通过更多样化的训练数据、更复杂的奖励设计或分层策略(例如,高层策略选择击球类型,低层控制器执行)来扩展机器人的击球技能库。
- 对外部感知的高度依赖: 尽管实现了零样本迁移,但当前系统仍高度依赖外部运动捕捉系统进行羽毛球和机器人自身的精准定位。未来的工作必须转向机载传感器(如视觉)作为主要感知源,这会引入新的挑战,例如视野限制、视觉噪声和实时目标跟踪。
- 策略的解释性: 虽然强化学习能够发现非直观的协调模式,但这些策略的内部机制往往是“黑箱”。如何更好地理解策略决策、诊断失败原因,并将其转化为可解释的运动原语,是提高策略可信度和可控性的重要方向。
- 泛化能力限制: 虽然对空气动力学参数进行了随机化,但羽毛球的飞行轨迹受风、湿度等多种因素影响。目前策略在相对受控的 Mocap 环境中表现良好,但在更复杂的户外或真实比赛环境中,其鲁棒性仍有待验证。
- 高层策略缺失: 机器人目前仅能响应发球机的单次发球或简单的来回球,缺乏比赛策略。未来需引入高层规划和决策模块,使机器人能够自主选择击球落点、力量、角度,以应对对手并赢得比赛。
- 硬件部署的成本和复杂性: 尽管策略可以在仿真中训练,但真实人形机器人的维护、操作和传感器集成仍然非常昂贵和复杂,限制了广泛的实验验证。
相似论文推荐
基于向量语义检索推荐的相关论文。