基于改进遗传算法的电液伺服系统轨迹控制
2022-04-19宋倩玉刘慧勤周世萱朱雅利张亦心殷晨波
宋倩玉, 冯 浩, 刘慧勤, 周世萱, 朱雅利, 张亦心, 殷晨波,3
(1.南京信息工程大学 人工智能学院, 江苏 南京 210044;2.南京工业大学 挖掘机关键技术联合研究所, 江苏 南京 211816; 3.三一重机有限公司, 江苏 昆山 215300)
引言
提高智能化控制水平是挖掘机器人发展的重要趋势,而运动轨迹控制是实现智能化的基础和关键。在自动控制技术、互联网技术、智能算法等众多前沿成果的推动下,学者们在挖掘机器人轨迹控制方面做了很多研究[1]。邹树梁等[2]采用模糊位置控制的方法提高了单个铲斗电液伺服系统的轨迹跟踪精度。PARK J等[3]提出了一种适用于挖掘机器人的回声状态网络控制策略。此外学者们还尝试了将诸如神经网络[4]、滑模控制[5]、自适应控制[6]等智能算法运用在挖掘机器人轨迹控制中。
现代工业控制中,新型控制策略层出不穷,但是经典的PID控制器因具备结构简单、实现容易、鲁棒性强等优点,仍然处于工业控制的主导地位。PID控制器的参数与系统性能直接相关,但是传统PID参数调试方法耗时耗力。将粒子群算法、专家系统、神经网络、蚁群算法等算法应用于PID控制器中,解决传统PID的局限性,满足各种控制要求,已经成为PID的重要研究方向。
遗传算法(Genetic Algorithm,GA)是基于达尔文进化论中自然界进化过程来求解问题的方法,通过对种群的选择、交叉和变异等遗传操作,不断获得更优的群体,重复此过程,直到满足已设定的收敛指标。由于其思想简单、易于实现并且具有很强的全局优化搜索能力,GA已经广泛应用于参数优化[7]、故障诊断[8]、参数辨识[9]等。运用GA优化PID参数,不需要复杂的规则就可以寻求全局最优解,在自动控制和机器人等领域GA已经得到了广泛应用。BATAYNEH W等[10]使用GA算法得到最优的PID参数,实现移动机器人的高精度轨迹跟踪。ZAHIR A等[11]为了提高电机的性能,采用GA对PID参数进行优化。
但是,标准遗传算法(Standard Genetic Algorithm,SGA)具有早熟收敛和停滞在全局最优解的缺点。为了克服此缺点, 许多学者提出了各种改进策略。POAP D[12]提出了一种自适应遗传算法来保持种群的多样性。CHAI Z等[13]提出了一种自组织的遗传算法,其具有良好的全局搜索性能和收敛速度。
本研究针对挖掘机器人电液伺服系统的轨迹控制要求,提出一种改进遗传算法(Improved Genetic Algorithm,IGA)优化的PID控制器,对遗传算法的种群、适应度函数、交叉概率和变异概率均进行了改进,以提高挖掘机器人伺服系统的轨迹控制精度。
1 挖掘机器人系统模型
1.1 系统概述
为实现挖掘机器人的自动控制,首先需要将原有的液控操作方式改造为电控;为获取液压缸位移,在挖掘机器人液压缸上安装位移传感器;为获取压力,在液压缸油口安装压力传感器。以实验室23 t级的挖掘机器人为研究平台,将其原有的手动先导控制改造为电控,可以直接利用计算机进行运动控制,改造后的挖掘机器人系统原理图如图1所示,主要包括先导阀、多路阀、液压缸、控制器、拉线式位移传感器等。
图1 挖掘机器人简图Fig.1 Schematic diagram of robotic excavator
1.2 电液伺服系统数学模型
挖掘机器人电液伺服系统框图如图2所示,主要包括控制器、放大器、比例减压阀、多路阀、液压缸和反馈机构,建立如下简化模型。
图2 挖掘机器人电液伺服系统框图Fig.2 Electro-hydraulic proportional control system
1) 放大器环节
控制器产生的电压信号经过放大器后将变成电流信号,并输出到先导阀,可以当做比例环节,传递函数为:
(1)
式中,Ka—— 放大增益
I(s) —— 电流信号
U(s) —— 电压信号
2) 电液比例环节
电液比例环节包括先导阀和多路阀,忽略次要因素建立模型,将其视为一阶环节:
(2)
式中,Kb—— 电流增益
xv(s) —— 多路阀阀芯位移
T—— 时间常数
3) 阀控非对称液压缸环节
阀控非对称液压缸环节主要包括3个方程,分别是负载流量方程、液压缸流量方程及力平衡方程。为便于分析,假设油源压力稳定,回油压力为0,针对液压缸伸出工况,油液经过多路阀的线性化负载流量方程为:
QL=Kqxv-KppL
(3)
式中,Kq—— 流量增益
Kp—— 压力系数
pL—— 负载压力
液压缸流量方程为:
(4)
式中,A1—— 无杆腔有效面积
y—— 位移
V—— 液压缸总体积
βe—— 油液弹性模量
Ct—— 泄漏系数
忽略油液的摩擦力和质量,液压缸力平衡方程为:
(5)
式中,A2—— 有杆腔有效面积
m—— 负载等效质量
Bc—— 黏性阻尼系数
K—— 负载弹簧刚度
FL—— 等效负载力
将上述的3个方程进行拉式变换和简化,得到伸出工况下阀控非对称液压缸的数学模型:
(6)
(7)
式中,wh—— 液压固有频率
ξh—— 阻尼比
Kt—— 总流量压力系数
液压缸收缩过程的数学推导与上述过程类似,区别在于参数大小不同。
4) 反馈环节
反馈环节采用拉线式位移传感器,其传递函数为:
(8)
式中,Uc(s) —— 反馈电压
Kd—— 反馈增益
2 控制器设计
2.1 PID控制
为提高挖掘运动轨迹的精度,降低劳动强度,将经典PID控制引入到控制系统中。PID控制是根据偏差e(t)=y(t)-r(t)进行控制,r(t)为系统输入,y(t)为系统输出,将e(t)的3种不同的运算,即比例、积分和微分构成控制量u(t),其参数整定后基本保持不变,控制规律为:
(9)
式中,KP—— 比例增益,主要调节系统的精度
KI—— 积分增益,主要消除系统的稳态误差
KD—— 微分增益,主要改善系统的动态特性
经典PID控制器参数整定过程较长,常用的整定方法有Ziegler-Nichols法(Z-N)、继电特性法等,这些方法难以获得最优的控制参数,并且在挖掘机器人工作工况变化较大时,系统的总体控制精度会变差。
2.2 SGA控制
SGA数学模型为:
SGA=(C,F,P0,M,Φ,μ,θ,Tc)
(10)
式中,P0—— 初始化种群
Tc—— 终止条件
C—— 编码方式
F—— 适应度函数
M—— 群体大小
Φ,μ,θ—— 选择、交叉和变异算子
SGA将问题看作群体中的个体或染色体并对其编码,模拟达尔文的自然界中的遗传和淘汰机制生物进化中的繁殖、交叉以及基因突变现象,根据适应度函数对后代评估,不断迭代优化过程,直到满足收敛条件,算法流程如图3所示。
图3 SGA流程Fig.3 Flowchart of SGA
SGA需要确定的主要运行参数有:群体大小M一般取[10,200],终止迭代次数G一般取[100,500],交叉概率Pc一般取[0.49,0.99],变异概率Pm一般取[0.001,0.1],这些参数对算法的影响较大。群体大小与求解问题的非线性相关,交叉提高搜索速度,变异增加多样性。合理配置交叉和变异可以使搜索能力得到提高。
2.3 IGA控制
SGA的交叉概率和变异概率在算法中是不变的,因此,SGA存在早熟的缺陷,且SGA的初始种群为随机生成,运行效率不高,对SGA做如下改进。
1) 种群改进
针对SGA中随机生成初始种群会影响运行效率的情况,利用Z-N阶跃响应法得到具体的参数值,在参数值附近给定参数的取值范围,在取值范围内进行参数的优化,减少运算量。
2) 适应度尺度变换
在算法的不同阶段,对适应度进行变换。采用适应度比例选择法,设个体的适应度值为Fi,则该个体被选中的概率Pi为:
(11)
通过缩放个体适应值实现适应度尺度变换,将适应度值较大的个体进行适当的缩小,降低其被遗传的概率,对适应度值较小的个体进行适当的放大,增加其被遗传的概率。采用线性尺度变换方法变换适应度,增加物种的多样性,变换公式为:
(12)
(13)
式中,Fmin和Favg分别为个体原适应度的最小值和平均值。
3) 交叉概率Pc和变异概率Pm的调整
在不同的迭代时期,调整Pc和Pm的值。种群趋于收敛时,为了防止算法早熟,需要增大Pm,减小Pc;种群发散时,为了使算法尽快收敛,需要增大Pc,减小Pm。同时,为了较优的个体不变化,避免局部最优解,需要将具备最大适应度值的个体的Pc和Pm分别提高到Pc1和Pm1。
两者的调整公式为:
(14)
(15)
式中,k1~k4区间为(0,1),Fmax为个体适应度最大值,F′和F为待交叉2个个体中比较大的适应度值和待变异的个体适应度值,Pc1=0.9,Pm1=0.1,Pc2=0.6,Pm2=0.001。
在算法优化控制器的参数时,为使控制系统快速而又平稳,同时避免控制量突变,引入输入平方项,采用式(16)为目标函数J:
(16)
式中,tu为系统上升时间,w1~w3为权值。引入超调量,当e(t)<0时,目标函数J为:
(17)
式中,w4为权值且w4>>w1。
目标函数J和适应度函数F的转化关系为F=1/J。
IGA可自动寻找一组最佳的PID非线性组合参数,对控制系统的PID参数优化的步骤如下:
(1) 利用Z-N阶跃响应法得到具体的参数值,在参数值附近给定参数的取值范围并进行编码;
(2) 产生M个个体组成的初始总群P0;
(3) 对个体解码,求出适应度值;
(4) 进行适应度尺度的变换缩放;
(5) 求出交叉概率Pc和变异概率Pm的值对种群Pt进行操作,产生下一代种群Pt+1;
(6) 重复步骤(4)和步骤(5),直至参数达到预定的目标。
3 仿真分析
在MATLAB中建立不同的PID控制器,在AMESim中建立挖掘机器人铲斗伺服系统,联合控制器和伺服系统搭建仿真平台,如图4所示。通过阶跃和斜坡这2个最具有代表性的挖掘轨迹,将IGA,SGA和传统的Z-N PID控制器的性能进行比较,控制器参数如表1所示。
表1 控制器主要参数Tab.1 Main parameters of controller
图5为采用阶跃信号时,不同控制器得到的响应曲线。可以看出,SGA控制器和IGA控制器有良好的跟踪性能,均优于传统的Z-N控制器。其中,Z-N 控制器的上升时间、稳定时间分别为1.75 s和2.83 s,为3种控制方法中最大。从稳定时间来比较,IGA控制器的稳定时间为1.81 s,最快达到稳定。IGA控制器超调量小,系统调整时间短,响应更加快速。
图5 阶跃输入位移响应曲线对比Fig.5 Comparison of position responses with step reference input
图6中,IGA控制器的收敛速度明显快于SGA控制器。IGA控制器和SGA控制器的最佳目标函数Jbest分别为24.56和 24.82。IGA控制器在48次迭代后收敛,而SGA控制器需要迭代69次。
图6 IGA和SGA的收敛曲线Fig.6 Comparison of convergence curves of IGA and SGA
采用斜率为0.25的斜坡信号作为第2种参考轨迹,3个控制器的响应曲线和跟踪误差如图7、 图8所示。IGA控制器的响应速度最快,精度最高,响应延迟为0.07 s,SGA和Z-N控制器的响应延迟分别为0.19 s 和0.63 s。对于铲斗液压缸,其最大行程为1156 mm,因此超过工作行程时,跟踪曲线为直线。IGA控制器在4.69 s时达到最大行程,Z-N控制器为5.25 s。IGA控制器最大跟踪误差仅为24.23 mm,SGA和Z-N控制器分别为46.99 mm和156.62 mm。
图7 斜坡输入位移响应曲线对比Fig.7 Comparison of position responses with slope reference input
图8 斜坡输入轨迹误差对比Fig.8 Comparison of position errors with slope reference input
4 轨迹控制实验
为了实际验证IGA控制器在挖掘机器人轨迹控制中的应用,在实验室23 t挖掘机器人上搭建了如图9所示的轨迹控制实验平台。
1.压力传感器 2.电子罗盘 3.拉线式位移传感器 4.主阀5.DSP控制器 6.轨迹控制系统 7.23 t挖掘机器人图9 挖掘机器人轨迹控制实验平台Fig.9 Trajectory control experiment platform
轨迹控制实验方案为控制铲斗齿尖进行斜线运动,即挖斜坡作业,先将铲斗齿尖调整到起点位置,然后跟踪斜坡轨迹,直至斜坡终点。图10、图11分别为斜坡作业时的铲斗齿尖运动轨迹及误差。
图10 斜坡作业时的铲斗齿尖运动轨迹Fig.10 Bucket tip tracks under slope line condition
图11 斜坡作业时的铲斗齿尖轨迹误差Fig.11 Bucket tip tracking errors under slope line condition
从控制效果看,3种PID方法均能产生一定的控制效果。IGA控制器对轨迹的跟踪更接近预定轨迹,从误差曲线可以得出,IGA控制器比SGA控制器的控制精度高。Z-N控制器的最大误差为86.13 mm,而SGA控制器和IGA控制器的最大误差分别为54.21 mm和41.21 mm。此外,还研究了每个轨迹的均方根误差,SGA控制器为26.49 mm,IGA控制器为17.74 mm。很显然,IGA控制器的误差是在3个控制器中最小的,IGA控制器的跟踪性能比SGA控制器提高了约33.03%。
5 结论
针对挖掘机器人电液伺服系统的高精度轨迹的控制要求,对遗传算法的种群、适应度函数、交叉概率和变异概率进行了改进,设计了IGA的PID控制器。输入不同信号对控制系统进行仿真分析,验证了IGA控制器调整时间短,响应快速。采用挖斜坡作业验证了优越性,IGA控制器的跟踪误差比SGA控制器减少了33.03%。但是,控制器中的某些参数没有具体的规则,有待于后续深入研究。