基于模糊PID算法的平衡车自适应控制
2024-12-11颜奕政郭海龙侯俊伟王汝艮李庚烽
摘 要:为解决两轮平衡车在行驶中控制难度大的问题,设计了一种非基于模型的比例积分微分(PID)控制策略,避免了基于模型的现代控制方案中存在的设计过程繁杂的问题。针对PID控制稳定性低、自适应性差的问题,本实验进一步优化出了以位移为反馈的模糊PID控制器。根据平衡车的物理结构,对其进行了数学建模;基于系统的状态空间表达式,对其作了可控性分析。传统PID存在的一项艰巨任务是确定控制器的参数,且一旦确定了参数,就很难再重新整定它,故本实验设计了模糊逻辑控制器(FLC)以更新PID的权重参数 -Kp,Ki和Kd。通过Matlab仿真对比验证,本实验得到了PID及模糊PID两种控制方案下系统的响应与信号跟踪情况,模糊PID控制相比PID控制具有更好的控制效果:系统的调节速度提高了60%左右,稳定性提高了将近50%。在平衡车的负载重量发生变化的时候,传统PID控制难以避免地出现阶跃响应波动明显的情况,而模糊PID的系统响应相对平稳。因此,模糊PID控制下的平衡车系统可实现不同承载情况下位移的准确跟踪,满足了平衡车对系统稳、快、准的要求。
关键词:模糊 PID 平衡车 仿真 自适应
0 引言
此实验中系统的被控对象为平衡车,它的模型相当于一个倒立摆系统[1-2]。然而,这个倒立摆系统是不稳定的:如果没有电动推车的输入控制电压,摆杆则会轻易地掉落。倒立摆的平衡状态需要靠电动推车的移动来维持。另外,该系统的动力学是非线性的。在国内外研究中,这个控制系统的平衡可通过各种算法来实现[3-4]。
在控制工程实际应用中,尤其对于先进控制方案的需求而言,大多数实际过程控制通常都很复杂,且难以建模。在实际应用场景中,随着负荷变化或工况影响,平衡车的模型特性参数或结构也会发生改变。在平衡车控制问题研究中,前人尝试了各种基于模型的自适应控制方法,如滑模控制、模型预测控制等;自适应控制运用现代控制理论在线辨识对象特征参数,实时改变其控制策略,使控制系统品质指标保持在最佳范围内,但其控制效果的好坏很大程度上取决于辨识模型的精度,这对于复杂系统而言是非常困难的。由于被控对象的数学模型无法精确确定, 控制器的整定参数便无法随环境的变化而改变,致使控制效果难以一直保持最优,且会导致过大的超调和振荡;然而,PID相对容易简单,且能快速解决问题;因此,本实验基于 PID 算法进行了控制器设计;PID参数的整定方法很多,但大多数都以对象特性为基础。
在传统的PID控制中,存在一项艰巨的任务就是确定控制器的参数。而且,一旦确定了参数,就很难再重新整定它。PID控制器可能会以多种方式进行调整,包括手工调整、Ziegler-Nichols调整等;然而,传统的PID控制器的适应性不是很强。为解决此问题,本实验使用了模糊逻辑控制器(FLC)更新PID的权重 - Kp,Ki,Kd[5]。新的权重使得系统的控制性能表现出更加良好的效果,系统的适应性也得到了显著的提高。[6]
由于在平衡车实际控制过程中各种输入输出信号量及评估参数不易进行定量表示,模糊控制理论为解决这一难题提供了有效方法;因此,本实验运用了模糊控制理论及其方法,把控制规则的条件、操作等通过模糊集来进行表示,并把与控制相关的模糊控制规则及有关信息作为知识存入控制器的知识库中,然后控制器根据系统的实际响应情况,自适应地运用模糊逻辑,便可实现对 PID 参数的自动最优化调整,这就是模糊 PID 控制实现平衡车自适应的原理。
1 平衡车的倒立摆模型
1.1 系统的建模过程
平衡车的平衡原理[7]是基于倒立摆[8]的基本运动原理:通过控制杆底部的运动来使摆杆重新竖立起来。在平衡车中,摆杆相当于车身,而杆底部的运动则由电动推车的电机来控制。当小车倾斜时,控制系统会进行判断,且根据摆杆的倾斜程度来调整电机的输出电压,使得小车朝着恢复平衡的方向运动。具体来说,如果小车向前倾斜,控制系统会增加电机的输出电压,使得小车向前运动,从而恢复平衡。如果小车向后倾斜,则减缓电机电压的输出,使得小车向后运动,从而恢复摆杆的平衡[9-10]。
在这种情况下,我们将考虑一个二维空间中的运动问题,将摆杆的运动范围限制在图1中所示的垂直平面中。在该系统中,系统的输入是水平力F,输出是摆杆θ的角度位置和电动推车 x的水平位置[11-12]。
本实验对模型设置了以下参数:
M:电动推车的质量
m:摆杆的质量
b:电动推车的摩擦系数
l:摆杆质量中心到连结处的长度
I:摆杆的转动惯量
F:施加到平衡车的力
x:平衡车位置
θ:摆杆的摆角。
1.2 系统动力学模型
基于平衡车系统的(F,施加到平衡车的力)输入数据和(x,平衡车位置)输出数据,本实验通过系统辨识方法获得被控物理系统的近似数学模型:
1.3 传递函数到状态空间的转换
传递函数仅描述了输入和输出之间的关系。因此,传函不是很便于分析其系统的内部属性。为了方便起见,一个较好的解决方案是把传递函数(1)转换成状态空间方程的形式[13]。所以:
明显地,可得到以下形式:
为了得到状态空间方程,我们令X1=Z,X2=Z,...,Xn=Z(N-1),所以可得到
在这个矩阵中,我们得到:
这里,In-1为单位矩阵。
现在,我们可以将被控对象的传递函数(1)转换为状态空间形式:
在这里,
1.4 系统可控性分析
为了获得理想的结果,我们希望在使用状态反馈过程放置特征根,以证明该系统是完全可控。如果放置特征根从初始状态到最终状态的任何状态都能实现,则该系统是完全可控的[14]。
在方程(6)中,可控性矩阵可以被定义为:
根据可控性理论,只有满足以下条件,这个系统才是可控的:
在以上系统中,该可控矩阵的秩为:
所以,该系统是可控的。
2 控制方案设计
2.1 PID控制器设计
PID控制方案以其三个参数术语命名,其总和构成了输出控制变量[15-17]。比例,积分和微分的组合求和可计算PID控制器的输出[18-20]。这里将ut定义为控制器输出,PID算法的最终形式是:
在以上公式中,Kp是比例增益,Ki是积分增益,而Kd是微分增益。另外,e(t)表示误差,t是时间变量,τ是积分部分的变量,该变量的值从0到当前时间t之间变化。
在平衡车中,PID 的作用如下:
比例Kp:比例控制器根据小车的位移来调整电机的输出。位移偏差越大,比例控制器输出的控制量也越大,从而快速地使小车向平衡位置移动。
积分Ki:积分控制器用于消除小车在平衡位置附近的静态误差。如果存在静态误差,积分控制器会根据误差的积分来调整电机的输出,使得小车能够准确地保持在平衡位置。
微分Kd:微分控制器用于提高小车系统的稳定性,减少超调和振荡。通过位移偏差的变化率,微分控制器可以调整电机的输出,使得小车的运动更加平稳。
PID 控制器在平衡小车中的参数需要经过实验和调试来确定,通常需要根据小车的动力学特性和传感器的反馈来进行调整。通过合理地调整 PID 参数,可以使平衡小车能够快速、稳定地实现自动平衡,从而实现精准的控制和运动。
对于该系统,PID不同的部分对系统的控制效果具有不同的影响。下表描述了PID各个参数对系统总体的影响:
基于此策略,控制系统的总体设计框图2如图所示。
为了获得最佳PID控制参数,该解决方案之一由线性二次型调节器(LQR)提供,这是一个反馈控制器,其方程式在下面给出。根据连续线性系统的状态空间方程(6),其代价函数定义为:
最佳控制方法是定义性能索引(代价函数),并搜索最小化该索引的控制u= -Kx。 Q是n×n对称半正定矩阵,R是M×M对称正定矩阵。
令,,R=1
在Matlab中,我们可使用指令k=lqr(A,B,Q,R)求解以上方程。在以上求解基础上,我们便可得到KP,Ki,和Kd的最优解。
2.2 模糊PID控制器设计
为解决传统的PID控制器适应性差问题,本实验使用模糊逻辑控制器(FLC)更新PID的权重 - KP,Ki和Kd。
组合式的模糊PID控制器如图所示,输入r是平衡车所需到达的位置,并且输出y是小车实际的位置。使用反馈,我们可以获得系统输出误差的输入和输出。然后,误差和误差的微分可作为模糊控制器的输入,它决定了 KP,Ki和Kd的更新范围。
根据 KP,Ki,和Kd不同功能,我们在定义模糊规则时使用的基本思想是根据系统的性能增加或减少 KP,Ki,和Kd的值。例如,如果响应太慢,我们可以增加比例KP的数值和积分Ki的数值;或者,如果误差很大,我们也可以做类似的整定。因此,本实验制定了表2的模糊规则。
其中,NB,NM,NS,Z,PS,PM和PB分别是负大,负中,负小,零,正小,正中,正大。这些分别是隶属函数的输入和输出。同理,我们也可以制定∆Ki和∆Kd的模糊规则。
2.3 定义隶属函数
如表2所示,模糊逻辑块中有两个输入隶属函数,误差(e)和误差变化(ec)和三个输出隶属函数,P参数的变化(∆KP),I参数的变化(∆Ki)以及D参数的变化(∆Kd)。模糊块考虑了与输入数据匹配的模糊规则。因此,设计模糊控制器时采取的关键步骤是确定哪些变量的状态影响了系统动态性能,必须将其视为对控制器的输入信号。隶属函数在以下图4至图8中定义。
3 仿真与结果分析
基于e和ce,∆KP、∆Ki,和∆Kd在不同时刻持续变化,以实现系统的良好动态和静态控制性能。最后,本实验获得了PID控制参数的值。通常,根据e和ce的不同值,控制器需要不同的PID参数设置。模糊PID控制的设计目标是提高稳态控制精度,同时也不会太过于影响系统的动态性能。
根据平衡车的负载重量,针对不同承载情况所需的PID参数,模糊控制器可优化出对应的∆KP、∆Ki,和∆Kd:
不同承载情况下,传统PID与模糊PID的控制仿真结果如下:
显然,在图10中,这两个系统中的性能都是比较完美的,因此我们不易观察及计算哪个系统的误差较小。因此,由于误差太小,一个相对好的解决方案是将两种控制器的输出信号与同一个阶跃信号比较。通过对比,我们可以得到:模糊PID的误差小于传统PID控制的误差。此外,我们还可以计算他们的平均误差,并且清晰地获取到他们各自的系统响应情况。我们综合比较图10、11及12这三种情况,得到系统在模糊PID控制中得到的系统平均误差为:
平均误差1 = 2.3154 ×10-6。
传统PID控制下得到的系统平均误差为:
平均误差2 = 4.5560 ×10-6。
为了进行比较,表3总结了两个控制方案的控制结果。通过对比发现,模糊PID控制不仅可以实现比PID控制器更准确得控制效果,而且还可以大大提高系统的动态性能。这个良好效果的实现是由控制器设计中的模糊控制规则发挥作用的,该规则用于修改PID参数,使系统具有良好的自学习能力和适应性。模糊PID控制的唯一问题是,它需要比传统PID控制方法承担更繁重的计算量,这对微处理器芯片所需的算力也提出了更好的要求。
数值仿真研究结果表明,与传统的PID控制相比,模糊PID控制表现出更高的控制精度。模糊控制器的自我调整和在线更新功能在这个过程中发挥了核心作用。模糊控制规则经过精心调整以产生尽可能小的超调、更小的稳态误差,以及更小的调节时间。这表明,模糊控制的挑战在于调整这些控制规则。为了满足更高控制要求,更多的经验需要融入到模糊规则的设计与制定中。
4 结束语
本实验针对平衡车对行驶运动的要求,将模糊PID组合式控制策略运用到了车身的平稳控制中。Matlab仿真实验表明,模糊PID相比于传统PID表现出了调节速度更快、稳定性更好的效果。当平衡车的承载情况变化时,PID控制下的系统阶跃响应会有明显变化,而模糊PID控制下的效果较好,这说明模糊PID控制具有较好的自适应能力,保证了系统所需设计要求的同时,并最大程度地减少系统误差。通过本实验,我们可以通过模糊逻辑将人类经验转移到计算机语言中,实现人类经验和强大计算能力的完美结合。在这个过程中,我们的关键问题是如何定义这些模糊规则和设计隶属函数,以满足的系统的功能需求。我们可以继续尝试使用多种方式,例如查表法,梯度下降训练或递归最小二乘法等;这些将会是本课题下一阶段工作中需要学习和研究的内容。
基金项目:(1)2023年国家级职业教育教师教学创新团队特色项目(CXTD005)(2)广东省普通高校青年创新人才项目(2023KQNCX187);(3)广东省高等职业院校交通运输类专业教学指导委员会教育教学改革与研究项目(JTYSJZW2023A01);(4)2024校级大学生科技课题(GDCP-ZX-2024-026-N2)。
参考文献:
[1]黄俊民,肖翔.基于PID的自平衡车控制系统设计[J].装备制造技术,2024(05):125-127+143.
[2]易奎辰,曾红兵,梁津铭,等.考虑时滞的自平衡车控制系统稳定性分析[J].湖南工业大学学报,2024,38(02):33-40.
[3]马一凡.基于自适应PID的双轮自平衡车数学建模[J].华东科技,2023(02):109-111.
[4]刘泽伟,冯靖靖,李婉钰,等.多回路PID控制下的两轮平衡车系统设计[J].自动化仪表,2022,43(11):19-23+28.
[5]任红格,吴启隆,史涛.OC学习机制的两轮平衡车模糊自平衡控制[J].机械设计与制造,2023(05):283-286.
[6]罗灿.基于自适应模糊PID的双轮自平衡车的控制系统研究[D].长春:吉林大学,2018.
[7]王子浩,王健.基于STM32的蓝牙平衡小车系统设计[J].电子世界,2020(09):172-173.
[8]许东昌.基于DSP两轮移动倒立摆小车在平衡控制中的应用研究[D].合肥:合肥工业大学,2016.
[9]庄治强.基于Freescale小车的智能控制算法研究[D].兰州:西北师范大学,2016-2017.
[10]王跃.基于STM32的自平衡小车PID控制算法研究[J].电脑与电信,2022(09):63-68.
[11]陶言侃.双轮自平衡机器人设计及轨迹跟踪控制研究[D].哈尔滨:哈尔滨工业大学,2020.
[12]张鑫炎.两轮自平衡小车的平衡控制及轨迹跟踪问题研究[D].沈阳:东北大学,2020.
[13]陈爱琢,张从佳,周杨林,等.基于动态可重构电池网络状态空间模型的电池荷电状态估计[J/OL].中国电机工程学报,1-14[2024-10-07].https://doi.org/10.13334/j.0258-8013.pcsee.232151.
[14]吉红,王颖丽,赵忠义,等.基于二级倒立摆的数学建模及系统性能分析[J].机械设计,2023,40(07):137-142.
[15]陈慧蓉,丁美玲.基于模糊PID控制算法的温度控制系统[J].科技创新与生产力,2024,45(09):103-105+109.
[16]俞飞,陆晓强,王兰群.基于模糊PID算法的阀门电动执行器控制方法[J].机械管理开发,2024,39(08):20-22.
[17]吴文进,吴晶,郭海婷,等.基于变论域模糊PID算法的锂电池组级联式均衡控制[J/OL].电子测量与仪器学报,1-9[2024-10-07].http://kns.cnki.net/kcms/detail/11.2488.tn.20240830.0851.004.html.
[18]毛清华,陈彦璋,马骋,等.基于模糊神经网络PID的煤矿掘进机俯仰控制研究[J].工矿自动化,2024,50(08):135-143.
[19]周玉康,曾妍,黎颖,等.基于先进传感与控制技术的外骨骼机器人设计[J].科技创新与应用,2024,14(25):9-12.
[20]杜家杰,金振华,赵凤,等.免疫分析仪精密移液控制技术设计[J].现代仪器与医疗,2024,30(04):46-50.