于振中 周 枫
(江南大学物联网工程学院 无锡 214122)
电动负载模拟器是一种被动式力伺服系统[1],广泛应用于减速器的性能检测等方面。当加载电机的加载指令为零时,由于惯性、控制滞后等因素的影响,驱动电机的运动会在传动轴上产生多余力矩[2],多余力矩会大大增加电动负载模拟器的控制误差。
现有多余力矩消除方法主要有结构法和控制法[3]。结构法通过改变驱动电机和加载电机之间的连接刚度来抑制多余力矩,例如增加弹簧杆[4]、蓄压器等,但存在抑制效果不佳,对安装精度要求较高等缺点。控制法利用算法对多余力矩进行补偿消除,目前在工程上使用较多的是利用结构不变性原理抑制多余力矩。王修岩等[5]在系统中加入了多路补偿来提高加载精度,并设计了电动加载实验装置,验证此方法的有效性。文献[6]设计了基于力矩加载指令和加载电机速度的前馈控制器来消除扰动。上述方法能够在一定程度上减小多余力矩,但是由于力矩加载系统是一个复杂且参数时变的非线性系统,难以准确建模,因此该方法只能近似补偿。
本文在前馈补偿的基础上加入蚁群优化算法,通过对PID 控制器参数进行寻优,在一定程度上解决了普通PID 控制器无法适应系统非线性变化的问题。最后通过Matlab仿真对比实验,验证此方法在多余力矩抑制上的有效性和优越性。
图1 是电动负载模拟器结构图,其由力矩加载系统和驱动系统两部分组成。其中驱动系统的位置扰动产生多余力矩,经减速器传递到力矩加载端,在设计相关控制方法之前,需首先建立加载系统的数学模型。
图1 电动负载模拟器系统结构图
本文选用的加载电机为直流电机,其动态方程为[7]
式中:um为电枢电压,Rm为电枢电阻,im为电枢电流,Em为电枢反电动势,KE为反电动势系数,θm为电机角位移,Tm为电磁力矩,Jm为电机转动惯量,Bm为电机阻尼系数,TL为电机输出力矩。
转矩传感器数学模型为
式中:Kf为转矩传感器的扭转刚度,θr为驱动电机经减速器后的输出角位移。
由式(1)、(2)可得加载系统的数学模型表达式为
驱动和加载电机输出端的相对位置变化是影响加载转矩大小的决定因素,因此采用驱动电机的位置输出量作为前馈补偿信号是最直接的方法[8]。根据2.1节得到的加载系统数学模型并利用结构不变性原理,画出的前馈补偿框图如图2 所示,其中Gθ(s)为前馈补偿环节。
图2 增加前馈补偿和PID控制的系统方框图
在框图中,引入PID 控制器GT(s)来提高系统的动态特性,各模块满足如下约束关系:
以力矩加载系统的转矩指令信号和驱动电机的输出角度θr作为系统输入,则加载系统的输出转矩TL可表示为
若完全抑制多余力矩的大小,只需在系统力矩输入指令为零时,消除θr(s)带来的影响,因此有:
即Gb(s)的分子部分为零,联立式(4)、(6)可得Gb(s)的分子部分表达式为
上式进一步变形可得到位置补偿控制器Gθ(s)为
常规PID 控制器的参数不能在线调整,导致其无法很好地适应系统非线性变化[9],使得前馈补偿方法抑制多余力矩的效果大打折扣,本文采用蚁群算法对常规PID 控制器进行优化,其结构如图3 所示。
图3 蚁群算法优化PID控制器的结构图
蚁群算法是根据蚂蚁搜寻食物的特点,建立数学模型并用于解决最优问题的一种方法[10]。在求解问题时,首先需要建立蚂蚁搜索的路径。
图4 蚂蚁搜索路径示意图
PID 控制器的三个参数中起主要调节作用的是比例和积分数值,为了降低算法的复杂度,本文采用结构较简单的PI 控制器,即待优化的变量为Kp和Ki,二者均精确到小数点后两位,各需要三个数来表示,每个数的范围设为0~9。最后建立的路径示意图如图4所示。
图中共有6×10 个节点,表示蚂蚁可能出现的位置,用N(xi,yLi)表示。蚂蚁的初始位置为坐标原点,单次搜索的路径为N(0,0)→N(x1,yL1)→N(x2,yL2)→…→N(x6,yL6),则该次搜索路径下的 PI 控制器参数值为
在实际中可利用 Z-N 法[11]整定出大致的 Kp和Ki值,并在其附近范围内进行搜索,使蚂蚁更易找到最优解,从而加快算法的收敛速度。
根据文献[12],本文选择在实际工程中应用较广的ITAE作为适应度函数,其表达式为
式中:tk是当前的时间,e(t)为给定力矩与转矩传感器测得的实际力矩之间的差值。
蚂蚁在搜索空间内依靠信息素的指引不断调整路径,寻找最优解[13~14]。对于 t 时刻位于节点 N(xi,yLi)的蚂蚁来说,其状态发生转移的概率为
式中:τ(xi,yLi,t)为信息素残留量,按照式(12)进行计算,η(xi,yLi,t)为信息素能见度,按照式(14)进行计算,ɑ 为残留信息素的重要程度,b 为启发信息的重要程度,二者均由算法初始化时给定。
式中:r 为信息素的挥发系数,Δτk(xi,yLi,t)为节点N(xi,yLi)被第k 只蚂蚁爬过后的信息素增加量,其计算公式如下:
式中:Q 为蚂蚁完成一次搜索后释放的总信息素量,Fk为第k只蚂蚁的适应度函数值。
式中:为最优路径的下节点的纵坐标值。
蚁群算法优化PID控制器的步骤如下:
1)初始化
对蚁群的群体规模n,最大迭代次数NC_max,初始信息素量以及上一小节中的ɑ、b、r、Q 完成设定。
2)单次寻优过程
蚂蚁从原点出发,按照式(11)计算横坐标相同而纵坐标不同的各个节点的状态转移概率,将概率最大的节点作为下一个节点。当蚂蚁完成一次路径搜索后,按照式(9)计算Kp和Ki值,运行电动负载模拟器系统得到适应度函数值。将所有蚂蚁进行以上寻优过程,比较适应度函数值,记录本次最优的 Kp和 Ki值。
3)按照式(12)更新信息素量,并将迭代次数加一。
4)重复步骤2)和3),直到迭代次数达到NC_max,输出最优的Kp和 Ki值。
利用图2的系统方框图在Matlab/Simulink中搭建电动负载模拟器仿真模型,利用S-Function 的m函数对蚁群算法进行编写,为Kp和Ki赋值。
根据参考文献[15],驱动电机的位置扰动频率是影响多余力矩大小的重要因素。在仿真中给定加载电机转矩信号为0,同时令驱动电机的位置信号为正弦信号,幅值为50rad,频率分别取1Hz、2Hz、4Hz、8Hz,分别进行本文算法和常规PID 的仿真实验,得到的实验结果如图5~8和表1所示。
图5 频率为1Hz时多余力矩波形
图6 频率为2Hz时多余力矩波形
图7 频率为4Hz时多余力矩波形
图8 频率为8Hz时多余力矩波形
随着驱动电机角频率的增加,两种方法产生的多余力矩均增大,这是由于加载系统存在惯性和滞后环节,控制电压难以实时跟随,且系统变化频率越高,惯性和滞后表现的越明显,控制误差也越大。本文算法在不同频率下产生的多余力矩均低于常规PID 控制,且分别减少了82.8%、78.2%、65.8%、26.8%。因此无论低频还是高频,本文算法在多余力矩的抑制效果上均要优于常规PID 控制器。
表1 两种方法产生最大多余力矩对比表
本文首先建立了基于前馈补偿的力矩加载系统数学模型,针对PID 控制器无法在线调整参数问题,提出了利用蚁群算法对PID 控制器参数进行优化的控制策略。最后通过仿真实验表明:本文算法对多余力矩的抑制效果要优于常规PID控制器。
随着驱动电机角频率的增加,蚁群算法对PID控制器参数的寻优过程跟不上系统的变化频率,对多余力矩抑制的效果逐渐减弱,因此如何在高频时提高算法对多余力矩的抑制能力,是以后研究工作的重点。