Olaf: Bringing an Animated Character to Life in the Physical World
TL;DR 精炼摘要
本文将动画角色Olaf带入物理世界,依赖强化学习及动画参考进行控制。创新地通过柔软泡沫裙下隐藏不对称的腿部,设计了紧凑的机械结构。引入了抑制冲击噪音和温度控制的新策略,验证了模型的有效性,展现了高逼真度的机器人表现。
摘要
Animated characters often move in non-physical ways and have proportions that are far from a typical walking robot. This provides an ideal platform for innovation in both mechanical design and stylized motion control. In this paper, we bring Olaf to life in the physical world, relying on reinforcement learning guided by animation references for control. To create the illusion of Olaf's feet moving along his body, we hide two asymmetric legs under a soft foam skirt. To fit actuators inside the character, we use spherical and planar linkages in the arms, mouth, and eyes. Because the walk cycle results in harsh contact sounds, we introduce additional rewards that noticeably reduce impact noise. The large head, driven by small actuators in the character's slim neck, creates a risk of overheating, amplified by the costume. To keep actuators from overheating, we feed temperature values as additional inputs to policies, introducing new rewards to keep them within bounds. We validate the efficacy of our modeling in simulation and on hardware, demonstrating an unmatched level of believability for a costumed robotic character.
思维导图
论文精读
中文精读
1. 论文基本信息
1.1. 标题
Olaf: Bringing an Animated Character to Life in the Physical World
1.2. 作者
David Müller*, Espen Knoop*, Dario Mylonopoulos, Agon Serifi, Michael A. Hopkins, Ruben Grandia, Moritz Bächer
1.3. 发表期刊/会议
预印本(arXiv)
1.4. 发表年份
2025
1.5. 摘要
动画角色通常以非物理方式移动,并且其身体比例与典型的行走机器人相去甚远。这为机械设计和风格化运动控制方面的创新提供了理想平台。本文将动画角色 Olaf 带入物理世界,其控制依赖于由动画参考指导的强化学习 (Reinforcement Learning, RL)。为了制造 Olaf 的脚在其身体下自由移动的错觉,作者将两条不对称的腿隐藏在柔软的泡沫裙下。为了将执行器(actuator)安装到角色内部,手臂、嘴巴和眼睛使用了球形和平面连杆机构(linkages)。由于行走周期会产生刺耳的接触声,作者引入了额外的奖励项,显著降低了冲击噪音。由于大头部由角色纤细颈部内的小型执行器驱动,并且服装会加剧散热问题,存在过热风险。为了防止执行器过热,作者将温度值作为额外的输入提供给策略(policy),并引入了新的奖励项以将温度保持在安全范围内。作者在仿真和硬件上验证了模型的有效性,展示了有服装机器人角色前所未有的逼真度。
1.6. 原文链接
https://arxiv.org/abs/2512.16705
1.7. PDF 链接
https://arxiv.org/pdf/2512.16705v1.pdf
2. 整体概括
2.1. 研究背景与动机
传统的足式机器人 (legged robotics) 领域主要关注功能性、鲁棒性 (robustness) 和效率等目标,这使得机器人能够实现令人印象深刻的动态能力,例如攀爬山脉或穿越复杂地形。然而,随着机器人开始进入需要直接与人类互动的领域,例如娱乐和陪伴,仅仅追求功能性能已经不足够。在这些场景中,角色的逼真度 (believability) 和忠实度 (character fidelity) 成为核心考量,这改变了工程目标并施加了严格的美学约束。
本文旨在解决的核心问题是:如何在物理世界中忠实地再现一个动画角色,使其不仅在外观上相似,而且在运动风格上也具有角色的特征和逼真度。现有研究主要集中在功能性机器人或新创建的机器人角色,而将一个已有且具有非物理运动特征和非典型身体比例的动画角色(如 Olaf)带入物理世界,面临巨大的机械设计和运动控制挑战。Olaf 拥有一个大而重的头部、小巧的雪球脚以及非物理的运动风格,这些都对机械设计和运动控制提出了严格限制,包括如何在有限空间内隐藏所有机械部件。同时,逼真度的错觉非常脆弱,即使是轻微的不一致(如粗糙的脚步冲击声或抖动)都可能破坏角色的生动形象。
2.2. 核心贡献/主要发现
本文的主要贡献体现在以下三个方面:
- 机电设计 (Mechatronic design):
- 提出了一种紧凑、尺寸精确的 Olaf 机器人设计。
- 包含一种新颖的非对称六自由度 (6-DoF) 腿部机构,用于在有限空间内实现所需的腿部运动范围。
- 集成了通过远程驱动的球形、平面和空间连杆机构,以在手臂、嘴巴和眼睛中实现高保真、富有表现力的动作。
- 热量感知策略 (Thermal-aware policy):
- 提出了一种控制策略,将执行器温度作为输入。
- 通过所提出的奖励函数,学习防止执行器过热,确保机器人长期运行的安全性。
- 冲击减少奖励 (Impact reduction reward):
- 引入了一种奖励项,能够显著减少脚步噪音。
- 这有助于保持角色的逼真度,因为刺耳的脚步声会破坏角色生动的错觉。
3. 预备知识与相关工作
3.1. 基础概念
- 强化学习 (Reinforcement Learning, RL): 强化学习是机器学习的一个分支,其核心思想是让一个智能体 (agent) 在一个环境 (environment) 中通过与环境的交互学习最优策略 (policy)。智能体根据当前状态 (state) 采取一个动作 (action),环境会根据动作反馈一个奖励 (reward),并转移到新的状态。智能体的目标是最大化长期累积奖励。在本文中,Olaf 机器人就是智能体,通过 RL 学习如何模仿动画参考动作、避免过热和减少脚步噪音。
- 策略 (Policy, ): 在强化学习中,策略是智能体的行为规则,它定义了在给定状态下选择哪个动作的概率分布。在本文中,策略 根据当前可观测状态 和控制输入 生成动作 。
- 比例-微分 (Proportional-Derivative, PD) 控制器: PD 控制器是一种广泛应用于机器人控制的反馈控制系统。它通过计算当前误差(期望位置与实际位置的差值)的比例项 (Proportional) 和误差变化率的微分项 (Derivative) 来产生控制输出(例如,关节力矩)。这有助于机器人快速准确地达到目标位置,并减少超调和振荡。在本文中,RL 策略输出的是关节的目标位置,然后 PD 控制器将这些目标位置转换为实际的关节力矩。
- 控制障碍函数 (Control Barrier Function, CBF): CBF 是一种用于设计安全关键型控制系统的数学工具。它的核心思想是定义一个“安全区域”,并确保系统状态永远不会离开这个区域。CBF 通过对系统动态施加约束,使得即使在存在不确定性或外部干扰的情况下,也能保证系统的安全性(例如,避免碰撞、防止过热)。在本文中,CBF 被用于防止执行器温度超过最大限制和关节超出其物理范围。
- 路径框架 (Path Frame): 路径框架是本文(及其相关工作 [7])中引入的一个概念,用于实现机器人全局姿态的不变性,并确保不同策略之间平滑过渡。它是一个相对于机器人运动轨迹定义的局部坐标系。通过将机器人的状态(如躯干位置和方向)相对于这个路径框架来表达,可以使控制策略不依赖于机器人在全局坐标系中的具体位置,从而提高策略的鲁棒性和泛化能力。
- 近端策略优化 (Proximal Policy Optimization, PPO): PPO 是一种流行的强化学习算法,属于策略梯度方法。它旨在通过限制每次策略更新的大小,在保证训练稳定性的同时,提高样本效率。PPO 在许多复杂的连续控制任务中表现出色,是目前广泛使用的强化学习算法之一。本文使用 PPO 来训练 Olaf 机器人的行走和站立策略。
- 连杆机构 (Linkages): 连杆机构是由多个刚性杆件(连杆)通过关节连接而成的机械系统。它们可以用于将输入运动转换为所需的输出运动,或者将执行器放置在远离关节的位置进行远程驱动,从而在空间受限的设计中提供灵活性。在 Olaf 的设计中,球形和平面连杆机构被广泛用于手臂、嘴巴和眼睛,以在紧凑空间内实现复杂的运动。
3.2. 前人工作
- 功能性足式机器人: 大多数足式机器人(如 [10], [11], [12], [13], [14] 的仿人机器人和 [15], [16], [17] 的四足机器人)都从自然界汲取灵感,其形态和控制主要由功能性需求驱动,追求运动能力、鲁棒性和效率。
- 机器人角色: 现有的机器人角色工作包括索尼的 AIBO 机器狗 [5],以及用于娱乐机器人领域的 CosMo 机器人 [6] 和 Keepon [8] 等。这些工作通常涉及创建一个新的机器人角色,并为其开发动画和控制管道 [7]。
- 远程驱动与连杆机构: 足式机器人通常在关节处直接安装执行器 [10], [16],但也有通过连杆机构实现远程驱动的设计 [19], [17], [20]。这种方式允许将执行器放置在有更大空间的区域,例如 [21], [22] 的工作。
- 强化学习控制: 强化学习在鲁棒运动 [23], [24], [25], [26]、模仿学习 [27], [28], [29], [30] 以及复杂环境导航 [31], [32] 方面取得了巨大进展。近年来,RL 也被用于解决实际世界效应,如执行器能量损耗 [33] 和最小化冲击的安静运动策略 [34], [35]。
3.3. 差异化分析
- 目标与约束: 大多数机器人关注功能性、效率和鲁棒性,而本文的 Olaf 机器人则侧重于逼真度 (believability) 和角色忠实度 (character fidelity),这使得能量效率和功率密度成为次要考虑因素。
- 角色基础: 与 [7] 侧重于创建新机器人角色的管道不同,本文将一个现有动画角色带入物理世界,这需要在功能性和逼真度之间进行权衡,并且在一个非常紧凑的设计空间内完成。
- 身体比例与运动特性: Olaf 的非典型身体比例(大头、小脚)和非物理运动风格与 Cosmo 机器人 [6] 等现有机器人角色不同,后者通常具有更接近传统机器人的结构或相对有利的比例。Olaf 的服装进一步增加了设计和控制的复杂性。
- 机械设计: 为了适应 Olaf 特殊的紧凑结构,本文采用了一种非对称腿部设计,而非传统的对称设计,以最大化隐藏在狭小身体内的腿部工作空间。此外,广泛使用球形和平面连杆机构进行远程驱动,以在有限空间内实现高度表达性的动作,例如眼睛、嘴巴和手臂。
- 控制策略创新: 本文在强化学习控制中引入了两个针对特定问题的创新:
- 热量感知策略: 将执行器温度作为策略输入,并通过
控制障碍函数 (CBF)和专门的奖励项来主动防止执行器过热,这在以往的 RL 运动控制中较少涉及。 - 冲击减少奖励: 引入了显著降低脚步噪音的奖励项,解决了传统机器人脚步声破坏角色逼真度的问题。
- 热量感知策略: 将执行器温度作为策略输入,并通过
4. 方法论
本文的目标是在物理世界中实现一个与动画角色 Olaf 具有相同特征和非物理运动方式的机器人。为了满足这些严格的功能和创意要求,整个项目采取了迭代的设计和控制方法。
4.1. 整体工作流程
该项目的工作流程分为几个阶段:
-
初始机械设计: 首先设计了包含 actuated legs (驱动腿) 和 neck (颈部) 的主干骨架(在图 2 中显示为绿色部分)。
-
动画创作: 为动画创作维护了具有相同自由度 (degrees of freedom, DoF) 的动画绑定 (animation rig) 和动画参考 (animation references)。
-
骨架表达性探索: 通过迭代训练站立和行走策略,并在仿真中评估角色骨架的表达性,快速探索在角色外形轮廓内最佳放置驱动自由度的方法。
-
添加表现功能: 在第二阶段,增加了机械表现功能 (mechanical show functions)——例如手臂、嘴巴、眼睛和眉毛(在图 2 中显示为蓝色部分),这些功能驱动表达性行为,但不会显著影响系统动力学。
-
分层控制: 控制系统分为两层:
- 关节骨架 (Articulation backbone): 由强化学习 (RL) 策略控制。
- 表现功能 (Show functions): 使用经典控制方法。
-
RL 仿真模型: RL 仿真模型基于机械设计,并增加了执行器温度动力学。
-
策略训练: 策略使用奖励函数进行训练,该函数结合了模仿项(用于精确跟踪运动参考)和惩罚项(用于强制执行物理限制,如关节范围和执行器温度)。
-
策略类型: 训练了独立的行走和站立策略,每个策略都以控制输入 为条件,用于动画跟踪和交互式控制。
-
运行时控制: 在运行时,Olaf 通过远程接口进行牵线操作 (puppeteered)。动画引擎处理这些命令以切换策略、触发动画和音频,并提供交互式操纵杆控制。
下图(原文 Figure 2)展示了 Olaf 机器人机电设计和基于 RL 的控制系统:
该图像是示意图,展示了Olaf的机电设计与基于强化学习的控制系统。左侧为机电设计,右侧为控制流程,其中包含奖励机制,包括模仿、冲击减少和热模型。在公式中,控制输入通过策略PPO生成,并在仿真运行中与动画引擎互动。
4.2. 机电设计
Olaf 机器人的高度为 88.7 厘米(不含头发),重量为 14.9 千克。它总共有 25 个自由度 (DoF):每条腿 6 个,每个肩膀 2 个,颈部 3 个,下巴 1 个,眉毛 1 个,机械眼睛 4 个。使用了 Unitree 和 Dynamixel 执行器。板载计算由 3 台计算机提供。
下图(原文 Figure 3)展示了 Olaf 机器人内部的机械设计:
该图像是一个示意图,展示了奥拉夫机器人内部的机械设计。图中标注了各个模块的位置,包括驱动器、软泡沫材料、计算模块及其他组件,清晰地展示了眼睛和下巴的链接机制,及肩部的联动结构。
4.2.1. 紧凑设计空间 (Compact Design Envelope)
对于动画角色,Olaf 的两只脚是身体下方自由浮动的雪球,没有可见的腿。为了模拟这一点,机器人的设计将腿部大部分隐藏在下半身内部,将每条腿的运动范围限制在这个边界体积内。
- 非对称 6-DoF 腿部设计: 为了在有限空间内实现所需的腿部活动性,采用了一种新颖的非对称 6-DoF 腿部设计。其中一条腿是反向的,例如,左腿具有后向髋关节滚动执行器和前向膝关节,而右腿具有前向髋关节滚动执行器和后向膝关节。这种配置减少了两侧髋关节滚动执行器之间以及腿部在偏航 (yaw) 时膝关节之间的碰撞。此外,由于两条腿是相同的(而非镜像),部件数量也得以减少。
- 远程驱动连杆机构:
- 肩膀: 机器人需要一个 2-DoF 的肩膀。由于空间有限,执行器无法放置在关节处。因此,将执行器放置在躯干内部,并通过球形五杆连杆机构驱动肩膀。
- 嘴巴: 单个执行器同时驱动上颚和下颚。下颚直接驱动,上颚通过四杆连杆机构耦合。
- 眼睛: 机械眼睛具有独立的直接驱动眼部偏航 (eye yaw),以及眼部俯仰 (eye pitch) 和眼睑 (eyelid),这两者都通过四杆连杆机构远程驱动。所有其他关节都是直接驱动的。
4.2.2. 软外壳 (Soft Shells)
为了在不过度限制运动范围的情况下将腿部隐藏在下部雪球内,下部雪球被设计成由聚氨酯 (PU) 泡沫制成的柔性“裙子”。这提供了足够的结构来保持其形状,同时允许偏转以适应更大的腿部运动(例如在恢复步态时)。脚部雪球也以类似方式构建。柔性泡沫还能吸收冲击,降低跌落的严重性。
4.2.3. 服装与附件 (Costuming and Appendages)
服装由四向弹力面料制成,可以水平和垂直拉伸,使其贴合机器人及其运动。半刚性的“骨架”结构确保服装在嘴下方的腔体上保持其形状。眼睛和嘴巴周围使用按扣和磁铁将服装固定到位。手臂、鼻子、纽扣、眉毛和头发则通过磁铁固定。这使它们可以固定在服装上方(鼻子、纽扣),并在跌落或碰撞时脱落,以减轻损坏。
4.3. 强化学习 (Reinforcement Learning)
本文基于先前在角色控制方面的研究 [7],使用独立的行走策略和站立策略,每个策略都被公式化为一个独立的 RL 问题,并针对其特定的运动状态进行调整。
4.3.1. 策略定义
在每个时间步 ,智能体根据策略 生成一个动作 ,该策略以可观测状态 和控制输入 为条件。环境随后返回下一个状态 和一个标量奖励 ,该奖励鼓励准确模仿艺术家定义的运动学动作,同时保持动态和鲁棒的平衡。
为了实现对机器人全局姿态的不变性,并实现策略之间的平滑过渡,本文使用了 [7] 中引入的路径框架 (path frame) 概念。 路径框架在时间 的状态定义为: 其中:
-
表示水平位置。
-
表示偏航 (yaw) 方向。
-
上标 表示相对于路径框架表达的量。
在行走过程中,路径框架通过积分指令路径速度 来前进。在站立过程中,框架缓慢地向两脚之间的中点收敛。为了防止路径框架与机器人运动过度偏离,它被限制在躯干的有限距离内。
下图(原文 Figure 4)展示了路径框架的概念及机器人重心:
该图像是示意图,展示了路径框架概念及机器人重心的可视化。图中采用了波浪形曲线表示运动轨迹,周围的灰色圆形可能代表不同的接触点或支撑点。
4.3.2. 动画参考 (Animation Reference)
动画参考是艺术家使用动画工具为行走和站立创建的。这些参考以控制输入 为条件,其中 在公式 (2) 中定义。值得注意的是,本文使用一个步态生成工具 [36] 来设计带有脚跟-脚尖 (heel-toe) 运动的风格化行走周期,捕捉 Olaf 的特征步态。 基于这些参考,通过一个生成函数 获得完整的运动学目标状态 。该函数通过插值和路径框架对齐,将路径框架状态 和策略依赖的控制输入 映射到运动学目标。
这个映射可以表示为: 其中:
- :完整的运动学目标状态,包含:
- :躯干 (torso) 相对于路径框架的位置。
- :躯干相对于路径框架的方向(单位四元数)。
- :躯干的线速度。
- :躯干的角速度。
q _ { t }:关节位置。- :关节速度。
- 和 :左右脚的接触指示器。
g _ { t }:控制输入,根据站立和行走状态不同:- 站立时: ,包含目标颈部关节位置、目标躯干方向和目标躯干高度。
- 行走时: ,包含目标颈部关节位置和目标路径框架速度。
- :生成函数。
- :路径框架状态。
- :步态相位变量 (gait phase variable),仅在行走时使用。
- 帽子 符号表示目标量。 为了确保鲁棒性和广泛适用性,在训练过程中,控制输入 会在其整个范围内随机化。
4.3.3. 策略输入 (Policy Input)
动作 是关节处比例-微分 (Proportional-Derivative, PD) 控制器的位置目标。 机器人的本体感受状态 (proprioceptive state) 定义为: 其中:
- 和 :躯干相对于路径框架的根姿态 (root pose)。
- 和 :以根框架 (root frame) 表达的躯干线速度和角速度。
- :关节位置。
- :关节速度。
- 和 :前两个时间步的动作。
T _ { t }:执行器的温度。- :步态相位变量,仅在行走策略中作为额外条件。
4.3.4. 奖励函数 (Reward Formulation)
总奖励 包含四个部分:模仿 (imitation)、正则化 (regularization)、限制 (limits) 和冲击减少 (impact reduction)。
-
模仿和正则化项: 遵循标准实践 [27], [7],鼓励精确跟踪参考运动,并对动作进行惩罚。
-
限制项: 捕捉 Olaf 紧凑机械设计所带来的约束。
-
冲击减少项: 减少脚步冲击,从而显著降低脚步噪音。
以下是原文 Table I 的奖励项详情: 表 I: 奖励项。 帽子 符号表示参考量。控制障碍奖励强制执行热量和关节限制,而惩罚大的足部速度变化率可减少冲击噪音。 是 log-map 方向差, 是指示函数。
| Name | Reward Term |
| Imitation (模仿) | |
| Torso position xy (躯干位置 xy) | exp (−200.0 ·kpx,y − px,y k2) |
| Torso orientation (躯干方向) | exp (−20.0 · ∥|θ ∥2) |
| Linear vel. xy (线速度 xy) | exp (−8.0 · kvx,y − vx,y k2) |
| Linear vel. z (线速度 z) | exp (−8.0 · ∥vz − vzk2) |
| Angular vel. xy (角速度 xy) | exp (−2.0 · kωx,y − ωx,y k2) |
| Angular vel. Z (角速度 Z) | exp (−2.0 · ∥ωz − ωz∥2) |
| Leg joint pos. (腿部关节位置) | −kq − qk2 |
| Neck joint pos. (颈部关节位置) | −|qn − qnk2 |
| Leg joint vel. (腿部关节速度) | −k˙q − ˙qk2 |
| Neck joint vel. (颈部关节速度) | −k˙qn − ˙qnk2 |
| Contact (接触) | ∑i{L, R} 1[ci = ci] |
| Survival (生存) | 1.0 |
| Regularization (正则化) | |
| Joint torques (关节力矩) | −|τ∥2 |
| Joint acc. (关节加速度) | −|¨q∥2 |
| Leg action rate (腿部动作变化率) | −kal − at−1,l∥2 |
| Neck action rate (颈部动作变化率) | −kan − at−1,n∥2 |
| Leg action acc. (腿部动作加速度) | −kal − 2at−1,l + at−2,l∥2 |
| Neck action acc. (颈部动作加速度) | −kan − 2at−1,n + at−2,n∥2 |
| Limits (限制) | |
| Neck temperature (颈部温度) | −∥min(−Tn + γT (Tmax − Tn), 0)∥1 |
| Joint limits (lower) (关节下限) | −∥min (q + γq(q − (qmin + qm)), 0)∥1 |
| Joint limits (upper) (关节上限) | −∥min (−q + γq((qmax − qm) − q), 0)∥1 |
| Foot-Foot collision (脚-脚碰撞) | −1 [contact(L, R)] |
| Impact Reduction (冲击减少) | |
| Sound suppression (声音抑制) | −(∑ i{L,R} min(∆v2z,, ∆vmax)) |
- 模仿奖励 (): 激励精确模仿运动学参考动作。颈部和腿部的关节权重不同,以反映其显著不同的反射惯量。
- 早期终止 (Early Termination): 当头部、躯干、大腿或手臂与地面接触时,会进行早期终止。
- 正则化奖励 (): 惩罚过大的关节力矩并鼓励平滑动作,从而减少振动和不必要的努力。
- 限制奖励 (): 惩罚违反关键物理约束的行为。这包括温度奖励项、关节限制惩罚和脚-脚碰撞惩罚。
- 冲击减少奖励 (): 惩罚模拟步之间沿重力方向的速度变化,从而产生更平滑的足部运动并减少冲击噪音。为了防止物理引擎在接触解决过程中产生大的速度变化导致奖励项过大并破坏 Critic 的学习稳定性,该奖励项在计算时会被饱和 (saturate)。
4.3.5. 热量模型 (Thermal Modeling)
Olaf 纤细且被服装覆盖的颈部需要小尺寸的执行器来支撑沉重的头部,这在早期实验中导致频繁过热。为了解决这个问题,要求执行器温度 保持在最大温度 以下。这通过以下不等式约束 (5a) 形式化: 其中:
-
h _ { T } ( T ):热量安全函数。 -
:执行器的最大允许温度。
-
:执行器当前温度。
该约束依赖于缓慢变化的温度状态,被转化为一个控制障碍函数 (Control Barrier Function, CBF) 条件 (5c): 进一步展开为: 其中:
-
:热量安全函数对时间的导数。
-
:温度对时间的导数。
-
:一个正的常数,控制安全裕度。
直观地,CBF 条件确保当温度接近或超过最大值时,系统会通过保持 (即温度不再升高)来响应,从而防止过热。每个执行器的 CBF 约束集被转换为一个惩罚项,通过计算总的违反程度来实现,如表 I 中定义。
为了在仿真中实现热量 CBF,需要一个执行器热动力学模型。这些动力学主要由焦耳热 支配,其与力矩 成比例,因为力矩 (电流)而 。因此,温度被建模为一个由平方力矩驱动的一阶系统: 其中:
- :温度变化率。
- :热传导系数,表示热量散失的速度。
- :环境温度。
- :加热系数,表示平方力矩产生热量的效率。
- :执行器力矩的平方。
- 忽略了机械热生成。 参数 和 是根据数据拟合的。
4.3.6. 关节限制 (Joint Limits)
为了防止关节超出其物理限制,本文使用了一个基于 CBF 条件的类似奖励函数,强制关节与每个关节的物理限制 和 之间保持一个裕度 。
对于每个关节,定义安全函数 h _ { q } ( q ):
其中:
-
: 关节当前位置。
-
和 :关节的物理下限和上限。
-
:安全裕度。
相应的每个关节的 CBF 约束为: 其中:
-
:关节速度。
-
:一个正的常数。 在本文中,裕度 弧度,。
4.4. 表现功能 (Show Functions)
Olaf 的表现功能——眼睛和眉毛、下颚机构以及手臂——具有较低的惯性,因此对系统动力学影响最小。因此,它们与主要的关节骨架分离,并使用经典控制方法进行控制。
为了控制 Olaf 的表现功能,需要将它们的功能空间(动画和合成运动的空间)映射到执行器空间。这种映射是使用正向运动学求解器 [38] 通过均匀采样感兴趣的功能区域并拟合多项式来获得的。
- 眼睛: 功能空间包括左右眼偏航 (yaw)、耦合的眼俯仰 (pitch) 和眼睑闭合。对于给定的眼睛机构,每个执行器的一阶多项式就足够精确。
- 手臂: Olaf 的左右手臂实现为球形五杆连杆机构,每个由两个执行器驱动。通过两个串联旋转角度来参数化其功能坐标:先是手臂摆动 (arm swing),然后是手臂俯仰 (arm pitch)。手臂摆动直接映射到第一个执行器,而手臂俯仰则通过两个执行器耦合。第二个执行器位置通过三次多项式拟合获得。应用执行器映射后,所有眼睛和手臂执行器都使用 PD 闭环控制。
- 下颚: 服装会通过织物张力在嘴巴关闭时引入显著的外部力,并在嘴巴张开时产生褶皱,这会降低跟踪性能。为了补偿这些效应,添加了一个前馈项 (feedforward term) 。该前馈项通过测量在均匀采样的整个运动范围内的下颚角度 所需的力矩来获得。使用最小二乘法,拟合一个带额外余弦项的一阶多项式,该余弦项捕捉数据中观察到的非线性:
其中:
- :下颚的前馈力矩。
- :下颚关节角度。
- 和 :拟合模型参数。
5. 实验设置
5.1. 热量模型与奖励
热量模型参数 在公式 (6) 中,通过对热动力学模型的显式欧拉离散化(采样频率为 50 Hz,与策略速率匹配)应用最小二乘回归进行拟合。回归是在 20 分钟的记录数据上进行的。
为了限制策略在训练期间需要接触的温度范围,观察和奖励中使用的温度被裁剪到区间 。为确保约束 (5c) 在上限裁剪边界处保持可行, 的选择使得约束在最小可能热量生成(即 )的情况下得到满足。
以下是原文 Table II 的热量模型和奖励参数: 表 II: 热量模型和奖励参数。 颈部执行器热量模型系数和奖励参数,指定温度动力学、允许限制和控制障碍系数。
| Thermal Model (热量模型) | Reward Function (奖励函数) | ||
|---|---|---|---|
| α | 0.038 | Tmax (最大温度) | 80°C |
| β | 0.377 | Telip (温度裁剪区间) | [70°C, 85°C] |
| Tambient (环境温度) | 43.94°C | γT (CBF系数) | 0.312 |
5.2. 训练
策略使用近端策略优化 (Proximal Policy Optimization, PPO) [39] 进行训练。
-
Critic (评论家网络): 接收特权信息 (privileged information),包括无噪声测量、摩擦参数和地形高度样本。
-
Actor (行动者网络): 在其观测中添加噪声,并在训练期间施加随机扰动力 (randomized disturbance forces)。
-
网络结构: Actor 和 Critic 都实现为三层多层感知机 (MLPs),每层 512 个单元。
-
奖励权重: 所有奖励权重列于 Table III 中。
以下是原文 Table III 的奖励权重: 表 III: 奖励权重。 站立和行走策略的权重。两个值表示“站立 / 行走”;单个值表示两者都适用。
| Reward Name | Standing /Walking | Reward Name | Standing /Walking |
|---|---|---|---|
| Torso position xy | 1.0/4.0 | Neck action rate | 5.0/10.0 |
| Torso orientation | 2.0/1.5 | Leg action rate | 2.0/5.0 |
| Linear vel. xy | 1.5/2.5 | Leg action acc. | 0.5/1.0 |
| Linear vel. z | 1.0 | Neck action acc. | 15.0/10.0 |
| Angular vel. Z | 1.5 | Neck temperature | 2.0 |
| Leg joint pos. | 15.0 | Joint limits | 0.5/0.2 |
| Neck joint pos. | 40.0 | Foot-Foot collision | 10.0 |
| Leg joint vel. | 1.0 · 10-3 | Impact reduction | 2.5·10-3 |
| Neck joint vel. | 0.5 | Joint torques | 1.0 · 10-3 |
| Contact | 2.0/1.0 | Joint acc. | 2.5·10-6 |
| Survival | 20.0 |
- 仿真环境: 训练在 Isaac Sim [40] 中进行,在一个 RTX 4090 GPU 上并行运行 8192 个环境。
- 训练时长: 策略训练了 10 万次迭代(大约 2 天)。
5.3. 运行时 (Runtime)
- 策略部署: 训练完成后,策略网络被冻结并部署到机器人的板载计算机上。
- 状态估计: 本体感受状态 使用融合了惯性测量单元 (IMU) 和执行器测量的状态估计器 [41] 进行估计。
- 控制频率: 策略以 50 Hz 的频率运行,其输出通过一阶保持 (first-order hold)(即连续动作之间的线性插值)上采样到 600 Hz 的执行器速率。
- 平滑指令: 上采样后的动作通过一个截止频率为 37.5 Hz 的低通滤波器,以确保平滑的电机指令。
- 动画引擎 (Animation Engine): 采用 [7] 中的架构,牵线操作 (puppeteering) 命令由动画引擎处理。动画引擎通过三阶段过程混合触发内容,并将实时牵线操作输入映射到策略控制输入 、表现功能信号和音频触发器:
- 背景动画 (Background animations): 播放循环的全身动画,以引入细微的空闲行为,如眼睛的跳动 (saccades) 和手臂调整。
- 触发动画 (Triggered animations): 在背景动画之上叠加短动画片段(例如,手势或口语台词)。
- 操纵杆驱动控制 (Joystick-driven control): 根据远程操作输入调整输出姿态。在站立时,它控制凝视和身体姿态;在行走时,它控制凝视和路径速度。
6. 实验结果与分析
Olaf 机器人在现实世界中的机电设计得到了验证,其性能直接体现在视觉效果上。非对称腿部设计能够忠实模仿 Olaf 的特征动画,同时满足所有设计要求。磁性手臂和鼻子实现了角色内的趣味效果。
6.1. 核心结果分析
6.1.1. 跟踪性能 (Tracking Performance)
通过比较运动学参考与机器人在实际执行的运动来量化跟踪性能。
- 站立策略: 在 5 分钟的测试中,平均绝对关节跟踪误差为 。
- 行走策略: 在 5 分钟的测试中,平均绝对关节跟踪误差为 。 这表明机器人能够高精度地模仿动画参考运动。
为了评估 Olaf 特征的脚跟-脚尖行走步态的效果,作者训练了一个没有该特征的策略进行对比。结果显示,缺少脚跟-脚尖动作的步态看起来更像机器人,强调了风格化步态对角色逼真度的重要性。
6.1.2. 热量模型 (Thermal Modeling)
通过模拟 10 分钟轨迹上的温度演变来评估热量模型,该轨迹未包含在回归数据集中。 下图(原文 Figure 5)展示了热模型的验证结果:
该图像是图表,展示了热模型的验证结果。图中比较了预测的执行器温度 与实测值在 10 ext{min} 的滚动过程中的变化,温度值以量化形式呈现。
结果表明,模型实现了 的平均绝对误差,展示了良好的预测准确性。
为了评估所提出的热量奖励的有效性,比较了有无热量奖励策略下颈部俯仰执行器(实验中发现最易过热的执行器)的温度演变和平均绝对关节跟踪误差。测试轨迹是 Olaf 向上看并缓慢左右转动头部。 下图(原文 Figure 6)展示了热量奖励评估结果:
该图像是图表,展示了带有和不带热量奖励的策略在不同时间点的温度、关节跟踪误差和扭矩平方的变化情况。图中显示,带热量奖励的策略有效降低了温度上升,并保持了较低的跟踪误差,防止过热。
- 无热量奖励的基线策略: 执行器温度迅速上升,在 40 秒内达到 ,实验因此停止以防止执行器损坏。
- 有热量奖励的策略: 跟踪误差略大,但执行器温度上升速度显著减慢。这归因于平方力矩的减少,策略在达到温度限制之前就减少了力矩使用,同时保持了几乎相同的跟踪精度。当温度接近 的阈值时,平方力矩增加,因为策略将头部调整到更水平的方向,这需要更多的初始力矩,但随着时间推移降低了力矩需求。这表明策略会逐渐放松在温度限制附近的跟踪,以防止过热。
6.1.3. 脚部冲击 (Foot Impact)
通过在硬件上比较有无脚部冲击减少奖励的策略,评估其对声音抑制的效果。
-
结果: 在 5 分钟的运行中,引入该奖励使平均声级降低了 13.5 dB,这种降低在实际感受上也非常明显。
-
跟踪性能: 尽管引入了奖励,跟踪性能和与运动学参考的相似度基本保持不变。
下图(原文 Figure 7)展示了脚部冲击减少效果的对比:
该图像是图表,展示了不同策略下 extbf{Z}-足的速度和位置对比。图中包含了三条曲线,分别表示引入脚部冲击减少奖励的策略、未引入奖励的策略和参考值。横轴为时间,单位为秒,纵轴分别为速度和位置,单位为米每秒和米。
该图显示了参考运动、有冲击减少奖励的策略和无冲击减少奖励的策略在摆动阶段的垂直脚速度和位置曲线。
- 冲击减少奖励的作用: 作为一个正则化器,它保留了整体轨迹,但平滑了参考运动中的细微之处(例如,脚在摆动中段的下沉)。
- 无冲击减少奖励的策略: 稍微更好地遵循了运动曲线,但仍然未能捕捉这些细节,并且在脚部冲击时表现出更高的峰值速度。 这表明该奖励有效地减少了冲击力,同时保持了整体运动轮廓。
7. 总结与思考
7.1. 结论总结
本文成功地展示了 Olaf 机器人,一个能够准确模仿动画角色风格和外观的自由行走机器人。为应对具有挑战性的设计要求,作者提出了一种非对称的 6-DoF 腿部机构,并将其巧妙地隐藏在泡沫裙下。在控制方面,通过使用强化学习,并引入了冲击减少奖励,显著降低了脚步噪音,从而增强了角色的逼真度。此外,为了解决执行器过热和关节限制违反的问题,本文整合了控制障碍函数约束和热量模型。
尽管研究结果主要针对 Olaf 这一特定角色,但所提出的解决方案具有超越特定角色的应用潜力,例如非对称腿部设计和热量感知策略。
7.2. 局限性与未来工作
作者指出了以下局限性及未来的研究方向:
- 热量模型精度: 可以使用更高精度的热量模型,以捕捉机械效应(如摩擦)或延长运行期间执行器外壳的逐渐加热等贡献。
- 服装与腿部交互: 服装与腿部之间的相互作用力目前仅通过领域随机化 (domain-randomized) 扰动力来处理。显式建模这些效应可以减少对随机化的依赖,并提供更有针对性的训练。
7.3. 个人启发与批判
这篇论文在机器人学领域提供了一个令人兴奋的新方向,即从纯粹的功能性转向角色逼真度 (character believability)。它展示了如何将机械设计的创新(如非对称腿和巧妙的连杆机构)与先进的控制方法(强化学习、CBF、定制奖励)结合起来,以解决动画角色在物理世界中面临的独特挑战。
个人启发:
- 多学科交叉的成功范例: 本文是机械工程、控制理论、强化学习和动画艺术完美结合的典范。它证明了在特定领域挑战下,通过跨学科的创新,可以创造出突破性的成果。
- 关注“非功能性”指标的重要性: 传统机器人学往往忽视了听觉(如脚步噪音)和感官(如热量管理)在人类互动中的重要性。本文通过引入冲击减少和热量感知奖励,展示了这些“非功能性”指标对于提升机器人用户体验和安全性至关重要。
- CBF 在 RL 中的应用: 将控制障碍函数与强化学习结合,为安全关键型机器人系统的策略学习提供了一种强大的框架。这不仅确保了机器人的运行安全,也使得智能体能够在更复杂的物理约束下进行探索和学习。
- 动画作为行为参考: 将动画参考作为 RL 的模仿目标,为机器人带来了独特的运动风格和表现力,这比纯粹基于物理模拟的运动更加生动和引人入胜。
潜在问题、未经验证的假设或可改进的地方:
-
领域随机化依赖: 尽管领域随机化是处理未建模动态的有效方法,但对于服装与腿部这种紧密耦合的交互,显式物理建模或许能带来更高效和更鲁棒的学习。例如,可以尝试结合物理引擎中的软体建模或基于数据驱动的接触模型来模拟服装效应。
-
可伸缩性与泛化性: Olaf 是一个特定角色。虽然方法具有通用性,但将这种设计和训练流程应用于其他具有不同比例、材质和运动风格的动画角色时,可能仍需要大量的重新设计和微调。如何建立一个更通用的“动画角色机器人化”框架是一个有待探索的方向。
-
长期稳定性与磨损: 软泡沫裙和磁性附件在长期运行和频繁跌落后,其形状保持、弹性和可靠性如何?这些材料在娱乐场景下的耐用性和维护成本可能是实际部署中需要考虑的问题。
-
能量效率: 尽管论文明确表示能量效率是次要考虑因素,但在某些应用场景下,如果机器人需要长时间运行,能量消耗仍然会是一个重要的实际问题。未来的工作可以在保持逼真度的前提下,探索提高能量效率的方法。
总而言之,Olaf 项目为机器人领域树立了新的标杆,展示了如何将非机器人角色的魅力带入物理世界,并为未来更具表现力和互动性的机器人奠定了基础。
相似论文推荐
基于向量语义检索推荐的相关论文。