Simulink建模:PID控制 | 您所在的位置:网站首页 › simulink双箭头连线 › Simulink建模:PID控制 |
本文研究串级PID控制的概念、应用场景以及Simulink模型实现。 文章目录 1 问题引入2 串级PID控制3 Simulink建模3.1 建模前的理解3.2 建模过程3.3 代码生成 4 总结 1 问题引入在之前的博客《Simulink建模:PID控制模型》一文中,举了一个汽车加速到期望车速的例子,来解释单极PID控制的原理。实际上,这个场景对应了辅助驾驶系统中的定速巡航功能。ADAS中还有一个功能为自适应巡航,就需要自车和前车保持一个固定的距离,并且保持一个相同的车速。这就要求控制器不仅能够控制速度,还要能控制相对距离。 从执行器的角度来看,加速踏板对应改变发动机扭矩值,从而为汽车产生一个加速度。制动踏板对应改变制动主缸压力,从而为汽车产生一个减速度。加速度、减速度是改变物体速度大小的原因,但是无法直接改变物体的位置,因为改变物体的位置需要通过速度来改变。 由于执行器只能产生加速度,如果还是以单极PID来控制距离(控制自车与前车的相对位置),就只能设计为,PID的输入是距离偏差,输出是加速度。示意图就是如下所示。 驾驶员开车的时候就不会出现上述问题,就能很好地控制位置和速度。当自车跟随前车运动,速度相同,保持相同的距离。假如这时驾驶员希望减小车距,并且达到预期的距离后继续以相同车速跟车行驶,会先提速减小车距,接着快要达到预期的距离时减速到原来的车速。为了先提速到预期的车速,就通过加速踏板产生加速度;后半段为了减速达到原先的车速,就通过制动踏板产生减速度。 上述过程中可以看出,并不是直接用加速度或减速度控制距离,而是先通过速度控制距离,再通过加速度控制速度。这一点很重要,是串级PID的核心思想。那么,按照这个思想可以设计串级PID控制框架。 二级PID控制的参考速度是一级输出的参考绝对速度,减去轮速传感器自车实际速度得到一个速度的偏差值,再由二级PID计算输出的加速度控制量,然后查表得出扭矩值或制动压力发送至CAN信号。 在产品级的ADAS控制器设计中,跟车的控制是非常复杂的,这里只是以此为例讲解串级PID的原理。 3 Simulink建模 3.1 建模前的理解串级PID建模和单极PID建模在PID算法方面没什么区别,只不过从一个变成两个。不过还是有一些注意点。 两级PID输出的是不同的控制量,所以应该将两部分分别定义在子系统内,这样显得架构清晰,有较好的可读性;两个PID用的两套参数,在命名上体现出来;对于输出的控制量和一些中间变量定义观测变量,以便在实车调试的时候可以观测; 3.2 建模过程根据上一节的理解,进行建模; 1)在外层模型应该是两个子系统,分别对应一、二级PID控制;
2)在一级PID控制子系统内,如下图所示; |
CopyRight 2018-2019 实验室设备网 版权所有 |