CrossLoco: Human Motion Driven Control of Legged Robots via Guided Unsupervised Reinforcement...

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,,pT1h],目标便是学习一个机器人策略 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π(atstr,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(π)=Emhp(mh),τrp(τrπ,xth)[t=0T1γ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)+Emhp(mh),ptrp(ptrpth,π)[log(qr2h(pthptr))]]
其中 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(pthptr)=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=Epthp(pth),ptrdπ(ptrpth)[∣∣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(ptrpth), 基于循环一致性原理构造如下损失函数
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+Epthp(pth),ptTdπ(ptrpth)[∣∣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算法优化机器人策略。

伪代码

在这里插入图片描述

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值