APP下载

基于自适应运动学模型的镜像型迭代学习控制

2021-07-25刘作军

制造业自动化 2021年7期
关键词:运动学镜像卡尔曼滤波

刘作军,胡 冬,庞 爽,张 燕

(河北工业大学 人工智能与数据科学学院,天津 300130)

0 引言

对于工业生产中具有重复性轨迹跟踪的运动控制,迭代学习控制(Iterative Learning Control,ILC)通过利用前一次或前几次迭代时的系统跟踪误差和控制量,不断优化调整下一次运行时的控制量,最终实现系统期望轨迹的完全跟踪[1,2]。在很多生产过程中广泛存在的搬运、喷涂或者分拣等具有重复性的工作,工业机器人被广泛应用。由于工业机器人属于高度非线性、强耦合、时变的动力学系统[3],这使得鲁棒控制、模糊控制等方法都难以达到理想的轨迹跟踪精度[4~6],而ILC这种基于数据驱动的控制方法则较好地解决了这一问题。

ILC从提出至今取得了丰富的理论与实践应用成果[7,8],成为了控制理论中的一个重要分支[9,10]。文献[11]提出一种PD反馈控制和迭代学习前馈控制相结合的方法来提高机器人轨迹跟踪的精度。文献[12]采用了一种非线性迭代学习控制在康复机器人系统中来提高其轨迹跟踪性能。文献[13]使用低增益反馈来解决动态系统的复杂性和不确定性,采用了分散的迭代学习控制做前馈来控制机器人的轨迹跟踪。文献[14]提出一种基于神经网络的自适应ILC方法,分析了不确定机器人轨迹规划的收敛性和稳定性,同时提高了跟踪精度。以上文献均是从算法本身所做的研究,忽视了对所跟踪轨迹特征的有效利用。此外,对于强耦合的多控制量系统,存在着迭代学习收敛过程缓慢的问题。

到目前为止,有关ILC在工业机器人应用方面的文献都是从期望轨迹的初始点学习到终止点,然后再回到初始点重新学习。而在实际生产中,存在很多具有对称期望轨迹性质的零部件加工处理,本文在这种期望轨迹对称特征基础上,将传统ILC方法中的一次轨迹迭代学习过程分解为对称的两次迭代学习过程,通过交替使用对称轨迹的控制信息进行迭代学习。

此外,针对机器人运动学参考模型与实际参数间存在偏差的情况,提出一种基于自适应运动学模型的镜像型迭代学习控制方法。该方法选取卡尔曼滤波法对机器人运动学模型的参数进行在线估计,并不断更新参考模型,达到提高系统收敛速度和跟踪精度的目的。

1 基于自适应运动学模型的镜像型迭代学习控制

1.1 镜像型迭代学习控制

从有效利用被加工部件特征的角度出发,在常规迭代学习控制的基础上,提出了镜像型迭代学习控制(Mirrored Iterative Learning Control,MILC),图1所示为MILC流程图。

图1 MILC流程图

该方法将具有对称特征的期望轨迹以中点为界分解成前后两个独立半轨迹,以半轨迹迭代为一次迭代过程。首先对前半轨迹进行学习,得到本次迭代控制信息,再将其进行对称转换后得到后半轨迹下次迭代的控制信息,这样就避免了后半轨迹从零初始值开始学习的行为。

经过上面的转换后,前半轨迹的起点、终点及各过程点偏差量和控制量分别被处理为后半轨迹对应的终点、起点及各过程点的偏差量和控制量。同样,将后半轨迹得到的控制经验采取同样转换后,应用于前半轨迹下次迭代。如此往复,不断交替优化调整下次对应轨迹迭代的控制量,从而减少了系统迭代次数,提高了收敛速度。

镜像型迭代学习控制的算法描述过程如下。首先,定义待跟踪的对称期望轨迹:

其中,运行时间t ∈[0,Th],Th为期望轨迹的半个轨迹迭代所用的时间,yd-f(t)和yd-l(t)分别表示期望轨迹的前半个轨迹和后半个轨迹,fsym(*)表示对称期望轨迹的前后两个半轨迹之间所具有的镜像对称的关系。

定义期望输出与实际输出的偏差如下:

其中,ydk(t)和yk(t)分别表示系统第k次迭代时相应的期望轨迹和实际跟踪轨迹。

本文以开环P型镜像为例,所设计的MILC算法的转换学习律如下式所示:

其中,uk+1(t)表示系统在第k+1次迭代时的控制输入;Γ为其学习增益。

式(3)表示第k+1次迭代t时刻控制量是通过与其对称的第k次迭代在逆向Th-t时刻的控制量和偏差基础上得到的。

1.2 模型参数估计过程

针对工业机器人运动学模型存在参数偏差的情况,进一步提出一种基于自适应运动学模型的镜像型迭代学习控制方法。该方法引入自适应控制的思想,选取卡尔曼滤波方法作为机器人运动学模型参数估计的方法进行在线估计,以修正模型参数的偏差,并不断更新运动学参考模型,进而解决模型初始偏差的问题。

对于机器人参数估计系统,对机器人连杆长度(后面称为杆长)作出估计,注意到机器人正向模型(Li为机器人待估参数),故可用卡尔曼滤波器作为机器人模型参数估计的方法,直接使用观测值对机器人运动学模型参数进行估计,并更新参考模型,以减小机器人参考模型与实际模型之间的偏差。

卡尔曼滤波包括时间更新和测量更新两个过程。首先,根据前一时刻状态来推测出当前时刻的状态,根据前一时刻协方差来推测出当前时刻的协方差;然后,在观测空间和状态空间进行迭代;最后在卡尔曼增益的作用下,通过当前时刻的测量值来修正该时刻的状态值。

在本文中,卡尔曼滤波对机器人运动学模型参数估计过程如下所示。

式(4)描述了一个具有随机性的动态系统:

其中,xk(t)为系统状态变量,yk(t)为系统的观测变量,A为系统矩阵,B表示噪声到状态的投影变换矩阵,C为观测矩阵,ωk(t)和vk(t)为相互独立分布的正态白噪声,其均值E(ωk)=q,E(vk)=r。

卡尔曼滤波要解决的问题就是基于当前时刻以及过去时刻的观测值yk,yk-1,yk-2…来估计当前状态xk,此时卡尔曼滤波方程如下所示:

1.3 算法实现的具体步骤

本文所提方法,在工业机器人中应用的具体步骤如下:

1)观测机器人末端位置(三维坐标);

2)根据机器人的运动学参考模型,将三维坐标值观测值和期望轨迹点分别转换为各关节的角度值,求出机器人各关节角度偏差值;

3)将偏差值输入MILC控制器,计算得出机器人各关节的转速控制量;

4)将MILC计算得出的控制量输出作用于机器人各关节;

5)将第2)步的观测值以及第3)步中的关节角偏差输入卡尔曼滤波器来估计模型参数,输出更新后的参考模型;

6)判断系统是否到达该半周期的终点,如未到达,则返回第1)步并重复上述步骤;

7)判断系统是否达到已经设定的迭代终止条件(系统跟踪精度或者系统迭代次数),如未达到,则返回第1)步并重复上述步骤。

2 算法仿真

2.1 仿真系统实现

本文以如图2所示四自由度机器人为例。

图2 机器人结构图

θ1~θ4表示机器人的四个转动关节角,L0~L3表示机器人的杆长,其中L0表示机器人的基座高度,其顶端设为全局坐标原点。

系统仿真利用MATLAB-Robotics Toolbox工具箱实现,机器人系统的数学描述如下:

其中,θ4×1表示图2中四个关节角的角度;u4×1表示四个关节角的转速;kΔ 表示控制器输出离散间隔;y3×1表示为机器人末端执行器实际位置的三维坐标;g(*)表示机器人运动学模型。

机器人系统的输出为其末端执行器的三维坐标,其输出方程的具体形式如下所示:

其中,y1、y2和y3为系统位置传感器所检测的包含有均值为0,方差为0.0025高斯白噪声的机器人末端三维坐标;ci表示cos(θi),si表示sin(θi),θi表示机器人第i关节的角度,Li表示机器人的杆长。

使用卡尔曼滤波法对机器人模型参数进行估计时,机器人的杆长作为系统的待估状态向量:xk=[L1,L2,L3]T;观测矩阵C由运动学控制器提供的当前关节角求出:A=I,B=0。

需要指出的是,当机械臂的连杆长度固定时,xk=[L1,L2,L3]T的估计本质上是定常参数估计问题,此时式(4)中A=I,B=0。对于这种特殊情况,卡尔曼滤波器退化为递推最小二乘法,因此卡尔曼滤波器得到的估计结果等价于递推最小二乘的估计结果。另一方面,在某些实际应用中,存在机械臂连杆长度可调节的情况,此时的连杆长度估计则为动态参数估计问题,依然可以采用卡尔曼滤波器对其进行计算,而递推最小二乘法不能直接适用于这种情况。所以本文选取卡尔曼滤波器对机械臂连杆长度进行参数估计更具有普遍性和实际意义。

本文所用的P型MILC学习律如下所示:

其中,fikine(*)为机器人的运动学参考逆模型,此处选取学习增益Γ=0.36。

本文给定的对称期望轨迹设定如下所示,式中三维坐标单位为厘米(cm)。

选取机器人末端执行器初始坐标如下所示:

机器人的初始杆长设为如下所示:

选取机器人参考关节角的初始角度如下所示:

该控制器设计目标:针对具有镜像对称特征的期望轨迹yd(t),通过反复相互利用前一次迭代产生的镜像控制数据,作用于后一次镜像轨迹之上,使系统实际输出轨迹yk(t)与期望轨迹yd(t)之间的偏差尽可能减小。跟踪任务满足需重复性条件,期望轨迹具备镜像对称特征。

2.2 仿真结果与分析

本文中的仿真实验是在有噪声的环境中完成的,由于噪声的存在,系统的实际输出轨迹完全跟踪上期望轨迹时,会需要较多次迭代,为方便观察,此处选取迭代过程的前5次迭代来对跟踪效果进行分析。

为验证本文所提方法的有效性,针对四自由度机器人分别设计了基于自适应运动学模型的镜像型迭代学习控制器和基于自适应运动学模型的传统迭代学习控制器,并将其跟踪效果进行了对比分析。

机器人在两种控制器下对期望轨迹的实际三维跟踪过程分别如图3和图4中的(a)、(b)、(c)所示,分别表示末端执行器在空间X、Y和Z方向的实际跟踪过程,图中,虚线代表期望轨迹,实线代表实际轨迹。

图3 MILC控制器下的三维跟踪过程

图4 ILC控制器下的三维跟踪过程

由图3和图4的实际跟踪过程可以看出,两种控制器均可以使机器人系统输出随迭代次数增加逐渐向期望轨迹收敛,在第5次迭代时,MILC作用的系统输出已经能够跟踪期望轨迹,只存在由噪声引起的小幅度波动,而ILC作用下的系统输出还没有达到基本跟踪期望轨迹。因此,明显可看出本文所提的MILC算法比ILC算法向期望轨迹的收敛速度要快。

图5和图6分别给出了两种控制器作用下的卡尔曼滤波器的待估参数,此参数为在线调节机器人模型的参数。虚线表示系统的最优模型参数,实线表示实际模型参数的变化过程。

图5 MILC卡尔曼滤波参数

由图5和图6中卡尔曼滤波参数的变化曲线可以看出,在MILC作用下的待估参数相比于ILC作用下的待估参数能较快趋于系统的最优参数,进而加快系统收敛速度。

图6 ILC卡尔曼滤波参数

如图7给出了两种控制器作用下的跟踪误差曲线对比。图7(a)为前半轨迹误差对比,图7(b)为后半轨迹误差对比。带三角形实线表示MILC误差曲线,带圆形的实线表示ILC误差曲线。

图7 两个独立轨迹跟踪误差对比

由图7可以看出,在迭代相同步数的情况下,MILC控制器下系统的收敛速度比ILC控制器下收敛速度快,并且其跟踪误差也小于ILC作用下的跟踪误差。

3 结语

本文考虑到工业生产与加工过程中,基于机器人运动学模型存在模型偏差的情况,针对具有对称特征的期望轨迹,提出了基于自适应运动学模型的镜像型迭代学习控制方法。该方法利用期望轨迹的对称特征,交替使用前后两个半轨迹的控制信息,不断优化调整对应半轨迹下次迭代的控制输入,缩短迭代学习的周期。同时,模型存在模型偏差的问题,引入自适应控制的思想,选取卡尔曼滤波方法对运动学模型参数进行估计,以修正机器人参考模型与实际模型之间的偏差,并不断更新参考模型。该方法实现了机器人对具有对称特征的期望轨迹的快速跟踪、减小了系统的跟踪误差,提升了迭代学习控制的收敛速度。仿真结果表明,本文所提方法能够使系统快速收敛,从而提高工业生产效率,具有很强的实际应用意义。

猜你喜欢

运动学镜像卡尔曼滤波
镜像
基于MATLAB的6R机器人逆运动学求解分析
工业机器人在MATLAB-Robotics中的运动学分析
基于D-H法的5-DOF串并联机床运动学分析
镜像
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
基于模糊卡尔曼滤波算法的动力电池SOC估计
基于运动学原理的LBI解模糊算法
基于扩展卡尔曼滤波的PMSM无位置传感器控制
镜像