基于直线倒立摆的控制器设计与分析
2021-12-09谢文
谢文
安徽工业大学 电气与信息工程学院 安徽 马鞍山 243032
引言
线性倒立摆被称为“小车-倒立摆系统”,它是由沿直线导轨运动的小车和末端固定在小车上的同质长杆组成。目前倒立摆的控制方法有很多,比如模糊控制、神经网络控制、PID控制以及各种算法控制。本文是利用常见的PID控制和算法相结合,设计出一种适用于一级直线倒立摆的控制器,这里称之为BAS-PID控制器[1]。由于传统的PID控制器,它具有明显的不确定性和精确性。所以,许多学者针对传统PID控制方法存在的不足,提出了天牛须搜索算法和PID控制相结合的参数优化方法。天牛须搜索(Beetle Antennae Search,简称BAS)算法,它是由Jiang等人于2017年提出的一种新的仿生算法,与其他仿生类算法不同,天牛须算法是一种单体搜索算法,具有原理简单、参数少、计算量少等优点,在处理低维优化目标时具有非常大的优势[2]。在本文中,我们把BAS-PID算法控制应用在一级直线倒立摆中,打破了传统PID控制直线倒立摆的局限性,能够更快的寻找到最优参数,实现了控制高效与稳定[3]。
1 直线一级倒立摆的数学建模
在理想状态下,由于没有空气阻力和摩擦力的因素影响,我们可以把一级直线倒立系统抽象为小车和匀质摆杆组成的理想系统[4]。这里我们通过运用牛顿—欧拉方法建立直线一级倒立摆的数学模型,以小车加速度为控制量,摆杆角度为被控对象,得到系统的传递函数为:
实际系统的物理参数:摆杆质量m(0.0426kg)、摆杆长度L(0.305m)、摆杆转轴到质心长度l(0.152m)、重力加速度g(9.81m·s-2),其中L和g分别表示摆杆长度和重力加速度。摆传递函数为:
2 BAS-PlD的算法原理
BAS算法是天牛通过觅食时,天牛是不清楚食物在什么地方,这时天牛就通过食物的气味强弱来去寻找食物。天牛在觅食时,它的两只长触角会随气味的强弱来搜索方向,根据触角收到的气味强度来决定天牛下一步的运动方向,这样天牛就可以有效找到食物[5]。所以本文在BAS算法的基础上把PID控制加入到算法当中去设计出一种基于BAS-PID算法的控制器。这种控制器的原理就是:在BAS算法的不断迭代过程中,PID控制器的三个参数在不断变化,由于给定迭代的次数,在迭代完成后,得到最优PID的三个参数[6]。我们在算法中把位置维数设置成3,这3个维度就分别代表PID的三个参数,也就是将、和。我们把这三个参数的组合假定为一只“天牛”。天牛在给定的空间中通过气味搜索食物,它会根据左右两须位置的适应值来调整并更新下一次的位置,不断迭代更新位置,从而逐渐逼近最优目标。
初始化天牛的位置,根据天牛的搜索行为确定天牛须的朝向,确定天牛的运动方向。
不断更新天牛的位置和朝向信息,确定下一步天牛的移动方向。
把上一步计算的得出的适应度值传递到BAS算法中,比较这个适应度值与设定的值之间的大小,看是否小于设定的最小值。如果小于设定的最小值,执行下一步,否则执行第二步。
得到我们设计的PID控制器的最优参数,结束仿真。
3 BAS-PlD控制的实验与分析
本文利用Matlab软件来模拟BAS-PID算法在一级直线倒立摆中的控制过程,具体步骤如下:
首先,搭建BAS-PID控制直线倒立摆系统的Simulink仿真图;
在Matlab菜单界面的命令行书写BAS算法,然后把BAS算法保存在M文件中。
选取系统的传递函数为:
设定误差性能指标(ITAE)作为它的适应度函数:
运行BAS算法,因为BAS算法程序在运行过程中是不断调用它的仿真模型的,也就是不断迭代,寻找(4)式适应度函数的最优解,最优解的维数分解后的参数值就是对系统优化的PID的三个值。
图1和图2分别是BAS-PID的适应值的迭代曲线和三个参数的迭代曲线。如下图所示,大约在迭代80次时,BAS算法就已经找到了最优的PID参数。
图1 适应值的迭代曲线
图2 PlD三个参数的迭代曲线
为了验证BAS-PID算法对倒立摆系统控制的有效性,运用MATLAB软件对其进仿真,得到仿真结果如下图所示:
图3 BAS-PlD算法对应的阶跃响应曲线图
从仿真的阶跃曲线可以得出,BAS-PID算法对倒立摆系统的控制需要大约0.8s就能达到系统的设定值,而且超调量也很小,很显然达到了预期对一级直线倒立摆系统的控制效果。
4 结束语
我们知道一级直线倒立摆具有非线性、不确定性和开环不稳定性等特点。所以本文提出了一种基于BAS算法的PID控制器的设计方法,而且把该算法应用在一级直线倒立摆的控制上,解决了传统PID控制器控制直线倒立摆的局限性与不确定性。因此BAS-PID控制器与传统的PID控制器相比,具有更高效的寻优能力和更好的控制效果,对于直线倒立摆的研究具有很好的探索价值。