Residual Force Control for Agile Human Behavior Imitation and Extended Motion Synthesis
研究目标
基于物理的运动生成模型通过引入物理约束能够生成更加自然的动作,但由于训练环境中使用的动力学模型与测试/现实中的实际动力学模型存在差异(人体模型 vs 真实人体、仿真环境 vs 真实环境,等),导致人体模型与真实人类的动力学不匹配问题,从而难以实现高敏捷动作模仿(如芭蕾舞蹈)和无任务引导的多模态长期运动合成
研究贡献
- 引入残差力控制(Residual Force Control,RFC)概念,用于微调已有控制策略的输出,使其适应当前真实环境的动力学(质量、摩擦力、重力、关节力矩、速度和加速度等),增强模型应对复杂动作的能力(高敏捷动作)
- 提出双策略控制框架,能够在没有任务指导或用户输入的情况下合成多模态的长期人体运动
问题建模
该论文将人体控制的动作模仿任务建模成马尔科夫决策过程(MDP),然后使用强化学习进行求解。MDP 由五部分组成 M = ( S , A , T , R , γ ) \mathcal{M}=(\mathcal{S,A,T},R,\gamma) M=(S,A,T,R,γ),其中
- S \mathcal{S} S 为状态空间(States),表示当前的身体姿态 x = s t a t e ( q , q ˙ ) x=state(q,\dot{q}) x=state(q,q˙),其中 q q q 表示所有关节的自由度(Degrees of Freedom),由根关节自由度 q r q_r qr(身体位置和朝向)和非根关节角度 q n r q_{nr} qnr 组成, q ˙ \dot{q} q˙ 表示所有关节自由度的速度(线速度、角速度)
- A \mathcal{A} A 为动作空间(Actions),采用目标角度 u u u 作为强化学习的策略输出,然后使用比例微分(PD)控制器计算对应关节扭矩 τ \tau τ: τ = k p ∘ ( u − q n r ) − k d ∘ q ˙ n r \tau=k_p\circ (u-q_{nr}) - k_d \circ \dot{q}_{nr} τ=kp∘(u−qnr)−kd∘q˙nr,其中 k p , k d k_p,k_d kp,kd 为手动设置的比例和微分增益,分别用于跟踪目标角度和抑制关节速度过快导致的振荡
- T \mathcal{T} T 为转移函数(Transition),根据给定当前状态 s t s_t st 和动作 a t a_t at,计算下一状态 s t + 1 s_{t+1} st+1 的概率分布 T ( s t + 1 ∣ s t , a t ) \mathcal{T}(s_{t+1}|s_t,a_t) T(st+1∣st,at)
- R R R为奖励函数(Reward),用于计算 agent 身体姿态 x t x_t xt 与参考动作 x ^ t \hat{x}_t x^t 的相似度,包括衡量 agent 非根关节自由度、关节速度、末帧姿势、质心与参考动作的差异
-
γ
\gamma
γ 为折扣因子,用于平衡即时奖励与长期奖励
采用参数化的高斯策略,给定状态 s s s 输出动作 a a a 的条件分布 π θ = N ( a ∣ s ) \pi_\theta=\mathcal{N}(a|s) πθ=N(a∣s)
残差力控制(RFC)
在原始控制动作 a t a_t at 之外引入额外的修正动作 a ~ t \tilde{a}_t a~t(即残差力),形成复合动作 ( a t , a ~ t ) (a_t, \tilde{a}_t) (at,a~t)。该残差力作为时变的动力学补偿项,允许 agent 更好地模仿参考动作。因此,需要设计复合策略 π ~ θ ( a t , a ~ t ∣ s t ) \tilde{\pi}_\theta(a_t,\tilde{a}_t|s_t) π~θ(at,a~t∣st) 用于同时优化原始控制动作 a t a_t at 和残差力 a ~ t \tilde{a}_t a~t,其中
- 原策略 π θ 1 ( a t ∣ s t ) \pi_{\theta_1} (a_t|s_t) πθ1(at∣st) 对应残差力为零的特例 ( a ~ t = 0 ) (\tilde{a}_t=0) (a~t=0),学习生成目标角度
- 残差力策略 π θ 2 ( a ~ t ∣ s t ) \pi_{\theta_2}(\tilde{a}_t|s_t) πθ2(a~t∣st) 学习时变修正力
文中提出了两种 RFC 实现方式:
RFC-Explicit(显式残差力)
将修正动作
a
~
t
\tilde{a}_t
a~t 显示建模为一组残差力向量
{
ξ
1
,
…
,
ξ
M
}
\{\xi_1,\dots,\xi_M\}
{ξ1,…,ξM} 及其对应接触点
{
e
1
,
…
,
e
M
}
\{e_1,\dots,e_M\}
{e1,…,eM},
a
~
t
=
(
ξ
1
,
…
,
ξ
M
,
e
1
,
…
,
e
M
)
\tilde{a}_t=(\xi_1,\dots,\xi_M,e_1,\dots,e_M)
a~t=(ξ1,…,ξM,e1,…,eM),而人体控制动作
a
=
u
a=u
a=u。
在多体系统动力学方程中显式加入残差力项:
B
(
q
)
q
¨
+
C
(
q
,
q
˙
)
q
˙
+
g
(
q
)
=
[
0
τ
]
+
∑
i
J
v
i
⊤
h
i
⏟
C
o
n
t
a
c
t
F
o
r
c
e
s
+
∑
j
=
1
M
J
e
j
⊤
ξ
j
⏟
R
e
s
i
d
u
a
l
F
o
r
c
e
s
\boldsymbol{B} ( \boldsymbol{q} ) \ddot{\boldsymbol{q}}+\boldsymbol{C} ( \boldsymbol{q}, \dot{\boldsymbol{q}} ) \dot{\boldsymbol{q}}+\boldsymbol{g} ( \boldsymbol{q} )=\left[ \begin{matrix} {{\boldsymbol{0}}} \\ {{\tau}} \\ \end{matrix} \right]+\underbrace{\sum_{i} \boldsymbol{J}_{\boldsymbol{v}_{i}}^{\top} \boldsymbol{h}_{i}}_{\mathrm{C o n t a c t \; F o r c e s}}+\underbrace{\sum_{j=1}^{M} \boldsymbol{J}_{\boldsymbol{e}_{j}}^{\top} \boldsymbol{\xi}_{j}}_{\mathrm{R e s i d u a l \; F o r c e s}}
B(q)q¨+C(q,q˙)q˙+g(q)=[0τ]+ContactForces
i∑Jvi⊤hi+ResidualForces
j=1∑MJej⊤ξj其中
- q ¨ \ddot{q} q¨ 是关节加速度, B ( q ) B(q) B(q) 为惯性矩阵, C ( q , q ˙ ) C(q,\dot{q}) C(q,q˙) 为科氏力和离心力, g ( q ) g(q) g(q)为重力向量
- h i h_i hi 为环境施加的接触力及其作用点 v i v_i vi, J v i = ∂ v i ∂ q J_{v_i}=\frac{\partial v_i}{\partial q} Jvi=∂q∂vi 是接触点 v i v_i vi对关节自由度 q q q 的雅可比矩阵。通过虚功原理,将外力转换为关节内力 J v i ⊤ h i J_{v_i}^\top h_i Jvi⊤hi
在奖励中添加正则化约束,确保策略只在必要时调用残差力,并保持关节协调性
r
t
=
r
t
i
m
+
w
r
e
g
r
t
r
e
g
,
r
t
r
e
g
=
exp
(
−
∑
j
=
1
M
(
k
f
∥
ξ
j
∥
2
+
k
c
p
∥
e
j
∥
2
)
)
r_{t}=r_{t}^{\mathrm{i m}}+w_{\mathrm{r e g}} r_{t}^{\mathrm{r e g}} \,, \quad r_{t}^{\mathrm{r e g}}=\operatorname{e x p} \left(-\sum_{j=1}^{M} \left( k_{\mathrm{f}} \left\| \boldsymbol{\xi}_{j} \right\|^{2}+k_{\mathrm{c p}} \left\| \boldsymbol{e}_{j} \right\|^{2} \right) \right)
rt=rtim+wregrtreg,rtreg=exp(−j=1∑M(kf
ξj
2+kcp∥ej∥2))
其中
r
t
i
m
r_t^{im}
rtim 为模仿奖励,鼓励学习参考动作,
r
t
r
e
g
r_t^{reg}
rtreg 为正则化约束项,用于限制残差力的大小和接触点的偏移
缺点:需要指定残差力的数量和接触点
RFC-Implicit(隐式残差力)
直接输出根关节的总扭矩
η
r
\eta_r
ηr 作为残差力,从而无需指定残差力的数量和接触点。将残差力合并到根关节动力学中,非根关节扭矩
η
n
r
\eta_{nr}
ηnr 由原策略和残差力共同作用:
B
(
q
)
q
¨
+
C
(
q
,
q
˙
)
q
˙
+
g
(
q
)
=
[
η
r
τ
]
+
∑
i
J
v
i
⊤
h
i
\boldsymbol{B} ( \boldsymbol{q} ) \ddot{\boldsymbol{q}}+\boldsymbol{C} ( \boldsymbol{q}, \dot{\boldsymbol{q}} ) \dot{\boldsymbol{q}}+\boldsymbol{g} ( \boldsymbol{q} )=\left[ \begin{matrix} {{\boldsymbol{\eta_r}}} \\ {{\tau}} \\ \end{matrix} \right]+\sum_{i} \boldsymbol{J}_{\boldsymbol{v}_{i}}^{\top} \boldsymbol{h}_{i}
B(q)q¨+C(q,q˙)q˙+g(q)=[ηrτ]+i∑Jvi⊤hi
奖励函数调整为:
r
t
=
r
t
i
m
+
w
r
e
g
r
t
r
e
g
,
r
t
r
e
g
=
exp
(
−
k
r
∣
∣
η
r
∣
∣
2
)
r_{t}=r_{t}^{\mathrm{i m}}+w_{\mathrm{r e g}} r_{t}^{\mathrm{r e g}} \,, \quad r_{t}^{\mathrm{r e g}}=\operatorname{e x p} \left(- k_r ||\eta_r||^2 \right)
rt=rtim+wregrtreg,rtreg=exp(−kr∣∣ηr∣∣2)
与显式 RFC 相比,隐式 RFC 牺牲了可解释性(无法观测具体作用点和力值),但计算效率更高——动作空间仅增加 6 维(根节点扭矩,对应全局平移和旋转),且无需雅可比矩阵计算
双策略控制
通过结合运动学策略的预测能力和 RFC 控制策略的物理实现能力,生成稳定、多样的长期运动
-
运动学策略 κ ψ \kappa_\psi κψ
利用条件自编码器 CVAE,建模给定过去 p p p步姿态 x t − p : t x_{t-p:t} xt−p:t 和潜在(意图)变量 z z z 的条件下,未来 f f f 步姿态 x t : t + f x_{t:t+f} xt:t+f 的条件分布,优化证据下界(ELBO):
L = E q ϕ ( z ∣ x t − p : t , x t : t + f ) [ log κ ψ ( x t : t + f ∣ x t − p : t , z ) ] − K L ( q ϕ ( z ∣ x t − p : t , x t : t + f ) ∥ p ( z ) ) {\mathcal{L}}=\mathbb{E}_{q_{\phi} ( z | \boldsymbol{x}_{t-p : t}, \boldsymbol{x}_{t : t+f} )} \left[ \operatorname{l o g} \kappa_{\psi} ( \boldsymbol{x}_{t : t+f} | \boldsymbol{x}_{t-p : t}, z ) \right]-\mathrm{K L} \left( q_{\phi} ( \boldsymbol{z} | \boldsymbol{x}_{t-p : t}, \boldsymbol{x}_{t : t+f} ) \| p ( \boldsymbol{z} ) \right) L=Eqϕ(z∣xt−p:t,xt:t+f)[logκψ(xt:t+f∣xt−p:t,z)]−KL(qϕ(z∣xt−p:t,xt:t+f)∥p(z))
其中,编码器 q ϕ q_\phi qϕ和解码器 κ ψ \kappa_\psi κψ被实例化为高斯分布,其参数由两个 RNN 生成(如下图) -
RFC 控制策略
给定潜在变量 z z z(从先验分布中随机采样),将 κ ψ \kappa_\psi κψ 解码生成的多模态未来动作 x ^ t : t + f \hat{x}_{t:t+f} x^t:t+f 视作参考状态,并使用 RFC 控制策略 π ~ θ ( a , a ~ ∣ x t − p : t , x ^ t : t + f , z ) \tilde{\pi}_\theta(a,\tilde{a}|x_{t-p:t},\hat{x}_{t:t+f},z) π~θ(a,a~∣xt−p:t,x^t:t+f,z) 对参考动作进行模仿,以确保运动物理合理性 。
为了充分利用参考状态,文中将 PD 控制器的输出动作 a t a_t at 改为基于 x ^ t \hat{x}_t x^t 非根关节角度 q ^ n r \hat{q}_{nr} q^nr 的残差角度 δ u \delta u δu,即 u = q ^ n r + δ u u=\hat{q}_{nr}+\delta u u=q^nr+δu。
实验结果
动作模仿
如图 2 中的学习曲线所示,引入残差力控制能够更快地达到更高的回报(平均模仿奖励),表明 RFC 控制策略能够更精准地模仿参考(高敏捷)动作
动作生成
RFC 在所有数据集上均优于非物理驱动方法(ERD、acLSTM),证明了物理约束对长期稳定运动的重要性;与单物理策略(EgoPose)相比,RFC 的平均/最终角度误差(MAE/FAE)更低,说明使用运动学策略进行预测指导可以提升物理控制精度;在 Cross(跨主体泛化)中,RFC 的 MAE 和 FAE 更低,表明 RFC 对不同身体模型的适应性更强
消融实验表明,使用残差力有助于修正动力学差异,而使用参考角度(来自动力学)作为初始猜测,可以大幅降低控制策略的学习难度
总结
真实人体动作依赖复杂的肌肉-骨骼交互和接触力,而 agent 人体模型的关节驱动能力有限,无法通过传统关节扭矩产生这些力。因此引入残差力作为可学习的外部干预,直接在动力学方程中添加修正项,允许 agent 产生原本无法实现的力/力矩。而使用运动学策略的预测状态作为初始猜测,则降低了控制策略的学习难度,有利于长运动序列的合成
收获
这是我第一次接触基于物理的人体动作生成方式,与基于运动学/数据的方式不同,基于物理的方式一般通过强化学习,设计物理相关的奖励函数,引导 agent 每一步、每个关节要如何运动。虽然在基于运动学的方法中,损失函数中也会添加类似姿态差异、速度差异等物理约束,但可能是因为基于物理的方式采用多体系统动力学方程进行建模,而基于运动学的方式采用基于数据分布的方式进行建模,才导致二者呈现的物理合理性不同