最近学习一下Simulink中PID控制器的使用算法,翻阅了一些书籍和论文,出现最多的例子就是汽车行驶速度的PID控制仿真。今天我们先提出汽车行驶的物理背景,再对其建模,最后进行simulink仿真分析。
背景:
汽车行驶系统PID控制系统实质上是个速度反馈控制系统,通过系统的输出信号改变系统的输入信号,其工作原理为:
(1)汽车的速度操纵机构的位置发生改变以设置汽车的速度,因为操纵机构的不同位置对应着不同的速度。(相当于油门的位置我觉得)
(2)测量汽车的当前速度,并求取它与制定速度的差值;
(3)由速度差值信号驱动汽车产生响应的牵引力,并由此牵引力改变汽车的速度,直到其速度稳定在指定的速度为止。
数学模型:
1.汽车速度操纵机构位置变换器
汽车行驶速度控制系统的速度操纵机构变换器的作用,就是将操纵杆的位置转换为汽车期望行驶速度,操纵杆的位置与期望车速为线性关系,其数学模型为:
x为操纵机构的位置,x在0~1之间
在本次仿真中,假设期望速度为60km/h,则x为0.4。我们通过一个“滑块调整增益”的模块Slider Gain来设置增益为0.4,且下限为0,上限为1。
2.汽车行驶速度PID控制器
汽车行驶速度PID控制器是实时检测当前速度,并与期望速度比较,对速度偏差进行PID处理,实质上是速度反馈模型,其数学模型为
其中,u(t)为控制量,e(t)是当前速度与期望速度的偏差
3.汽车动力机构
汽车动力机构的作用就是在牵引力的作用下改变汽车的运行速度。牵引力与汽车行驶速度的关系为:
即
其中,m为汽车质量,我们取1500kg,v为汽车行驶过程中的速度,F为牵引力,b为汽车行驶过程中的阻尼系数,我们取20。
汽车行驶速度PID控制系统仿真模型的建立与仿真
我们可以看出来,整个仿真系统分为三部分,汽车速度操纵机构位置变换器、汽车行驶速度PID控制器、汽车动力结构。
第一部分 ,我们输入操纵机构位置为0.4,即我们的预期速度是60km/h。
第二部分 ,通过检测实时速度,和预期速度比较,对速度偏差进行PID控制,我们Kp系数取15,Ki系数取1,Kd系数取0.1;
第三部分 ,我们其实是将PID控制之后的u(t)为牵引力F,数学模型为
两边取拉普拉斯变换,可得
即传递函数为
我们即可得到第三部分的反馈框图。
仿真结果:
设置仿真时间为1000s
汽车行驶速度有PID控制Simulink仿真模型及结果
汽车行驶速度无PID控制Simulink仿真模型及结果
对比图可知,在有PID控制的情况下,汽车行驶速度曲线很快收敛并达到稳定状态(我们设定的60km/h),在没有PID控制的情况下,汽车行驶速度只能达到某一很小值。