AiPaper
论文状态:已完成

Learning Smooth Humanoid Locomotion through Lipschitz-Constrained Policies

发表:2024/10/16
原文链接PDF 下载
价格:0.10
价格:0.10
已有 2 人读过
本分析由 AI 生成,可能不完全准确,请以原文为准。

TL;DR 精炼摘要

本文提出了一种通过Lipschitz约束策略(LCP)来提升类人机器人运动控制的有效方法。LCP在强化学习框架中强制实施平滑行为,取代了传统的平滑奖励和低通滤波器,并且易于与自动微分集成。实验表明,LCP生成的控制器在模拟和现实世界中具有良好的平滑性和鲁棒性。

摘要

Reinforcement learning combined with sim-to-real transfer offers a general framework for developing locomotion controllers for legged robots. To facilitate successful deployment in the real world, smoothing techniques, such as low-pass filters and smoothness rewards, are often employed to develop policies with smooth behaviors. However, because these techniques are non-differentiable and usually require tedious tuning of a large set of hyperparameters, they tend to require extensive manual tuning for each robotic platform. To address this challenge and establish a general technique for enforcing smooth behaviors, we propose a simple and effective method that imposes a Lipschitz constraint on a learned policy, which we refer to as Lipschitz-Constrained Policies (LCP). We show that the Lipschitz constraint can be implemented in the form of a gradient penalty, which provides a differentiable objective that can be easily incorporated with automatic differentiation frameworks. We demonstrate that LCP effectively replaces the need for smoothing rewards or low-pass filters and can be easily integrated into training frameworks for many distinct humanoid robots. We extensively evaluate LCP in both simulation and real-world humanoid robots, producing smooth and robust locomotion controllers. All simulation and deployment code, along with complete checkpoints, is available on our project page: https://lipschitz-constrained-policy.github.io.

思维导图

论文精读

中文精读

1. 论文基本信息

1.1. 标题

学习平滑类人机器人运动的Lipschitz约束策略 (Learning Smooth Humanoid Locomotion through Lipschitz-Constrained Policies)

1.2. 作者

Zixuan Chen, Xialin He, Yen-Jen Wang, Qiayuan Liao, Yanjie Ze, Zhongyu Li, S. Shankar Sastry, Jiajun Wu, Koushil Sreenath, Saurabh Gupta, Xue Bin Peng。 其中 Zixuan Chen, Xialin He, Yen-Jen Wang 为共同第一作者。 作者团队来自 Simon Fraser University, UIUC, UC Berkeley, Stanford University, NVIDIA 等多所知名学术机构和科技公司。

1.3. 发表期刊/会议

该论文尚未在特定期刊或会议上发表,目前为预印本 (arXiv preprint),发布于 arXiv。 发布时间 (UTC): 2024-10-15T17:52:20.000Z。

1.4. 摘要

强化学习 (Reinforcement Learning, RL) 与模拟到真实 (sim-to-real) 迁移相结合,为开发腿式机器人 (legged robots) 的运动控制器提供了一个通用框架。为了在现实世界中成功部署,通常会采用平滑技术,如低通滤波器 (low-pass filters) 和平滑奖励 (smoothness rewards),以开发具有平滑行为的策略 (policies)。然而,由于这些技术不可微分 (non-differentiable),并且通常需要繁琐地调整大量超参数 (hyperparameters),因此它们往往需要为每个机器人平台进行大量的手动调优。为解决这一挑战并建立一种强制平滑行为的通用技术,本文提出了一种简单有效的方法:对学习到的策略施加Lipschitz约束 (Lipschitz constraint),我们称之为Lipschitz约束策略 (Lipschitz-Constrained Policies, LCP)。我们证明了Lipschitz约束可以以梯度惩罚 (gradient penalty) 的形式实现,这提供了一个可微分 (differentiable) 的目标,可以很容易地与自动微分 (automatic differentiation) 框架集成。我们展示了LCP有效地取代了对平滑奖励或低通滤波器的需求,并且可以轻松集成到许多不同类人机器人 (humanoid robots) 的训练框架中。我们在模拟和真实世界类人机器人中广泛评估了LCP,生成了平滑且鲁棒 (robust) 的运动控制器。所有模拟和部署代码,以及完整的检查点,均可在项目页面获取。

1.5. 原文链接

原文链接: https://arxiv.org/abs/2410.11825v3 PDF 链接: https://arxiv.org/pdf/2410.11825v3.pdf

2. 整体概括

2.1. 研究背景与动机

类人机器人 (humanoid robots) 研究的核心目标是开发能够在日常环境中自主操作的智能、类人机器。其中,实现可靠的移动性是最基本的挑战之一。传统的基于模型 (model-based) 的控制方法,如模型预测控制 (Model Predictive Control, MPC),需要精确的系统结构和动力学建模,这既费力又难以设计。相比之下,无模型 (model-free) 强化学习 (Reinforcement Learning, RL) 提供了一种端到端 (end-to-end) 的方法来开发鲁棒的控制器,大大减轻了对细致动力学建模和系统设计的需求。

然而,由于无模型RL需要通过试错 (trial-and-error) 进行大量样本收集,这在真实世界中无法进行,因此需要利用模拟到真实 (sim-to-real) 迁移技术。尽管RL结合sim-to-real已在四足和类人机器人控制方面取得了巨大成功,但模拟器中简化的动力学和驱动模型往往导致学习到的策略产生“抖动”行为,类似于bang-bang控制。这种行为会导致连续时间步的动作差异过大,产生过高的输出扭矩,而真实执行器无法实现,从而导致策略无法成功迁移到真实机器人。因此,强制策略产生平滑行为对于成功的sim-to-real迁移至关重要。

现有的平滑技术,如平滑奖励 (smoothness rewards) 和低通滤波器 (low-pass filters),存在一些局限性:

  • 平滑奖励 (smoothness rewards): 需要仔细调整权重以平衡平滑行为和任务完成度,且通常不可微分,需要基于采样的方法(如策略梯度 (policy gradients))进行优化。

  • 低通滤波器 (low-pass filters): 经常会抑制或限制探索 (exploration),增加了为新机器人训练控制器的工作量,且同样不易对策略参数进行微分。

    这些局限性促使研究者寻找一种通用、可微分且易于集成的平滑技术。

2.2. 核心贡献/主要发现

本文提出了 Lipschitz约束策略 (Lipschitz-Constrained Policies, LCP),一种用于鼓励RL策略学习平滑行为的通用、可微分方法。LCP通过引入一个梯度惩罚 (gradient penalty),对策略的输出动作与输入观测 (observations) 施加Lipschitz约束。

核心贡献和主要发现包括:

  1. 提出LCP方法: LCP通过一个可微分的梯度惩罚项,显式地约束策略的Lipschitz常数,从而鼓励策略生成平滑的动作序列。这种方法易于实现,只需少量代码即可集成到现有RL框架中。
  2. 可微分性: 与传统的不可微分平滑技术(如平滑奖励或低通滤波器)不同,LCP提供的梯度惩罚是一个可微分目标,可以轻松地与自动微分框架结合,简化了优化过程。
  3. 有效替代传统平滑技术: 实验证明,LCP能够有效地取代平滑奖励或低通滤波器,在不牺牲任务性能的情况下,生成与使用平滑奖励相似甚至更优的平滑行为。
  4. 广泛适用性与泛化能力: LCP被成功应用于多种不同形态的类人机器人(包括Fourier GR1T1/T2、Unitree H1和Berkeley Humanoid),并在模拟和真实世界环境中进行了广泛评估,均产生了平滑且鲁棒的运动控制器,展示了该方法的泛化能力。
  5. 参数敏感性分析: 研究了梯度惩罚系数 λgp\lambda_{\mathrm{gp}} 对策略平滑度和任务性能的影响,发现适当的 λgp\lambda_{\mathrm{gp}} 值可以在平滑性和任务完成度之间取得良好平衡。
  6. 代码和检查点开源: 提供了所有模拟和部署代码以及完整的检查点,促进了研究的可复现性和进一步发展。

3. 预备知识与相关工作

3.1. 基础概念

3.1.1. 强化学习 (Reinforcement Learning, RL)

强化学习 (RL) 是一种机器学习范式,智能体 (agent) 通过与环境 (environment) 交互来学习最优行为策略 (policy),以最大化累积奖励 (reward)。

  • 智能体 (Agent): 学习和决策的实体,通常是一个由神经网络 (neural network) 实现的策略。
  • 环境 (Environment): 智能体与之交互的外部世界,它接收智能体的动作 (actions) 并返回新的状态 (states) 和奖励。
  • 状态 (State sts_t): 环境在特定时间步 tt 的描述,智能体根据状态做出决策。
  • 动作 (Action ata_t): 智能体在给定状态下执行的操作。
  • 策略 (Policy π\pi): 定义了智能体在给定状态下选择动作的规则,可以是确定性的 π(s)=a\pi(s) = a 或随机性的 π(as)\pi(a|s)
  • 奖励 (Reward rtr_t): 环境对智能体在时间步 tt 采取动作的反馈信号,智能体的目标是最大化长期累积奖励。
  • 轨迹 (Trajectory τ\tau): 由一系列状态、动作和奖励组成:τ=(s0,a0,r0,s1,a1,r1,)\tau = (s_0, a_0, r_0, s_1, a_1, r_1, \dots)
  • 目标函数 (Objective Function): 智能体旨在最大化其期望回报 (expected return),即折扣累积奖励的期望值。 J(π)=Ep(τπ)[t=0T1γtrt] J ( \pi ) = \mathbb { E } _ { p ( \tau \mid \pi ) } \left[ \sum _ { t = 0 } ^ { T - 1 } \gamma ^ { t } r _ { t } \right] 其中,p(τπ)p(\tau|\pi) 表示轨迹 τ\tau 在策略 π\pi 下发生的概率,TT 是时间范围,γ[0,1]\gamma \in [0, 1] 是折扣因子 (discount factor),用于权衡即时奖励和未来奖励。

3.1.2. 模拟到真实迁移 (Sim-to-Real Transfer)

模拟到真实 (sim-to-real) 迁移是指在一个高度简化的模拟环境中训练机器人控制器,然后将其直接部署到真实的物理机器人上。这种方法利用了模拟环境的高效数据生成能力,避免了在真实世界中进行昂贵且耗时的试错学习。然而,由于模拟器和真实世界之间存在领域差距 (domain gap),通常需要结合一些技术来确保成功的迁移,例如:

  • 高保真模拟器 (High-fidelity simulators): 尽可能准确地模拟真实世界的物理特性。
  • 领域随机化 (Domain randomization): 在模拟训练中随机化环境参数(如摩擦力、质量、传感器噪声等),迫使策略学习对这些变化的鲁棒性,从而更好地泛化到真实世界。
  • 教师-学生框架 (Teacher-student framework): 训练一个具有特权信息 (privileged information)(如环境隐藏状态)的教师策略,然后通过蒸馏 (distillation) 训练一个仅依赖可观测信息 (observable information) 的学生策略。

3.1.3. Lipschitz 连续性 (Lipschitz Continuity)

Lipschitz 连续性 (Lipschitz Continuity) 是数学中用于量化函数平滑度的一个概念。直观上,一个Lipschitz连续函数的变化速度是有限的,其斜率不会无限大。 定义 III.1 (Lipschitz Continuity): 给定两个度量空间 (X,dX)(X, d_X)(Y,dY)(Y, d_Y),其中 dXd_X 表示集合 XX 上的度量,dYd_Y 是集合 YY 上的度量,函数 f:XYf: X \to Y 被认为是Lipschitz连续的,如果存在一个实常数 KK (Lipschitz常数),使得对于 XX 中的所有 x1\mathbf{x}_1x2\mathbf{x}_2,满足: dY(f(x1),f(x2))KdX(x1,x2) d_Y ( f ( \mathbf { x } _ { 1 } ) , f ( \mathbf { x } _ { 2 } ) ) \leq K d _ { X } ( \mathbf { x } _ { 1 } , \mathbf { x } _ { 2 } ) 这个定义意味着函数 ff 在任何两点之间的变化幅度,相对于这两点之间的距离,有一个上限 KK推论: 如果一个函数 ff 的梯度 (gradient) 是有界的,即: xf(x)K \| \nabla _ { \mathbf { x } } f ( \mathbf { x } ) \| \leq K 那么该函数 ff 是Lipschitz连续的。但是,反过来不一定成立(即一个Lipschitz连续函数的梯度不一定处处存在或有界)。本文利用这一推论,通过限制策略梯度的范数来强制策略的Lipschitz连续性,从而实现平滑行为。

下图(原文 Figure 2)展示了 Lipschitz 连续性如何量化函数的平滑度:

Fig. 2: Lipschitz continuity is a method of quantifying the smoothness functions. A Lipschitz continuous function is a function whose rate-of-change is bounded by a constant \(K\) .
该图像是示意图,展示了 Lipschitz 连续性。图中包含三条线:y=Kxy=Kxy=Kxy=-Kx 表示 Lipschitz 条件下的速率边界,而 y=f(x)y=f(x) 为一个 Lipschitz 连续函数的示例。图中阴影区域表示函数变化受限于常数 KK 的范围,使得函数的平滑性得以量化。

Fig. 2: Lipschitz continuity is a method of quantifying the smoothness functions. A Lipschitz continuous function is a function whose rate-of-change is bounded by a constant KK .

3.2. 前人工作

3.2.1. 腿式机器人运动控制 (Legged Robot Locomotion Control)

腿式机器人运动控制是一个长期存在的挑战,因为腿式系统具有高维度和不稳定性。

  • 经典模型基控制方法: 如 Miura 和 Shimoyama [12] 的两足机器人动态行走,Sreenath 等 [13] 的 Mabel 机器人控制器,以及 Geyer 等 [14] 对跳跃步态的研究,都取得了令人印象深刻的成果,但依赖于精确的系统建模。
  • 基于学习的方法: 近年来,学习方法在自动化控制器开发过程中展现了巨大潜力,为四足机器人 [15]–[18]、两足机器人 [11], [19]–[21] 和类人机器人 [7], [22]–[24] 提供了通用的鲁棒控制器构建方法。

3.2.2. Sim-to-Real 迁移技术 (Sim-to-Real Transfer Techniques)

Sim-to-real 迁移是基于 RL 方法面临的主要挑战。为弥合模拟与真实世界的领域差距,研究人员付出了大量努力:

  • 高保真模拟器: 开发更真实的模拟器,如 MuJoCo [25] 和 IsaacGym [26]。
  • 领域随机化 (Domain Randomization): 在训练过程中随机化模拟参数 [18], [22], [27], [28],以增强策略的鲁棒性。
  • 教师-学生框架 (Teacher-Student Framework): 训练一个拥有特权信息 (privileged information) 的教师策略,然后通过知识蒸馏 (knowledge distillation) 训练一个基于观测 (observation-based) 的学生策略 [15], [20], [22], [24], [29]–[31]。本文的框架也利用了教师-学生框架,通过正则化在线适应 (Regularized Online Adaptation, ROA) [6], [16], [23] 来训练基于观测历史的动力学潜在表示 (latent representation)。
  • 通用策略 (Single Policy for Different Morphologies): 一些工作探索使用单个策略控制具有不同形态的机器人 [34],但其在真实类人机器人上的性能尚未完全验证。

3.2.3. 学习平滑行为 (Learning Smooth Behaviors)

由于模拟器简化的动力学特性,在模拟中训练的策略通常会表现出抖动行为,难以迁移到真实世界。因此,平滑的策略行为对于成功的 sim-to-real 迁移至关重要。

  • 平滑奖励 (Smoothness Rewards): 常见的平滑技术包括惩罚动作的突然变化、自由度 (DoF) 速度、自由度加速度 [24], [29], [31], [32], [35], [36] 以及能量消耗 [6], [9]。这些奖励通常需要仔细手动设计和调优。
  • 低通滤波器 (Low-Pass Filters): 另一个方法是在策略输出动作上应用低通滤波器 [10], [11], [18], [37],以确保平滑行为。然而,低通滤波器可能会抑制策略探索,导致次优策略。
  • 局限性: 上述两种传统技术通常不可微分 (non-differentiable),需要基于采样的方法(如策略梯度)进行优化,增加了训练的复杂性。

3.2.4. 梯度惩罚 (Gradient Penalty)

梯度惩罚 (Gradient Penalty, GP) 是一种常见的正则化技术,最初用于稳定生成对抗网络 (Generative Adversarial Network, GAN) 的训练。

  • WGAN 和 WGAN-GP: Arjovsky 等 [38] 提出了 Wasserstein GAN (WGAN) 使用权重裁剪 (weight clipping) 来稳定训练,但仍存在性能和收敛问题。Gulrajani 等 [39] 引入了梯度惩罚 (WGAN-GP),作为权重裁剪的替代,它惩罚判别器 (discriminator) 梯度的范数。WGAN-GP 显著提高了 GAN 的训练稳定性和生成质量。
  • 在运动控制中的应用: 梯度惩罚已被证明在提高对抗性模仿学习 (adversarial imitation learning) 稳定性方面有效。例如,AMP [42]、CALM [43] 和 ASE [44] 都应用梯度惩罚来正则化对抗性判别器,从而使策略能够模仿各种复杂的运动。
  • 本文的创新: 尽管这些先前的系统展示了梯度惩罚作为判别器正则化器的有效性,但本文首次证明了类似的梯度惩罚也可以作为一种有效的正则化器,鼓励策略本身产生平滑行为,从而更适合真实世界的迁移。

3.3. 差异化分析

本文提出的Lipschitz约束策略 (LCP) 与相关工作中的主要平滑方法相比,核心区别和创新点在于:

  1. 可微分性 (Differentiability): LCP通过梯度惩罚实现,提供了一个完全可微分的目标函数,可以与自动微分框架无缝集成。这与传统的平滑奖励(通常作为环境的一部分,难以直接对策略参数进行微分)和低通滤波器(对策略输出应用,同样不直接可微分)形成鲜明对比。可微分性大大简化了优化过程,提高了训练效率和稳定性。
  2. 通用性与集成简易性 (Generality & Ease of Integration): LCP方法仅需几行代码即可集成到任何现有的强化学习框架中,为任何机器人平台提供一种通用的平滑行为强制机制。而平滑奖励通常需要针对特定任务和机器人进行复杂的奖励函数设计和超参数调优。
  3. 替代传统方法 (Replacement for Traditional Methods): 实验结果表明,LCP能够有效地替代对平滑奖励或低通滤波器的需求,在保持甚至提升任务性能的同时,实现相似或更优的平滑效果。这意味着LCP提供了一种更优雅、更少手动干预的解决方案。
  4. 理论基础 (Theoretical Foundation): LCP基于Lipschitz连续性这一明确的数学概念,通过约束策略的梯度范数来实现平滑。这提供了比启发式平滑奖励更坚实的理论基础,将平滑性直接与策略函数的数学属性联系起来。
  5. 直接作用于策略 (Direct Policy Regularization): LCP直接作用于策略本身,通过正则化策略的输出对输入观测的敏感度。这与作用于判别器的梯度惩罚(如在GAN或模仿学习中)不同,也与在策略输出后进行后处理(如低通滤波器)不同。直接对策略进行正则化确保了策略本身就学习生成平滑动作,而不是在生成抖动动作后再进行修正。

4. 方法论

本节将介绍Lipschitz约束策略 (LCP) 的详细方法,这是一种通过在训练过程中施加Lipschitz约束来使策略生成平滑行为的方法。

4.1. 方法原理

强化学习 (RL) 策略在模拟中训练时,由于模拟器中简化的动力学模型,常常会产生“抖动”行为,即连续时间步的动作差异很大。这种行为在真实机器人上难以复现,因为真实执行器无法产生如此快速和高幅度的力矩变化。为了解决这个问题,通常会引入平滑机制。

本文的动机来源于一个简单的观察:具有平滑行为的策略,其梯度 (gradient) 范数 (norm) 往往较小。下图(原文 Figure 3)展示了有平滑奖励和无平滑奖励训练的策略的梯度范数对比。

Fig. 3: Gradient of policies trained with and without smoothness rewards. Policies with smoother behaviors also exhibit smaller gradient magnitudes.
该图像是一个图表,展示了训练过程中带有和平滑奖励和不带平滑奖励的策略梯度变化。可以看到,使用平滑奖励的策略梯度波动较小,表现出更平滑的行为。

Fig. 3: Gradient of policies trained with and without smoothness rewards. Policies with smoother behaviors also exhibit smaller gradient magnitudes.

从图中可以看出,使用平滑奖励训练的策略,其梯度范数显著小于没有平滑奖励训练的策略。这表明,限制策略的梯度范数可以有效地促使策略产生更平滑的行为

Lipschitz连续性 (Lipschitz Continuity) 提供了一个量化函数平滑度的数学工具。根据Lipschitz连续性的推论,如果一个函数 ff 的梯度是有界的,即 xf(x)K\lVert \nabla_{\mathbf{x}} f(\mathbf{x}) \rVert \leq K,那么该函数 ff 就是Lipschitz连续的。这意味着,通过限制策略对其输入观测的梯度范数,我们可以有效地强制策略的输出动作对输入变化不那么敏感,从而产生更平滑的动作序列。

基于这一原理,本文提出LCP,通过将Lipschitz约束转化为一个可微分的梯度惩罚项,将其集成到RL的策略优化目标中,从而鼓励策略在训练过程中自然地学习到平滑的行为。

4.2. 核心方法详解 (逐层深入)

本文提出的Lipschitz约束策略 (LCP) 的核心在于将Lipschitz约束转化为一个可微分的梯度惩罚 (gradient penalty),并将其集成到强化学习的策略优化目标中。

4.2.1. 策略优化问题与梯度约束

我们希望策略 π\pi 在最大化预期回报 J(π)J(\pi) 的同时,能够满足Lipschitz连续性,即其输出动作对输入观测的变化不那么敏感。根据Lipschitz连续性的推论,我们可以通过限制策略对其输入观测的梯度范数来实现这一目标。对于一个策略 π(as)\pi(\mathbf{a}|\mathbf{s}),我们希望限制其对状态 s\mathbf{s} 的梯度范数。在强化学习中,策略通常输出动作的概率分布或均值,因此我们关注 logπ(as)\log \pi(\mathbf{a}|\mathbf{s}) 的梯度,它与策略的敏感度直接相关。这可以形式化为一个带约束的策略优化问题: maxπJ(π)s.t.maxs,a[slogπ(as)2]K2(4) \begin{array} { r l } { \underset { \boldsymbol { \pi } } { \operatorname* { m a x } } } & { { } J ( \boldsymbol { \pi } ) } \\ { \mathrm { s . t . } } & { { } \underset { \mathbf { s } , \mathbf { a } } { \operatorname* { m a x } } \left[ \lVert \nabla _ { \mathbf { s } } \log \boldsymbol { \pi } ( \mathbf { a } | \mathbf { s } ) \rVert ^ { 2 } \right] \leq K ^ { 2 } } \end{array} \quad (4) 其中:

  • π\pi: 强化学习策略,一个从状态到动作(或动作分布)的映射。
  • J(π)J(\pi): 策略 π\pi 的强化学习目标函数,通常是预期累积奖励,如公式 (3) 所定义。
  • maxs,a[slogπ(as)2]\underset{\mathbf{s}, \mathbf{a}}{\operatorname*{max}} \left[ \lVert \nabla_{\mathbf{s}} \log \pi(\mathbf{a}|\mathbf{s}) \rVert^2 \right]: 表示在所有可能的状态 s\mathbf{s} 和动作 a\mathbf{a} 下,策略对状态 s\mathbf{s}log\log 概率梯度的 2\ell^2-范数 (L2-norm) 的最大值。这个项量化了策略对输入状态变化的敏感度。
  • KK: 一个正常数,表示Lipschitz常数的上限。K2K^2 是梯度的平方范数的上限。 这个约束的目的是确保策略的变化速度不超过 KK,从而保证策略的平滑性。

4.2.2. 约束的近似与拉格朗日松弛

直接计算策略梯度在所有状态和动作上的最大值是不可行的。因此,我们采用 Schulman 等 [47] 提出的启发式方法,用策略轨迹中采样的状态-动作对上的梯度的期望值来近似这个最大值: maxπJ(π)s.t.Es,aD[slogπ(as)2]K2,(5) \begin{array} { r l } { \underset { \boldsymbol \pi } { \operatorname* { m a x } } } & { J ( \boldsymbol \pi ) } \\ { \mathrm { s . t . } } & { \mathbb { E } _ { \mathbf { s } , \mathbf { a } \sim \mathcal { D } } \left[ \lVert \nabla _ { \mathbf { s } } \log \pi ( \mathbf { a } | \mathbf { s } ) \rVert ^ { 2 } \right] \leq K ^ { 2 } , } \end{array} \quad (5) 其中:

  • Es,aD[]\mathbb{E}_{\mathbf{s}, \mathbf{a} \sim \mathcal{D}}[\cdot]: 表示对从策略采样数据集中 D\mathcal{D} 收集的状态-动作对 (s,a)(\mathbf{s}, \mathbf{a}) 的期望。数据集 D\mathcal{D} 通常由策略在环境中进行 rollout (推演) 时收集的样本组成。 通过这种近似,我们将一个全局的最大值约束转化为一个基于采样数据的期望约束,这在计算上是可行的。

为了将这个带约束的优化问题转化为一个无约束的优化问题,以便于使用基于梯度的优化方法,我们引入一个拉格朗日乘数 (Lagrange multiplier) λ\lambda。拉格朗日松弛 (Lagrangian relaxation) 允许我们将约束项作为惩罚项添加到目标函数中: minλ0maxπJ(π)λ(Es,aD[slogπ(as)2]K2).(6) \operatorname* { m i n } _ { \lambda \geq 0 } \operatorname* { m a x } _ { \pi } \quad J ( \pi ) - \lambda \left( \mathbb { E } _ { \mathbf { s } , \mathbf { a } \sim \mathcal { D } } \left[ \| \nabla _ { \mathbf { s } } \log \pi ( \mathbf { a } | \mathbf { s } ) \| ^ { 2 } \right] - K ^ { 2 } \right) . \quad (6) 这里,我们首先对策略 π\pi 进行最大化,然后对拉格朗日乘数 λ\lambda 进行最小化。

4.2.3. 最终的梯度惩罚目标函数

为了进一步简化优化目标,我们不动态调整 λ\lambda,而是将其设为一个手动指定的固定系数 λgp\lambda_{\mathrm{gp}}。同时,由于 KK 是一个常数,它可以在惩罚项中被吸收。最终,我们将上述约束转换为一个简单的、可微分的梯度惩罚 (Gradient Penalty, GP) 项,加入到策略的优化目标中: maxπJ(π)λgpEs,aD[slogπ(as)2].(7) \begin{array} { r l } { \displaystyle \operatorname* { m a x } _ { \pi } } & { { } J ( \pi ) - \lambda _ { \mathrm { g p } } \mathbb { E } _ { \mathbf { s } , \mathbf { a } \sim \mathcal { D } } \left[ \| \nabla _ { \mathbf { s } } \log \pi ( \mathbf { a } | \mathbf { s } ) \| ^ { 2 } \right] . } \end{array} \quad (7) 其中:

  • λgp\lambda_{\mathrm{gp}}: 是手动指定的梯度惩罚系数,控制梯度惩罚项在总目标函数中的权重。

  • Es,aD[slogπ(as)2]\mathbb{E}_{\mathbf{s}, \mathbf{a} \sim \mathcal{D}} \left[ \| \nabla_{\mathbf{s}} \log \pi ( \mathbf{a} | \mathbf{s} ) \|^2 \right]: 是梯度惩罚项本身,表示策略对输入状态的 log\log 概率梯度的平方范数在采样数据上的期望。

    这个目标函数鼓励策略在最大化任务回报的同时,使其对输入状态的敏感度保持在一个较低的水平,从而促使策略学习到平滑的行为。由于此梯度惩罚项完全可微分,它可以很方便地集成到任何基于自动微分的强化学习框架中。

4.2.4. 与正则化在线适应 (Regularized Online Adaptation, ROA) 的集成

本文的控制器是使用正则化在线适应 (ROA) 框架进行训练的,以实现从模拟到真实 (sim-to-real) 的迁移。在ROA训练过程中,一个编码器 μ\mu 将特权信息 (privileged information) e\mathbf{e} 嵌入到一个环境外在潜在向量 (environment extrinsic latent vector) zμ\mathbf{z}^\mu 中。随后,一个适应模块 (adaptation module) ϕ\phi 仅基于最近的本体感受观测历史 (recent history of proprioceptive observations) 来估计这个嵌入 zμ\mathbf{z}^\mu

将LCP的Lipschitz约束与ROA的训练目标结合,形成以下训练损失函数: L(θπ,θμ,θϕ)=LPPO(θπ,θμ)+λzμsg[zϕ]+sg[zμ]zϕ+λgpLgp(π),(8) \begin{array} { r l } & { L ( \theta _ { \pi } , \theta _ { \mu } , \theta _ { \phi } ) = - L ^ { P P O } ( \theta _ { \pi } , \theta _ { \mu } ) + \lambda \left\| \mathbf { z } ^ { \mu } - \mathbf { s g } \left[ \mathbf { z } ^ { \phi } \right] \right\| } \\ & { \qquad + \left\| \mathbf { s g } \left[ \mathbf { z } ^ { \mu } \right] - \mathbf { z } ^ { \phi } \right\| + \lambda _ { \mathrm { g p } } L _ { \mathrm { g p } } ( \pi ) , } \end{array} \quad (8) 其中:

  • L(θπ,θμ,θϕ)L(\theta_\pi, \theta_\mu, \theta_\phi): 整个训练的损失函数,它包含策略 π\pi 的参数 θπ\theta_\pi、编码器 μ\mu 的参数 θμ\theta_\mu 和适应模块 ϕ\phi 的参数 θϕ\theta_\phi

  • LPPO(θπ,θμ)-L^{PPO}(\theta_\pi, \theta_\mu): 基于PPO (Proximal Policy Optimization) 算法的策略和价值网络损失。通常,RL的目标是最大化回报,所以在损失函数中是取负值以进行最小化。这里,它可能也包含了对特权信息编码器 μ\mu 的依赖。

  • λ\lambda: 一个平衡系数,用于权衡适应模块的重构损失。本文中 λ=0.1\lambda=0.1

  • zμsg[zϕ]\lVert \mathbf{z}^\mu - \mathbf{sg}[\mathbf{z}^\phi] \rVert: 这是一个损失项,鼓励编码器 μ\mu 学习到的特权潜在向量 zμ\mathbf{z}^\mu 接近适应模块 ϕ\phi 估计的潜在向量 zϕ\mathbf{z}^\phisg[·] 表示 stop gradient (停止梯度) 操作,这意味着梯度不会通过 zϕ\mathbf{z}^\phi 反向传播到 ϕ\phi 的参数。

  • sg[zμ]zϕ\lVert \mathbf{sg}[\mathbf{z}^\mu] - \mathbf{z}^\phi \rVert: 另一个损失项,鼓励适应模块 ϕ\phi 学习估计特权潜在向量 zμ\mathbf{z}^\mu。这里对 zμ\mathbf{z}^\mu 应用了 stop gradient,这意味着梯度不会通过 zμ\mathbf{z}^\mu 反向传播到 μ\mu 的参数。这两个交叉的 stop gradient 损失项是ROA框架的特点,旨在通过自监督学习的方式训练适应模块。

  • λgpLgp(π)\lambda_{\mathrm{gp}} L_{\mathrm{gp}}(\pi): LCP引入的梯度惩罚项,其中 λgp\lambda_{\mathrm{gp}} 是梯度惩罚系数,本文中 λgp=0.002\lambda_{\mathrm{gp}}=0.002

    Lgp(π)L_{\mathrm{gp}}(\pi) 具体定义为: Lgp(π)=Es,aD[slogπ(as)2],(9) L _ { \mathrm { g p } } ( \pi ) = \mathbb { E } _ { { \mathbf s } , { \mathbf a } \sim { \mathcal { D } } } \left[ \| \nabla _ { \mathbf { s } } \log \pi ( { \mathbf a } | { \mathbf s } ) \| ^ { 2 } \right] , \quad (9) 与公式 (7) 中的梯度惩罚项完全一致,表示策略对输入状态 s\mathbf{s}log\log 概率梯度的平方范数在采样数据集 D\mathcal{D} 上的期望。

通过这种方式,LCP的梯度惩罚被无缝集成到ROA的整体训练损失中,使得策略在学习鲁棒适应行为的同时,也被强制学习生成平滑的动作。

5. 实验设置

为了评估LCP方法的有效性,本文在多种类人机器人上进行了实验,目标是让机器人在遵循转向指令的同时进行行走。

5.1. 机器人平台

本文在三款真实世界的机器人上评估了LCP框架:大型的 Fourier GR1T1 和 Fourier GR1T2,中型的 Unitree H1,以及小型的 Berkeley Humanoid。

  • Fourier GR1T1 & Fourier GR1T2:
    • 两者机械结构相同,都拥有21个关节。
    • 下半身有12个关节,上半身有9个关节。
    • 踝关节滚转 (ankle roll joint) 的扭矩限制非常小,因此在训练和部署时被视为被动关节 (passive joint)。
    • 实际控制的关节总数为19个。
  • Unitree H1:
    • 拥有19个关节。
    • 下半身有10个关节,上半身有9个关节。
    • 每条腿有一个踝关节,所有关节都被主动控制。
  • Berkeley Humanoid:
    • 小型机器人,身高 0.85m0.85 \mathrm{m} [49]。

    • 拥有12个自由度 (degrees of freedom, DoF)。

    • 每条腿有6个关节,每个踝关节有2个关节。

      下图(原文 Figure 7)展示了LCP在多种真实机器人上的部署效果:

      Fig. 7: Real-world deployment. LCP is able to train effective locomotion policies on a wide range of robots, which can be directly transferred to the real world. 该图像是一个插图,展示了不同款式的人形机器人在不同环境中的真实部署。图中显示了多款机器人如Fourier GR171、T2、Unitree H1和Berkeley Humanoid的动作表现,表明Lipschitz约束策略在多种人形机器人上训练效果良好。

Fig. 7: Real-world deployment. LCP is able to train effective locomotion policies on a wide range of robots, which can be directly transferred to the real world.

5.2. 观测 (Observations)

策略的输入观测 ot=[ϕt,ct,strobot,at1]\mathbf{o}_t = [\phi_t, \mathbf{c}_t, \mathbf{s}_t^{\mathrm{robot}}, \mathbf{a}_{t-1}] 包含以下几个部分:

  • 步态相位变量 (gait phase variable) ϕtR2\phi_t \in \mathbb{R}^2: 一个周期性的时钟信号,由其正弦和余弦分量表示,用于同步步态周期。

  • 指令 (command) ct\mathbf{c}_t: 智能体需要执行的运动指令。

  • 机器人状态 (measured joint positions and velocities) strobot\mathbf{s}_t^{\mathrm{robot}}: 当前时刻测量到的关节位置和速度。

  • 上一时刻动作 (previous action) at1\mathbf{a}_{t-1}: 上一个时间步策略输出的动作,作为历史信息。

    为了实现鲁棒的 sim-to-real 迁移,策略还接收特权信息 (privileged information) et\mathbf{e}_t 作为输入,这包括:

  • 基地质量 (base mass)

  • 质心 (center of mass)

  • 电机强度 (motor strengths)

  • 根部线性速度 (root linear velocity) 所有观测 ot\mathbf{o}_t 在输入策略之前都通过运行均值 (running mean) 和标准差 (standard deviation) 进行归一化 (normalized)。

5.3. 命令 (Commands)

策略的命令输入 ct=[vxcmd,vycmd,vyawcmd]\mathbf{c}_t = [\mathbf{v}_{\mathrm{x}}^{\mathrm{cmd}}, \mathbf{v}_{\mathrm{y}}^{\mathrm{cmd}}, \mathbf{v}_{\mathrm{yaw}}^{\mathrm{cmd}}] 包括:

  • 期望沿 X 轴的线性速度 vxcmd[0m/s,0.8m/s]\mathbf{v}_{\mathrm{x}}^{\mathrm{cmd}} \in [0 \mathrm{m/s}, 0.8 \mathrm{m/s}]
  • 期望沿 Y 轴的线性速度 vycmd[0.4m/s,0.4m/s]\mathbf{v}_{\mathrm{y}}^{\mathrm{cmd}} \in [-0.4 \mathrm{m/s}, 0.4 \mathrm{m/s}]
  • 期望偏航角速度 (yaw velocity) vyawcmd[0.6rad/s,0.6rad/s]\mathbf{v}_{\mathrm{yaw}}^{\mathrm{cmd}} \in [-0.6 \mathrm{rad/s}, 0.6 \mathrm{rad/s}] 这些速度都是在机器人坐标系 (robot frame) 下定义的。在训练过程中,命令每150个时间步或环境重置时,从各自的范围内随机采样。

5.4. 动作 (Actions)

策略的输出动作指定了机器人所有关节的目标旋转角度。这些目标旋转角度随后通过PD控制器 (PD controllers) 转换为扭矩命令,并手动指定PD增益。

5.5. 训练 (Training)

  • 所有策略都使用神经网络建模,并采用 PPO (Proximal Policy Optimization) 算法 [48] 进行训练。
  • 策略完全在模拟环境中进行训练,并结合了领域随机化 (domain randomization) [27] 技术。
  • Sim-to-real 迁移通过 正则化在线适应 (Regularized Online Adaptation, ROA) [6], [32] 完成。

5.6. 评估指标 (Evaluation Metrics)

为了评估各种平滑技术的有效性,本文记录了一系列平滑度指标和任务性能指标。所有指标的下降箭头 (↓) 表示数值越小越好,上升箭头 (↑) 表示数值越大越好。

  1. 动作抖动 (Action Jitter) ↓

    • 概念定义: 动作抖动衡量策略输出动作序列的平滑度,反映动作在连续时间步之间的变化剧烈程度。抖动越小,动作越平滑。它通常通过动作的三阶导数来量化 [50]。
    • 数学公式: Action Jitter=1Tt=1T2at+23at+1+3atat12 \text{Action Jitter} = \frac{1}{T} \sum_{t=1}^{T-2} \| \mathbf{a}_{t+2} - 3\mathbf{a}_{t+1} + 3\mathbf{a}_t - \mathbf{a}_{t-1} \|_2
    • 符号解释:
      • TT: 总时间步长。
      • at\mathbf{a}_t: 在时间步 tt 策略输出的动作向量。
      • 2\| \cdot \|_2: 向量的 2\ell^2-范数。
      • 该公式计算的是离散时间序列的三阶差分,是衡量信号平滑度的常用方法。
  2. 自由度位置抖动 (DoF Pos Jitter) ↓

    • 概念定义: 自由度位置抖动衡量机器人关节位置变化的平滑度。与动作抖动类似,它量化关节位置在连续时间步之间的变化剧烈程度,通常也通过关节位置的三阶导数来量化。
    • 数学公式: DoF Pos Jitter=1Tt=1T2qt+23qt+1+3qtqt12 \text{DoF Pos Jitter} = \frac{1}{T} \sum_{t=1}^{T-2} \| \mathbf{q}_{t+2} - 3\mathbf{q}_{t+1} + 3\mathbf{q}_t - \mathbf{q}_{t-1} \|_2
    • 符号解释:
      • TT: 总时间步长。
      • qt\mathbf{q}_t: 在时间步 tt 机器人所有关节的位置向量。
      • 2\| \cdot \|_2: 向量的 2\ell^2-范数。
  3. 自由度速度 (DoF Velocity) ↓

    • 概念定义: 自由度速度衡量机器人所有关节的平均角速度。较低的关节速度通常意味着更平缓的运动和更低的机械磨损。
    • 数学公式: DoF Velocity=1TDt=0T1j=1Dq˙t,j \text{DoF Velocity} = \frac{1}{T \cdot D} \sum_{t=0}^{T-1} \sum_{j=1}^{D} |\dot{q}_{t,j}|
    • 符号解释:
      • TT: 总时间步长。
      • DD: 机器人自由度 (DoF) 的数量。
      • q˙t,j\dot{q}_{t,j}: 在时间步 ttjj 个关节的角速度。
      • | \cdot |: 绝对值。
  4. 能量 (Energy) ↓

    • 概念定义: 能量消耗衡量机器人在执行任务过程中所消耗的功率总和。较低的能量消耗通常意味着更高效的运动。
    • 数学公式: Energy=1Tt=0T1j=1Dτt,jq˙t,j \text{Energy} = \frac{1}{T} \sum_{t=0}^{T-1} \sum_{j=1}^{D} |\tau_{t,j} \cdot \dot{q}_{t,j}|
    • 符号解释:
      • TT: 总时间步长。
      • DD: 机器人自由度 (DoF) 的数量。
      • τt,j\tau_{t,j}: 在时间步 ttjj 个关节的扭矩。
      • q˙t,j\dot{q}_{t,j}: 在时间步 ttjj 个关节的角速度。
      • | \cdot |: 绝对值。此公式计算每个关节的功率绝对值之和,再对所有关节和时间步求平均。
  5. 基地加速度 (Base Acc) ↓

    • 概念定义: 基地加速度衡量机器人基座的平均线性加速度。较低的基座加速度通常意味着更平稳的重心运动,减少晃动。
    • 数学公式: Base Acc=1Tt=0T1atbase2 \text{Base Acc} = \frac{1}{T} \sum_{t=0}^{T-1} \| \mathbf{a}_{t}^{\mathrm{base}} \|_2
    • 符号解释:
      • TT: 总时间步长。
      • atbase\mathbf{a}_{t}^{\mathrm{base}}: 在时间步 tt 机器人基座的线性加速度向量。
      • 2\| \cdot \|_2: 向量的 2\ell^2-范数。
  6. 任务回报 (Task Return) ↑

    • 概念定义: 任务回报是智能体在环境中执行任务所获得的累积奖励的平均值,反映了策略完成指定任务的有效性。在本文中,任务回报是根据线性速度跟踪 (linear velocity tracking) 和角速度跟踪 (angular velocity tracking) 奖励计算的。更高的任务回报意味着策略更好地完成了行走任务。
    • 数学公式: 论文中未给出具体的任务回报公式,但其定义与强化学习中的期望回报 J(π)J(\pi) (公式 3) 概念一致,具体由多个子奖励项构成,旨在奖励机器人成功跟踪指令速度。

5.7. 对比基线 (Baselines)

为了评估LCP的有效性,本文将其与以下常用的平滑技术进行比较:

  • 无平滑 (No smoothing): 在训练过程中不应用任何平滑技术。这个基线用于展示平滑技术对于sim-to-real迁移的必要性。
  • 平滑奖励 (Smoothness rewards): 在奖励函数中加入额外的奖励项,以鼓励策略产生平滑行为。例如,惩罚关节速度、加速度或能量消耗的突然变化。这些奖励函数通常不可微分。
  • 低通滤波器 (Low-pass Filters): 在策略输出的动作被应用到环境之前,对其施加一个低通滤波器,以物理方式平滑动作。低通滤波器也不易对策略训练进行微分。

5.8. 训练细节与奖励函数

  • 模拟器: 使用 IsaacGym 进行模拟,并行环境数量为 4096。

  • 奖励课程 (Reward Curriculum): 奖励函数采用课程学习 (curriculum learning) 机制,其表达式为 E[t=1Tγt1ist,irt,i]\mathbb{E} \left[ \sum_{t=1}^{T} \gamma^{t-1} \sum_i s_{t,i} r_{t,i} \right]。其中 rt,ir_{t,i} 是在时间步 tt 的第 ii 个奖励项,st,is_{t,i} 是一个缩放因子: st,i={scurrentif rt,i<01if rt,i0 s _ { t , i } = { \left\{ \begin{array} { l l } { s _ { \mathrm { c u r r e n t } } } & { { \mathrm { i f } } \ r _ { t , i } < 0 } \\ { 1 } & { { \mathrm { i f } } \ r _ { t , i } \geq 0 } \end{array} \right. } scurrents_{\mathrm{current}} 动态调整,初始值为0.8。如果平均回合长度低于50,则会增加正则化奖励的权重,以促进探索。

  • 正则化奖励 (Regularization Rewards): 奖励函数包含多个正则化项,具体权重如下表(原文 Table IV)所示:

    以下是原文 Table IV 的结果:

    NameWeight
    Angular velocity xy penalty0.2
    Joint torques6e −7
    Collisions10
    Linear velocity z-1.5
    Contact force penalty-0.002
    Feet Stumble-1.25
    Dof position limit-10
    Base Orientation-1.0

6. 实验结果与分析

6.1. 核心结果分析

6.1.1. LCP在产生平滑行为方面的有效性

本文通过跟踪能量消耗、自由度 (DoF) 速度、DoF 加速度和动作率等平滑度指标,比较了LCP与有无平滑奖励训练的策略。 下图(原文 Figure 4)展示了不同平滑技术在动作率、关节加速度、关节速度和能量消耗上的性能对比:

该图像是一个图表,展示了不同平滑技术在动作率、关节加速度、关节速度和能量消耗上的性能对比。图中红色曲线代表我们提出的 Lipschitz-Constrained Policies (LCP),表明相比于无平滑和使用平滑奖励的方法,LCP 更有效地控制了这些性能指标。
该图像是一个图表,展示了不同平滑技术在动作率、关节加速度、关节速度和能量消耗上的性能对比。图中红色曲线代表我们提出的 Lipschitz-Constrained Policies (LCP),表明相比于无平滑和使用平滑奖励的方法,LCP 更有效地控制了这些性能指标。

s m ervecurai pro bhav p policies that are trained with explicit smoothness rewards.

从 Figure 4 可以看出,尽管LCP在训练时没有直接最小化这些平滑度指标,但它仍然产生了与使用平滑奖励训练的策略相似的平滑行为。这表明LCP可以有效替代传统的平滑奖励,实现策略的平滑输出。

6.1.2. LCP对任务性能的影响

下表(原文 Table I(a))和下图(原文 Figure 5)展示了LCP与其他平滑方法在任务性能上的比较:

以下是原文 Table I(a) 的结果:

Method Action Jitter ↓ DoF Pos Jitter ↓ DoF Velocity ↓ Energy ↓ Base Acc ↓ Task Return ↑
LCP (ours) 3.21 ± 0.11 0.17 ± 0.01 10.65 ± 0.37 24.57 ± 1.17 0.06 ± 0.002 26.03 ± 1.51
Smoothness Reward 5.74 ± 0.08 0.19 ± 0.002 11.35 ± 0.51 25.92 ± 0.84 0.06 ± 0.002 26.56 ± 0.26
Low-pass Filter 7.86 ± 3.00 0.23 ± 0.04 11.72 ± 0.14 32.83 ± 5.50 0.06 ± 0.002 24.98 ± 1.29
No Smoothness 42.19 ± 4.72 0.41 ± 0.08 12.92 ± 0.99 42.68 ± 10.27 0.09 ± 0.01 28.87 ± 0.85

Fig. 5: Task returns of different smoothing methods. LCP provides an effective alternative to other techniques.
该图像是一个图表,展示了不同平滑方法的任务收益。LCP(我们的)方法表现出明显的优越性,相比于其他方法(无平滑、低通滤波器、平滑奖励)在提高任务收益方面更为有效。

Fig. 5: Task returns of different smoothing methods. LCP provides an effective alternative to other techniques.

分析结果:

  • LCP (ours): 在所有平滑度指标(动作抖动、DoF 位置抖动、DoF 速度、能量、基地加速度)上都表现出最低的值,表明其产生的行为最平滑。同时,任务回报 (26.03) 与平滑奖励 (26.56) 相当,略低于无平滑策略,但显著优于低通滤波器。

  • Smoothness Reward: 实现了与LCP接近的平滑度,任务回报最高(在平滑方法中)。

  • Low-pass Filter: 尽管试图平滑动作,但在动作抖动和DoF位置抖动上不如LCP和Smoothness Reward,任务回报也较低 (24.98)。这可能因为低通滤波器引入的阻尼 (damping) 抑制了探索 (exploration),导致次优策略。

  • No Smoothness: 任务回报最高 (28.87),但其抖动指标(动作抖动 42.19, DoF 位置抖动 0.41)也远高于其他方法,表明其行为高度抖动,不适合真实世界部署。

    结论: LCP在产生平滑行为方面非常有效,同时保持了与平滑奖励相当的任务性能,并且优于低通滤波器。这证明了LCP是传统平滑技术的有效替代方案。

6.1.3. 梯度惩罚系数 λgp\lambda_{\mathrm{gp}} 的影响

下表(原文 Table I(b))和下图(原文 Figure 6)展示了LCP在不同梯度惩罚系数 λgp\lambda_{\mathrm{gp}} 下的性能:

以下是原文 Table I(b) 的结果:

Method Action Jitter ↓ DoF Pos Jitter ↓ DoF Velocity ↓ Energy ↓ Base Acc ↓ Task Return ↑
LCP w. λgp\lambda_{\mathrm{gp}} = 0.0 42.19 ± 4.72 0.41 ± 0.08 12.92 ± 0.99 42.68 ± 10.27 0.09 ± 0.01 28.87 ± 0.85
LCP w. λgp\lambda_{\mathrm{gp}} = 0.001 3.69 ± 0.31 0.21 ± 0.05 11.44 ± 1.18 27.09 ± 4.44 0.06 ± 0.01 26.32 ± 1.20
LCP w. λgp\lambda_{\mathrm{gp}} = 0.002 (ours) 3.21 ± 0.11 0.17 ± 0.01 10.65 ± 0.37 24.57 ± 1.17 0.06 ± 0.002 26.03 ± 1.51
LCP w. λgp\lambda_{\mathrm{gp}} = 0.005 2.10 ± 0.05 0.15 ± 0.01 10.44 ± 0.70 26.24 ± 3.50 0.05 ± 0.002 23.92 ± 2.05
LCP w. λgp\lambda_{\mathrm{gp}} = 0.01 0.17 ± 0.01 0.07 ± 0.00 2.75 ± 0.12 5.89 ± 0.28 0.007 ± 0.00 16.11 ± 2.76

Fig. 6: Task returns of LCP with different \(\\lambda _ { \\mathrm { g p } }\) Excessively large \(\\lambda _ { \\mathrm { g p } }\) may hinder policy learning.
该图像是图表,展示了不同的 ext{GP} 权重(即 extλextgp ext{λ}_{ ext{gp}})对任务回报的影响。随着迭代次数的增加,extλextgp ext{λ}_{ ext{gp}} 的变化对学习策略的效果有显著影响,特别是当 extλextgp ext{λ}_{ ext{gp}} 过大时,可能阻碍策略学习。

Fig. 6: Task returns of LCP with different λgp\lambda _ { \mathrm { g p } } Excessively large λgp\lambda _ { \mathrm { g p } } may hinder policy learning.

分析结果:

  • λgp\lambda_{\mathrm{gp}} = 0.0 (无梯度惩罚): 表现出最高的抖动指标和任务回报,与“无平滑”基线一致。

  • 小系数 (λgp\lambda_{\mathrm{gp}} = 0.001): 显著降低了抖动,但仍可能导致在真实世界中部署不安全的抖动行为。任务回报略有下降。

  • 最佳平衡 (λgp\lambda_{\mathrm{gp}} = 0.002): 本文推荐的系数。在平滑度指标上表现出色(例如动作抖动 3.21),同时保持了良好的任务回报 (26.03)。

  • 较大系数 (λgp\lambda_{\mathrm{gp}} = 0.005): 进一步降低了抖动指标,但任务回报开始明显下降 (23.92),可能因为策略变得过于平滑和迟缓 (sluggish)。

  • 过大系数 (λgp\lambda_{\mathrm{gp}} = 0.01): 导致极低的抖动指标(例如动作抖动 0.17,DoF 速度 2.75),但任务回报大幅下降到 16.11。Figure 6 也显示,过大的 λgp\lambda_{\mathrm{gp}} 值会导致学习速度变慢,影响策略的探索和任务完成能力。

    结论: 梯度惩罚系数 λgp\lambda_{\mathrm{gp}} 需要仔细调优。本文的实验建议 λgp=0.002\lambda_{\mathrm{gp}} = 0.002 在策略平滑度和任务性能之间取得了有效平衡。

6.1.4. 梯度惩罚应用于观测的哪些组件

策略的输入包含当前观测和历史观测。下表(原文 Table I(c))比较了将梯度惩罚应用于整个输入观测或仅应用于当前观测时的LCP性能:

以下是原文 Table I(c) 的结果:

Action Jitter ↓ DoF Pos Jitter ↓ DoF Velocity ↓ Energy ↓ Base Acc ↓ Task Return ↑
LCP w. GP on whole obs (ours) 3.21 ± 0.11 0.17 ± 0.01 10.65 ± 0.37 24.57 ± 1.17 0.06 ± 0.002 26.03 ± 1.51
LCP w. GP on current obs 7.16 ± 0.60 0.35 ± 0.03 13.70 ± 1.50 35.18 ± 4.84 0.09 ± 0.005 25.44 ± 3.73

分析结果:

  • LCP w. GP on whole obs (ours): 将梯度惩罚应用于整个输入观测(包括当前观测和历史观测)时,实现了最佳性能,抖动指标最低,任务回报也较高 (26.03)。

  • LCP w. GP on current obs: 仅对当前观测应用梯度惩罚时,抖动指标(如动作抖动 7.16)明显高于对整个观测应用惩罚的情况,任务回报也略低 (25.44)。

    结论: 对整个观测(包含历史信息)应用梯度惩罚能够实现最佳性能。这是因为如果只正则化当前观测,策略仍然可能因为历史信息的变化而产生非平滑行为。

6.1.5. Sim-to-Sim 迁移评估

在部署模型到真实机器人之前,本文在另一个模拟器 MuJoCo [25] 中测试了模型。下表(原文 Table II)展示了Sim-to-Sim迁移的结果:

以下是原文 Table II 的结果:

Action Jitter ↓ DoF Pos Jitter ↓ DoF Velocity ↓ Energy ↓ Base Acc ↓ Task Return ↑
Fourier GR1 1.47 ± 0.43 0.34 ± 0.07 9.54 ± 1.53 36.38 ± 2.97 0.08 ± 0.004 24.33 ± 1.25
Unitree H1 0.44 ± 0.03 0.10 ± 0.007 9.12 ± 0.38 76.22 ± 5.81 0.04 ± 0.005 21.74 ± 1.40
Berkeley Humanoid 1.77 ± 0.32 0.12 ± 0.01 7.92 ± 0.21 19.99 ± 0.36 0.06 ± 0.00 26.50 ± 0.57

分析结果:

  • 与在IsaacGym中训练的结果相比,MuJoCo中的任务回报略有下降,特别是对于Fourier GR1和Unitree H1等大型机器人,这表明模拟器之间的领域差距对于大型机器人可能更为显著。
  • 尽管如此,LCP模型在Sim-to-Sim迁移中表现良好,抖动指标保持在较低水平,为后续的真实世界部署提供了信心。

6.2. 真实世界部署 (Real World Deployment)

本文将使用相同奖励函数和 λgp=0.002\lambda_{\mathrm{gp}} = 0.002 训练的LCP模型部署到四款不同的真实机器人上。如 Figure 1 和 Figure 7 所示,LCP有效地使这些机器人在真实世界中行走。

6.2.1. 不同地形下的鲁棒性

为了评估学习策略的鲁棒性,机器人在平滑 (smooth)、柔软 (soft) 和崎岖 (rough) 三种地形上进行测试。下表(原文 Table III)展示了真实世界部署中,机器人模型在不同地形下的性能:

以下是原文 Table III 的结果:

Robot Action Jitter ↓ DoF Pos Jitter ↓ DoF Velocity ↓
(a) Smooth Plane
Fourier GR1 1.12 ± 0.16 0.28 ± 0.13 10.82 ± 1.58
Unitree H1 1.11 ± 0.07 0.14 ± 0.01 10.95 ± 0.53
Berkeley Humanoid 1.56 ± 0.10 0.10 ± 0.01 4.99 ± 0.60
b) Soft Plane
Fourier GR1 1.18 ± 0.17 0.24 ± 0.09 10.45 ± 1.42
Unitree H1 1.18 ± 0.09 0.15 ± 0.01 11.80 ± 0.57
Berkeley Humanoid 1.66 ± 0.03 0.12 ± 0.01 6.78 ± 1.57
(c) Rough Plane
Fourier GR1 1.18 ± 0.22 0.26 ± 0.11 11.61 ± 1.64
Unitree H1 1.20 ± 0.09 0.14 ± 0.01 11.68 ± 0.84
Berkeley Humanoid 1.63 ± 0.11 0.11 ± 0.01 5.02 ± 0.48

分析结果:

  • 在三种不同地形(平滑、柔软、崎岖)下,所有机器人的抖动指标(动作抖动、DoF 位置抖动、DoF 速度)都保持在较低水平。这表明LCP训练的策略即使在存在地形变化的情况下也能保持平滑行为,并能有效地在不同表面上移动。
  • 抖动指标在不同地形之间变化不大,进一步验证了策略的鲁棒性。

6.2.2. 外部力扰动下的鲁棒性

为了进一步测试策略的鲁棒性,研究人员在真实世界中对机器人施加了外部力。

  • 补充视频展示了模型的恢复行为,LCP模型能够鲁棒地从意外的外部扰动中恢复。

    总体结论: LCP在各种类人机器人和不同复杂度的真实世界环境中(包括不同地形和外部扰动)都表现出良好的平滑性和鲁棒性,成功实现了sim-to-real迁移。

7. 总结与思考

7.1. 结论总结

本文提出了Lipschitz约束策略 (LCP),一种简单而通用的方法,用于训练控制器以产生适用于模拟到真实 (sim-to-real) 迁移的平滑行为。LCP通过引入一个可微分的梯度惩罚,近似地对策略施加Lipschitz约束,并将其集成到强化学习的训练过程中。通过在模拟和真实世界中对多种类人机器人进行广泛实验,本文证明了LCP能够有效地替代传统的不可微分平滑技术(如平滑奖励和低通滤波器)。LCP不仅能生成与这些方法相当甚至更优的平滑和鲁棒运动控制器,而且在不同形态的机器人和复杂地形下都展现出良好的泛化能力和鲁棒性。LCP的可微分特性使其易于与现代自动微分框架集成,简化了训练流程,减少了手动调优的复杂性。

7.2. 局限性与未来工作

尽管LCP在真实世界的运动控制实验中展示了其有效性,但作者也指出了该方法的局限性:

  • 技能范围限制: 目前的实验结果仅限于基本的行走行为。
  • 未来工作: 作者建议,在更动态的技能,如奔跑和跳跃等复杂动作上评估LCP,将有助于进一步验证该方法的通用性。

7.3. 个人启发与批判

7.3.1. 个人启发

  • 优雅的平滑机制: LCP提供了一种非常优雅且具有理论基础的策略平滑方法。将数学上的Lipschitz连续性概念直接转化为强化学习的优化目标,并通过梯度惩罚实现,这种思路非常值得借鉴。它避免了传统启发式平滑奖励的繁琐调优,也规避了低通滤波器可能带来的探索抑制问题。
  • 可微分性的优势: LCP的可微分性是其核心优势。在现代深度学习框架中,可微分性意味着可以无缝地利用自动微分工具进行优化,大大简化了算法实现和训练流程。这对于希望在RL中加入各种约束或正则化项的研究人员来说,是一个重要的设计原则。
  • 方法普适性: LCP在多种不同形态的类人机器人上的成功部署,以及在不同地形和外部扰动下的鲁棒表现,表明其具有很强的普适性和泛化能力。这种通用性对于机器人领域至关重要,因为它意味着方法可以更容易地推广到新的机器人平台和任务中。
  • 理论与实践结合: 论文不仅提出了方法,还通过详尽的实验(包括消融实验、参数分析、Sim-to-Sim和Sim-to-Real)验证了其有效性。特别是真实世界部署的成功,极大地增强了该研究的实际价值和可信度。

7.3.2. 批判与潜在改进

  • GP系数的调优: 尽管LCP减少了超参数的数量,但梯度惩罚系数 λgp\lambda_{\mathrm{gp}} 仍然需要一定的调优。论文中提到“一些注意是需要来调优GP系数以获得更好的性能”,这意味着用户仍需手动寻找一个合适的平衡点。未来的研究可以探索自适应调整 λgp\lambda_{\mathrm{gp}} 的方法,例如基于学习率调度或贝叶斯优化等,以进一步减少手动干预。
  • 对LCP导致“过于平滑和迟缓行为”的深入分析: 论文中提到过大的 λgp\lambda_{\mathrm{gp}} 会导致“过于平滑和迟缓的行为”以及任务回报的下降。这表明过强的平滑约束可能会限制策略学习动态、敏捷的动作。未来的工作可以研究如何平衡平滑性与动态性,例如,是否可以根据任务需求或机器人的特定运动阶段,动态调整Lipschitz常数,允许在某些时刻进行更剧烈的动作。
  • 对非线性动态技能的验证: 论文指出目前的工作仅限于“基本行走行为”,并建议在“更动态的技能,如奔跑和跳跃”上进行验证。这些更复杂的技能通常涉及更大的动作范围、更快的速度和更强的非线性动力学。LCP在这些场景下的表现如何,以及是否需要额外的正则化或调整,是值得探索的问题。例如,对于跳跃这类瞬时大动作,过强的Lipschitz约束可能反而不利。
  • 与奖励塑形 (Reward Shaping) 的关系: LCP在一定程度上可以看作是一种隐式的奖励塑形,通过惩罚梯度来影响策略行为。可以探究LCP与其他显式奖励塑形技术(特别是基于能量或关节平滑度的奖励)之间的协同作用或竞争关系。是否有可能结合两者的优点,或者LCP能否完全取代所有形式的平滑奖励?
  • 计算成本: 计算策略的梯度范数并将其纳入训练目标会增加每个训练步骤的计算成本。虽然在现代GPU上可能不是主要瓶颈,但对于资源受限的平台或需要极快训练速度的应用,其影响仍需评估。

相似论文推荐

基于向量语义检索推荐的相关论文。

暂时没有找到相似论文。