基于粒子群算法的倒立摆智能控制系统研究
2022-02-21董如意田冬旭
董如意,王 通,田冬旭
(吉林化工学院 信息与控制工程学院,吉林 吉林 132022)
倒立摆控制系统是一个经典的快速、不稳定、多变量、非线性、强耦合且具有高阶次特性的复杂控制系统[1].通过对倒立摆控制系统的研究,能够有效反映出控制理论中诸多典型问题,如非线性、鲁棒性及跟踪问题等[2].目前对于倒立摆的研究已经应用于双足机器人关节、运载火箭、卫星发射架、钻井平台等各类伺服控制系统当中[3].对倒立摆的控制设计进行研究不仅能够反映控制理论中的稳定性、鲁棒性、能控性以及跟踪性问题,而且对于军事工业、机械臂控制领域[4]、航天仪器和一般工业进程也有着重大理论指导意义,是控制理论与实际应用的桥梁[5].近年,国内外众多研究员运用各种控制算法对倒立摆进行研究,如模糊控制[6]、滑模控制[7]、智能控制[8]等.
本文基于智能控制领域,建立倒立摆智能控制模型[9],运用PSO算法[10]对倒立摆智能控制模型所需权重进行优化并选取最优,通过仿真实验并对比分析影响倒立摆稳定性的关键参数,最终实现短时间内对倒立摆系统的稳定控制.
1 直线一级倒立摆的数学建模
运用牛顿力学的方法构造直线一级倒立摆的数学模型.为简化该运动系统,本文在物理建模时忽略了各种摩擦力及空气阻力,将倒立摆摆杆视为一个刚体,进而将直线一级倒立摆系统抽象为由一辆运动小车和匀质杆相连构成的运动系统,如图1所示.
图1 直线一级倒立摆系统的数学模型
图2 摆杆受力分析
水平方向受力方程为:
(1)
竖直方向受力方程为:
(2)
两个受力分析方程合并:
(3)
当摆杆与垂直方向之间的夹角相比很小时,则可以进行如下处理:
线性化得到数学模型方程为:
(4)
拉普拉斯变换可得到:
(5)
求解方程(5)中第1个方程:
(6)
把(6)代入方程组(5)中得到:
(7)
整理得传递函数为:
(8)
其中,q=[(M+m)(I+ml2)-(ml)2].
由现代控制理论知,系统状态空间方程为:
(9)
得到状态空间方程:
(10)
2 基于粒子群算法的倒立摆智能控制系统设计
如图3所示,控制模型原理与神经网络类似,但结构要比神经网络简化很多,可以视作一个单神经元结构.加入4个权值,通过优化权重值来控制倒立摆控制决策(policy),即加权和Hsum=w1p+w2a+w3v+w4r+b,若加权和Hsum的符号为正则输出为1,否则为0,而0和1分别代表倒立摆向左或向右.初始神经元接收到了倒立摆系统的位置p、杆子与竖直方向的夹角a、速度v、以及角度的变化率r,之后会相应地输出一个动作,使得倒立摆向左或向右.为得到一组较好权值从而有效控制倒立摆稳定,本文采用粒子群算法[11]优化这4个权重以训练神经元能够让倒立摆系统维持稳定状态.若通过粒子群算法筛选出来的4个权重能够让倒立摆系统保持200次不倒,说明该系统已达到理想稳定状态,即证明这4个权重值已被粒子群算法优化成理想值,这4个权重即为理想权重,该神经元即为理想神经元.
图3 倒立摆智能控制模型
粒子群算法优化倒立摆智能控制模型参数流程:
(1)初始化神经元5个参数,其中包括设置粒子群规模、随机位置、速度;
(2)评价参数适应度,适应度为倒立摆系统稳定的次数;
(3)将每个参数的适应值和它到达的最好位置即局部最优(pbest)进行比较,对比结果较好,则将它选为目前最好位置即局部最优(pbest);
(4)将每个参数的适应值和它到达的最好位置即全局最优(gbest)进行比较,若结果较好,则将它作为目前最好位置即全局最优(gbest);
(5)通过公式调整粒子位置及速度;
(6)不满足结束条件则转向步骤2.
粒子群算法优化倒立摆智能控制模型参数的流程图如图4所示.
图4 粒子群算法优化倒立摆智能控制模型参数流程图
3 实验结果
3.1 仿真结果
通过粒子群算法优化倒立摆智能控制系统[12]的5个参数,并选取其最优值,最终使倒立摆系统稳定,仿真结果如图5所示.
图5 倒立摆系统稳定仿真结果
仿真结果显示了通过粒子群算法经过不断迭代优化获取到了5个最优参数值,并且这5个参数能够确保Gym环境下的倒立摆维持200步内稳定不倒,经过多轮200步迭代测试后仍能维持倒立摆稳定不倒状态,即该倒立摆已经实现稳定控制.
3.2 数据分析
如图6~9所示,分析了粒子群算法中种群规模、迭代次数、学习因子以及惯性权重对倒立摆系统稳定的影响.
种群规模数量图6 种群规模对倒立摆坚持次数的影响曲线图
迭代次数图7 迭代次数对倒立摆坚持次数的影响曲线图
学习因子图8 学习因子对倒立摆坚持次数的影响曲线图
惯性权重图9 惯性权重对倒立摆坚持次数的影响曲线图
由图6可知,粒子规模较小的时候,随着粒子群规模的不断增大,使得粒子群算法选取的权重越好,进而倒立摆系统稳定次数不断增大.当粒子的种群规模在40以上时,粒子群算法的优化性能达到了上限,继续增加粒子的规模,对倒立摆系统的稳定已无作用.
据图7可得,迭代次数较小的时候,倒立摆系统的稳定次数明显偏低,随迭代次数的增大,倒立摆系统的稳定次数不断增加,当迭代次数在60时,倒立摆系统稳定性已达到较高水平,随着迭代次数的进一步增加,迭代次数80时倒立摆稳定次数达到上限.
根据图8可知,粒子群算法的学习因子对倒立摆系统的稳定也具有一定程度的影响,当学习因子取2时,倒立摆系统稳定的效果比其他值要好.
图9表明了惯性权重对倒立摆稳定性的影响,惯性权重的大小直接决定粒子对上一次迭代速度的记忆程度,惯性权重代表在多少数量的情况下表示原先的权重,越大就会表示整个全局的搜索能力越强,局部搜索的能力也就越弱;反之,则会表示整个全局搜索的能力就越弱,局部搜索的能力就越强.当惯性权重为1的情况下,可以清楚地看出这种粒子群的算法已经陷入局部搜索,惯性权重在0.6的时候能够让倒立摆系统更稳定.
上述分别讨论了PSO算法中种群规模、迭代次数、学习因子以及惯性权重对倒立摆系统稳定性的影响,通过实验探究了以上4种因素对倒立摆系统稳定性的影响程度,分析得到了这4种影响因素的最优取值状况.当粒子的种群规模在40、迭代次数80、学习因子为2、惯性权重取0.6时,倒立摆系统的稳定次数达到200上限,即其稳定性达到峰值.通过调节上述4种影响因素至最优,最终实现了基于粒子群算法对直线一级倒立摆的最优稳定智能控制.
4 结 论
基于粒子群优化算法(PSO)具有的智能式动态搜索、渐进式搜索优化、不易重复出现或者局部最优且容易被快速实现的基本特征,对倒立摆智能系统5个关键参数进行优化并选取最优,通过仿真验证并实现了基于粒子群优化算法的倒立摆智能控制系统的优化设计,通过对比分析影响倒立摆稳定的因素并调节影响因素的参数值,最终在较短时间内实现了对倒立摆系统的稳定控制.