王 君,程 浩,姜荣俊,蔡一杰
(湖北工业大学机械工程学院,武汉 430068)
履带式机器人具有结构简单,越障性能好,能适应多种地形的优点[1]。因此,广泛应用在工业、军事、农业机械等多个领域[2],对其轨迹跟踪控制的研究也不断深入[3-4]。
张兴会等[5]引入履带式机器人的运动约束,基于Lyapunov函数建立了跟踪控制器。周波等[6]提出基于方根的无色卡尔曼滤波的在线非线性估计方法实时观测滑动参数并反馈到控制系统中,以提高跟踪精度。韩俊等[7]考虑运动受限情况下的跟踪控制律,使得控制系统更符合实际。许正荣等[8]设计了一种基于变倾斜参数的自适应滑模控制,提高系统的控制精度。卞永明等[9]在反演控制器的基础上加入了状态反馈提高了控制精度。匡文龙等[10]设计了反演滑模控制器,并基于运动学约束进行修正,使得系统拥有更高的可靠性。
本文在上述研究成果的基础上,提出了一种基于滑模反馈的履带式机器人自适应反演控制方法。首先,针对履带式机器人在行进过程中产生的滑移影响控制的问题,构建了履带式机器人在滑移情况下的运动学方程。此外,为了消除滑移对履带式机器人控制稳定性的影响,设计了滑模观测器来识别履带式机器人的滑移参数,并通过低通滤波器进一步降低了干扰的影响,然后将识别出的滑移参数补偿到控制系统中。其次,基于反演控制方法,结合履带式机器人的运动学模型和滑模观测器设计了反演控制器。同时,为了提高履带机器人在多种状况下的自适应能力,采用BP神经网络自适应调整反演控制器的控制参数。最后,利用Simulink搭建控制系统模型,并对履带式机器人在复杂轨迹的跟踪控制进行仿真,结果验证了该方法的有效性。
在实际工作环境下,潮湿或者光滑地面可能会使履带式机器人产生纵向和轴向滑移,如图1所示。
图1 纵向和轴向滑移下底盘数学模型
图1中θs为轴向滑移角;b为两移动履带间距;vL、vR分别为左右履带线速度;v为纵向和轴向滑移下移动底盘实际线速度;vx为实际线速度v投影到局部坐标系x轴上的速度;vy为实际线速度v投影到局部坐标系y轴上的速度,定义轴向滑移率计算公式为:
σ=tanθs
(1)
式中,θs∈[0,π/2],当θs为0时,表示履带式机器人未发生轴向滑移,当θs为π/2时,表示履带式机器人已经陷入无法控制的轴向滑移,这里不作考虑。
定义纵向滑移下,左右履带滑移率为:
(2)
式中,wL、wR分别为左右履带驱动电机角速度;r为履带驱动轮半径;vx为发生纵向滑动时移动底盘在局部坐标系xoy上x轴向的线速度,且当iL=iR=1时,vx为0,说明此时机器人陷入无法控制的滑动中,这里不作考虑。
因此,通过坐标转换可以求出履带式机器人在全局坐标系XOY下运动学模型为:
(3)
滑模观测器主要通过测量控制系统的实际输出值,通过计算得到控制系统内部状态的估计值,通过复现干扰来实现对系统的补偿。因此,基于履带式机器人在滑移状态下的运动学模型、参考轨迹和履带驱动轮反馈速度,设计滑模观测器对移动底盘纵向和轴向滑移产生的3个滑模参数进行估计。
(4)
结合式(3)和式(4),可以构建如式(5)所示的滑模观测器:
(5)
(6)
确定合适的滑模增益,使得式(6)中的观测误差在有限时间内收敛到滑模面,然后通过一阶低通滤波器来削弱滑模观测器的抖振,得到履带式机器人的滑模参数估计量为:
(7)
选取如下Lyapunov函数:
(8)
将V1(t)对时间求导,可得:
(9)
将参考轨迹的位姿和速度表示为Pr=[Xr,Yr,θr],q=[v,w],可以建立履带式机器人在局部坐标系下的轨迹跟踪误差方程:
(10)
对式(10)求导可得轨迹跟踪误差微分方程为:
(11)
基于反演法构建合理的Lyapunov函数,可以推导出以下虚拟控制量:
(12)
式中,k1、k2、k3为大于0的常量。
而实际控制量为:
(13)
判断系统是否稳定主要是通过判断在轨迹跟踪误差是否是渐进稳定并收敛到0,并且此时履带式机器人的实际速度是否趋向于参考速度,使得
(14)
同时成立。
选取Lyapunov函数
(15)
式中,k2为大于0的常量。
将式(15)对时间求导,并将式(11)和式(12)代入,可得:
(16)
接着再将式(16)对时间求导,可得:
(17)
(18)
(19)
基于神经网络的自适应能力,实现控制参数可实时调整,使得控制器在多种情况下都具有良好的性能。
BP神经网络结构如图2所示,将Sigmoid函数选作隐藏层神经元的激活函数,因为输出层的输出节点对应反演控制器中的3个控制参数k1、k2、k3,并且k1、k2、k3均大于0,因此选取tanh函数作为输出层神经元的激活函数。
图2 BP神经网络结构
选择如下评价指标函数:
(20)
采用梯度下降法对神经网络的权系数进行修正,即对权系数的梯度负方向进行搜索调整,并加入一项全局快速收敛的惯性项。因此,神经网络权系数的修正方程如下:
(21)
式中,η为学习速率;α为惯性系数。
然后有:
(22)
(23)
式中,g′(·)=g(x)(1-g(x))。
假设:
(24)
就可以得到:
(25)
同理,可以得到隐层加权系数的学习算法:
(26)
(27)
式中,f′(·)=(1-f2(x))/2。
综上所述,得到如图3所示的基于滑模反馈的自适应跟踪控制系统。
图3 基于滑模反馈的自适应跟踪控制系统
基于图3建立的控制系统,构建该控制系统的Simulink仿真模型,如图4所示。
图4 滑模观测器Simulink仿真
在仿真环境下,需要人为给定滑移参数来模拟现实场景,被跟踪轨迹采用结合直线和圆弧两种轨迹作为复杂参考轨迹:在0~10 s时,为一条斜率为π/3 rad的直线,在10~20 s时,为半径1 m的圆弧轨迹,在20~30 s时,为一段斜率为0的直线轨迹。参考线速度为0.2 m/s,参考角速度只有当20~30 s时为-π/30 rad/s。履带式机器人的参数为:b=0.25,r=0.06 m;反演控制器的初始控制参数为:k1=5,k2=50,k3=10。
在外界干扰下,移动底盘实际初始位姿可能偏离了轨迹规划得到的参考初始位姿,因此,在仿真中将实际初始位姿和参考初始位姿人为偏移一段距离。在全局坐标系XOY下,给定参考轨迹起点位置为:(0 m,0 m,π/3 rad/s),履带式机器人起点位姿为:(1.2 m,0.2 m,π/2 rad/s),仿真滑移参数为:在0~10 s时:(iL,iR,θs)=(0.1,0.1,0.01sin(πt/5));在10~20 s时:(iL,iR,θs)=(0.15,0.05,-0.015sin(πt/5));在20~30s时:(iL,iR,θs)=(0.1,0.1,-0.01sin(πt/5))。
仿真结果如图5~图7所示,为方便对比,将反演控制器输出标记为“BC+滑移”,基于滑模观测器的自适应反演控制器输出标记为“ABC+SMO+滑移”。
(a) 复杂轨迹跟踪对比
(b) 跟踪误差对比 (c) 虚拟控制量对比图5 基于滑模观测器的自适应反演控制器Simulink仿真
图6 滑模观测器仿真
图7 自适应控制参数
由图5a、图5b可以看出基于滑模参数反馈的自适应反演控制器有效地提高了轨迹跟踪控制精度;图5c为虚拟控制量变化曲线;图6左图为滑模面变化曲线,由图6右图可以看出滑模观测器的观测效果较好;图7可以看到控制参数k1、k2、k3随时间的自适应变化。
机器人在平面内的轨迹可以大致划分为直线和弧线两种,在对直线弧线混合轨迹进行跟踪后,进一步对S型和圆形轨迹进行跟踪,跟踪效果如图8所示。
(a) S型曲线 (b) 圆弧曲线图8 多种轨迹跟踪控制
由图8可以看出轨迹跟踪控制效果较好。
(1)建立了处于滑移状态下的履带机器人运动学模型并构建了相应滑移参数,进一步设计出滑模观测器对滑移参数进行观测,且反馈到控制系统中,消除滑移对控制系统的影响。
(2)基于滑模观测器估计的滑移参数,根据反演法建立基于滑模反馈的反演控制器,进一步基于BP神经网络在线调整控制器参数,提高控制系统的精确性。
(3)通过Simulink仿真对比基于滑模反馈的履带式机器人自适应反演控制器和反演控制器,证明了本文提出的控制器控制精度大大提高,并且对多种轨迹的跟踪效果都较好。