ICLR 2024
paper
前言
Human motion driven control (HMDC) 是一种控制策略,它利用人类动作或行为模式来指导和优化自动控制系统的性能。这种控制方法通常应用于机器人技术、虚拟现实、人机交互以及其他需要模拟或响应人类行为的领域。
HMDC 的核心思想是通过分析和理解人类的运动模式,提取关键的动作特征,并将这些特征转化为控制信号,以此来驱动控制系统的响应。这种方法的优势在于能够模拟人类的自然运动和行为,使得机器人或其他自动系统的动作更加流畅、自然和符合人类的直觉。
在实际应用中,HMDC 可能涉及以下几个关键步骤:
动作捕捉:使用传感器、摄像头或其他设备捕捉人类的动作数据。这些数据可以包括关节位置、速度、加速度等。
数据处理与分析:对捕捉到的动作数据进行处理,提取有用的特征信息。这可能包括使用机器学习算法来识别动作模式、预测未来动作或识别特定行为。
控制策略设计:根据提取的动作特征,设计控制策略来指导自动系统的行为。这可能涉及到调整机器人的运动参数,如速度、力度和方向,以模拟人类的动作。
实时反馈与调整:在控制系统运行过程中,实时监控系统性能,并根据实际情况调整控制策略,以确保系统行为与人类动作保持一致。
HMDC 的一个典型应用是在康复机器人领域,其中机器人需要模拟人类的运动来帮助病人进行物理治疗。通过模仿人类的自然动作,康复机器人可以提供更加个性化和舒适的治疗体验。
另一个应用是在虚拟现实游戏中,玩家的动作可以被捕捉并直接转化为游戏中角色的动作,从而提供更加沉浸式的游戏体验。
总的来说,Human motion driven control (HMDC) 是一种将人类动作与自动控制系统相结合的方法,它通过模拟和响应人类行为,使得自动系统的动作更加自然和符合人类的直觉。这种方法在提高人机交互的自然性和效率方面具有重要意义。
Intro
本文提出一种无监督的强化学习框架CrossLoco用于实现HMDC,学习机器人技能及其与人体运动的对应关系。关键创新是基于循环一致性的构造奖励函数,旨在最大化人体运动和机器人状态之间的互信息。
method
定义人体姿势数据以及及机器人姿势数据分别为
p
h
p_h
ph以及
p
r
p_r
pr。现在我们拥有一个人类运动序列数据
m
h
=
[
p
0
h
,
p
1
h
,
⋯
,
p
T
−
1
h
]
\mathbf{m}^{h}=[\mathbf{p}_{0}^{h},\mathbf{p}_{1}^{h},\cdots,\mathbf{p}_{T-1}^{h}]
mh=[p0h,p1h,⋯,pT−1h],目标便是学习一个机器人策略
a
t
∼
π
(
a
t
∣
s
t
r
,
x
t
h
=
x
(
p
t
h
)
)
a_t \sim \pi(a_t|s_t^r, \mathbf{x}_{t}^{h}=x(\mathbf{p}_{t}^{h}))
at∼π(at∣str,xth=x(pth)),最大化累计奖励函数:
J
(
π
)
=
E
m
h
∼
p
(
m
h
)
,
τ
r
∼
p
(
τ
r
∣
π
,
x
t
h
)
[
∑
t
=
0
T
−
1
γ
t
r
(
s
t
r
,
x
t
h
,
a
t
)
]
,
J(\pi)=\mathbb{E}_{\mathbf{m}^{h}\sim p(\mathbf{m}^{h}),\tau^{r}\sim p(\tau^{r}|\pi,\mathbf{x}_{t}^{h})}[\sum_{t=0}^{T-1}\gamma^{t}r(\mathbf{s}_{t}^{r},\mathbf{x}_{t}^{h},\mathbf{a}_{t})],
J(π)=Emh∼p(mh),τr∼p(τr∣π,xth)[t=0∑T−1γtr(str,xth,at)],
为了获得一个将人体姿势与机器人相对应的奖励函数。算法采用最大化姿态互信息:
I
(
p
t
r
,
p
t
h
∣
π
)
≥
H
(
p
t
h
)
+
E
m
h
∼
p
(
m
h
)
,
p
t
r
∼
p
(
p
t
r
∣
p
t
h
,
π
)
[
log
(
q
r
2
h
(
p
t
h
∣
p
t
r
)
)
]
]
I(\mathbf{p}_t^r,\mathbf{p}_t^h|\pi)\geq H(\mathbf{p}_t^h)+\mathbb{E}_{\mathbf{m}^h\sim p(\mathbf{m}^h),\mathbf{p}_t^r\sim p(\mathbf{p}_t^r|\mathbf{p}_t^h,\pi)}[\log(q^{r2h}(\mathbf{p}_t^h|\mathbf{p}_t^r))]]
I(ptr,pth∣π)≥H(pth)+Emh∼p(mh),ptr∼p(ptr∣pth,π)[log(qr2h(pth∣ptr))]]
其中
q
r
2
h
q^{r2h}
qr2h表示利用机器人姿势重构人体姿势。互信息的下界第一项是固定值(人体数据固定),因此转化为最大化第二项,其目标是让重构的人体姿态更精确。算法利用一个高斯分布来衡量
q
r
2
h
(
p
t
h
∣
p
t
r
)
=
N
(
μ
r
2
h
(
p
t
r
)
,
σ
)
q^{r2h}(\mathbf{p}_{t}^{h}|\mathbf{p}_{t}^{r})=N(\mu^{r2h}(\mathbf{p}_{t}^{r}),\sigma)
qr2h(pth∣ptr)=N(μr2h(ptr),σ),因此便可通过监督学习优化
arg
min
q
r
2
h
L
r
2
h
=
E
p
t
h
∼
p
(
p
t
h
)
,
p
t
r
∼
d
π
(
p
t
r
∣
p
t
h
)
[
∣
∣
p
t
h
−
μ
r
2
h
(
p
t
r
)
∣
∣
2
2
]
\arg\min_{q^{r2h}}L^{r2h}=\mathbb{E}_{\mathbf{p}_{t}^{h}\sim p(\mathbf{p}_{t}^{h}),\mathbf{p}_{t}^{r}\sim d\pi(\mathbf{p}_{t}^{r}|\mathbf{p}_{t}^{h})}[||\mathbf{p}_{t}^{h}-\mu^{r2h}(\mathbf{p}_{t}^{r})||_{2}^{2}]
argqr2hminLr2h=Epth∼p(pth),ptr∼dπ(ptr∣pth)[∣∣pth−μr2h(ptr)∣∣22]
然而上述重构过程并不能保证多样性(可能出现不同机器人对应相同人体),因此,算法继续构建一种人体到机器人的映射
q
h
2
r
(
p
t
r
∣
p
t
h
)
q^{h2r}(\mathbf{p}_t^r|\mathbf{p}_t^h)
qh2r(ptr∣pth), 基于循环一致性原理构造如下损失函数
arg
min
q
r
2
h
,
q
h
2
r
L
r
2
r
=
L
r
2
h
+
E
p
t
h
∼
p
(
p
t
h
)
,
p
t
T
∼
d
π
(
p
t
r
∣
p
t
h
)
[
∣
∣
p
t
r
−
μ
h
2
r
(
μ
r
2
h
(
p
t
r
)
)
∣
∣
2
2
]
.
\arg\min_{q^{r2h},q^{h2r}}L^{r2r}=L^{r2h}+\mathbb{E}_{\mathbf{p}_{t}^{h}\sim p(\mathbf{p}_{t}^{h}),\mathbf{p}_{t}^{T}\sim d^{\pi}(\mathbf{p}_{t}^{r}|\mathbf{p}_{t}^{h})}[||\mathbf{p}_{t}^{r}-\mu^{h2r}(\mu^{r2h}(\mathbf{p}_{t}^{r}))||_{2}^{2}].
argqr2h,qh2rminLr2r=Lr2h+Epth∼p(pth),ptT∼dπ(ptr∣pth)[∣∣ptr−μh2r(μr2h(ptr))∣∣22].
两种映射关系交替训练完成后便构建reward
r
t
c
p
d
=
exp
(
−
∣
∣
p
t
h
−
μ
r
2
h
(
p
t
r
)
∣
∣
2
2
−
∣
∣
p
t
r
−
μ
h
2
r
(
μ
r
2
h
(
p
t
r
)
)
∣
∣
2
2
)
.
r_t^{cpd}=\exp(-||\mathbf{p}_t^h-\mu^{r2h}(\mathbf{p}_t^r)||_2^2-||\mathbf{p}_t^r-\mu^{h2r}(\mu^{r2h}(\mathbf{p}_t^r))||_2^2).
rtcpd=exp(−∣∣pth−μr2h(ptr)∣∣22−∣∣ptr−μh2r(μr2h(ptr))∣∣22).
然后采用PPO算法优化机器人策略。