基于预测模型的遥操作参数辨识及模型更新算法研究
2020-02-01薛载敬宋荆洲
薛载敬,宋荆洲
(北京邮电大学自动化学院,北京 100876)
1 引言
随着空间活动的广泛开展及空间机器人遥操作技术的不断发展,对于主端操作体验和遥操作系统的透明性和稳定性的要求越来越高。数据传输的大时延问题是空间遥操作的核心问题,图形预测显示技术是解决遥操作中时延问题的有效手段[1]。事先针对从端环境进行几何建模可以有效提高实时视觉反馈,针对从端接触模型建模实时力觉反馈可以更好地辅助操作者完成试验任务。在过去的几十年里,许多学者针对预测模型的参数辨识和模型更新问题进行了大量研究[2]。
遥操作系统中从端环境主要包含几何特征和动力学特征,其中几何特征的描述主要通过虚拟场景建模以及视频传输来完成,动力学特征的体现主要通过力觉生成和反馈来完成,相比于单一反馈系统,结合视觉和力觉的反馈完成试验任务的效率和准确度得到提高[3]。例如在空间站手套箱等任务场景中,存在擦玻璃、旋拧阀门等需要力觉反馈来提高操作效率和操作准确度的任务,纯靠视觉完成任务的效率较低下,操作者的心理负担较大。
环境动力学特征主要包含:动力学环境模型建模和参数辨识[4-5]。考虑到力觉反馈需要保证刷新频率才能有更好的效果,因此接触类型一般简化为单点接触[6]。Kelvin-Voigt模型将接触力与位置的关系等效为线性弹簧和阻尼的并联结构,由于其简单有效和线性特性,在过去的环境动力学建模中得到了广泛的应用。但是Kelvin-Voigt模型的一个显著缺点是由于不连续性存在初始阶段的力突变问题和恢复阶段的反向力问题,限制了其在柔性对象上应用。非线性的Hunt-Crossley模型通过阻尼项与位置的耦合,解决了连续性问题,更接近实际物理性质,在柔性对象的建模中起到了很好的效果,但其非线性也增加了参数辨识的难度[7]。
在环境的动力学参数辨识方面,Singh等[8]提出了使用一种模型参考自适应控制器来估计环境的刚度;Love[9]等较早使用了递归最小二乘法来辨识环境刚度,并用于调整从端阻抗控制器的参数,改善性能;Diolaiti[10]率先将递归最小二乘法用于辨识Hunt-Crossley模型;Colton等[11]则使用了指数加权递归最小二乘法辨识非线性模型;Xu等[12]提出了有关末端执行器转动参数辨识的相关研究方法,类似于接触动力学参数辨识方法的处理方式,使用转动惯量和角加速度的乘积作为主项表示扭矩,应用到立方体的转动试验中,有效地验证了转动参数的引入满足遥操作操作任务场景复杂性和丰富性的要求。
对于基于预测模型的遥操作系统,从端环境发生变化的同时,模型参数同样需要更新,传递回主端[13-14]。通常采用模型参数更新算法来避免此类情况发生,不直接更新从端反馈回来的模型参数,而是采取一种延迟或者渐变的方法控制参数变化,使得操作者可以很好地适应参数变化的场景,系统的稳定性也可以得到保证[15],但存在参数更新效率较低以及输出力反馈不连续,操作体验较差等问题[16-17]。
为了在系统稳定下提高参数辨识效率,本文针对基于预测模型的遥操作中的参数辨识及模型更新算法展开研究。首先针对接触进行环境建模和参数辨识的理论分析和试验验证,并将其扩展到扭转动力学建模;然后针对环境模型参数在线误差修正及更新,提出一种自适应渐进更新算法,在保持操作体验的前提下提高参数更新的更新速度;最后,搭建遥操作试验平台验证上述理论的准确性和实用性,完成简单的试验任务。
2 基于预测模型的遥操作控制方法
基于预测的遥操作控制方法是根据已知的从端执行器和接触环境信息,在主端预先通过Unity3D等虚拟场景引擎构建几何模型和环境动力学模型。地面操作者操纵主端机器人发送控制指令信息至从端机器人的同时,相应的运动控制信号也将输入主端的预设虚拟模型中实时响应,虚拟模型将生成对应匹配的图像和力觉信息提供给地面操作者,形成临场感体验,从而将通信时延排除在外,辅助操作者在较高时延的情况下完成相应操作任务。这一手段也日益成为遥操作中时延克服的主要技术路线和研究重点。
基于预测模型遥操作系统工作流程结构如图1所示,操作者于地面操作主端机器人,相应的控制信息经过通信环节传递至从端机器人的同时输入到主端的预设仿真模型,主端预设模型根据运动状态信息响应生成相应的预测力反馈给操作者。从端机器人的运动控制系统根据位置控制信号生成相应的电机控制信号驱动执行器工作。从端执行器运动的同时,根据力传感器测量的接触力信息和机械臂末端位置状态信息实时在线辨识出相应的环境动力学参数并传输回给主端,修正虚拟预测环境模型[18]。
图1 基于预测模型的遥操作系统Fig.1 Structure of the model-mediated teleoperation
3 扭转接触动力学环境建模及参数辨识
3.1 环境模型建模
在基于预测模型的遥操作系统中,从端执行器与环境发生相互作用的过程中会产生各种各样的交互形态,比如接触力以及力矩的产生。本文将相互作用的过程简化为单点接触,将六维的方向进行解耦,后续会针对复杂交互场景进行进一步深入研究,提供更加丰富的交互体验。
选择适合某种场景下交互环境的模型是保证参数辨识准确度的前提和基础,选取的标准即为将从端执行器与环境的接触抽象为单点接触,接触发生时环境是静态且表面光滑,不同的穿透方向之间不存在耦合关系。在基于预测模型的遥操作系统中,用来描述执行器即机械臂末端与环境接触的情况的模型主要有以下2种:K模型,Kelvin-Voigt(KV)模型。模型假设接触力由物体的接触部位变形产生,可以将这种情形转化为弹簧模型或者弹簧阻尼模型。K模型主要表示接触力和侵入深度间的关系,如式(1)[19]:
(1)
其中kK为材料接触环境刚度,xe为接触环境位置,x为当前末端位置,fK为接触力。
KV模型引入了速度变量,相当于加入了阻尼效果,适用于刚性物理环境,如式(2)所示:
(2)
其中kKV为材料接触环境刚度,xe为接触环境位置,x为当前末端位置,fKV为接触力。在从端执行器末端与环境进行接触的过程中,除了接触力参数的辨识之外,在某些比如拧阀门等需要力矩的场景下,合适的力矩反馈会使得操作更加精确。类比接触力模型建模的方法,可以实现扭转接触动力学建模。扭转接触模型如式(3)[20]:
M=A·(θcur-θ0)
(3)
其中M为力传感器采集的力矩值,A为扭转刚度,θ0为初始接触时末端姿态值,θcur为实时获取的末端当前姿态值。整个辨识流程为:①从端执行器不断跟随主端手控设备运动;②当发生接触时,记录末端位姿初始值;③当不断进行扭转操作时,实时获取当前位姿值,并实时获取力传感器的扭矩值;④采用上述的参数辨识算法进行计算得出扭转刚度,并不断通过通信链路传输到主端进行更新,使主端不断获取最新的参数值进行力觉反馈渲染。
3.2 模型参数辨识方法
由于机械臂末端运动过程中速度较慢,可以选取K模型作为接触模型,扭转接触模型如公式(3)所述,在完成了环境动力学建模方法的选取后,模型的参数精度将决定遥操作系统中主端预测仿真模型与从端动力学实际模型之间的误差。在空间遥操作实际任务执行过程中,由于通常难以预先获取精确的环境动力学参数,即便是预先获取的信息往往也存在较大误差,故需要在实际任务执行过程中对从端接触环境进行实时在线参数辨识,根据力传感器测得的反馈力及执行器接触的位置、速度等信息,求解环境模型参数并传输至主端,用于对预测模型进行修正[21]。
自扰动递归最小二乘法的核心思想是通过对参数辨识过程中的前向预测误差实时检测并与预设阈值进行比较,从而对待辨识环境状态进行判断。当实时检测到的前向预测误差大于预设阈值时,系统判断接触环境状态发生改变,此时将根据前向预测误差调节算法中附加项NINT()改变协方差矩阵,以提升算法对于环境变化的响应能力,保证算法的快速跟踪性。而当实时的前向预测模型小于预设阈值时,算法将退化为无扰动增益递归最小二乘法,并同样保证了辨识结果的有效收敛。因此,自扰动递归最小二乘法被认为兼具良好的收敛性和对变化系统的快速跟踪性能。算法递归方程如式(4):
(4)
(5)
4 虚拟场景模型参数在线修正
在基于预测模型的遥操作系统中通常需要根据从端结构化的环境再现一个虚拟场景,本文通过Unity3D虚拟引擎构建了虚拟场景,较为真实地还原从端场景环境。更新参数通过实时通信链路反馈到主端模型,由于误差以及主从时延的存在,直接将从端环境模型的参数传入主端操作模型,会导致操作者体验的不连续,严重的会影响系统的稳定。例如,从端接触参数的辨识过程中有干扰项的存在会使得参数发生某一时刻的突变,或者在某一个时间段内参数存在波动状况,这时主端模型的参数在通过时延模块传输获取到从端辨识的参数,如果产生的反馈与上一时刻的反馈差距较大,则会影响操作者的操作稳定和安全,进而影响整个系统的稳定。
通常采用模型更新算法来控制模型参数误差的修正,从而减小主端的突变力,提高系统稳定性,提高操作者的体验。现有的模型更新算法包括无源性算法、渐进更新算法和基于渲染力调节的模型更新算法。但这些算法存在更新效率低和更新力不连续的问题。在此基础上,本文提出一种新的自适应变速率渐进更新算法,以达到改善模型更新速度的效果。
在空间站手套箱等遥操作科学试验环境下,擦玻璃、擦拭操作台表面等试验任务会存在表面有起伏及不同位置材料不同的场景,需要模型更新算法来展示接触表面的变化。模型更新的参数通常包括两部分,即环境位置和环境刚度。图2(a)中左侧较细的弹簧表示较低的环境刚度,右侧较粗的弹簧表示较高的环境刚度,当环境模型的刚度发生突变时,相应的预测力也突变;图2(b)中环境位置由下方的虚线突变为上方虚线,导致接触力预测公式中侵入深度的突变,反应在图中为弹簧起始位置的突变,最终导致预测力的突变。可见环境位置和环境刚度的突变都会导致预测力的突变。
图2 环境模型突变Fig.2 Mutation of environmental model
渐进更新算法的核心思想是按照固定的变化速率进行更新,该方法能够在得到新参数时即时开始更新,避免了参数更新时间过长的情况。该算法能够通过调整参数变化速率调整参数更新速度与预测力变化速度之前的平衡。针对上述的参数更新如式(6)所示:
(6)
(7)
从公式可以看出,原有的渐进更新算法以固定速率进行更新,在一个采样周期内判断参数的变化范围是否超过设定的阈值,在窗口内则不进行更新,在阈值窗口外,则进行速率为固定值的更新。该方法并未考虑到参数更新过程中的更新速率的动态变化,即应当在一个更新速率的范围值动态选取相应的速率值进行迭代更新,既保证了参数更新的连续性,也增强了参数快速迭代更新和自适应的特性。
本文提出一种自适应变速率渐进更新算法,在实时迭代的过程中不断调整参数更新速率,达到兼顾更新稳定性及快速响应特性的效果。算法的具体过程的伪代码如下:
1: 输入: X //当前主端空间内末端执行器位姿
Xe//环境位置
lastK//环境刚度
输出:curF//当前时刻输出力
2:Repeat{ //刷新周期内完成一次更新
4:P=Pmin+(|α|>=1?1:α)*(Pmax-Pmin)//当前周期内刚度更新速率
13:curF=curK*(X-Xe)}
14:until 程序退出
上述自适应变速率渐进更新算法在原有算法的基础上,根据当前参数值和目标参数值的差距不断调整更新速率,例如差距较大时更新速率较大,加快逼近目标值,差距较小时更新速率相应减小,自适应地调整更新速率。这样既能够保证更新参数的连续性,又能兼顾快速响应特性。如图3所示,遥操作系统的主端模块开启监听线程不断接收从从端传输回的更新参数,主端模块将当前参数值与目标参数值的差距作为更新速率的计算因子,并不断更新当前参数值。由于人手可接收力觉反馈的连续性要求,在满足提高反馈力渲染频率的条件下,输出力采取类似渐进更新的方式进行更新,防止输出力不连贯导致系统不稳定,维持系统的稳定性和良好的交互体验。
图3 力渲染流程图Fig.3 Flowchart of force rendering
5 试验验证与分析
为验证上述理论并完成试验操作,本文搭建了力反馈遥操作平台,主端机器人设备为Geomagic Touch,使用电机来产生反馈力从而模拟触觉并与虚拟对象交互;具有空间位置和姿态的六自由度输入,三自由度的反馈力输出;位置测量精度达到0.055 mm,标称位置下的最大输出力约为3.3 N。从端机器人为EC75七自由度机械臂。实物如图4所示。软件部分主要由以下模块组成:中控界面模块、视频流传输模块、Unity虚拟场景显示模块、机械臂控制模块及手控器采集模块等,总体流程图如图5所示。由于涉及到多模块解耦以及异地运行问题,server和client端为一主多从关系,server进行数据广播。视频传输由于其数据量大和实时性的特点,采用RTP实时流媒体传输协议和h264编码实现稳定传输。中控程序,手控器采集程序以及机械臂控制程序底层采用通用传输组件,均采用WPF创建应用,并发队列模拟延时效果,组件以dll或者api的形式注入。
图5 力反馈遥操作总体流程图Fig.5 Overall flow chart of force feedback teleoperation
本文首先进行对海绵垫接触试验以及旋拧阀门试验2个扭转接触试验。前者比较4种不同参数辨识算法的差异和优劣;后者进一步验证了自扰动递归最小二乘法的特性。然后进行擦拭表面等模型参数更新试验,证明了本文提出的自适应渐进更新算法的优势。
5.1 扭转接触试验
在空间等需要远程遥操作的任务场景中,通常会存在按压开关、旋拧阀门等任务,对于力觉的交互精度和形式具有较高的要求。在执行器末端接触到不同的接触环境,需要实时的辨别接触环境刚度来带给主端可靠的交互体验。同时,在类似旋拧阀门等操作任务中需要有扭转力矩的主端反馈,能够更好的完成试验任务。本试验平台的末端为3D打印的带有4个圆柱角的圆盘,可以用来模拟接触和扭转的试验操作。
在已搭建的遥操作平台从端模块中,通过控制七自由度EC75机械臂对海绵垫的接触试验测量,时延设置为3 s,在接触过程中记录下接触点的空间位姿坐标,并实时采集末端力传感器的数据,在记录当前位姿,并不断计算位姿差,即当前位姿与接触点位姿的空间坐标差,实时计算当前参数的辨识情况。其中末端实物如图6所示。
图6 末端实物图Fig.6 Photo of end point
图7 泡沫环境侵入深度和z轴力采集图Fig.7 Diagram of intrusion depth in foamy environment and z-axis force acquisition
图8 泡沫接触刚度参数辨识图Fig.8 Identification map of foam contact stiffness parameter
实际采集的数据图如图7所示。通过对采集的侵入深度以及力传感器的数据进行处理分析,并分别使用自扰动递归最小二乘法(Self Perturbation Recursive Least Square,SPRLS)、指数加权递归最小二乘法(Exponential Weighting Recursive Least Square,EWRLS)、基于窗函数的递归最小二乘法(Recursive Least Square,BLS)、基于窗函数的最小四次均方算法(Based on window function Least Mean Square,BLMS)进行辨识,得到泡沫接触环境刚度辨识结果如图8。从图8可以得出基于窗函数的递归最小二乘法在选取合适的窗口大小能够实现平滑的过渡,但此窗口大小在不同的辨识环境下必然不同,窗口的存在使得参数的误差变化得以缓冲,在某些误差场景下具有实际意义。相较于BLS,基于窗函数的最小四次均方算法以及自扰动递归最小二乘法对于数据的变化相对敏感,反映在图中即呈现接近于正弦的变化过程,证明了其快速跟踪以及响应的特性。指数加权递归最小二乘法在容纳误差数据的情况下表现较差,指数因子的设置也会影响参数辨识的准确度。
综上,可以同时结合自扰动递归最小二乘法的快速响应特性以及滑动窗口的容错特性来使得实时参数辨识的过程中在准确性和实施响应特性中做平衡,达到最佳效果。
控制机械臂末端旋拧阀门,并记录末端位姿信息和接触力,如图9所示。通过对原始数据的采集、处理和辨识,可观察到在通过手控器操作机械臂末端扭转的过程中会产生扭矩,并且随着扭转角度的增加扭矩呈现类线性关系,旋拧中扭转刚度参数如图10在4 N·mm/°附近,在20 s处扭转到最大程度后反向旋拧,模拟拧松阀门的场景。从图10中可以观察到,由于传感器设备以及机械臂运动误差的存在,扭转参数的实时辨识存在波动情况,自扰动递归最小二乘法展示了兼顾快速响应特性和最近窗口内均值的特性。
图9 扭转角度及末端扭转力矩图Fig.9 Diagram of torsion angle and end torsion moment
图10 旋拧阀门扭转刚度参数图Fig.10 Diagram of torsional stiffness parameter of screw valve
5.2 模型参数更新试验
在真实的遥操作系统中,由于主从时延的存在,遥操作主端操作者使用手控器得到的力觉反馈会有从无到有的突变;由于误差的存在,实时辨识的环境参数会存在波动,反映到主端即力觉反馈的不连续性。基于上述原因,针对环境参数的更新策略是基于预测模型的遥操作系统中不可或缺的一部分。
模拟空间站手套箱等遥操作科学试验环境下擦玻璃、擦拭操作台表面等试验任务,在遥操作系统的从端模块中,设置试验环境条件为:设置初始虚拟环境刚度为4400 N/m,每间隔10 s将虚拟环境刚度变为400和4400,试验过程中保证环境位置为0 mm。虚拟环境刚度的更新速率范围为到2000。在更新的过程中,实时选取相应速率系数进行迭代,在时延条件下并不断传输回主端模块进行力觉渲染输出。
图11 直接更新参数图Fig.11 Diagram of direct update parameters
如图11所示,直接更新参数法在模型参数发生更新的时刻会产生较大的突变输出,同时较大的突变力会造成人手操作的负担和危险,进而影响整个系统的稳定。在10 s处环境刚度突变到400,力突然变小会导致主端位置下沉,相应的位置指令传输到从端会造成从端对环境造成损害;同理,在20 s处环境刚度突变到4400,突变力的增大会导致主端位置的急剧上升,影响从端末端与环境的交互。
在预测力和主端输出力的力曲线图中,当发生参数更新的时候,主端输出力会根据当前参数进行缓慢增长,增幅相较于直接更新参数明显更小,有利于保证系统的稳定性。在位置曲线图中可以看出在20 s、30 s、40 s等时间点参数发生变化时位置均有小幅度的变动,是因为参数更新过程中人手的阻抗作用会引导位置发生变化。
图12 本文自适应渐进更新参数图Fig.12 Diagram of adaptive progressive update parameters
从图12、13可以看出,自适应渐进更新算法在发生参数更新的过程中由于更新速率的调整初始阶段会加速更新,在接近目标参数值的范围内会呈现过渡式的曲线变化。在表1中,可以看到更新完成时间相较于原来的渐进更新时间提高了41%,且更新过程更加平滑,但更新过程中的突变力峰值和平均值相较于原来的渐进更新算法均有所上升。因此自适应渐进更新算法提高了快速迭代更新的效率,同时增大了突变力的阈值,可以通过人手的阻抗作用来补偿。
图13 渐进更新参数图Fig.13 Diagram of progressive update parameters
表1 更新算法效果对比表
6 结论
1) 对接触动力学环境模型建模及其参数辨识进行了分析,将其扩展到扭转接触动力学模型;针对模型参数修正以及更新问题提出一种新的自适应渐进更新方法来提升模型更新的快速响应特性。
2) 通过搭建基于Unity场景的遥操作试验平台进行模型参数更新试验,进一步验证了该方法在突变力阈值可接受的范围内,能使迭代更新的速度大大提高,更新的过程更加平滑。
今后将针对多点、多区域、非同时碰撞接触等复杂交互场景进行深入研究,提供更加丰富的交互体验。