问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

串级PID控制原理与优势:通过实例理解其结构与作用

创作时间:
作者:
@小白创作中心

串级PID控制原理与优势:通过实例理解其结构与作用

引用
CSDN
1.
https://blog.csdn.net/ReadAir/article/details/103030418

串级PID控制是一种常用的控制策略,尤其适用于需要处理多个控制变量的复杂系统。本文通过一个具体场景,帮助读者理解串级PID控制的基本原理和优势。

假设我们需要解决这样一个问题:控制小车从当前位置行驶到红色标签位置,设小车实时位置为x0(t)

如果我们使用单级PID,运动框图应该如下图所示:

误差e来自小车当前位置与目标位置的差值,即e = x1 - x0

误差e经过PID算法得到输出小车给定速度v;

小车给定速度v经过建立的电机小车模型传递函数(实际上是一个积分器,对速度积分即可得到位移),得到小车的当前位置x0;

选取一组合适的PID参数,我们就可以很好地实现这个任务。根据不同的要求,我们可以找到不同的PID参数以实现快速收敛控制,或者无超调控制。

但是现在考虑这样一个情况:

小车所在的路面与水平面存在一个非零的夹角θ

现在如果我们还拿之前的PID参数去解决这个问题,我们可能就会发现小车的运行情况没有之前那么理想了,可能会出现但不限于收敛速度变慢无超调控制的PID参数出现超调小车在目的地附近振荡等情况。

这是为什么呢?我们仔细看一下之前框图里的执行环节Motors-Car,把它打开看一下:

我们发现,真正的积分器环节是Car,而积分器环节Car的真正输入是v';

v恒等于v'吗?换言之,我们叫小车电机以v的速度运行,它会立刻响应并保持在这一速度吗?答案显然是否定的:

v'与v不完全一致,这就是原有的单级PID控制算法出现问题的原因,我们实际供给电机的是电压,一定的电压对应一定的转速v,然而电机转速v不是关于电压的单值函数,电机转速v受到很多条件的影响,鉴于电机模型复杂且对于不同种类的电机模型也不尽相似,我们只讨论其中的另一个主要变量:负载转矩。当小车启动制动,走上坡道都会造成负载转矩的变化,从而进一步影响电机转速v。

如何解决?我们可以对电机Motors环节做一个转速闭环:

这样就可以改善这个问题(注意是改善,不是解决!)

有了这个闭环,就可以让电机的实际转速v'快速地跟踪给定速度v,至于有多快,还是要看电机模型和PID参数,但是一定比之前开环控制的效果要好。

我们将这个改良的执行环节 Improved Motors-Car替换原先单级PID运动框图中的执行环节Motors-Car,就可以得到这样一个串级PID的结构框图了:

如此操作,在倾斜的坡道上,原来的参数也能较好地适应了。我们来看这个结构框图,里面有两个反馈箭头,也就形成了两个闭环,一个环在内,一个环在外。

其中转速闭环称为串级PID的内环,位置闭环称为串级PID的外环,现在去想象一下小车实际运行的情况,是不是能比较好地理解课本上内环先稳定,外环后稳定的原因了?

本文希望起到抛砖引玉的作用,让读者在之后系统学习串级PID的推导时更好地理解串级PID的思想。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号
串级PID控制原理与优势:通过实例理解其结构与作用