融合社会学习和莱维飞行的QPSO自平衡控制参数优化
2023-04-07董慧芬沈鹏飞
董慧芬 沈鹏飞
(中国民航大学机器人研究所控制科学与工程 天津 300300)
0 引 言
非同轴两轮力矩陀螺平衡车采用控制力矩陀螺(Control Moment Gyro,CMG)作为抗干扰控制机构,具有节能、体积小、反应灵敏等优点,是一种用途多变的平衡机器[1-3]。由于缺少车把转向而产生的离心力作用,陀螺平衡车的静态平衡控制与倒立摆的平衡控制有一定程度上的相似性[4],对控制器性能要求提出了更高的要求,因此提升陀螺平衡车静态平衡控制性能具有重要意义。根据力矩陀螺的数量可以分为单陀螺控制和双陀螺控制,由于单陀螺在进动时会产生向前的分力矩,而双陀螺可以通过两个陀螺反方向进动抵消前向力矩,所以双陀螺设计相对于单陀螺设计具有更好的平衡控制效果。
文献[5]采用反馈线性化输入消除系统的非线性部分,但反馈线性化对系统数学模型的精确性提出了很高的要求;文献[6]通过预测控制来提高系统的抗干扰能力使得机器人可以在崎岖道路上行走,但是预测控制的设计复杂,对处理器的实时数据处理要求高,难以应用到小型的自平衡车中;文献[7]阐述了PID控制器对抗干扰处理的有效性,但是闭环动态响应对PID增益的变化很敏感;文献[8]通过模糊PD增益调度控制方式维持车身的平衡,但是需要单独设计回零补偿控制器使得陀螺进动角回零,增加设计负担。
线性二次型控制器(Linear Quadratic Regulator,LQR)通过状态变量的线性反馈构成闭环最优控制器,在耦合系统的稳定控制上面表现出相对优良的控制效果,在自平衡车稳定控制过程中可以有效调整CMG进动角回到零位,将CMG的进动角控制在有限的范围内,防止CMG翻转造成平衡力矩反向。但是在实验中状态加权矩阵Q和控制加权矩阵R的选取一般通过经验来进行确定,选取时间跨度大并且控制效果不确定性大。
文献[9]通过遗传算法对倒立摆的控制参数进行了优化,在较好满足控制需求的同时增强了系统鲁棒性,但是遗传算法进化速度慢并且需要无法对已有的知识进行继承,难以得到最优解。文献[10]采用搜索能力较强的量子粒子群算法(Quantum Particle Swarm Optimization,QPSO)选取权重矩阵,但是QPSO的粒子间信息交流不充分,算法存在容易过早收敛、优化过程慢等问题。为进一步改善该问题,文献[11]应用融合社会学习和莱维飞行的QPSO(LSL-QPSO),首先利用社会学习使得其他粒子互相分享位置,使算法突破局部最优;然后通过莱维飞行[12]克服最优粒子更新不足的缺点。
本文针对双陀螺非同轴双轮平衡车静态平衡控制问题设计LQR控制器,提出一种动态线性递减LSL-QPSO智能搜索算法,进一步提高算法收敛精度,并且在该算法的基础上应用收缩-扩张因子的线性递减来提高算法的稳定性,优化Q、R权值矩阵参数,通过与QPSO优化得到的结果进行仿真与对比实验。
1 自平衡车动力学模型建立
图1 自平衡车模型示意侧视图
综上所述,可以得到自平衡车系统的动能:
系统所受的重力为有势力,则系统势能为E:
E=2m1grcosβ+m2gh2cosβ+2m3gh3cosβ
(2)
根据拉格朗日方程:
令q1=β,可得关于侧倾角动力学方程为:
令q2=δ可得进动角动力学方程:
由此可得系统侧倾的动力学模型如下:
2 自平衡车侧倾稳定控制系统设计
2.1 自平衡系统性能分析
考虑到自平衡车在实际应用中偏离平衡位置范围一般在-15°~15°(±0.26 rad),所以在平衡点附近可以对模型进行局部线性化,可得到:
表1 自平衡车参数表
将表1的参数代入,可得A和B分别为:
2.2 融合社会学习和莱维飞行的改进量子粒子群算法
粒子群优化算法(Particle Swarm Optimization,PSO)由具体的位置和速度向量进行描述,通过对解空间进行搜索[9],粒子群算法位置更新公式:
式中:V、X表示粒子速度和位置;r是区间[0,1]之间的随机常数;ω为惯性权重;C1、C2为非负的加速度常数;pbest(t)为当前最优粒子位置;gbest(t)为全局最优粒子位置。
QPSO是基于PSO改进的算法。它利用波函数表示粒子的状态,替换PSO中速度和位置的表现方式,大大提高了粒子出现在空间任意地点的概率,提高了PSO全局搜索能力。
更改更新式(10)如下:
Xi,j(t+1)=pi,j(t)±
式中:M为粒子规模;ɑ为收缩-扩张因子;Xi,j(t)是粒子i在t时刻第j维坐标;pbesti,j(t)为t时刻粒子i的历史最优的第j维坐标;ui,j(t)服从区间(0,1)之间的均匀分布。
pi,j(t)=φj(t)pbesti,j(t)+(1-φj(t))gbestj(t)
(12)
式(12)为势阱中心公式。式中:φj(t)服从区间(0,1)之间的均匀分布,为第j维坐标的随机系数;gbestj(t)为t时刻所有粒子中最优位置的第j维坐标。
为了解决粒子群多样性衰减问题提出基于社会学习的QPSO,其余粒子首先通过计算学习概率判断是否向最优粒子学习,然后通过偏移量向最优粒子靠拢。式(12)更改为:
式中:Pi,j(t)为粒子i的自身局部最优位置;Pk,j(t)为更优粒子k的局部最优位置。
基于社会学习的QPSO每一次进化仅针对非最优粒子,不能解决最优粒子的进化问题。为改善以上缺陷,引入莱维飞行策略对全局最优粒子进行更新。
第t代种群的全局最优粒子的位置更新公式更改为:
但是由于莱维飞行不能保证更新后的粒子更优,所以通过计算并比较适应值决定是否更新:
式中:f为适应度函数。
将莱维飞行应用于SL-QPSO,可以有效解决SL-QPSO中最优粒子的更新问题,避免算法陷入局部最优。
根据文献[11]的实验结果分析可知,更改后的势阱中心的特征长度公式依然会随着时间收敛到0,说明LSL-QPSO不仅满足收敛性的要求,而且还可以有效地实现最优化处理的功能。
3 基于LSL-QPSO的LQR控制器参数优化
3.1 LQR控制器设计
LQR控制器设计关键是确定最优反馈控制量,Q、R为权值矩阵。Q、R权值矩阵为待设定参数,只有适当取值才能获得较好的控制效果。
采用LSL-QPSO进行参数优化,适应度函数选择ITAE误差指标。
3.2 Q、R矩阵参数优化流程
ɑ选取动态线性递减策略可以有效地提升收敛的稳定性:
式中:ɑ1和ɑ2分别是初始值和最终值;g为当前迭代次数;K为最大迭代次数。
根据式(11)可以知道,LSL-QPSO的粒子更新方向为平均值最优方向。根据文献[13],采用该种更新方式的QPSO在α取值在区间[0.4,0.8]的情况下可以取得较好的效果,并且当α在区间[0.5,0.6]线性减小的情况下算法表现出最好的性能。因此参考文献[13],本文参数优化算法将ɑ1和ɑ2分别设置为0.6和0.5。
设权值矩阵Q=(q1,q2,q3,q4)、R=r均为正定的,则待优化参数向量为x=(q1,q2,q3,q4,r)。粒子位置坐标分别代表Q、R矩阵的参数值,采用LSL-QPSO进行优化,通过LSL-QPSO优化的LQR控制器模型如图2所示。
图2 LSL-QPSO优化LQR控制器
当适应度函数值收敛到指定范围内或迭代次数达到指定的最大迭代次数时停止计算,LSL-QPSO优化陀螺平衡车LQR参数的具体流程如图3和图4所示。
图3 LQR 权重系数优化流程
图4 LSL-QPSO算法流程
4 仿真对比及结果分析
4.1 优化算法仿真
QPSO最终结果为:
Q=diag(301.23,209.89,164.63,26.03)R=0.18
如图5所示,LSL-QPSO经过大约30次迭代后到达收敛状态,得到的最终结果为:
Q=diag(310.39,250.98,266.02,204.75)R=0.06
图5 参数优化曲线
4.2 起摆情况仿真及分析
分析采用QPSO进行陀螺平衡车LQR参数优化的可行性,分别由QPSO和LSL-QPSO得到参数,在陀螺车初始倾角15°(0.26 rad)条件下进行仿真。侧倾角、进动角及进动角速度的仿真结果如图6、图7和图8所示。
图6 起摆倾角仿真曲线图
图7 起摆进动角速度仿真曲线
图8 起摆进动角仿真曲线
由图6可以看出,LSL-QPSO与QPSO相比调节时间相近,超调量更小,响应速度更快,倾角响应峰值降低了18.2%,调节时间缩短了16.6%,有效提升了系统动态响应性能。
由图7可以看出,相对于QPSO,经过LSL-QPSO整定得到的参数使得进动角速度响应峰值降低了17.9%,调节时间缩短了14.3%。
由图8可以看出,LQR控制器可以有效地控制陀螺进动角回零,相对于QPSO,经过LSL-QPSO算法整定得到的参数使得进动角响应峰值降低了21%,调节时间缩短了14.3%,可以更加有效地避免因进动角超调量过大造成控制力矩陀螺自锁现象的发生。
4.3 外力干扰情况下的仿真及分析
分析采用QPSO进行陀螺平衡车LQR参数优化的抗干扰可行性,分别由PSO优化和LSL-QPSO优化得到的参数在平衡车在受到外力干扰,侧倾角从0偏转0.26 rad(15°)条件下,基于Simulink模型进行陀螺平衡车LQR控制仿真,侧倾角进动角及进动角速度的仿真结果如图9、图10、图11所示。
图9 抗干扰侧倾角仿真曲线
图10 抗干扰进动角速度仿真曲线
图11 抗干扰进动角仿真曲线
由图9可以看出,两种方法所得到的参数都能满足抗干扰控制的要求,虽然LSL-QPSO与QPSO相比倾角响应峰值提高了24%,但是调节时间缩短了20%。
由图10可以看出,相对于QPSO,经过LSL-QPSO整定得到的参数使得进动角速度响应峰值提高了8.6%,但是调节时间缩短了23%。
由图11可以看出,LQR控制器可以有效地在受到干扰的情况下控制陀螺进动角回零,相对于QPSO,经过LSL-QPSO整定得到的参数使得进动角响应峰值降低了15.2%,调节时间缩短了12.5%,可以更加有效地避免因进动角超调量过大造成控制力矩陀螺自锁现象的发生。
5 结 语
针对自平衡车LQR控制器Q、R矩阵参数依靠量子粒子群算法优化时存在过早收敛、容易陷入局部优化的问题,应用一种融合社会学习和莱维飞行的改进量子粒子群算法代替量子粒子群算法,为了进一步提高算法的稳定性,对收缩-扩张因子应用动态线性递减策略,将Q、R矩阵描述为粒子坐标,将ITAE作为适应度函数,结合改进的融合社会学习和莱维飞行的量子粒子群算法进行仿真得到最终结果。结果表明,通过LSL-QPSO得到的参数相较于QPSO得到的参数使得系统动态响应性能得到显著的改善:在起摆过程中,倾角响应峰值降低了18.2%,调节时间缩短了16.6%,进动角速度响应峰值降低了17.9%,调节时间缩短了14.3%,进动角响应峰值降低了21%,调节时间缩短了14.3%;在抗干扰过程中,侧倾角调节时间缩短了20%,进动角速度响应调节时间缩短了23%,进动角响应峰值降低了15.2%,调节时间缩短了12.5%。