曾 超 杨辰光 李 强 戴诗陆
中国工程院近期在《走向新一代智能制造》一文中指出:新一代智能制造的技术机理是“人–信息–物理系统(Human-cyber-physical-systems,HCPS)”,并指出新一代HCPS 具备两个显著特征:1)人将部分认知转移给信息系统,因而系统具有“认知、学习”能力;2)通过“人在回路(Humanin-the-loop)”的混合增强智能,可极大地优化制造系统的性能[1].
人–信息–机器人融合系统(Human-cyberrobot-systems,HCRS)是HCPS 在机器人领域中的具体应用.与之相应,基于机器人的制造系统需要适应新一代智能制造的发展趋势.传统人机隔离生产方式刚性作业,无法完成复杂多变生产任务,也逐渐无法满足产品多品种、短周期、少批量、个性化的需求.而在HCRS 中,新型人机共融作业模式将人的优势(智慧性、灵巧性)与机器人优势(高速率、高精度、顺从性)高效结合,实现人、信息与机器人系统的深度融合.HCRS 具备HCPS 的典型特征,突出了人的中心地位,将人的特点(包括灵巧性和应变能力)纳入到系统之中,增强系统的智能程度,可适应新一代智能制造过程中柔性、高效等要求.
其中,人–机器人技能传递(Human-robot skill transfer,HRST)是HCRS 中的关键之一,是实现人与机器人的运动信息深度融合的基础.HRST的研究始于上个世纪80 年代,最近10 年得到了很大发展,目前是国际机器人领域中研究热点之一.HRST 在不同文献中有不同称谓,如示教编程(Programming by demonstration,PbD)、机器人示教学习(Learning from demonstration,LfD)、模仿学习(Imitation learning)等,但其本质相同:人将自己的技能做通用化描述后传递给机器人,进而实现机器人的运动编程,可代替传统的机器人编程方式.机器人除了直接模仿人的技能外,还可根据任务情况对所学技能进行泛化、拓展.HRST 突出了人的因素在HCRS 中关键作用,可实现人机各自作业优势的结合,适应人机共融协作要求.相比传统方式,HRST 有诸多优势(见表1).
表1 HRST 与传统方式的比较Table 1 Comparation between HRST and the conventional methods
人–机器人技能传递以交互的方式进行.一方面,人根据任务情况自主调节自身的运动特征,如根据与环境交互情况而自适应地调节肢体位置,刚度/力;另一方面,机器人的运动响应可作为反馈信息帮助示教者对其运动进行修正与完善.从机器人角度来看,不止是简单地模仿人的点对点(Point-topoint)运动轨迹,而是具有“学习、推理”能力,能够对所学“知识”进行泛化,如具有目标拓展、运动识别、安全避障等,以满足不同的任务要求.人机技能传递侧重强调人的因素在提高机器人技能方面的作用,因此其主要的关注点是如何对人和机器人的运动进行通用化的描述.
本文针对人机技能传递展开讨论,主要关注机械臂的技能示教学习.文章组织如下:第1 节介绍机器人通用的技能学习过程;第2 节阐述实现人机技能传递的主要方式;第3 节总结几种主要的技能建模方法;第4 节介绍机械臂仿人控制问题;第5 节给出目前研究不足与未来发展方向;第6 节总结全文.
技能从人到机器人传递一般包括三个基本步骤:1)示教阶段(Demonstration);2)模型学习阶段(Model learning);3)任务复现阶段(Task reproduction).以写字为例,技能传递过程总体框图如图1 所示.
图1 人机技能传递一般过程框图Fig.1 The procedure of human-robot skill transfer
1)示教阶段:在这一阶段,示教者向机器人演示如何操作任务.这个过程可以是在线的,也可以是离线的.在线是指在示教过程中,机器人也跟随示教者操作任务,记录下机器人在此过程中的运动信息的变化(包括位置、速度、力等信息)[2],在此过程还可记录示教者肢体的刚度变化信息[3−4];离线示教是指在示教阶段,只有示教者完成任务示范并记录下其运动状态变化,而机器人在此阶段并不需要跟随示教者运动[5].
2)模型学习阶段:在示教完成后,获得了包含相应技能信息的数据集合.模型学习的主要作用是根据任务特点对示教的技能特征进行建模.利用示教数据拟合模型,从而估计出模型参数.在此阶段,除了需要考虑对运动轨迹表征(Representing),还往往需要考虑多次示教轨迹对齐(Alignment)[6]、复杂技能的分割(Segmentation)[7]和运动拓展(Generalization)[8]等问题.
3)任务复现阶段:在获得技能特征之后,可将学习出的运动策略控制变量映射到机械臂的控制器中,机器人可复现出示教者的技能,甚至对其进行泛化,以完成相应的作业任务.任务复现阶段需要选择合适的机械臂控制模式.控制模式可以是多样的,根据任务要求可选择位姿控制、速度控制、力/力矩控制等.特别地,对于与环境有敏感接触交互力的任务,有效控制接触力是成功复现及泛化作业任务的关键因素.
人机交互接口设计(Interface design)是实现技能从人向机器人传递的首要环节,决定了人通过何种方式对机器人进行示教.根据不同的交互接口,常见的人机技能传递方式可归纳为以下三种形式:基于视觉的(Vision-based);基于遥操作(Teleoperation-based);人机物理接触交互(Physical human-robot interaction,pHRI).
1)基于视觉的人机技能传递[9−10].视觉输入是比较常用的运动示教方式.其基本原理是首先通过视觉设备(如三维体感摄影机Kinect、运动捕捉系统Vicon 等)捕捉并跟踪人体运动信息并记录下来,随后用机器学习算法对运动状态数据建模,得到运动的通用化描述.最后在复现环节中,根据具体任务特点,泛化生成满足任务要求的控制指令.根据捕捉信息的特点又可将这种方法分为以下几种基本方法:利用Kinect 相机[11]捕获示教者在运动时候手臂的关节角度,再将人的关节角度映射到机器人的关节空间(Joint-space)[12−13],如图2(a)所示;利用相机并结合光标(Optical marker)的方式,光标可佩戴在示教者的手臂末端位置,相机记录下手臂末端在示教过程中的运动轨迹,进而将其映射到机器人的任务空间(Task-space)[5−6,9],如图2(b)所示;此外,机器人还可以通过基于视频演示的方法学习到人的技能[14−15].
基于视觉的人机交互接口的优点是方便人的示教,由于人的肢体不与机器人直接接触,因而示教者的肢体运动可不受其限制.缺点是这种示教方式只能获取运动信息,无法捕捉到人机接触情况下示教者的动作信息.另外,由于示教者不能直接感受到交互力,导致示教过程缺乏浸入感.
2)基于遥操作方式的人机技能传递[16].通过遥操作的方式,示教者可以通过主端(Master)设备操作从端(Slave)机器人.示教过程与基于视觉的方式很类似,不同之处在于这种方式不再直接记录示教者的肢体的运动信息,而是记录主端操作杆或者从端机器人的运动状态.由于操作杆与机器人的物理结构往往不同,因而在示教过程中需要将二者的工作空间(Work space)进行匹配[17].目前,遥操作已经被成功应用到了机器人辅助手术系统中,如达芬奇手术机器人.
基于遥操作的示教方式的优点是可以用在远程操控场景与不适合示教者和机器人直接接触的工作场景中,如核电辐射场所、对大型机器设备的示教编程等.其缺点是遥操作系统往往存在延时问题.另外,震颤现象也是影响遥操作示教性能的重要因素之一[18].
图2 基于视觉方式的技能传递[19]Fig.2 Vision-based human-robot skill transfer interface[19]
图3 基于遥操作方式的人机技能传递[16]Fig.3 Teleoperation-based human-robot skill transfer[16]
3)基于物理交互方式的技能传递[19−20].所谓的物理交互是指示教者直接与机器人接触,在机器人的示教模式下,直接通过与机械臂的物理接触交互完成作业任务.该方式主要针对柔性协作机器人,其机械臂具有一定柔性特性,可以安全地与人协同作业,一般提供了接口方便对其进行快速运动示教编程,如图4 所示.
其中,双臂示教是一种较为特别的物理交互示教方法[21−23],即利用双臂机器人的特点,以其中一机械臂为主端,以另外一机械臂为从端.示教者操作主端引导从端机械臂完成作业任务,如图5.这种示教方式可以使得示教者直接操作机械臂,有物理交互的特点.为了提高示教的质量,可以在双臂示教系统中的主从两端引入基于虚拟阻抗的触觉反馈机制,以提高人机交互的临场感[4].
图4 基于物理交互方式的人机技能示教[24]Fig.4 Physical interaction for human-robot skill transfer[24]
图5 双臂示教方式[25]Fig.5 Demonstration based on dual arm teaching[25]
技能建模中需要解决的基本问题是如何实现对非线性运动(Nonlinear movement)的一般描述.任何复杂的行为都可以由简单的线性子系统的加权叠加来描述.可用以下公式来描述:
其中,x代表动作信息的特征变量,如位置、速度、力等;hi表示各个线性子系统的加权系数,而子系统fi=Aix+bi由系数Ai和bi确定.
由式(1)可知,技能建模的关键在于确定上述的加权系数、估计子系统的参数以及选择合适的特征量.常见的基本建模方法包括动态运动原语(Dynamical movement primitives,DMP)、高斯混合模型(Gaussian mixture model,GMM)和隐马尔可夫模型(Hidden Markov model,HMM).
这几种模型的主要区别在于看待问题的角度不同:DMP 把技能特征看作是运动原语(Primitive),用示教数据拟合DMP 模型可得到运动原语序列;后两种是从概率角度看待技能示教与传递,即把技能的各个特征与模型的不同状态(State)相对应,用示教数据(对应概率语境中的观察数据,Observed data)拟合GMM 或HMM 模型.因此,学习出模型的状态信息也就得到了相应的技能特征信息.
3.2.1 DMP 基本数学描述
DMP 模型[27−28]是由正则系统驱动的弹簧–阻尼系统来表示运动轨迹.原始DMP 模型表示为[29−30]:
其中,K,D和α1是模型参数;x和v分别表示运动位置与速度;x0和xg表示运动轨迹的初始与目标.τ代表系统的时间常数,决定系统的演化时间;s代表系统的相位(Phase),从1 均匀收敛到0.
DMP 模型本质上是一个二阶非线性方程,包含两个部分:线性部分和非线性部分.以图6(a)为例,线性部分构成运动轨迹的基本形状(实线表示),保证收敛到目标值;非线性部分可将其调节成不同形状(虚线表示),在保证形状相似性的前提下,得到丰富的运动轨迹.DMP 分为离散型(Discrete)和节律型(Rhythmic),区别在于非线性项的核函数不同:前者为高斯核;后者为余弦函数.这两种DMP 分别用于学习点到点(Point-to-point)运动和具有周期性规律的运动[31].
可以用不同的非线性拟合方法逼近DMP 模型中非线性项,常用方法有局部加权回归算法(Locally weighted regression,LWR)和局部加权投影回归(Locally weighted projection regression,LWPR).通过DMP 描述运动技能的的一个优点在于它的演化并不直接依赖于时间,而是基于中间变量(即相位)的变化,方便对运动轨迹进行拓展调节[28,31].另外,可通过对公式中初始位置、末端位置以及时间常数的调节来实现对运动轨迹在时间上或空间上的拓展与泛化(见图6).
图6 DMP 模型表征运动轨迹示例Fig.6 Examples of DMP modelling:converging to goals
3.2.2 基于DMP 的技能传递
目前,学者在原始的DMP 模型的基础上已经发展出了多个版本的DMP 模型,并应用于机器人技能示教学习.Ude 等[32]不直接利用原有模型参数作为控制策略,而提出了查询子(Queries)的概念来同时考虑任务参数与模型参数,并可根据任务变化情况对其进行调节,该方法在扔球(Ball throwing)实验上得到了很好验证.Muelling 等[33]提出了一种DMP 框架用来让机器人学习打乒乓球,他们的框架考虑了以目标为中心(Goal-centered)的运动原语,既考虑运动目标位置又考虑运动目标速度,并可以同时对二者进行调节与拓展.
原始DMP 模型有两个缺点:1)当目标位置与初始位置很接近时,则会产生很大的加速度,这可能会损坏机器人本体,也不利于协作者的安全;2)如果拓展的位置目标相对于原始目标过零点(如从1拓展到−1),则拓展的运动轨迹可能会相对于坐标轴发生翻转.为了克服这些问题,Hoffmann 等[34]改进了原始DMP 模型中的变换系统(Transform system),提出了一种基于新的变换系统能够将外部物体位置信息耦合到该系统中,可以实现实时在线避障,通过Pick-and-place 实验验证了他们的方法.
R¨uckert 等[35]提出了参数化的动态原语模型(Parametrized DMP,PDMP),将肌肉协同概念引入到该模型中,用参数化的基函数替换原DMP 中的径向基函数,实验证明了其有效性.Krug 等[36]提出了一种泛化的DMP 模型(Generalized DMP,GDMP),该模型把DMP 的参数估计变成一个约束非线性最小二乘问题,并把模型预测机制集成到示教系统中,可以根据机械臂在当前运动状态下产生多种控制策略,可起到意图预测、避障等作用.Meier 等[37]提出了一种DMP 的概率表示方法,把该模型重构成带有控制输入的线性动态系统的概率模型,方便直接将感知测量单元耦合到系统中,DMP 系统可自动在线获取反馈信息,并可根据似然估计结果对任务成败作出预判.Gaˇspar 等[38]提出了弧长参数化的动态原语模型(Arc-length DMP,AL-DMP),基本思想是将空间信息与时间信息分开表示,可解决示教中存在较大运动速度差异的问题.Gams 等[39]提出了适应于双臂交互的DMP 模型,基本做法是在两个DMP (分别用于机器人的左、右臂)的变换系统中耦合一对虚拟的相反作用力,使得一只机械臂可以感知到另外一机械臂的位置与力的变化,以达到良好的双臂协调控制效果(如图7 所示).
图7 基于DMP 模型的双臂技能示教学习[39]Fig.7 DMP-based robot bimanual skill learning by demonstration[39]
在人机示教过程中,往往需要多次示教才能学习出好的控制策略,而原始的DMP 模型只能学习单一的示教轨迹.为了从多次示教数据中学习出技能特征,Yin 等[40]用联合概率分布的方式替换了原有DMP 模型中的归一化的径向基函数(Normalized radical basis function),即将相位与非线性函数用联合概率分布表示,再从多次示教数据中学习出一个非线性函数项,便可以学习多次示教的结果.Matsubara 等[41]提出了风格化(Stylistic)的动态原语模型(SDMP),通过将运动风格(Style)信息耦合到DMP 的转换系统中,SDMP 可以同时描述多样化的运动轨迹,达到了学习多次示教的目的,该方法适合于多次示教数据差异较大的任务.
可以通过强化学习方法优化示教获得的运动原语.在人机示教技能传递的语境中,强化学习方法的基本特征在于可实现对连续、高维原语空间的运动策略优化,这区别于一般的强化学习方法.在技能复现阶段,可以通过强化学习技术对变换系统中的非线性函数进行调节与优化[42],按照一定目标来调节运动轨迹,如按照最小加速度原则收敛到目标点、要求运动轨迹经过某些特定位置等.Kober 等[43]将感知单元耦合到了DMP 的系统中,可以提高系统抵抗外部的干扰能力;提出了一种基于权重探索的策略学习方法(Policy learning by weighting exploration with the returns,PoWER)对DMP 学习到的控制策略进行优化.Theodorou 等[44]提出了一种可应用于高维状态空间的算法,即基于路径积分的策略优化方法(Policy improvement with path integrals,PI2).Buchli 等[45]将PI2算法用于机器人技能学习,用以优化运动原语模型参数.Li 等[46]又将PI2算法应用到了移动机器人的抓取操作上,同时对机械臂与机械手关节空间进行轨迹优化,取得良好的实验效果.Stulp 等[47]利用PI2算法用于机器人学习序列化的运动,不仅优化模型参数,还优化运动目标参数.Stulp 等[48]又提出了一种进化策略方法(Evolution strategies,ES),基本思想是将运动原语的演化调优看作是一个进化优化问题,并通过数值仿真比较了PoWER、PI2和ES 的异同以及在同等条件下的收敛情况.
3.3.1 GMM 基本数学描述
GMM 提出的时间比较早,有很多变形版本,已经被应用于诸多领域.我们只考虑在人机示教中对运动信息的表征情况.
其中,πi表示第i个高斯组分对应的系数;fi(ξt)是条件概率密度函数,通常可表示成高斯分布N.GMM 模型参数可概括成:
一般可以利用EM (Expectation-maximization)算法估计得到ΘGMM.GMM 仅仅是用来对数据表征,若要最终获得机械臂的运动控制策略,还需要根据GMM 模型参数生产运动控制变量.在机器人技能学习领域中,高斯混合回归(Gaussian mixture regression,GMR)是实现这一目标的简单且高效的方法[50].例如,控制变量˙ξ∗可以通过以下公式计算得到:
其中,hi(x)是归一化的权重,上式中的参数即是由EM 算法评估得到的GMM 模型参数.
3.3.2 基于GMM 的技能传递
近年来,基于GMM 模型的技能示教学习方法在文献中屡见报道.在算法方面,Muhlig 等[51]将GMM 模型引入到类人机器人的模仿学习框架中,利用GMM 学习到的运动信息,可以根据目标物体的移动信息而动态调节相应的动作.Gribovskaya等[52]利用GMM 模型来描述机器人运动中的多变量之间的关联信息,能够在时间和空间扰动下快速重新规划机械臂路径.Khansari 等[53]提出了一种利用GMM 学习稳定非线性动态系统的方法,可保证机械臂在接近目标位置时能够尽可能地跟随示教者的运动姿态,这有利于机械臂可以更好地捕获示教者的运动信息.Cederborg 等[54]提出了一种新的GMM 模型(Incremental,local and online variation of Gaussian mixture regression,ILO-GMR),
相比于传统GMM 模型,ILO-GMR 将任务信息耦合到局部动态系统中,能够使得机器人在线学习新的运动技能,而不需要重复地调整模型参数,在一定程度上提高了技能传递的效率.
Calinon 等[55]提出了一种基于GMM 的运动技能的示教学习框架,能够同时处理关节空间与笛卡尔空间的任务限制,并可使得机器人能够重复利用已经学习到的技能来处理新的任务情形.Calinon等[56]又提出了一种将任务信息参数化的混合模型(Task-parameterized mixture model,TP-GMM),其核心思想是把模型参数与任务参数结合起来,即把任务参数耦合到GMM 模型中,在任务复现阶段能够实时地调节参数化的轨迹以满足不同的作业任务要求.Alizadehl 等[57]拓展了TP-GMM 模型,使之能够解决在示教阶段或者复现阶段中的部分任务参数信息缺失的问题.Huang 等[58]对TP-GMM 进行了优化,选择直接优化任务参数而不是GMM 的组分(Component),这样将模型学习变成一个低维空间的优化问题,并且设计了一种特征选择机制,可以自动选出重要的任务帧(Task frame)而剔除不重要的任务帧.为了有效表征机械臂末端执行器在完成任务中的旋转特征,Zeestraten 等[59]提出了在黎曼流形域中的GMM 模型,该方法能够有效表征机械臂在任务空间的位姿联合分布状态,可使得机器人学习到示教者的更加丰富的技能特征.
在应用方面,GMM 被应用于不同类型的作业任务以及不同的机器人平台上.Reiley 等[60]将GMM 应用到了机器人辅助手术任务中,用GMM表征医生手术过程中的动作信息,再将生成的控制策略传递给手术机器人.此外,Chen 等[61]利用GMM 模型把技能传递给柔性手术机器人.Wang等[62]将GMM 模型应用到软体机器人的运动技能学习中,用GMM 表征示教数据并评估出执行器的合适路径,在试验中取得了良好效果.Kinugawa等[63]者的运动意图,并可以根据人的意图预测结果自适应地对装配任务进行任务规划,达到了良好人机交互效果.Goil 等[64]利用GMM 模型解决辅助轮椅导航系统中人机混合控制问题,将用户的控制命令作为任务限制耦合到运动学习过程中,实验取得了良好人机协同控制效果.
3.4.1 HMM 基本数学描述
在人机示教技能传递的语境中,常用一阶HMM 模型分析时间序列.给定一个状态序列{s1,s2,···,sT},可用以下公式表示其其联合分布[65]:
并且假设当前状态只与上一时刻状态有关,即:
与GMM 模型参数相对应,HMM 模型参数可表示为:
其中,ai,j为状态转移矩阵中的元素.HMM 的参数可用前向–后向算法(Forwar-backward)或者EM算法估计得到.与GMM 类似,在用HMM 对示教数据建模后,也需要利用回归算法生成机器人的运动控制命令.
在GMM 模型中,状态之间相互独立,状态之间的转移与时间信息无关;和HMM 模型中,状态驻留概率为均匀分布.因此,GMM 模型和HMM 模型不能很好地表征运动技能的时间信息.而隐半马尔科夫模型(Hidden semi-Markov models,HSMM)用高斯函数表示HMM 中的状态驻留概率,可以改善HMM 在表征时间信息的性能.相应地,HSMM 的参数可表示为:
其中,µi和分别表示第i个状态的均值与方差.图8 反映了在两个状态下GMM,HMM 与HSMM建模示例以及三者之间的主要区别.
图8 GMM,HMM,HSMM 三种模型关系图[65]Fig.8 Graphical representation of the GMM,HMM and HSMM models[65]
3.4.2 基于HMM 的技能传递
Asfour 等[66]将HMM 模型引入到类人机器人的模仿学习中,用示教数据中的关键特征来训练HMM 模型,实验表明相对于GMM,HMM 可以很好地反映出机器人双臂之间在完成任务过程中的时间关联性.Calinon 等[67]提出了一种基于HMMGMR 模型的架构使机器人可以学习人的运动技能,用HMM 对人体运动信息建模,用GMR 做回归得到机器人的运动控制命令.该架构与GMM-GMR类似,但可以表征更加丰富的运动信息,该算法具有更强的鲁棒性.
Vukovi´c等[68]首次将该方法应用到移动机器人的示教学习中,用HMM 对机器人的移动信息建模,试验证明了其有效性.Medina 等[69]结合HMM模型和线性参数变化(Linear parameter varying,LPV)系统,提出了HMM-LPV 模型,用HMM 对复杂任务建模,用LPV 保证HMM 每一个状态或子任务(Subtask)的稳定性,该模型可以学习序列化的、与时间变化无关的运动控制策略.
Hollmann 等[70]提出了一种基于HMM 的机器人示教编程方法,通过对机器人的运动控制信息添加约束,使得机器人可以自动地根据人的运动特征做出相应的反应,并在一家金属加工公司的生产线上验证了所提方法.Vakanski 等[6]提出了一种机器人运动轨迹学习方法,用HMM 表征示教轨迹,并通过在状态转移时设置关键点(Key points)的办法,实现对轨迹的拓展与调整,在刷漆(Painting)作业中验证了该方法的有效性.Rafii-Tari 等[71]提出了一种基于分层级的(Hierarchical HMM,HHMM)模型以应用于机器人辅助血管内导管插入术.他们把该手术任务分成多个序列化的运动原语,用HHMM 模型分别对各个原语状态以及它们之间的关联信息建模,可以使得机器人对协作者的运动输入有一定识别和预测能力.
如前文所述,HMM 无法表征每个状态的驻留时间.为此,Calinon 等[26]将HSMM 引入到机器人示教学习中,利用HSMM 同时对时间信息和运动信息建模,即保留了HMM 模型的优点,又能提高抗干扰能力,尤其在时间域上的抗干扰能力.Pignat等[72]利用HSMM 表征人机协作场景中的感知信息与运动控制信息,即把协作者的运动与机器人的运动在空间位置与时间上都关联起来,机器人可以根据人的当前运动状态而做出在空间域与时间域上的运动响应,该方法被应用到了机器人辅助穿衣任务.Rozo 等[73]进一步提出了可自适应调节每个状态持续时间的HSMM 模型(Adaptive duration hidden semi-Markov model,ADHSMM).与传统的HSMM 模型相比,不再用固定的高斯分布来表征其状态驻留时间,而是可以根据与环境交互情况自适应地调节,因而ADHSMM 对运动的时间信息具有更强的表示能力,具有更强抗外部干扰能力.
DMP、GMM、HMM 三种模型比较:由于模型差异,难以对三者细致比较.总体来说,DMP 具有模型简洁,计算效率高,泛化能力强的优点,但DMP独立表征各运动维度信息,丢失了各维度之间的关联信息.例如,当用DMP 模型对机械臂末端运动位置与交互力建模时,只能对力与位置分别建模与描述,就无法表征出位置与力的关联信息,可能会导致信息丢失而不能很好地学习到示教者的运动.另外,在模型学习阶段需要提前选择离散型DMP 或节律型DMP[24].而GMM 和HSMM 可以表达出各维度的关联信息,但模型复杂,计算效率相对较低,通常需要较长的时间学习模型参数.HSMM 可以反映各个状态之间的转换信息,因而比GMM 具有更强的运动信息表达能力,但在同等条件下需要更长的计算时间[26].表2 总结了这三种模型与其常见变种模型的的基本特点,以及利用它们学习到的技能示例.
在建模阶段,除了需要考虑对运动做通用化描述外,还有一些问题需要考虑,主要包括:1)轨迹对齐(Alignment)问题;2)技能分割(Segmentation)问题.
1)轨迹对齐问题
由于示教的差异,多次示教的运动轨迹往往在时间轴上长短不同,在空间上也会有一定差异,这种差异有时候还会比较大,影响模型学习结果.为了达到更好的运动技能学习效果,需要对示教数据进行对齐处理.动态时间规整(Dynamic time warping,DTW)是常用的对齐数据的技术,在机器人技能学习领域应用广泛.Muhlig 等[51]在用GMM 对示教数据建模之前,用DTW 在时间上对运动轨迹进行了对齐处理.Vakanski 等[6]结合HMM 与DTW技术,利用DTW 对运动轨迹的关键点进行对齐,实验证明该方法要比没有对齐的情况获得更好的效果.为了对齐人机协作场景中示教者与机器人的运动轨迹,Amor 等[74]把DMP 与DTW 模型结合起来,利用DTW 把人与机器人的各自运动相位变量对齐,这样二者的运动内部信息便可关联起来,人机双方的运动便能够得以协调起来,该方法比较适合人机协作的作业任务.
2)技能分割问题
技能分割主要针对以下情况:a)复杂的任务往往包含多个步骤,其运动轨迹的动态特征非常复杂,用上述三种模型对其整体运动轨迹一次性建模比较困难;b)对于序列化的运动轨迹,经常需要分阶段拓展,即轨迹拓展的目标不止一个,因而需要分段处理;c)在机器人复现任务过程中,对其分阶段添加不同的限制,需要机器人在各阶段作出不同的响应.面对这三种情况,技能(或任务、轨迹)分割是解决问题的有效办法.基本思想简单、直接:把作业任务分割成多个阶段,用上述模型对分割后的各个运动片段(Segments)分别建模,再针对每一阶段具体情况分别考虑.
表2 DMP、GMM、HMM 模型特点总结Table 2 The summary of DMP、GMM、HMM models
目前,关于技能分割的文献报道较少,主要有以下几种方法.Fox 等[79]提出了β过程自回归隐马尔科夫模型(Beta process autoregressive HMM,BP-AR-HMM),用于分割连续的人体运动.Niekum等[80]对BP-AR-HMM 进行了改善,将其应用到机器人示教学习领域,把BP-AR-HMM 与DMP 结合形成了一个完整的示教学习框架,前者用于分割;后者用于表征.随后,Chi 等[81]将这一框架应用到了安装在轮椅上的机械臂示教学习中,实验取得了良好效果.BP-AR-HMM 算法的优点是全自动分割,不需要先验设置分割的片段数量;缺点是鲁棒性差,容易导致过分割的情况.
最近,Lioutikov 等[82]提出了一种概率分割(Probabilistic segmentation,ProS)方法,该算法是基于对DMP 的概率表示[38],在对轨迹建模的同时完成技能的分割.在同等条件下,ProS 比BPAR-HMM 具有更强的鲁棒性,可获得更好的分割效果.但ProS 是一种半自动的分割方式,需要先验设置分割数量.
机械臂的仿人控制是一个很大的范畴,一直得到了广泛的关注与研究.在人机技能传递领域,仿人控制具有比较明确的目标与意义.这里的仿人控制是指如何借鉴人的手臂灵活的操作能力,来实现机械臂的灵巧控制,或者说如何实现将人手臂的自适应控制模式传递给机械臂.
对于雕刻这样的任务,机器人难以胜任,而人却可以比较轻松地完成.学者对了解人类是如何拥有灵巧的操作能力表现出了浓厚的兴趣,在探究人体神经肌肉运动控制机理方面展开了大量研究.Schweighofer 等[83]展示了小脑能够补偿人的手臂与外界的相互作用力矩,进而通过学习部分逆动态模型而改进预先存储在运动神经元皮层的基本逆动态模型,从而在目标定向运动中提高精确度,又进一步将人体肌肉的同步收缩解释为一种不受时延影响的分布式的局部控制策略,表明主动改变系统刚度的能力可以克服反馈滞后的缺点.
特别地,Shadmehr 等[84]在运动神经元控制方面的研究中发现共同收缩(人改变内在的肌肉–骨骼刚度的能力)在处理不确定性和不可预测性方面起到了关键性作用.Burdet 等[85]证实了人的手臂具有一种类似弹簧的性质,在中枢神经系统(Central neural system,CNS)的控制下,手臂可以自适应地调节阻抗/刚度以适应任务的变化,当外部环境变化时,手臂能够自然地增加阻抗以提高抗干扰能力,而当不需要高刚度时,又能够自然地降低刚度.Mitrovic 等[86]研究表明中枢神经系统可以通过适当的主动肌/对抗肌的同步收缩来控制手臂平衡,并研究证实了共同收缩在处理不确定性最小化方面具有重要作用.
上述研究成果表明人的这种变阻抗/刚度控制能力是完成灵巧作业任务的关键,这对于实现机械臂的灵巧控制、改善机器人的操作技能具有重要启示作用.近年来,人机示教领域的学者开始关注于如何使机器人学习自适应变刚度控制策略.这些方法基本可以分为两类:1)基于学习的变刚度控制方法;2)人机变刚度控制策略传递.
阻抗控制是实现力控的常用方式,一个典型的关节阻抗控制器可用以下公式表示:
其中,τcmd是控制输入力矩,τfor是前馈项,用于补偿机械臂与外界的交互作用力,xdes和xcur分别代表目标关节角度和当前的关节角度,τdyn用以补偿系统的动态力如重力和科里奥利力等.KP和KD分别表示刚度与阻尼,通常阻尼项设置为,λ是预设常值.变阻抗控制的目标是适当地调节刚度值,以达到提高机械臂柔性的目的[87−90].
基于学习的方法实现机械臂的变刚度控制是指通过学习技术(如强化学习)来对刚度轨迹进行调节,获得适当的变刚度控制策略.Buchli 等[45]提出了一种基于强化学习的方法来调节刚度轨迹.其基本思路是利用DMP 模型变换系统的最后一项即非线性项(参见式(2))来表示刚度,再用PI2算法对这一非线性优化,通过设置一个合适的代价函数,最终可以得到变化的刚度轨迹.该算法用一固定的初始值拟合PI2算法,因此收敛速度与初始值的选择有很大关系,通常需要很长的训练时间和较多的训练次数.
Steinmetz 等[89]提出了一种基于DMP 的方法来实现力控,他们的主要思路与Buchli 的方法相似,不过没有直接利用强化学习技术来优化非线性项,而是设计了一种刚度值选择机制来调节刚度,例如当机械臂在运动过程中把刚度设定一个较高值,而当与外部环境接触,将刚度设定为零.他们的方法不需要很长的学习时间,但不能连续调节刚度值.
Rozo 等[90]提出了一种基于HMM-GMR 的方法来学习变刚度轨迹.其基本思路是在示教阶段,同时记录位置信息与力信息.在建模阶段,用联合概率分布来同时表示位置与力,学习后的HMM 模型就能够表征力的变化信息,再通过以下公式将力与刚度联系起来:
其中,µn,t是HMM 模型第n个状态在时间t时候的位置均值,ht,i是状态的权重(参见式(9)).通过式(15)可以获得变刚度轨迹,并且可以反映出相应的力的变化情况.
受此启发,Racca 等[24]进一步利用HSMMGMR 模型来学习刚度,用HSMM 模型替换HMM模型可以提高系统对外界的抗干扰能力,这对于接触型(In-contact)任务十分有利.并且,他们还将机械臂末端的旋转力矩信息耦合到HSMM 模型中,因而还可以学习出旋转刚度轨迹,即实现了在旋转方向上的变刚度调节.
上述的学习刚度的方法都需要在一个学习过程才能够获得刚度轨迹,显然不够直接,并且很难准确反应人体的刚度变化特征.另外,在这些方法中刚度是通过基于力计算得到的,往往需要额外的传感器测量力,增加整体机器人系统的成本.更加直接的方式是人机变刚度控制策略传递,即在人机交互过程中,提取人的肢体刚度变化特征,将其直接传递给机械臂,以达到变刚度控制的目的.
研究者们发现利用人体生理肌电信号(Eletromyography,EMG)可以实现人手臂到机械臂的力传递策略.肌电信号是运动单位产生的动作电位序列(Motor unit action potential trains,MUAPT)在皮肤表面叠加而成的一种非平稳微弱信号,由中枢神经系统进行调节控制,表征了肌肉的伸缩以及关节力度和刚度变化等信息,因而EMG信号与肌肉力度/刚度的调节、运动意图等具有很大的关联性.肌电信号使得我们能够从生理层次提取运动肌肉控制特性,弥补传统的示教技术仅从物理层次上实现人机交互的不足.
近些年来,机器人领域的学者开始利用EMG信号提取人的肢体刚度特征,并用于控制机械臂.He 等[88]提出了一种基于EMG 信号的变阻抗遥操作系统,如图9 所示,根据EMG 估计出人的手臂刚度,人在视觉反馈下调节手臂刚度,并传递给机械臂,实现机械臂的自适应柔性控制.Ajoudani 等[11]又提出了一种基于扰动测量的手臂刚度简化的评估方法,通过肌肉共收缩情况定义一个刚度指示器,其变化可反映出人体肌肉活化程度,该方法可实现基于EMG 信号实时估计出人体刚度.Yang 等[4]进一步将触觉反馈机制引入到该类系统中,同时在触觉和视觉反馈的帮助下,人可以更加自然地示教,增加了技能传递的临场感.
图9 基于EMG 信号的人机变刚度传递系统[91]Fig.9 The EMG-based human-robot stiffness transfer system[91]
Liang 等[3]提出了一种人体刚度增量估计算法,利用刚度与力增量之间的线性映射关系,估计出肢体刚度系数,这种方式可以忽略掉EMG 信号的非线性残差,他们通过教授机器人写字,证明了该算法的有效性.Li 等[92]进一步利用该方法估计人体刚度,并将其用于控制上肢外骨骼机器人,可实现外骨骼自适应地调节刚度,取得了良好实验效果.
Howard 等[93]比较了在不同层级上将人的行为传递给变阻抗驱动器(Variable impedance actuators,VIAs),主要分析了基于EMG 信号的人体阻抗调节特征的传递,指出特征传递比直接动作模仿具有更好效果,他们的结论可提供很好的借鉴作用.Peternel 等[94]提出了一种人机协作系统,如图10所示,将人的手臂刚度与机械臂的刚度协调起来,机械臂的刚度由示教者的手臂刚度的变化决定.例如,当在一个拉锯任务场景中,当人拉锯时增大手臂力度,机械臂就减小刚度处于松弛状态,反之亦然,这种方法适合于人机协同调节交互力的任务场景.
图10 基于变刚度控制的人机协作[94]Fig.10 Human-robot collaboration based on variable stiffness control[94]
在上述的刚度传递过程中,大多只关注于将评估出的人体刚度轨迹直接映射到机械臂的控制器中,而对刚度的动态特性分析不足.Yang 等[25,95−96]提出了一种人机示教框架,将运动轨迹与刚度轨迹等同看待,提出用统一的框架对二者分别建模,这样可实现运动特征与刚度特征从人向机器人的同时传递,获得更加完整的技能传递过程.并且,他们的方法可学习多次示教刚度轨迹,保留对空间位置与刚度分别调节的空间,可实现对二者同时或者分别拓展与分割,有利于提高机器人的技能学习能力.
上述刚度传递的一般过程是:先离线估计出示教者手臂末端的刚度,再映射到机械臂的末端工作空间,最后通过逆运动学作用到关节力矩控制器.Fang 等[97]利用零关节空间刚度特性,开发了基于模型的人体关节空间估计方法,实现在线在多个位置和不同程度的肌肉活化度下对手臂7 个关节的刚度估计,该方法有望实现人机关节空间的刚度直接传递,提高变刚度自适应控制的效率.
综上所述,人机技能传递技术虽然取得了一定进展,但仍然存在多个方面问题.主要体现在:
1)在人机技能传递方式方面,目前的交互方式过于单一、感知信息不足,人机融合程度不高,造成示教的浸入感不足,示教者缺乏比较真实的临场感,从而影响示教性能.
针对这一问题,未来会集中在寻求更加直观、自然、友好的示教方式.首先,在人机交互接口上,多种交互方式相结合是发展趋势,将先进的交互技术引入到机器人技能示教学习领域是确实可行的办法,例如,利用虚拟现实(VR)、混合现实(MR)以及三维再现等技术[98−101]构建人机示教交互与作业环境,有望缩小人机隔离状态,达到更好人机共融效果,可提高示教质量.
多模态信息融合也将是改善人机交互性能的发展方向.通过将物理的或者生理的多种形式的信号(如空间位置、交互力、触觉、视觉、肌电信号等)在更高层次上融合,纳入到人机技能传递过程中,可以更直观地表达出人的技能特征.
2)在技能建模、学习方面,目前所用的模型大多是传统的机器学习模型,泛化能力不足,使得机器人学习技能过程在很大程度上受到具体示教场景、示教者本身、作业环境等诸多因素的制约.
结合示教学习和深度强化学习等技术是解决这一问题的有效方式之一.近年来,人工智能技术在机器人视觉感知、技能学习等方面展现出较大的应用潜力[102−105].虽然现有的基于人工智能的机器人技能学习方法侧重于机器人自主提升技能,与人机示教技能传递存在很大差别,但人工智能有望作为一种辅助技术手段以提高人机示教的性能.一种思路是先利用示教技术使机器人具备一定的类人化的操作技能,再通过深度强化学习提高机器人的技能泛化能力.例如,可考虑如何用深度强化学习技术优化运动原语控制策略.
3)在机械臂控制方面,虽然目前可以实现人体刚度特征向机器人的传递,但对人体刚度调节机制理解不够深入,人手臂与机械臂在结构上具有差异性,影响刚度评估的准确性.刚度估计方法也繁琐复杂,影响技能学习效率.
为了进一步理解肌肉活化、信息感知、运动控制等内容,有必要深入探究人体的运动机理.更好地理解人体肌肉模型,开发具有普适应的刚度估计方法.从人类的运动控制中汲取经验,是未来提高机器人类人化操作能力的重要研究方向[106].
本文主要介绍人机技能传递取得的研究进展.首先,阐述了机器人技能学习在新一代智能制造时代的研究背景,尤其是与HCPS 之间的关系.介绍了技能传递一般过程:示教–建模–技能复现,以及几种主要的人机技能传递方式,并分析了各自的优缺点.接着阐述了三种基本的技能建模模型:DMP、GMM、HMM,以及它们的主要变种,总结了各自的特点.接着,介绍了两种实现机械臂变刚度控制的方式:基于学习算法和人机刚度特征传递,并分析了各自的优缺点.最后,总结了示教学习在三个方面面临的主要问题、现阶段不足之处,并给出了可能的解决之道与未来发展方向.
在过去的十年里,人机技能传递技术得到了较快发展,无论是在人机接口设计与建模,还是在仿人手臂自适应控制上都取得了一些可喜的成果.但有诸多不足,与达到应用的地步还有一段距离.人机技能传递是个典型的交叉学科问题,需要机器人学、控制、机器学习、神经科学等多个学科的研究人员共同努力,才能推动其不断进步,最终走向工业界.
目前,我国在此领域处于刚刚起步阶段,相关成果报道很少,离国际先进水平有很大的差距,需要国内学者加倍努力,在理论与技术上都有所建树,争取早日把人机示教技术推向应用,助力我国智能制造业发展.