运动重定向:C-3PO-v1

news2024/10/6 16:22:29

TeachMe: Three-phase learning framework for robotic motion imitation based on interactive teaching and reinforcement learning解析

  • 摘要
  • 1. 简介
  • 2. 相关工作
    • 2.1 基于编码器-解码器的架构
    • 2.2 强化学习
  • 3. 方法
    • 3.1 问题表述
    • 3.2 NTU-DB
    • 3.3 阶段1: 编码器和解码器
    • 3.4 阶段2: 基于模拟的强化学习
    • 3.5 阶段3: 交互式强化学习

论文链接:https://ieeexplore.ieee.org/document/8956326
论文出处:2019 RO-MAN
论文单位:Korea University of Science and Technology,韩国

摘要

  • 动作模仿是机器人的基本沟通技能; 尤其是与人类的非语言互动。
  • 由于人与机器人的运动学构型存在差异,确定两种姿态域之间的适当映射具有挑战性。
  • 此外,在从人体运动视频中提取3D运动细节(如手腕关节运动)时,技术限制导致运动重定向面临重大挑战。
  • 在不同运动域上的显式映射表明了一个相当低效的解决方案。
  • 为了解决这些问题,我们提出了一种三阶段强化学习方案,使NAO机器人能够从从视频输入中提取的人体姿态骨架中学习运动。
  • 我们的学习计划包括三个阶段
    (1)第一阶段为学习准备
    (2)第二阶段是基于模拟的强化学习
    (3)第三阶段是基于人在环的强化学习
  • 在第一阶段,人类骨骼和机器人运动的嵌入由自动编码器学习。
  • 在第二阶段,NAO机器人使用强化学习来学习粗略的模仿技能,该强化学习可以翻译学习到的嵌入。
  • 在最后一个阶段,机器人通过基于直接教学的交互式设置奖励来学习前一阶段没有考虑到的运动细节,而不是前一阶段使用的方法。
  • 特别值得注意的是,与第二阶段整体模仿所需的大量训练集相比,第三阶段运动细节所需的交互式输入数量相对较少。
  • 实验结果表明,该方法有效地提高了对NTU-DB中手势和敬礼动作的模仿能力。

1. 简介

  • 根据社会学习理论,人类可以通过观察和模仿他人来学习新的行为。

  • 通过这种社会学习技能,人类互动并进行非语言的社会行为,如挥手或鞠躬。

  • 同样,对于人类与机器人的非语言社交互动,教会机器人观察和模仿人类的动作是至关重要的。

  • 模仿学习是一种长期研究的方法,用于向机器人教授人类动作

  • 机器人教学方法多种多样,包括基于点的直接教学、基于人体运动数据的动态建模和优化的运动重定向远程操作间接教学基于虚拟现实的远程操作教学

  • 通过这些精确的动力学建模基于末端执行器的教学方法,机器人可以有效地完成目标任务。

  • 考虑到人-机器人的社会互动,为了在不失去表演者的隐含意义或意图的情况下模仿人类的运动,不仅在末端执行器上,而且在肘关节等其他关节上都应该进行精确的运动重定向。

  • 特别是,需要精确的设备或方法来克服由于运动学配置差异而出现的问题,同时教授复杂的运动,如手腕关节运动。

  • 因此,在这些情况下,不借助任何外部设备直接操纵机器人手臂来指导机器人的动觉教学是直观有效的,特别是在手腕关节运动的教学中。

  • 近年来,许多研究引入深度学习技术来解决具有挑战性的问题。深度学习需要大量的训练数据。然而,收集如此大量的数据成本很高,特别是在机器人应用中。

  • 在本研究中,为了利用少量试验的直接教学和深度学习的优势,我们试图对上一步中由模拟器进行深度强化学习训练的策略进行微调。

  • 我们将我们的方法称为三阶段强化学习,包括基于模拟的学习基于人在环的交互式学习方法(图1)。
    在这里插入图片描述

  • 我们的目标是使NAO机器人能够产生与人类骨骼的姿势相匹配的运动,这些动作展示了从NTU-DB数据集获得的挥手和敬礼动作。

  • 我们的学习计划包括三个阶段。第一阶段,作为准备步骤,使用骨骼和合成运动数据生成人类和NAO运动的嵌入。

  • 在第二阶段,我们使用强化学习确定两个嵌入之间的映射策略。

  • 在最后一个阶段,动觉教学是根据第二阶段学到的最优策略逐帧进行的。我们能够学习到上一阶段没有考虑到的细节运动,比如手腕关节的运动,并解决运动学构型差异带来的困难。

  • 此外,通过实验,我们证明了模仿技能可以在相对较短的学习时间内得到提高。

  • 表1。列出每个学习阶段的模拟和交互式学习方法的使用情况。
    在这里插入图片描述

  • 综上所述,我们的主要贡献如下:
    (1) 将人体运动模拟建模为人体骨骼与机器人运动之间的映射问题,提出了基于用户引导的三阶段框架,并给出了实验结果。据我们所知,这是人类运动模仿的第一个框架,它结合了从合成运动中学习和交互式微调。
    (2)我们为机器人生成了一个统一的运动解码器,它包含了我们所有的运动类,并验证了我们的策略可以成功地使用这个集成的机器人运动解码器进行训练。
    (3)实验表明,通过少量的交互式教学,可以有效地改进前一阶段的定量训练策略。

2. 相关工作

2.1 基于编码器-解码器的架构

  • 编码器-解码器网络架构在最近的几项研究中越来越受欢迎,包括机器人任务、人类运动预测、机器翻译和图像字幕。
  • 在我们的研究中,我们尝试使用由**变分自编码器(VAE)**编码的逐帧骨骼数据和机器人运动,让NAO机器人实时模仿人体运动。
  • 通过强化学习实现了骨架与机器人姿态之间的运动重定向;此外,使用NTU-DB进行培训和评估。

2.2 强化学习

  • 从游戏、机器人到动画,近年来强化学习在各个研究领域得到了广泛的应用。
  • 此外,我们的框架不是使用轨迹,而是使用一种最近的强化学习算法——近端策略优化(PPO)算法在逐帧数据上运行。

3. 方法

  • 运动模仿学习的主要概念是确定骨架姿态的低维状态表示与NAO之间的映射函数π
  • 如图2所示,两个姿态的运动嵌入具有不同的分布,因此,我们尝试使用强化学习来确定这些姿势之间的运动重定向映射。
    在这里插入图片描述

3.1 问题表述

  • 从给定时刻 t 的人体姿态图像 D_t 和骨架变换函数 f_s 中,我们定义了人体姿态图像的骨架变换为 x_s = f_s(D_t)
  • ρ_s 为骨架编码器;
  • x_s={x1,y1,z1,…,x25,y25,z25} 为骨骼本身。
  • z_s = ρ_s(x_s) 是骨架的编码。其中 z_s 是人体姿态D_t图像对应的骨架的低维表示
  • x_r = {θ1, θ2, …, θ10} 为NAO的pose.
  • ρ_r 为机器人位姿编码器。
  • NAO的pose的低维状态表示为:z_r = ρ_r(x_r)
  • 我们的目标是确定合适的策略 z_r = π(z_s),该策略将姿势从给定的人类姿势的潜在表征 z_s 映射到NAO姿势对应的潜在表征 z_r。

3.2 NTU-DB

  • NTU-DB提供的骨架由25个关节组成,每个关节具有x, y, z坐标。
  • 由于我们在第二阶段定义了一个关于骨架和NAO的运动学配置的奖励函数,因此需要一个预处理步骤来校准骨架的坐标以使其与NAO的坐标相匹配
  • 最初,骨架的每个关节都是基于躯干关节移动的,并且在躯干和骨盆关节之间创建了一个向量。
  • 从矢量中创建正交矢量,然后根据Kinect参考坐标生成方向余弦矩阵(DCM),因为骨架是基于Kinect坐标表示的。
  • 使用DCM旋转坐标后,再次旋转到NAO坐标。
  • 最后,通过偏航方向校正完成坐标变换。

3.3 阶段1: 编码器和解码器

  • 如图3所示,VAE用于学习骨架的低维状态表示和NAO的参考运动。
    在这里插入图片描述

  • 在排除误差数据的情况下,用40k帧的挥手动作和32k帧的敬礼动作训练骨架的VAE。

  • 图4的左侧显示了骨架的VAE编码器部分的详细结构。
    在这里插入图片描述

  • 骨架编码器 ρ_s 接受75维(25 × 3)的 x_s 的骨架作为输入,利用整流线性单元激活函数对200、100和50的均值和标准差进行采样后,输出一个五维潜在表示向量 z_s

  • NAO运动的VAE具有与骨架相似的结构,并且在我们的研究中仅使用了解码器 β_r 来从NAO姿态的潜在表示向量 z_r 生成估计的运动值 β_r(z_r) = x_r^

  • NAO运动解码器的详细结构如图4右侧所示。

  • 利用机器人运动潜在表示向量 z_r,估计的电机值 x^ r = {θ^ 1, θ^ 2, …, θ^10}, 通过50,100和200层的 Tanh 激活函数输出。

  • 电机值,θ^ 1,···,θ^10,对应左臂的五个关节,即肩倾、侧倾、肘部偏航、侧倾、手腕偏航,以及右臂类似的五种运动。

  • 为了训练每个动作类的NAO动作解码器,一个名为“Choregraphe”的官方NAO模拟器被用来为每个动作生成几个合成的参考动作帧。

  • 在挥手运动中,我们从双臂的四种参考运动模式中,通过噪声添加数据增强创建了20k帧。在敬礼运动中,采用两种参考运动模式和噪声加持数据增强生成10k帧。

3.4 阶段2: 基于模拟的强化学习

  • 在第二阶段,我们使用在第一阶段学习到的骨架编码器 ρ_sNAO运动解码器 β_r 来训练策略 πξ,该策略πξ可以在骨架和NAO运动嵌入之间适当地映射。
  • 策略通过PPO进行训练,PPO是一种最新的强化学习算法
  • 如图4的中心部分所示,该策略由演员(actor)和评论家(critic)网络组成,每个网络都有两个完全连接的层,共64层,具有 Tanh激活功能。
  • 一个编码的骨架z_s被输入到演员和评论家网络中,这产生了演员的一个动作,作为NAO动作解码器的输入,以及评论家通过评估学习演员网络的一个值。
  • 训练时使用V-REP模拟器进行NAO运动模拟。
  • 为了训练策略进行适当的映射,需要设计适当的奖励函数。
  • 由于我们的实验选择的所有运动都只使用了手臂,因此我们使用双臂的向量来设计奖励函数,以确保NAO遵循骨骼的姿态。
  • 下面的方程表示强化学习阶段2中使用的奖励函数。
    在这里插入图片描述
    由式(1)计算骨架和NAO臂向量之间的余弦相似度δi。
  • 在图3的第二行中,vi和wi分别表示骨架臂向量和NAO臂向量,其中索引 i 表示 S
    中臂的右上(ur)、右下(lr)、左上(ul)和左下(ll)部分。
  • 然后,δ_i 用于计算奖励函数 L_p2,该函数在0和1之间归一化。为了放大相似误差,将 -2.0乘以δ_i。
  • 第2阶段的目标函数为:
    在这里插入图片描述
    其中阶段2的目标是找到策略 πξ 的最优参数 ξ∗ ,使预期奖励最大化。
  • 骨架编码器ρ_sπξ策略NAO运动解码器β_r生成与输入骨架x_s对应的NAO电机估计值x^rξ

3.5 阶段3: 交互式强化学习

  • 在第二阶段,我们使用模拟器和适当设计的奖励函数来训练运动模仿策略。
  • 然而,由于自由度不足(每臂5个自由度),NAO不能完全表示笛卡尔空间中每个臂的6个自由度。
  • 除此之外,还有一些限制导致模仿学习困难。
  • 由于NAO臂的自由度低于骨架,因此具有不同的可操作性,并且在阶段2的奖励函数 L_p2 中没有考虑腕关节运动等细节运动。
  • 即使是由f_s制造的骨骼的手腕关节运动也表现出低可靠性,因为它的噪音。
  • 由于运动学构型的差异和详细运动学习的困难,阶段2方法显示出明显的局限性。
  • 为了克服这些限制,我们在第三阶段引入了人在环教学方法在训练期间直接与机器人交互来教授动作
  • 在这种方法中,人类观察每个输入的骨架框架,并通过操纵其手臂产生与骨架对应的NAO姿势并将其记录到记忆中。
  • 当收集到一定数量的批量大小的训练数据时,通过奖励函数更新策略。
  • 下面的等式表示第三阶段的奖励函数
    在这里插入图片描述
    其中误差放大常数设为经验值-2.0。
  • 根据第三阶段:z_r = π(z_s) 的策略,将骨架的输入潜表示 z_s 映射到NAO运动的潜表示 z_r。
  • 由NAO运动解码器再次解码 z_r 以产生估计的电机值x^r。
  • 现在,从式(4)中,计算电机估计值 x^r 与实际电机值 x_gt = {θ1, θ2, …, θ10} 之间的2范数误差,x_gt 是由人手动创造的。
  • 利用这个误差,第三阶段的归一化奖励 L_p3 由指数函数和放大常数计算,如式(4)所示。
  • 第三阶段的目标函数公式如下:
    在这里插入图片描述
  • 阶段2的最优策略参数ξ∗成为阶段3的初始策略参数 φ = ξ∗。
  • 现在,第三阶段的目标是确定最优策略参数φ∗,使期望奖励函数 L_p3 最大化。
  • 因此,我们观察到在阶段2中执行了粗调优,而在阶段3中执行了微调

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1302067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

9.静态路由

静态路由 中小型网络都会用到,防火墙核心交换机用的很多,一般是用在出口 路由表:路由器用来转发数据包唯一的依据 NextHop下一跳 Static静态路由需要手动设置 ip route-static 目标网段 掩码 下一跳例如:ip route-static 192…

SD-WAN VS MPLS :怎么选择最合适的网络连接方案?

随着企业网络需求的不断增长,网络连接方案也变得更加多样化。在这种情况下,SD-WAN和MPLS成为了企业考虑的两种主要选择。本文将就SD-WAN和MPLS这两种网络连接方案进行比较,深入探讨它们在成本、体验、部署周期和运维等方面的差异。 1、成本投…

LV.13 D2 开发板启动流程 学习笔记

一、开发板启动过程 EMMC:相当于电脑的外存,断电不丢失 开发板上电后首先运行SOC内部iROM中固化的代码(BL0),这段代码先对基本的软硬件环境(时钟等...)进行初始化,然后再检测拨码开关位置获取启动方式,然后再将对应存储…

vs vue项目目录说明

vue项目目录结构说明 视图: 主要描述src和依赖配置 src下 assets:存放需要用到的静态资源文件的地方 如css.js.img.view等 commponents:存放一些通用的组件;例:在开发当中如果有需要抽出来的公用模块,可以封装为通用组件&#xf…

AI 绘画 | Stable Diffusion 真实人物动漫二次元化

前言 如何让一张真实人物变成动漫二次元风格的图片?Stable Diffusion WebUI加上contolNet扩展插件帮你快速实现。快来使用AI绘画打开异世界的大门吧!!! 真人动漫化 选择大模型 首先选择一个二次元风格人物画风的大模型(我这里选择是SD1.5通用模型anything-v5-PrtRE.sa…

【数字经济】你必须知道的SABOE数字化转型

【文末送书】今天推荐一本企业管理类前沿书籍《企业架构驱动数字化转型:以架构为中心的端到端转型方法论》 目录 01传统企业数字化转型面临诸多挑战02SABOE数字化转型五环法为企业转型破除迷雾03文末送书 01传统企业数字化转型面临诸多挑战 即将过去的2023年&#…

赛邮云全新改版-SUBMAIL.v4,快来看都有哪些变化吧!

赛邮云全新改版-SUBMAIL.v4,快来看都有哪些变化吧! [![](https://img-blog.csdnimg.cn/img_convert/b57c34f9d1732e78d85a73d5f0ec5669.png)](https://libraries.mysubmail.com/public/745bbd47ee09e5810cebad1688282e65/images/a8901d3890dd27fae0745ec…

可以组成网络的服务器 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 200分 题解: Java / Python / C 题目描述 在一个机房中,服务器的位置标识在n*m的整数矩阵网格中,1表示单元格上有服务器,0表示没有。如果两台服务器位于同一行或者同一列…

git入门教程+常用命令

Git入门教程 本文章主要参照视频教程:https://www.bilibili.com/video/BV1FE411P7B3/?spm_id_from333.337.search-card.all.click&vd_source06caf161b187fb3f4c039bc15e238fea 为什么要使用GIT 版本控制是项目、文档迭代的必然要求,所以需要使用…

traj_dist 笔记:Cython部分(cydist)

1 basic_euclidean.pyx 1.1 cimport 部分 from libc.math cimport sqrt from libc.math cimport fmin #使用 cimport 从 C 的标准库 libc 中导入数学函数 sqrt(平方根)和 fmin(两个浮点数的最小值)cimport numpy as np导入 NumP…

张正友相机标定法原理与实现

张正友相机标定法是张正友教授1998年提出的单平面棋盘格的相机标定方法。传统标定法的标定板是需要三维的,需要非常精确,这很难制作,而张正友教授提出的方法介于传统标定法和自标定法之间,但克服了传统标定法需要的高精度标定物的缺点,而仅需使用一个打印出来的棋盘格就可…

Qt开发 之 记一次安装 Qt5.12.12 安卓环境的失败案例

文章目录 1、安装Qt2、安卓开发的组合套件2.1、CSDN地址2.2、官网地址2.3、发现老方法不适用了 3、尝试用新方法解决3.1、先安装JDK,搞定JDK环境变量3.1.1、安装jdk3.1.2、确定jdk安装路径3.1.3、打开系统环境变量配置3.1.4、配置系统环境变量3.1.5、验证JDK环境变量…

白羽肉鸡养殖市场分析:2023年中国市场处于盈利状态

白羽肉鸡是我国养殖的主要快大型肉鸡品种,由于羽毛为白色,相较于本土黄羽肉鸡的羽毛颜色,基层常称其为白羽肉鸡。 隐性白羽鸡属于快大白羽肉鸡。是从白洛克(或白温多得)中选育而成。原产于法国。隐性白羽鸡在优质鸡配套上的应用对我国优质鸡产…

HCIA-H12-811题目解析(5)

1、【单选题】 以下关于Hybrid端口说法正确的有? 2、【单选题】使用命令"vlan batch 10 20"和"valn batch 10 to 20",分别能创建的vlan数量是?() 3、【单选题】二层ACL的编号范围是?…

女士内衣市场分析:预计2028年将达到643.08亿美元

内衣 (英文名:Underwear),是指贴身穿的衣物。内衣有保暖及污秽的危害作用,有时会被视为性征。女士内衣行业生产的主要原料是各类织布或无纺布,成分有海绵、边、定型纱、骨胶、肩带等,布面料在内衣企业的生产成本中所占比重较大。女…

泰裤辣!!!我又学到了监控服务器的各种方法!

好耶!又能学习到监控服务器的各种方法了。像是利用linux命令去监控的方法就有好几种哦 方法一:动态监控top命令 方法二:内存监控free -m 方法三:磁盘iostat -d 2 3 还有利用jmeter插件去监控服务器哦我们可以使用ServerAgent插件…

20、关联容器、无序容器

20、关联容器、无序容器 关联容器mapmultimapsetmultiset 无序容器哈希unordered_map 关联容器 map // map的使用 #include <iostream> #include <map> #include <stdexcept> using namespace std;class Student{ public:Student(const string& name&qu…

【设计模式--结构型--外观模式】

设计模式--结构型--外观模式 外观模式定义结构案例优缺点使用场景 外观模式 定义 又称门面模式&#xff0c;时一种通过多个复杂的子系统提供一个一致的接口&#xff0c;而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口&#xff0c;外部应用程序不用关心内部 子…

大数据机器学习算法项目——基于Django/协同过滤算法的房源可视化分析推荐系统的设计与实现

大数据机器学习算法项目——基于Django/协同过滤算法的房源可视化分析推荐系统的设计与实现 技术栈&#xff1a;大数据爬虫/机器学习学习算法/数据分析与挖掘/大数据可视化/Django框架/Mysql数据库 本项目基于 Django框架开发的房屋可视化分析推荐系统。这个系统结合了大数据…

手写VUE后台管理系统10 - 封装Axios实现异常统一处理

目录 前后端交互约定安装创建Axios实例拦截器封装请求方法业务异常处理 axios 是一个易用、简洁且高效的http库 axios 中文文档&#xff1a;http://www.axios-js.com/zh-cn/docs/ 前后端交互约定 在本项目中&#xff0c;前后端交互统一使用 application/json;charsetUTF-8 的请…