采用改进粒子群算法优化的两关节移动机器人滑模控制研究
2019-12-31方文华
方文华
(陕西省烟草公司 西安市公司,陕西 宝鸡 710048)
移动机器人是衡量一个国家自动化发展水平的重要标志,对社会经济的快速发展起到了促进作用,广泛应用于农业、医疗、航天及海洋等领域[1].然而,控制技术的研究是移动机器人发展的核心,对机器人的运动起到重要作用.移动机器人在执行任务过程中,往往要面对复杂多变的环境,在当今技术水平和条件下,移动机器人还不能达到完全自主地完成复杂任务,通常还需要人员控制才能完成.由于传统移动机器人执行简单重复劳动,对控制精度要求不高,致使运动轨迹的稳定性下降.当移动机器人遇到突变环境时,运动轨迹产生的误差就会变大,特别在受到干扰环境时,移动机器人就会出现严重的抖动现象.因此,研究移动机器人高精度、高稳定性控制方法,对于促进高精度自动化技术的发展具有重要意义.
随着移动机器人技术的改进,其控制精度要求也越来越高.因此,许多学者对移动机器人控制方法展开了研究.例如:文献[2-3]研究了移动机器人模糊PID-P型迭代学习控制方法,给出PID-P型迭代学习的收敛条件及推导过程,采用模糊控制原理调节PID控制参数,通过仿真验证移动机器人轨迹跟踪能力,提高了移动机器人轨迹跟踪精度;文献[4-5]研究了移动机器人滑模控制方法,建立了移动机器人模型示意图,推导出动力学微分方程式,设计了滑模控制器并对控制器的稳定性进行证明,通过仿真验证移动机器人滑模控制器输出精度,提高移动机器人运动的稳定性;文献[6-7]研究了移动机器人神经网络控制方法,采用径向甚函数(RBF)神经网络对控制精度进行在线辨识,将辨识结果反馈到路径跟踪控制方案中,采用李雅普诺夫函数对控制的稳定性进行证明,通过仿真验证该控制方法的有效性,提高了轨迹跟踪精度.但是,移动机器人在受到突变干扰时,其关节轨迹跟踪误差增大.对此,本文创建了移动机器人两关节运动简图模型,设计了移动机器人手臂关节滑模控制器,引用支持向量机和改进粒子群算法对其进行优化,将改进滑模控制器用于移动机器人关节运动轨迹跟踪控制;采用数学软件Matlab对关节运动角位移误差进行仿真实验,并与传统滑模控制器控制误差进行比较,为提高移动机器人关节角位移运动精度奠定了理论基础.
1 移动机器人模型
本文研究的移动机器人手臂由两关节连杆串联组成,其简图模型如图1所示.图1中:q1,q2分别为移动机器人手臂关节1、关节2的角位移;m1,m2分别为移动机器人手臂关节1、关节2的质量;l1,l2分别为移动机器人手臂关节1、关节2的长度.
图1 移动机器人平面简图Fig.1 Plane sketch of mobile robot
根据拉格朗日定律,可以推导出移动机器人手臂动力学模型[8]为
(1)
式中:q为关节角位移矩阵;q′为关节角速度矩阵;H(q)为机器人关节惯性矩阵;C(q,q′)为机器人关节的离心力和哥氏力矩阵;F(q′)为摩擦力矩阵;G(q)为重力矩阵;τd为干扰波形矩阵;τ为控制力矩矩阵.
2 滑模控制器
移动机器人手臂运动的目标是使实际输出角位移与期望运动角位移之差最小,其误差方程式为
(2)
滑模控制函数为
(3)
式中:λ为正的对角矩阵.
滑模控制律[9]设计为
(4)
式中:C,μ,ε为滑模控制器参数;T为时间;A和B为未知参数调节系数.
3 改进滑模控制器
3.1 支持向量机
支持向量机能进行全局优化,具有超强的非线性拟合能力.采用支持向量机结合滑模控制理论,可以对滑模控制参数进行估计,从而提高控制系统输出的稳定性.采用线性函数y=ωx+b在高维空间内对滑模控制器参数C,μ,ε拟合,能够得到支持向量机模型.在高维空间构造结构风险函数,其方程式[10]为
式中:c为惩罚因子;ξj为容许误差;ω为未知参数系数;φ(x)为高维空间函数.
根据拉格朗日定律[11],将风险函数定义为
(7)
式中:αi为拉格朗日乘子.
最优值求解需要满足以下条件:
(8)
求解可得
(9)
由高斯径向基函数[12]可以得到
(10)
式中:σ为径向基宽度.
3.2 改进粒子群算法
粒子群算法也称之为粒子群优化算法(Particle Swarm Optimization,PSO),通过模拟动物群体觅食和人类决策行为而提出的全局搜索优化算法.在PSO中,粒子通过对比个体极值和群体极值,更新粒子的速度和位置,其更新方程式[13]为
式中:ω为惯性权重;c1,c2为[0,2]速度更新因子;r1,r2为[0,1]区间随机数;vt为粒子迭代t次的速度;xt+1为粒子迭代t+1次的位置;pt为个体极值;pg为群体极值.
惯性权重采用线性递减方式,虽然提高了算法搜索的能力,但是只有在算法初期才能发挥较好的作用.如果在搜索初期没有到达全局最优解附近,局部搜索能力就会加强,导致整个搜索过程陷入局部最优解而无法跳出.因此,采用非线性递减方式设置权重系数,即
(13)
式中:t为当前迭代次数;tmax为最大迭代次数;ωmax,ωmin分别为最大和最小惯性权重值.
3.3 改进滑模控制器
采用PSO和支持向量机对滑模控制器进行改进,具体步骤如下:
步骤1在支持向量机识别基础上,对粒子群进行初始化,Pbest为粒子初始位置,gbest为Pbest中的最优位置;
步骤2评价群体中粒子的适应度值,计算其对应的目标函数,其方程式为
(14)
步骤3对比适应度值和Pbest,若适应度值优于Pbest,则将其作为当前最优位置,逐一进行比较,直到搜索到群体最优位置gbest;
步骤4根据支持向量机辨识的滑模控制器参数C,μ,ε,以及更新方程式(11)和式(12),调整粒子的位置和速度;
步骤5判断是否满足终止条件,若满足条件,则终止迭代次数,否则返回步骤2.
4 误差仿真
为了验证移动机器人关节角位移采用改进滑模控制的效果,采用Matlab软件对关节角位移误差进行仿真.仿真参数设置如下:速度更新因子c1=c2=1,惯性权重ωmax=0.6,ωmin=0.4,种群为50,最大迭代次数为200,关节长度为l1=l2=1.0 m,初始角位移为q(0)=[0 0]T,期望运动角位移为q1=q2=sin(2πt) rad,关节质量为m1=m2=1.0 kg,重力加速度为g=10 m/s2,仿真时间为t=4 s.
假设没有外界干扰,分别采用改进滑模控制器与滑模控制器,关节1、关节2跟踪误差分别如图2和图3所示.
图2 关节1角位移(无干扰)Fig.2 Angular displacement of the first joint (no interference)
图3 关节2角位移(无干扰)Fig.3 Angular displacement of the second joint (no interference)
假设在第2 s突然增加余弦波形干扰τd=cos(2πt),分别采用改进滑模控制器与滑模控制器,关节1、关节2跟踪误差分别如图4和图5所示.
图4 关节1角位移(有干扰)Fig.4 Angular displacement of the first joint (with interference)
图5 关节2角位移(有干扰)Fig.5 Angular displacement of the second joint (with interference)
在无干扰环境中,由图2可知,关节1采用滑模控制器跟踪最大误差为0.28×10-3rad,采用改进滑模控制器跟踪最大误差为0.27×10-3rad;由图3可知,关节2采用滑模控制器跟踪最大误差为0.39×10-3rad,采用改进滑模控制器跟踪最大误差为0.37×10-3rad.在有波形干扰环境中,由图4可知,关节1采用滑模控制器跟踪最大误差为0.78×10-3rad,采用改进滑模控制器跟踪最大误差为0.27×10-3rad;由图5可知,关节2采用滑模控制器跟踪最大误差为0.88×10-3rad,采用改进滑模控制器跟踪最大误差为0.37×10-3rad.因此,采用改进滑模控制器抗干扰能力强,能够提高移动机器人运动轨迹跟踪精度.
5 结论
针对移动机器人关节运动精度低问题,采用改进PSO和支持向量机优化滑模控制器,主要结论如下:
(1) 移动机器人采用传统滑模控制器,关节容易受到外界环境因素的干扰,系统抖动较大,控制精度较低.
(2) 改进滑模控制器结合支持向量机和改进粒子群算法的优点,能够快速地削弱外界波形的干扰,提高控制系统的稳定性.