APP下载

机器人运动轨迹的模仿学习综述

2022-03-10黄艳龙

自动化学报 2022年2期
关键词:协方差轨迹文献

黄艳龙 徐 德 谭 民 ,

机器人运动技能的模仿学习(Imitation learning,IL),又称示教学习(Learning from demonstration,LfD)或示教编程(Programming by demonstration,PbD),是指机器人通过学习示教样本来获得运动技能的一类算法,其学习过程一般为从单个或少量示教轨迹中提取运动特征,随后将该特征泛化到新的情形,从而使得机器人具有较好的自适应性.

自1999 年Schaal[1]提出机器人模仿学习的概念之后,模仿学习作为机器人技能学习(Robot learning)领域中的一个重要分支近年来取得了许多重要的进展.例如,Ijspeert 等[2]提出了动态运动基元(Dynamical movement primitives,DMP),其仅需学习单条示教轨迹即可实现点到点和周期运动的泛化.该方法利用弹簧阻尼模型和轨迹调整项,可以在模仿示教技能时确保泛化轨迹收敛到目标点.Khansari-Zadeh 等[3]提出了动态系统稳定估计(Stable estimator of dynamical systems,SEDS),该方法利用非线性求解器对多样本的高斯混合模型(Gaussian mixture model,GMM)的参数进行优化,以使高斯混合回归(Gaussian mixture regression,GMR)对应的自治系统(即应用GMR 预测状态变量对应的一阶微分,如依据位置预测速度)满足稳定性要求.Paraschos 等[4]提出了基于高斯分布的概率运动基元(Probabilistic movement primitives,ProMP),其应用最大似然估计对轨迹参数的概率分布进行估计,之后依据高斯条件概率的运算对轨迹进行泛化调整.Calinon 等[5]提出了任务参数化高斯混合模型(Task-parameterized GMM,TPGMM),该方法将训练轨迹投影到与任务相关的局部坐标系中并对变换后的相对运动轨迹进行概率建模,克服了GMM 在机器人任务空间中泛化的局限性.Huang 等[6]提出了核化运动基元(Kernelized movement primitives,KMP),其通过对参数化轨迹和样本轨迹之间的KL 散度(Kullback-Leibler divergence)进行最小化,以及引入核技巧(Kernel trick),获得了非参的(Non-parametric)技能学习模型.由于仅需要极少的样本即可实现对人类运动技能的迁移,且无需其他先验知识或数据,模仿学习被广泛应用于诸多领域,如娱乐[7-10]、医疗[11-12]、护理[13-15]和农业机器人[16]、仿人[17]和外骨骼机器人[18-19]以及人机交互[20-21]等.

在上述运动轨迹的模仿学习之外,模仿学习还包括其他的一些研究方向,如行为复现(Behaviour cloning,BC)[22]、直接策略学习(Direct policy learning,DPL)[23]和逆强化学习(Inverse reinforcement learning,IRL)[24-25].BC和DPL 在实质上可以理解为监督学习,即学习示教样本中输入和输出的函数关系.两者的区别是DPL 在BC 的基础上引入人类的交互反馈,从而改进BC 在长期规划中的不足,特别是当训练和测试状态的概率分布存在显著差异的情形.IRL 假设训练样本中隐含的策略(Policy)在某种未知奖励函数(Reward function)下是最优的,进而对奖励函数的参数进行优化,最终在最佳奖励函数下应用强化学习(Reinforcement learning,RL) 可求得该隐含的最优策略.

由于篇幅的限制,本文仅针对机器人运动轨迹的模仿学习进行综述和讨论.需要指出的是本文所讨论的模仿学习算法和BC、DPL、IRL 存在着一定的差异.BC、DPL和IRL 主要侧重解决马尔科夫决策过程(Markov decision process,MDP)中的决策问题,其中一个主要的特点是智能体(Agent)与环境存在交互且任意时刻的交互都会影响MDP 下一时刻的状态,这一过程常被描述为状态转换(State transition).轨迹的模仿学习侧重对运动轨迹的规划,其输入通常为时间或其他无环境交互影响的状态1在一些文献中轨迹的模仿学习被归类为BC,然而考虑到其研究内容的差异,本文采用不同的划分方式..另外,本文中涉及的一些算法如GMR和高斯过程(Gaussian process,GP)等可以划归到BC 之中,但考虑到这些方法的应用对象也包括机器人的轨迹学习,因此我们仍将对其进行分析讨论.

之前的一些工作如文献[26-27]对模仿学习的部分问题进行了综述.其中,文献[26]仅介绍模仿学习中的少量工作,未从算法的角度进行讨论.文献[27]讨论了模仿学习中的任务参数化和轨迹协同两类问题,但未涉及各种方法的具体推导思路.不同于文献[26-27],本文主要综述机器人运动轨迹的模仿学习算法,包括详细介绍模仿学习中的基本问题(7 个)和主要方法(7 种),以及着重讨论相关文献中的算法原理和该领域中存在的若干关键问题(7 大类11 小类).

本文的结构如下:第1 节对模仿学习中的一些基本问题进行描述,随后在第2 节中对几种主要的模仿学习算法进行介绍,包括GMM和GMR、GP、(半) 隐马尔科夫模型(Hidden (Semi-)Markov Model,HMM/HSMM)、DMP、SEDS、ProMP和KMP.第3 节结合第2 节的内容对模仿学习中的其他若干关键问题进行综述.第4 节对机器人轨迹模仿学习的未来发展方向进行探讨,最后在第5 节给出总结.

1 模仿学习中的一些基本问题

本节讨论模仿学习中的一些基本问题,包括学习对象(What to imitate)、技能复现(Reproduction)、技能泛化(Adaptation)、多轨迹的概率特征(Probabilistic features)、收敛性(Convergence)、外插(Extrapolation)、时间输入和高维输入等问题.

1.1 模仿学习的对象

模仿学习具有广泛的适用范围,如学习控制策略[1]、人对物体的操作策略[28]以及人类的示教轨迹[3-4,6]或降维后的轨迹[29]等.考虑到本文的综述范围,即适用于轨迹规划的模仿学习,故仅以人类示教轨迹为学习对象进行分析.

目前常见的模仿学习是通过人类对机器人进行示教(Kinesthetic teaching),从而实现人类技能向机器人的迁移.具体来说,在重力补偿(Gravity compensation)模式下,针对特定的任务人类可以直接地拖动机器人对其进行示教,同时通过机器人自身的传感器、正向运动学以及视觉系统等记录机器人的关节角度、末端位置和姿态、力和力矩以及环境状态(如物体或障碍物的位置、其他协作机器人或用户的状态等),进一步则利用模仿学习算法对经由示教所得的轨迹进行学习以达到对示教技能模仿的目的.

以图1 为例,在记录人类示教下机器人末端的位置和姿态后(如第一行所示),利用模仿学习算法可将学习到的技能应用的新的情形,即生成新的末端位置和姿态轨迹(如第二、三行所示).图2 给出了图1 中粉刷任务对应的示教轨迹以及泛化轨迹,其中圆圈表示泛化情形下的期望路径点.需要说明的是,除了对机器人进行拖动示教,其他的方式还包括利用视觉捕捉系统[31-32]采集人类的示教轨迹等.

图1 KMP 在粉刷任务中的应用[30].第一行表示技能的示教,第二行和第三行分别对应新情形下的泛化Fig.1 The application of KMP in painting tasks[30].The first row illustrates kinesthetic teaching of a painting task while the second and third rows correspond to skill adaptations in unseen situations

图2 粉刷任务中的示教轨迹(a)~ (b)以及泛化轨迹(c)~ (f),其中(c)~ (d)和(e)~ (f)对应不同情形下的泛化[30].[pxpypz]T和[qsqxqyqz]T 分别表示机器人末端的位置和四元数姿态.圆圈为泛化时对应的期望路径点Fig.2 Demonstrations (a)~ (b) and adapted trajectories (c)~ (f) in painting tasks,where (c)~ (d) and(e)~ (f) correspond to different adaptations.[pxpypz]T and [qsqxqyqz]T denote Cartesian position and quaternion,respectively.Circles depict various desired points

1.2 技能的复现和目标点泛化问题

针对示教轨迹的学习,首先需要考虑的是技能的复现和泛化问题.前者是指模仿学习算法能够对示教轨迹进行准确地复现,而后者则指学习算法将示教的技能应用到新的不同于示教的情形.以图3为例,(a)表示DMP 的技能复现,其中DMP 生成的轨迹(实线) 能够很好地重复示教轨迹(虚线);(b)~ (c)均对应DMP 的技能泛化,其中DMP 生成一条从新的起点(圆圈)收敛到新的目标点的轨迹,该轨迹不同于示教轨迹.在实际系统中,技能的泛化问题是十分重要的.以抓取为例,技能泛化使得机器人在学习少量的示教轨迹之后,能够对不同位置上的物体进行抓取而不需要新的示教样本.

图3 DMP 在书写字母中的应用.(a)表示技能的复现,(b)~ (c)均表示技能的泛化,其中实线对应DMP 生成的轨迹,虚线为示教轨迹并用 ‘*’和‘+’ 分别表示其起点和终点,圆圈表示泛化轨迹需要经过的期望位置点Fig.3 The application of DMP in writing tasks.(a) corresponds to skill reproduction,(b)~ (c) represent skill adaptations with different desired points.Solid curves are generated via DMP,while the dashed curves denote the demonstration with ‘*’ and ‘+’ respectively marking its starting and ending points.Circles depict desired points which the adapted trajectories should go through

1.3 带有中间路径点或速度要求的泛化问题

除了对于目标位置的泛化,其他的泛化问题还包括经过期望的(一个或多个)中间路径点以及对位置和速度的同时泛化.这里以打乒乓球机器人为例[33],示教轨迹通常只包含少量的几条击打轨迹.然而,在实际系统中机器人应根据乒乓球的方位以及速度来调整其对应的击打位置和速度,因此需要考虑对位置和速度的同时学习和泛化.图4 为应用KMP 对示教的书写技能进行泛化,其中泛化后的轨迹能够经过新的起始、中间和目标点,且每个期望点又包括期望的位置和速度.

图4 KMP 在书写字母中的应用.(a)对应二维轨迹,(b)~ (e)分别表示轨迹的,y, 和分量.实线对应KMP 生成的轨迹,虚线为通过GMR 对示教轨迹进行建模得到的均值,圆圈表示不同的期望点Fig.4 The application of KMP in a writing task.(a) plots the corresponding 2D trajectories,while (b)~ (e) show the x,y, and components of trajectories,respectively.Solid curves are planned via KMP while the dashed curves are retrieved by GMR after modelling demonstrations.Circles denote various desired points

1.4 多条示教轨迹的概率问题

在对人类的示教轨迹进行学习时,需要考虑不同示教轨迹之间的差异.以抓取为例,即使针对同一个物体,多次示教的轨迹仍可能存在不同程度的变化.针对多条示教轨迹的问题,需要考虑对轨迹中的概率分布进行学习.这里仍以书写任务为例,图5 给出了应用GMM和GMR 对多条轨迹进行概率学习的示意图,其中 (d)中的实线表示多条轨迹的均值而阴影部分的幅度则表征多条轨迹之间的变化程度.

图5 应用GMM和GMR 对多条示教轨迹进行概率建模.(a)~ (b)分别对应示教轨迹的和y 分量,(c)~ (d)表示GMM和GMR 的建模结果,其中(c)中椭圆表示GMM 中的高斯成分,(d)中的实线和阴影部分分别表示多条轨迹的均值和方差Fig.5 The modeling of multiple demonstrations using GMM and GMR.(a)~ (b) plot the x and y components of demonstrations.(c)~ (d) depict the probabilistic features obtained via GMM and GMR,where the ellipses in(c) denote the Gaussian components in GMM,the solid curve and shaded area in (d) represent the mean and covariance of demonstrations,respectively

1.5 收敛性问题

收敛性问题存在于基于动态系统(Dynamical systems)的模型中,如学习轨迹中速度随位置ξ的变化趋势(即学习(t)=f(ξ(t)) 对应的模型)或学习轨迹中加速度随位置ξ和速度的变化趋势(即学习对应的模型) 等.以为例,在利用模仿学习获得函数关系f(·) 之后,可以根据当前的位置计算期望的速度从而能够计算出下一时刻期望的位置,依此迭代下去即可获得完整的轨迹.收敛性是指当t→+∞时,ξ(t) 以零速度和零加速度收敛于期望的位置.该特征可以有效地应用于当轨迹执行时存在较大干扰的情形.收敛性也常常用于解决针对新目标点的泛化问题,如图3 中DMP 即采用了稳定的二阶动态模型.

1.6 外插问题

外插问题是指将示教技能从整体上泛化到偏离示教区域的情形.以物体搬运为例,假设所有的示教轨迹都在用户的左侧,具有外插特征的方法则允许将示教技能泛化到用户的右侧或其他远离示教区域的位置,因此使得机器人具有更广泛的泛化能力.图6 为应用DMP 进行外插的两个例子,其中当期望的起始点和目标点整体远离示教区域时,DMP依然能够生成与示教轨迹形状相似且经过期望点的轨迹.

图6 DMP 的外插应用Fig.6 The extrapolation application of DMP

1.7 示教轨迹的输入问题

在对示教轨迹进行学习时需要考虑对应的输入信息.示教轨迹学习中的输入问题是指能否学习带有时间输入或高维输入的轨迹.基于时间的技能学习能够在不同的时刻生成相应的轨迹,如在某一个时刻到达某个期望的位置.在上述的例子中,图2~ 6均为学习时间驱动的轨迹.针对高维输入的学习方法能够直接根据高维状态生成对应的轨迹.如在图7所示的人机交互中,当人的手部状态发生变化时,机器人的轨迹也会立即作出相应的调整.如人手的速度变快或变慢,机器人的运动轨迹也会相应地变快或变慢.该过程中的模仿学习可以理解为直接学习机器人和人之间的协调关系.

图7 KMP 在人机交互中的应用[34].第一行表示技能示教,第二行为技能复现,第三行对应新情形下的技能泛化Fig.7 The application of KMP in handover tasks[34].The first row shows kinesthetic teaching of a handover task,while the second and third rows illustrate skill reproduction and adaptation,respectively

在本节最后,需要指出的是当模仿学习应用于技能泛化或外插时,仅需给定期望的任务目标即可生成相应的轨迹,无需对轨迹形状进行几何分析或对轨迹进行分段处理等.另外,对于复杂的轨迹或存在高维输入时,基于几何分析和变换的思路也是无法适用的.在图6 中,给定期望的起始点和目标点,DMP 即能够直接生成保持示教轨迹形状的轨迹.类似地,在图4 中给定期望时刻下对应的位置和速度(图中对应3 个期望点),KMP 即能直接生成满足要求的位置和速度轨迹,而不需要其他任何中间步骤.在图7 中,当人的手部状态(高维变量)发生变化时,KMP 即生成相应的机器人的轨迹.

2 几类主要的模仿学习方法

在获得示教轨迹之后,需要对其进行相应的学习(How to imitate).机器人运动技能的模仿学习方法主要包括GMM和GMR、HMM/HSMM、GP、DMP、SEDS、ProMP和KMP,本节将结合第1 节中的基本问题对这些方法进行介绍和讨论.

2.1 高斯混合模型 (GMM)和高斯混合回归(GMR)

给定M条示教轨迹,其中Nm为第m条轨迹的长度,s∈RI表示I维输入信息(如时间、位置或其他外部状态),ξ∈RO表示O维的轨迹变量,如机器人末端位置、速度和加速度,关节位置、速度和加速度,以及力和力矩等.两种典型的轨迹是:i)s表示时间,ξ为机器人末端位置、关节位置或力等,则示教轨迹表示时间驱动(Time-driven)的技能;ii) 如果s表示位置,ξ为速度,则示教轨迹对应自治的(Autonomous)动态系统.

GMM 可以对样本中输入和输出变量的联合概率分布P(s,ξ) 进行建模,即

其中C为GMM 中高斯成分的数量,πc、μc=分别表示第c个高斯成分的先验概率、均值和协方差.GMM 的参数可以通过期望最大化(Expectation-maximization,EM)算法(文献[35],第9.2 节)进行迭代优化,但需要事先指定高斯成分的数量.常见的用于改进GMM参数估计的方法包括:i)用k均值(k-means)对样本聚类,然后用聚类结果初始化GMM 的参数;ii)结合贝叶斯信息判据(Bayesian information criterion,BIC)寻找最优的高斯数量[29];iii)贝叶斯GMM (Bayesian GMM)自动优化高斯成分的数量(文献[35],第10.2 节).

在得到GMM 参数之后,对于任意新的输入s*均可利用GMR 预测其对应轨迹ξ*的条件概率分布,即[34,36-37]:

进一步可以将式(2)近似为[34,37]:

GMM 能够有效地学习多训练样本的概率特征,包括时间输入和多维输入的情形.然而,GMM难以将其学习到的技能应用到与示教环境不同的情况.为了改进GMM 的自适应性(即泛化能力),常见的方法是应用强化学习,如文献[38]利用行为评判算法[39](Natural actor critic,NAC)对GMM 中高斯成分的均值进行优化.由于需要大量的迭代优化,这类方法不适用于在线技能的学习和调整.

2.2 (半)隐马尔可夫模型(HMM/HSMM)

HMM[40]假设任意长度为N的观测序列{o1,o2,···,oN}是由H个隐含的未知状态{s1,s2,···,sH}所产生,同时假设当前时刻的观测值仅由当前时刻的隐含状态决定,以及任意时刻的状态仅由其上一时刻的状态决定.具体来说,HMM 包括三个主要要素,其中πi为隐状态si的初始概率,ai,j为隐状态从si转换到sj的概率,bi(o) 表示当状态为si时观测到o的概率.然而,当对某个或某些隐含状态进行连续多次观察时,HMM中状态频次的概率表征是不恰当的,该概率会随连续观测频次的增加呈指数级下降.例如,对第h个隐状态连续观测n次(即状态时长)的概率为(1-ah,h) .为了解决这一问题,HSMM[40]对状态观测时长进行建模来取代HMM 中的状态自循环,其参数主要包括.这里c(si)表示隐状态si出现时长的概率分布.

给定M条示教轨迹,可利用EM 对HMM 或HSMM 的参数进行优化[41].以HMM 为例,即

在通过学习训练样本获得HMM 或HSMM 的参数之后,可以依据隐状态的初始概率以及状态之间的转换概率生成隐状态的序列,同时根据这些隐状态对应的观测输出概率生成新的轨迹.

HMM 或HSMM 的优点在于可以同时学习多种类型的轨迹,而不需要预先对技能轨迹进行分类[42].然而,和GMM 类似,该类方法常用于技能复现,不易于将训练轨迹泛化到新的情形.需要注意的是,当HMM 或HSMM 用于轨迹规划时,通常难以产生平滑的轨迹[43].因此,文献[37] 通过加权最小二乘将多阶轨迹(包括位置、速度和加速度)转换为低阶的位置轨迹.文献[44]将HSMM和模型预测控制(Model predictive control,MPC)相结合来获得连续的轨迹.

2.3 高斯过程(GP)

GP (文献[45],第2.2 节)是指一系列随机变量的集合,其中任意有限个随机变量的联合概率服从高斯分布.特别地,给定训练数据集合,以及假设输入s和其对应的观测输出y∈R 之间存在某种函数关系y=f(s)+ϵ,其中ϵ~N(0,σ2) 表示方差为σ2的噪声,那么给定新的测试输入s*,其对应的函数值f(s*)和训练样本的输出y=[y1y2···yN]T存在如下关系:

其中I是N维单位矩阵,

这里k(·,·) 表示核函数,一个常见的例子是平方指数(Squared exponential,SE) 函数k(s*,sn)=.关于核函数的内容可以参考文献[46].

根据式(10)中的联合概率分布和多变量高斯的条件概率分布,可获得P(f(s*)|y),其均值和方差分别为(文献[45],第2.2 节):

式(13)~ (14)仅针对训练样本中输出是一维的情形.对于多维输出,可以分别对每个输出变量利用GP 进行预测,也可以采用向量值(Vector valued)GP 以及可分离核函数(Separable kernels)[47].

作为典型的监督学习算法,GP 可以通过学习示教轨迹实现运动技能的复现.对于轨迹的自适应问题,如机器人末端从A点出发,在B点抓取一个物体并最终将物体放置到C点 (这里A,B,C点的位置均不同于示教轨迹),利用多变量高斯的后验概率(Posterior)即能够规划新的满足任务要求的轨迹.然而,如果利用GP 对位置和速度分别进行预测,则无法保证速度变量和位置变量之间的一阶微分关系.目前基于GP 的模仿学习文献常仅学习位置轨迹或忽略该微分约束,事实上该问题可以利用微分(Derivative) GP 解决[48].以时间输入为例,在定义GP 的协方差时可利用

2.4 动态运动基元(DMP)

DMP[2]本质上是从示教轨迹中学习位置和速度到加速度的映射函数.对于机器人系统,假设当前时刻t的位置和速度是可观测的,DMP能够在线的计算期望的加速度,由此可获得下一时刻的期望位置(即)和期望速度(即,其中δt表示机器人的伺服周期.随着时间的增加即可完成轨迹的规划任务.同样地,DMP 可以对关节轨迹、力和力矩轨迹等进行规划.

给定一条长度为N的轨迹,DMP 使用如下模型对运动轨迹进行编码(Encoding)[2]:

在式(15)中,α >0为常数,τ为轨迹时长,z表示相位变量.该模型用来将时间信号t转换成z.在式(16) 中,g ∈RO表示轨迹的目标位置,Kp和Kv分别表示预先设定的对角的刚度和阻尼矩阵,f(z)∈RO为轨迹调整项.式(17)的fi(z)为f(z)的第i个分量的定义,其中wi,h为加权系数,H为拟合f所需要的基函数(Basisfunction) 的数量,φi(z)=e-ai(z-ci)2表示基函数,这里ai >0,ci ∈[0,1].gi和ξ0i分别对应目标位置g和初始位置ξ0的第i个分量.

在训练DMP 时可以对式(15)~ (16)进行离散化,即利用和,然后通过回归算法(如最小二乘或局部加权回归[49](Locally weighted regression,LWR))估计形状参数.在应用DMP 进行泛化时,通过调整τ和g就能够改变期望轨迹的时长(即运动的快慢)以及期望的目标位置.

DMP 的主要优点是可以从任意的起始点(Start-point)对轨迹进行规划并收敛到任意的目标点(End-point),而不需要其他的预处理,如文献[5]需要将轨迹投影到局部坐标系中.文献[2]表明,当运动时间趋于无穷时式(15) 中的z趋于零,这时式(16) 对应的稳定收敛点为:ξ=g以及0 .然而,在实际应用中轨迹的期望时长τ通常是有限的,即当t=τ时z仍大于 0,这时ξ和g仍会存在一定的误差.

另外,由于DMP 收敛时的速度为零,导致其不适用于存在速度要求的任务(如打乒乓球机器人需要以某期望的速度击球),而且DMP 无法生成经过任意中间点(Via-point)的轨迹.Kober 等[50]对DMP 进行了改进,使其能够以非零的速度到达收敛位置,然而仍未能处理期望中间点的问题.除此之外,DMP 需要预设置的参数较多,特别是基函数的选择.为了避免基函数的问题,Fanger 等[51]利用GP 预测z对应的f(z) .文献[9,52]通过GMM和GMR 预测f(z) 在不同时刻的概率分布,从而实现DMP 框架下对多个示教轨迹的学习.

最后,DMP 中的参数(即τ,g和W)可以利用强化学习对其进行优化[53-56],但需要事先根据特定的任务设计合理的成本函数.由于强化学习采用学习和探索(Exploitation and exploration)的方式,常常需要大量的迭代,特别是当学习复杂轨迹时需要大量的基函数从而导致W的维度较大,故该思路不适用于实时的技能泛化.

2.5 动态系统稳定估计 (SEDS)

SEDS[3]利用GMM和GMR 学习示教轨迹中位置ξ和速度的函数关系并通过(非线性) 优化GMM 的参数来获得稳定的动态系统.给定M条示教轨迹,可以依据式(1)估计,再用式(2) 计算,以及式(7)估计对应的条件期望2将式(2)中的 s和ξ 分别用 ξ和进行替换即可.:

可进一步将式(18)变形为:

为了获得稳定的系统,文献[3]给出了系统稳定的充分条件,即对于任意第c∈{1,2,···,C}个子系统均需要满足:

其中,‘≺0 ’ 表示矩阵的负定,ξ*为所有的子系统的收敛目标.通过非线性优化器最大化示教轨迹的观测概率并满足上述稳定性的充分条件,即可获得最优的GMM 参数.

由于SEDS 将轨迹规划问题转化成稳定的动态系统问题,其和DMP 一样适用于将轨迹从任意的起点泛化到任意的目标点.然而其和DMP 也有类似的局限性,即无法直接处理带有速度或中间路径点要求的泛化问题.另外,SEDS 可以学习多维度的轨迹ξ,但是如式(19)所示其仅适合学习ξ和之间的映射关系,而不适用于学习输入为时间的轨迹或输入和输出对应不同类型轨迹的情形(如在人机交互时输入对应人的双手位置,输出为机器人关节角度).

2.6 概率运动基元 (ProMP)

ProMP[4]应用如下模型对示教轨迹进行拟合:

需要指出的是当w的维度BO大于样本数量M时,Σw为奇异阵,因此常需要引入附加的正则项,即Σw+λI.然而如果λ过小,在应用高斯条件概率进行轨迹调整时,常会出现数值问题.如果λ过大,正则化后的方差则会高估多条轨迹之间的方差特征.

在获得轨迹参数w的概率分布之后,针对技能的复现问题,可以直接利用μw或从N(μw,Σw) 采样出w,相应的复现轨迹可由式(22) 得到.针对轨迹的自适应问题,可以利用条件高斯 (文献[35],第2.3.1和2.3.3 节)进行计算.假设泛化的轨迹需要在特定的时刻t*以期望的速度经过期望的位置,并且假设期望点的协方差3该协方差可以控制自适应轨迹经过期望点 的误差: 越小则误差越小,反之则误差变大.为,则调整后的轨迹参数的概率分布为[4]:

ProMP 可以同时对位置和速度轨迹进行学习和泛化,计算效率高,适用于在线规划.ProMP和DMP 类似,两者均用来学习时间驱动的轨迹(即轨迹的输入为时间),且都需要事先指定用来拟合轨迹的基函数φ(t) .然而,对于高维输入的情况,常常需要大量的基函数4根据文献([35],第3.6 节),固定基函数的数量常随输入变量维度的增加呈指数级增加.,因此难以将ProMP 应用于学习带有多维输入轨迹的情形.另外,ProMP 未考虑轨迹规划中的外插问题(即待规划轨迹从整体上偏离示教区域)[58].

2.7 核化运动基元(KMP)

KMP[6]从信息论的角度研究示教轨迹的模仿学习问题.给定M条示教轨迹{{sn,m,ξn,m},首先利用GMM 获得P(s,ξ),然后从GMM 中采样5关于从GMM 中采样的方法可以参考文献[59].N个可以表征输入空间分布特征的参考输入.应用式(6)计算不同参考输 入sn对应输出的概率分布,即,可得到参考轨迹.在获得参考轨迹之后,KMP 采用如下参数化模型:

其中 Φ (s)=IO⊗φ(s)∈RBO×O,φ(s) 表示B维的基函数向量,w~N(μw,Σw) .这里μw和Σw未知.为了估计μw和Σw,KMP 对式(27)生成轨迹的概率分布和参考轨迹的概率分布之间的KL 散度进行最小化,即

对于技能的复现问题,可以直接应用式(29)进行轨迹规划.对于经过期望路径点的自适应问题,如记M个期望点的集合为,其中和分别为第m个期望点的输入、输出的期望和协方差,可直接将该期望点集合和参考轨迹串联成长度为N+M的轨迹6对于期望点输入和参考轨迹存在重叠的情况,可参考文献[6]中的轨迹更新策略.,这时应用式(29)学习新的扩展轨迹即可获得经过所有期望路径点的自适应的轨迹.

除了学习带有多维输入的示教轨迹,作为KMP的一个特殊情况,KMP 也能够学习时间驱动的轨迹,并同时对位置和速度进行泛化.和多维输入情况相比,只需要用式(22)替换式(27),利用以及核函数φT(ti)φ(tj)=k(ti,tj) 即可.另外,文献[6]引入了任务参数化的处理方式,使得KMP 能够在远离示教的区域处理外插问题.然而,KMP 未考虑轨迹中的动态问题,无法确保轨迹的收敛性.从计算效率上看,KMP和GP 的计算复杂度为 O (N3),当参考轨迹长度特别大时,两者均不适用于在线的自适应问题.对于这种情形,可以利用近似方法提高学习效率,如投影过程近似(Projected process approximation)等(文献[45],第8.3 节).

表1 对本节所讨论的方法进行了总结(部分内容来自文献[6]),包括i) 技能复现;ii) 学习多条示教轨迹的概率分布,包括期望和方差;iii)将示教轨迹调整到经过任意的中间路径点(位置和速度);iv)将示教轨迹泛化到任意的目标点(位置和速度);v)整体偏离示教区域的泛化,即外插;vi) 轨迹随时间的收敛性;vii) 学习带有时间输入的示教轨迹;viii)学习带有多维动态输入的示教轨迹.

3 模仿学习中的其他若干关键问题

在模仿学习的基本问题之外,本节将结合第2节中的方法对其他若干关键问题及相关文献进行综述.需要说明的是,本节中所讨论的问题尽管在研究内容上存在差异,但这些方法在实质上均与轨迹规划相关.

3.1 姿态和刚度矩阵的学习问题

3.1.1 姿态的学习

表1 中的方法可以学习无约束的轨迹,如机器人末端位置和速度、关节位置和速度、力和力矩轨迹等.然而在学习机器人末端姿态时,需要考虑相应的姿态约束,如四元数(Quaternion)q∈S3需要满足qTq=1,旋转矩阵(Rotation matrix)R则需要为正交矩阵,即RTR=I.这里主要依据文献[34]并以四元数姿态为例进行讨论.

表1 几种主要模仿学习方法的对比Table 1 Comparison among the state-of-the-art approaches in imitation learning

对于学习四元数姿态的问题,如果在 R3空间上对姿态的四个元素分别进行学习(如Pastor 等[62]利用DMP,Silverio 等[63]采用基于GMM[5]的方法) 则生成的姿态轨迹无法满足单位范数的要求.为了满足姿态约束,Ude 等[64]和Abu-Dakka 等[65]均利用四元数的几何特性对DMP 进行扩展,其主要思路是将当前姿态和目标姿态的距离转化到 R3空间,然后用变换后的距离替换式(16)中的位置距离g-ξ.Ravichandar 等[66]采用类似的处理方法将SEDS[3]应用到姿态学习中,其中自治系统对应的输入为角速度和转换到 R3的姿态距离,输出为角加速度.这类基于动态模型的方法保留了原有方法的优点和局限性,如可以朝着任意的目标姿态进行泛化以及具有收敛性,然而其无法处理带有角速度或中间路径点要求的问题.

Zeestraten 等[67]从黎曼几何(Riemannian manifold) 的角度研究多条姿态轨迹的概率分布,其主要依赖两个映射:对数映射(Logarithmic map)和指数映射(Exponential map).前者可以将姿态投影到相应的切空间(Tangent space),后者被用于从切空间中恢复姿态.由于在概率建模时存在不同的切空间,文献[67]利用平行迁移(Parallel transport)实现不同切空间中投影的迁移.另外,文献[67]引入了任务参数化[5]的技巧,因此可应用于目标姿态的自适应问题.然而,文献[67]未考虑与角速度或中间路径点相关的泛化问题.

Huang 等[30,34]采用文献[64]中的空间变换方法,将KMP 扩展到姿态学习中.该方法除了可以处理姿态的中间路径点和目标点问题(包括姿态和角速度),也考虑了角加速度或角加加速度最小化的问题.另外,文献[34]也适用于学习以及泛化带有多维输入的姿态轨迹.然而,文献[34]的一个主要局限性在于其假设多条示教轨迹中的姿态在同一时刻应处在 S3中的同一个半球面,因此不适用于多条姿态轨迹分布在不同半球面的情形.

上述所有方法的学习对象均为完整的姿态轨迹,而不涉及姿态轨迹的分割问题.与之不同的是,Saveriano 等[68]提出通过学习多个DMP 来处理中间路径点的问题.以一个中间点为例,其思路为先应用第一个DMP 生成一条从起始姿态到中间姿态的轨迹,而后用第二个DMP 生成从中间姿态到目标姿态的轨迹.该方法的主要缺点是需要根据中间路径点的数量对示教轨迹进行分割并分别用来训练不同的DMP,因此难以扩展到带有任意多个(如大于1)中间路径点的问题.另外对轨迹采取分段泛化的方式无法确保组合后的轨迹其在整体形状上与示教轨迹的相似性.

表2 对本节中姿态学习的方法进行了总结(主要内容来自文献[34]),其中 “单位范数”是指生成的轨迹满足qTq=1,“中间姿态”中的 “单个基元”是指单独的运动基元能够实现中间姿态的泛化问题.

表2 几种主要姿态学习方法的对比Table 2 Comparison among the state-of-the-art approaches in orientation learning

3.1.2 刚度矩阵的学习

对于刚度矩阵的学习,可以采用和文献[67]类似的基于黎曼几何的方法,其主要步骤包括刚度矩阵和其切空间之间的映射以及利用迁移函数实现不同切空间中投影的迁移.Abu-Dakka 等[69]将该思路推广到DMP 框架中,实现了DMP 对刚度矩阵的学习,后又将其与KMP 进行结合[70],实现了刚度矩阵朝着任意期望刚度状态的泛化.需要说明的是黎曼几何方法可以学习任意的对称正定矩阵(Symmetric positive definite,SPD),如刚度(Stiffness)和阻尼(Damping)矩阵.Calinon[71]对基于黎曼几何的模仿学习方法进行了总结.

学习刚度矩阵K的另一种方法是采用矩阵的Cholesky 分解[72],即K=LTL,将L中的元素串成向量l后,可直接对该向量进行概率建模和学习,最后利用新生成的l可恢复L并计算出K.Wu 等[73]在学习人体手臂末端的刚度时采用该矩阵分解的方法.

3.2 引入任务或环境变量的模仿学习问题

在模仿学习中常考虑外在的附加变量以提高机器人的学习能力,包括任务变量(如被抓物体的位置)、环境变量(如障碍物的尺寸和位置)和轨迹类型变量等.以打乒乓球机器人为例,可以将来球状态当作任务变量,据此选择恰当的击打动作.

Forte 等[74]研究了从任务变量预测DMP 参数的问题,其首先收集不同任务变量s下的运动轨迹,然后分别提取每个运动轨迹对应的DMP 参数,包括目标位置g、运动时长τ和基函数加权系数W.在收集足够的训练样本之后,给定新的s*应用GP预测其对应的DMP 的参数{g*,τ*,W*}.最后由式(15)~ (17)生成任务变量s*条件下的轨迹.类似地,Kramberger 等[75]利用LWR 对DMP 的模型参数进行预测,并将其应用于末端位置和姿态的学习之中.和文献[74-75]不同,文献[76]和[31]在DMP的轨迹调整项fi(z) (即式(17))中分别显性地引入任务变量和表示轨迹类型(Style)的变量s.这时fi(z) 变成fi(z,s) .Colome 等[13]将ProMP 中的参数w降维成,然后用GMM和GMR 预测7在预测之前需要获得足够多的训练样本对 {s,} .新的s*对应的,继而用其恢复w来生成新的轨迹(利用式(22)).上述方法的主要不足在于需要充分多的训练样本,在小样本情况下难以进行较大范围的泛化.

Calinon 等[5,37]对GMM 进行扩展,提出了TP-GMM,其核心是针对不同的任务参数设计恰当的局部坐标系,然后将示教轨迹投影到各个局部坐标系中用来学习其相对的运动特征.如抓取任务,这里以一个局部坐标系为例,可以将局部坐标系设置在目标物体上,从而能够学习机器人末端和物体之间相对距离随时间变化的特征.当抓取其他位置的新物体时,可将上述得到的相对距离看作是机器人和新物体之间的距离,最后将该相对距离转换到机器人的坐标系中获得绝对位置.Silverio 等[63]将TPGMM 推广到四元数姿态的学习中,然而该方法未考虑姿态的单位范数约束.TP-GMM 中任务参数化的处理方法也被应用于文献[6,67]之中.

TP-GMM 存在的一个主要的问题是:难以事先根据机器人的任务指定最优的局部坐标系,如根据抓取物体的位置可知局部坐标系的原点,然而该坐标系的最优姿态是未知的.因此,文献[77]应用强化学习对局部坐标系进行优化(包括旋转和平移),且证明了对低维度坐标系参数的优化可以转换为对于高维度GMM 参数的优化.

TP-GMM 可以通过学习少量的样本实现较大范围的泛化,然而其一般仅用于学习机器人任务空间的轨迹,难以扩展到机器人关节空间中.另外,对不同局部坐标系中的轨迹进行高斯相乘(Gaussian product)的处理方式无法保证生成轨迹的平滑性(特别是位置轨迹对应的速度)以及泛化精度(即和期望的目标位置常常存在一定的误差).表1 对TPGMM的特征进行了总结.

3.3 轨迹分割、运动基元串联和叠加问题

3.3.1 运动基元的提取和串联

轨迹分割(Segmentation)问题是指从一个完整的轨迹中提取出一系列的基本运动单元,也称运动基元(Movement primitive,MP),所获得的MP通过恰当的串联(Sequence)可以用于技能的复现和泛化.以机器人打开冰箱取牛奶为例,一个完整的动作包括机器人打开冰箱、抓取牛奶以及关门等对应不同子任务的动作,其中每一个动作或子任务实质上对应一个MP.从该完整动作中提取出的MP 经过合理的串联和泛化即可应用到类似的序列任务的场景中.

针对序列任务轨迹的分割,近年来被广泛采用的一种方法是HMM.Kulic 等[78]应用HMM 对示教轨迹进行分割、聚类以及MP 的建模,然后通过构建MP 之间的概率转移图实现不同MP 之间的转换,最终形成由多个MP 串联而成的轨迹.Manschitz 等[79]假设所有的MP 均由具有收敛特性的二阶动态系统表征,其首先通过轨迹中的运动特征[80](如速度的停顿、接触力的出现和消失等作为轨迹分割点)对轨迹进行初步分割8分割后的轨迹片段一般不等同于MP,常常不同的轨迹片段可能对应相同的MP,因此需要对轨迹片段进行聚类.,后在应用HMM 提取MP 时(分割后的轨迹片段对应观测值,隐状态对应MP),利用有向正态分布(Directional normal distribution,DND)对隐状态的输出观测概率分布进行建模并依据BIC 选择最优的隐状态(即MP)的数量,其中DND 同时考虑了轨迹的位置和速度向量,因此可以将MP 的收敛假设和轨迹片段的聚类相结合.

和文献[79]类似,Medina 等[81]在考虑多MP序列问题时,也假设了MP 的收敛特性.两者的主要区别是文献[81]中HMM 隐状态的输出观测为变参数的动态系统.另外,文献[81]显性地引入判断MP 终止的二进制变量,而文献[79]则采用分类器对MP 的转换进行预测.

目前针对序列任务学习的方法主要侧重于对MP 的提取和串联,未充分研究序列任务中单独MP的泛化(如MP 的形状和运动时长等).文献[79]通过在目标物体上定义局部坐标系来学习机器人和物体之间的相对位置,可以实现一定程度的泛化,却难以应用于涉及运动速度、时长和轨迹形状等要求的场景.除了HMM,其他的轨迹分割方法还包括如基于MP 库匹配的方法[82]和GMM[83]等.

与从序列任务的轨迹中提取MP 不同,Pastor 等[62]研究在给定多个MP 的情况下对MP 进行串联的衔接点平滑问题,其中MP 为DMP.Stulp等[84]应用强化学习对多个串联DMP 的参数进行优化,并提出了分层定义误差函数的方法,其中对于任意一个DMP,其形状参数W的误差函数仅由该DMP 生成的轨迹决定,而其目标点g的误差函数则由该DMP 以及后续DMP 共同决定.Daniel 等[85]采用分层强化学习的方法对序列任务中MP 的顺序以及各个MP 的参数进行优化.与文献[84] 相比,文献[85]不需要事先指定MP 的顺序,然而两者均需要指定MP 的数量以及定义合理的奖励函数.需要强调的是,当机器人任务需要多个MP 串联时基于强化学习的方法通常需要大量的训练,特别是在未指定MP 顺序以及MP 作用下任务状态转移概率未知的情况.

3.3.2 运动基元的叠加

在对MP 进行串联之外,还可以对多个MP 进行叠加(Superposition),如ProMP[4]和KMP[6]通过高斯概率的特性直接对MP 进行叠加.Duan等[86]针对不同的任务轨迹设计相应的激活函数,该函数实质上是通过调整不同轨迹的方差来实现多条轨迹间的切换.Silverio 等[87]针对关节空间轨迹、任务空间轨迹和末端交互力分别设计力矩控制器,其中不同的控制器可以看作是表示不同任务的MP,最后通过高斯乘积可以将不同的控制器合并成一个最终的力矩控制器.实际上,对于第3.2 节中讨论的TP-GMM,如果将不同局部坐标系内的轨迹分布看作是MP,也可以将其理解为多个MP 的叠加.

3.4 协同和不确定性预测的问题

3.4.1 多维轨迹的协同问题

模仿学习中的一个重要特点是学习多维轨迹的协同(Synergy),又称作协调(Coordination).以机器人和人类握手为例[9],一个自然的握手动作主要依赖胳膊的肘关节和腕关节,并适当地调动其他的关节.如果对机器人手臂的关节分别进行轨迹规划是可以实现末端的握手动作,然而整个机器人手臂在握手过程中的姿势可能是不恰当的,特别是当握手的位置和频率发生改变时,不同的关节需要在协同的情况下进行调整.另一个例子是两个机械手臂的协同作业[63],当一只手臂受到干扰时另一只手臂也应该产生相应的调整,而非独立的对两只机械手臂进行轨迹规划.

对于多维轨迹的协同问题,可以采用对其概率分布进行建模的方法获得轨迹中的协方差,如第2节中基于概率的方法9向量值GP 通过恰当的可分离核函数可以表征多维轨迹之间的协同关系,然而其未考虑轨迹本身的方差,故这里未将其包括在内.GMM,HMM/HSMM,ProMP和KMP.该协方差即可表征轨迹中的协同关系.同时,协方差也包含轨迹中不同维度的方差信息(可以理解为多条轨迹之间的变化幅度).以两维变量的高斯分布为例,其均值为 2×1 的向量而协方差为 2×2 的矩阵,如果协方差矩阵的非对角元素均为0,则表明两个变量是独立的,否则变量间存在协同关系,注意这里协方差矩阵对角线上的元素分别表示两个变量的方差.另外,在学习多个示教轨迹时,常直接将轨迹点对应的协方差矩阵当做判断其重要性的一个依据,即轨迹点的协方差和其重要性相反,如文献[7]利用协方差计算轨迹之间的相似度.

3.4.2 不确定性预测的问题

不确定性(Uncertainty)是用来度量模仿学习生成轨迹的可信度.以文献[21]中人机协同的任务为例,其中操作者的手部位置是机器人运动的控制输入.当人类在示教区域内时,依据人的手部位置而预测得到的期望的机器人轨迹是可信的,因此该轨迹的不确定性较低.当人类远离示教的工作区域时,其对应的预测轨迹是不可信的,因此该轨迹的不确定性较高.对于不确定性的预测,可以应用GP和KMP.

另外,模仿学习中还存在一些能够同时预测轨迹协方差和不确定性的方法.这类方法同时考虑如下两种情况:i) 当输入在示教区域内时,预测的协方差能够对应示教轨迹之间的关联和变化程度;ii)当输入远离示教区域时,预测的协方差10这里使用 “协方差”是为了表明i)和ii)使用相同的预测模型.则对应预测轨迹的不确定性.Schneider 等[88]在HGP[61]的框架下通过优化不同输入对应的噪声方差实现对轨迹方差的学习,同时该方法也可以提供不确定性的预测.然而文献[88]未考虑多维轨迹之间的协同问题.Umlauft 等[89]利用多个GP 预测的均值构建Wishart 过程[90]从而实现对协方差和不确定性的预测,其中涉及的所有GP 的参数以及其他参数可通过数值优化求解MLE 获得.Silverio 等[21]证明了KMP也可以同时对协方差和不确定性进行预测.

值得一提的是,文献[89]中控制机器人轨迹跟踪的刚度矩阵是根据协方差来定义的.在上述的两类情况i)和ii)中,只有当输入在训练区域内并且当示教轨迹的协方差小时,预测输出的协方差才会很小;否则,预测的协方差则很大.因此,文献[89]将刚度矩阵的特征值和预测协方差的特征值在大小上设置成反比关系.文献[21]将KMP 预测的协方差和线性二次型调节器(Linear quadratic regulator,LQR)相结合,其中预测协方差的逆矩阵被当作LQR 中跟踪误差的加权矩阵,实现了变刚度和变阻尼的控制.和文献[21]类似的将协方差与控制器相结合的工作11这些工作中对应的控制器被称作最小干涉控制(Minimal intervention control).还有文献[5,44,91-92],然而文献[5,44,91-92]中的协方差只针对情况i)而不包括不确定性的预测.

3.5 混合空间下的模仿学习问题

混合空间下的模仿学习是指机器人同时在任务空间和关节空间进行模仿学习,其可以应用于需要同时考虑末端任务和关节姿态的场景.以机器人在黑板上进行书写为例,机器人末端的轨迹对完成书写任务是至关重要的,但同时机器人的关节轨迹可以确保机器人在书写过程中的姿势是自然的、合理的.

与单空间(任务或关节空间)的模仿学习相比,混合模仿学习需要考虑机器人关节轨迹和末端轨迹之间的正向运动学(Forward kinematics)约束.文献[93]分别对示教的末端位置轨迹ξp和关节角度轨迹ξq用GMM 进行建模,后用GMR 获得两种轨迹随时间变化的概率分布,即和.通过基于雅克比(Jacobian)矩阵的逆运动学(Inverse kinematics),将末端轨迹的概率分布转换到关节空间,得到,最后将和进行高斯相乘即可获得最终用于机器人控制的关节轨迹.注意在对任务空间轨迹进行概率建模时,文献[93]将任务空间的轨迹转化成相对于物体的相对距离轨迹,该处理方式和TP-GMM 中的任务参数法方法在实质上是相同的.Schneider 等[88]采用同样的方法处理混合空间的学习问题,区别是将文献[93]中的GMM和GMR 替换成HGP 方法[61].

除了对两个空间中的末端位置和关节角度轨迹进行学习,Calinon 等[94]研究了双空间中速度轨迹(即和)的模仿学习,其在统一双空间速度轨迹时和文献[93]类似,亦采用雅克比矩阵的逆矩阵将任务空间的速度转换到关节空间.Paraschos等[95]采用ProMP 对双空间中的加速度轨迹(即和) 进行规划,然后将关节加速度的概率当作先验概率(Prior),并利用雅克比矩阵得到似然概率,最后将ProMP 生成的当作观测值并应用条件高斯获得关节加速度的后验概率

上述方法仅考虑任务空间的泛化问题,忽视了关节轨迹的调整.如文献[9]指出,当泛化后机器人的末端轨迹远离示教区域时,直接应用示教的关节轨迹可能是不合理的.因此,文献[9]在DMP 的框架下研究了任务空间和关节空间同时泛化的问题,其主要通过优化机器人雅克比矩阵对应的零空间(Null space)运动获得关节的最优目标位置,并最小化泛化后关节轨迹和末端轨迹的不一致性.该方法继承了DMP 的局限性,无法处理带有速度或中间路径点要求的问题.

3.6 带有任务或环境约束的模仿学习

3.6.1 带有约束的运动基元

在实际机器人系统中经常存在各种各样的约束,如机器人关节角度、力矩和末端运动范围的限制以及避障等.在应用模仿学习进行轨迹规划时需要将限制运动的约束因素考虑进去.

针对避障问题,Ijspeert 等[2]提出在DMP 的动态模型中(即式(16))增加修正量的方法,该修正量[96]可根据机器人和障碍物之间的距离以及机器人的速度对机器人的期望加速度进行实时调整.增加修正量的方法也被文献[97-98]所采用.文献[9]利用强化学习对TP-GMM 中的局部坐标系进行优化从而实现避障.然而文献[2,9,97-98]仅适用于机器人末端的避障问题,未考虑机器人关节和障碍物的碰撞问题.文献[99]利用DMP 在任务空间进行规划获得期望的末端速度,后采用文献[100]中调整雅克比矩阵零空间轨迹的方法实现关节空间的避障.

Shyam 等[101]采用和文献[102] (即Covariant hamiltonian optimization for motion planning,CHOMP)相同的避障函数,利用梯度下降(Gradient descent)的方法对ProMP 的参数进行迭代优化,其中在计算避障函数时将机器人关节之间的连杆用一系列的球体(Body point)表示,然后评估这些球体到障碍物的距离[102].因此文献[101]可以处理关节空间避障的问题.注意文献[102]对轨迹优化时直接将轨迹当做一个未知的函数,采用泛函梯度(Functional gradient)的方法计算避障函数对轨迹函数的导数12利用泛函梯度得到的导数为函数,该导数用来对函数本身进行优化.,而文献[101]中的梯度为避障函数对轨迹参数的导数,故其利用求导的链式法则加入轨迹函数对轨迹参数的导数.该方法的局限性是在针对避障的优化后,新的轨迹参数可能无法严格满足优化前的泛化要求.

Huang 等[103]在KMP 的框架下研究带有线性约束的模仿学习问题,该方法可以处理任意关于位置和速度的线性等式和不等式约束(如平面约束、关节角度限制以及机器人末端运动范围的约束等),并且能够在满足约束的情况下对轨迹进行泛化,如在期望的时刻以期望的速度经过期望的位置.然而该方法未考虑非线性约束.Saveriano 等[104]将轨迹的不等式约束当作零障碍函数(Zeroing barrier function),通过设计恰当的控制输入使得一阶动态系统生成的轨迹满足约束条件.文献[103-104]均未考虑避障问题.值得一提的是文献[105]近来对KMP进行了扩展,该方法能够处理带有线性和非线性、等式和不等式约束的模仿学习问题,且可以同时考虑机器人关节的避障问题.

3.6.2 带有约束的轨迹序列的优化

如果将轨迹看作N个离散点{q1,q2,···,qN}(如等时间间隔的关节轨迹点),可以直接对由离散点串联而成的向量进行优化.Osa等[106]利用泛函梯度[102]对机器人的关节轨迹进行优化,同时考虑关节避障问题以及关节轨迹对应的末端轨迹与示教末端轨迹的匹配问题,并且给出通过条件概率对示教的末端轨迹进行泛化的方法.该文中末端轨迹的泛化精度依赖示教轨迹和环境变量组成的样本对的数量.另外,如文献[107]指出,在对离散轨迹进行基于梯度下降的迭代时,通常需要选择很小的步长来确保迭代过程中轨迹的平滑性(Smoothness),因此会增加迭代的次数.

Rana 等[108]假设轨迹是由时变的随机微分方程生成,然后可获得由高斯分布表示的微分方程的解,即ζ~N(μζ,Σζ),通过将避障以及期望起始点对应的具有最小二乘形式的目标函数f(ζ) 与其进行合并,得到非线性优化目标函数(ζ-μζ)+f(ζ) .文献[108]未考虑轨迹的平滑性问题,而且难以确保轨迹在优化过程中位置和速度的微分关系.

Koert 等[109]对于机器人末端避障的问题先通过强化学习获得无碰撞(Collision-free)轨迹的概率分布,然后将该概率分布用来训练ProMP,继而实现避障和轨迹泛化.该方法的主要局限性是当障碍物位置发生变化时需要重新应用强化学习获得新的无碰撞轨迹的概率分布,不适用于需要快速规划的场合.Ye 等[110]结合模仿学习和基于采样的方法,其将模仿学习生成轨迹当作参考轨迹,在障碍物附近利用采样生成的无碰撞的位置点构建路径图(Graph),最后用Dijkstra 算法寻找最优的可行路径.该方法可以有效地实现关节空间的避障,其局限性在于未能考虑轨迹在避障时的平滑性且难以扩展到带有速度要求的问题.

文献[111-112]采用逆最优控制(Inverse optimal control,IOC)的思路,先优化示教轨迹对应的成本函数(Cost function)的参数,后根据该函数采用受限优化技术对整个轨迹序列ζ进行优化,其中文献[111]利用逆KKT (Karush-Kuhn-Tucker)方法而文献[112] 则利用协方差矩阵自适应进化策略[113](即Covariance matrix adaptation evolution strategy,CMA-ES)对成本函数的参数进行优化.这类方法可以考虑复杂的轨迹约束,然而难以对轨迹进行实时的调整且不易于确保轨迹的平滑性,特别是轨迹对应的高阶微分轨迹.

3.7 人机交互中的模仿学习问题

当模仿学习用于人机交互(Human-robot interaction)时需要考虑人类和机器人之间的时间同步(Synchronization)问题.以人类和机器人协同搬运物品为例,机器人需要根据人的状态(如位置)的变化作出合理的反应,比如当人的移动速度变快(或慢)时机器人也应当适当地加快(或减慢)速度,从而实现友好的交互环境.

为了避免时间同步问题,Ewerton 等[114]假设在人机交互中人类的运动时长和训练样本中的时长是一样的.然而正如文献[20]指出,该假设在实际中是难以成立的.因此Maeda 等[20]提出在ProMP 中加入时间同步的方法,其将人的运动轨迹和机器人的轨迹合并成更高维度的轨迹,然后用式 (23)~(24) 获得合成轨迹对应的参数w的高斯分布.该分布可以看作是人类运动轨迹参数wh和机器人运动轨迹参数wr的联合概率分布.在人机交互时,将人的轨迹实时的当作观测值并利用式(25)~ (26)可对w进行更新13该更新同时也需要机器人的观测轨迹,然而该轨迹恰是需要预测的,因此文献[20]在更新 w 时将机器人的观测值设成零向量,同时将拟合机器人轨迹的基函数设成零矩阵.,这时w中的wr即可用来生成机器人的轨迹.最后,文献[20]给出依据人的运动轨迹实时调整机器人运动时长的方法.和文献[20]类似,Amor 等[115]利用DMP 分别对人类和机器人的轨迹进行学习,并且给出人和机器人在时间上同步的方法.其他需要时间同步的工作还包括应用HMM 的方法[116].

如文献[34]中的分析,上述方法在对人和机器人的轨迹进行建模时均采用时间作为轨迹的输入,未能直接考虑人和机器人之间的协调关系,故在预测机器人轨迹的同时需要附加的人机同步(即在时间上)的处理.由于KMP 可以学习带有多维输入的运动轨迹,Huang 等[6]应用KMP 直接根据人类的运动状态(即输入)对机器人的轨迹(即输出)进行预测,后又将其推广到人机交互中机器人的姿态预测[34],由于预测过程中不涉及时间,避免了文献[20,114-116]中的时间同步问题.类似地,Silverio 等[117]研究利用GP 实现人机交互的问题,然而该方法未考虑多维轨迹的协方差以及轨迹泛化问题.另外,基于动态系统的方法由于其直接对轨迹及其高阶微分进行学习[3,118],也能够避免人机交互中的时间同步问题.

4 讨论和展望

本节对模仿学习的一些未来发展趋势进行讨论和展望,包括从轨迹规划的角度对模仿学习进行改进、结合任务分解和交互式反馈的模仿学习以及学习人类与环境交互过程中的因果关系.

4.1 结合轨迹优化或采样的模仿学习

在模仿学习之外,轨迹规划(Motion planning)领域存在着大量的关于轨迹或路径规划的算法,如第3.6.1 节中提及的CHOMP,还有其他基于优化的方法包括随机轨迹优化[119](Stochastic trajectory optimization for motion planning,STOMP),基于序列凸优化的TrajOpt 算法[120]和随机多模态轨迹优化[121](Stochastic multimodal trajectory optimization,SMTO)等,以及基于采样的方法包括快速扩展随机树[122](Rapidly-exploring random trees,RRT)和概率路线图[123-124](Probabilistic roadmap,PRM)等.模仿学习和这些方法的最大区别在于前者主要通过学习人类的示教轨迹达到模仿的效果,而后者主要侧重快速的寻找满足任务或环境约束的可行轨迹.目前相关的研究如第3.6.2 节提及的文献[106,110]可以看作是模仿学习和运动规划的结合,然而两者在轨迹泛化以及复杂约束的情况下仍存在着很大的局限性.因此如何将不同的轨迹规划算法和模仿学习进行有机的结合是未来研究的一个重要方向.

4.2 结合任务分解和交互式反馈的模仿学习

当面对复杂任务时,人类可以直接地将其分解成一系列可行的子任务,并且能够合理地分配各个子任务的难度以及子任务之间的协调.对于机器人而言,如何从MP 库中选择恰当的MP 以及对多个MP 进行合理的串联是十分重要的.如果采用强化学习的方法解决该问题,则机器人将过于依赖与环境的交互且随着MP 数量的增加其需要的训练次数也会显著地增加.如果采用从示教轨迹中学习MP 序列的方法(如文献[79]),则只适用于和示教场景类似的情况,无法泛化到更一般的未知问题.因此研究人类对于不同任务或动作的分解和组合策略是模仿学习发展的另一个重要方向.

另外,当MP 库中的所有MP 均无法或难以实现某个子任务时,如MP 库中的运动均为简单的点到点的运动而对于握手任务则需要周期运动,如何引入人类的交互式反馈也是未来的一个重要研究方向.目前已存在一些关于交互式学习的工作.如文献[6]在KMP 的框架下提出基于人机交互力的轨迹自适应的方法.文献[125]研究通过人类的反馈对轨迹进行调整.文献[126]利用GP 预测的不确定性来判断是否需要人类提供新的示教样本.然而文献[6,125-126]均限于单独MP 且应用对象仅为简单的任务(如避障[6]、写字母[125]和触碰动作[126]),未涉及复杂任务的分解以及多MP 的问题.

4.3 结合因果推理的模仿学习

对于人类技能的模仿学习除了学习轨迹本身还应考虑示教过程中蕴含的因果关系.该关系可以认为是在抽象的层次对人类技能进行理解.针对该问题,可以采用因果推理(Causal inference)[127]提取观测变量间的因果关系和因果强度.相关的研究如文献[128],其首先分析人类在对物体进行操作时意图之间的因果关系,后将提取出的因果关系应用于新任务的泛化.另外,如文献[129]中的讨论,在模仿学习中常常存在一些与人类行为决策无关的状态,如果将这些状态应用于模仿学习将不利于技能的泛化,而通过引入干涉(Intervention)的方法提取状态和行为之间正确的因果关系能够提高模仿学习的性能.因此,结合因果推理将是模仿学习研究的又一个重要趋势.

5 结论

本文介绍了模仿学习中的基本问题和主要方法,并对其中各种方法的优点和局限性进行了讨论和比较.在这些方法的基础上,本文讨论了模仿学习中存在的若干关键问题.另外,本文探讨了未来可能的发展方向.需要强调的是,在实际机器人系统中模仿学习常和其他的算法紧密相连,如文中提及的应用强化学习对运动基元进行优化、泛函梯度或随机采样和模仿学习相结合实现避障以及基于轨迹概率分布设计控制器等,因此文中并未做严格区分.

猜你喜欢

协方差轨迹文献
解析几何中的轨迹方程的常用求法
Hostile takeovers in China and Japan
轨迹
轨迹
Cultural and Religious Context of the Two Ancient Egyptian Stelae An Opening Paragraph
高效秩-μ更新自动协方差矩阵自适应演化策略
基于子集重采样的高维资产组合的构建
用于检验散斑协方差矩阵估计性能的白化度评价方法
The Application of the Situational Teaching Method in English Classroom Teaching at Vocational Colleges
The Role and Significant of Professional Ethics in Accounting and Auditing