概述
文章目录
- 控制系统结构
- 控制算法逻辑介绍
- 传统控制算法与现代控制算法的思路对比
- 现代控制理论思路
- 状态方程稳定性分析
- 特征值
- 平衡点
- 相平面
- 传统控制算法
- PID算法原理概述
- 模糊
- 神经网络控制算法
- 现代控制算法
- LQR
- 自适应控制
- 滑模控制
- 系统稳定性
控制系统结构
控制器就是逻辑大脑,测量反馈通过传感器,将当前被控对象的状态返回,就相当于我们的感官。
比如,人要走路,目标位置就是给定输入,控制器就是大脑,执行单元就是腿,控制的body,眼睛是传感,最后的输出设定就是实际到达位置,大脑接收到眼睛测到的实际位置与给定位置的偏差,然后决策产生电信号,推动腿,带动身体走动。
系统基本都是这逻辑,反馈很重要,没有反馈的系统,都是不太鲁棒的。
控制算法逻辑介绍
推荐一个up主的视频讲解,系统,逻辑都很棒:
https://space.bilibili.com/230105574/channel/detail?cid=35996
其实一切常理描述很容易,数学表达却复杂。
传统控制算法与现代控制算法的思路对比
传递函数是将微分方程,通过拉氏变换,将微积分(时间)替换成s;而状态方程就是微积分方程,每个状态方程都包含一个一阶微分方程,层层迭代,因而能表示多阶微分及多变量系统。
传统控制算法是基于误差来计算给定输入控制量;而现代控制理论是基于状态方程,改变状态导数与状态得关系,即 x ˙ = f ( x ) + u → x ˙ = g ( x ) dot x = f(x)+u rightarrow dot x = g(x) x˙=f(x)+u→x˙=g(x),从而调节系统性能。
相比较的话:
- 经典传统的控制算法是一种被动式的调节方法,根据偏差及偏差累积及偏差预警来调节系统控制输入,但是传统的控制算法,适用性广,因为受系统的内部约束影响较小;
- 而现代控制算法是较为主动的调节方式。但是现代控制算法的性能也依赖于本身系统的结构。
-
经典控制理论使用传递函数来描述系统,通过构建系统的微分方程,然后经过拉式变换得到传递函数。
经典的控制算法是将控制系统作为一个整体来研究,针对测量系统误差,经过控制器运算给定相应的控制信号。传统的控制算法有PID控制算法,模糊控制算法等。 -
现代控制是采用状态方程来描述系统。状态方程描述状态向量的导数与状态向量的关系。其实就是多变量的微分方程,写成矩阵表示形式。
现代控制理论思路
状态方程稳定性分析
线性系统的状态方程:
特征值
A的特征值对应传递函数的极点。当特征值为负,则表示x的速度与x成反比,因此如果x离开平衡点,则会被牵引回平衡点,得结合相平面来理解。传递函数极点就是状态方程的特征值,用来描述状态的导数与状态之间的关系。
当特征值均非负,系统稳定。 表示状态为正时,对应的状态导数为负,则会使状态值减少,回到平衡点。
平衡点
系统的平衡点,是状态的导数为0的点,平衡点附近状态量导数均为负时,该平衡点是稳定点。
相平面
相平面就是状态量导数与状态的关系
特征值分根据正负实根分为以下部分,详细推导,可以看上方up主的视频讲解。
现代控制理论的控制算法,基本思想是通过输入调整系统的状态方程特征值来达到调节系统性能的效果,调节系统的平衡点,来规范系统达到理想状态。
现代控制算法有比例,LQR算法(用于线性系统),自适应控制算法,滑模控制算法。
传统控制算法
PID算法原理概述
对偏差信号的进行计算,
比例是计算偏差的倍数,线性快速跟踪偏差。
积分是计算偏差累积,因此能够起到稳定系统的作用。
微分捕捉偏差的变化,因此能够提前预见偏差。
导数可以用来预判函数的走向,从而预见偏差变化。
积分可以用来汇总函数的累积,功或熵。
闭环稳定系统,本身就是自稳定系统,加入PID控制可以改善系统的响应性能。
比如P的存在就是加快反应速率的,但是加快反应速率会引起震荡,因此,加入微分来改提前预判偏差走向可以减少震荡,但是微分过大,会直接限制误差的变动,就是假设误差是1,那么有余微分系数很大,会导致限制偏差的变化,从而出现静差,偏差保持在1不动,因此需要加入积分对累积的误差进行计算,消除静差。
总结:
P:加快系统对偏差的响应速率;
D:减缓系统震荡;
I:消除静差。
1.比例(P)
比例调节作用: 是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。
2.积分(I)
积分调节作用: 是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值…
3.微分(D)
微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减缓震荡。
微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为零。微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器。
模糊
模糊控制器是基于规则的,制定输入与输出之间的规则,根据输入,通过规则判断,得到输出值。
大致就是将偏差信号分段,根据规则及隶属函数,匹配控制信号的输入。
简答化说,比如液位控制,水位低了,加大进水阀,水位高了,加大出水阀。
神经网络控制算法
以下为一个单神经元网络示意图,利用偏差,状态,及系统输出等作为输入,经过神经网络计算控制律。
现代控制算法
LQR
https://www.bilibili.com/video/BV1RW411q7FD/?spm_id_from=trigger_reload
其实就是通过优化状态反馈K来调整状态方程的特征值。通过调整特征值来得到我们需要的性能。高反应,低能耗等
即:
原始状态方程变为:
那么,什么样的极点会使得系统性能很棒呢?并且,当系统变量很多的时候,即使设计好了极点,矩阵K也不好计算。
使用如下方程,Q,R为正定矩阵,根据系统所需性能,调整Q,R,来约束x及u。
思考:
x
˙
=
A
x
+
u
dot x=Ax+u
x˙=Ax+u
其实,假设以上为单变量方程,A的特征值为-K,
则当
x
˙
=
−
K
x
dot x=-Kx
x˙=−Kx时,
x
x
x就会以指数速率趋近稳态,以上为子稳定系统,稳态点为0。因为
x
=
e
−
k
t
x=e^{-kt}
x=e−kt。
令,
u
=
−
K
1
x
u=-K_1x
u=−K1x会非常有效。则状态方程变为
x
˙
=
−
(
K
+
K
1
)
x
dot x=-(K+K_1)x
x˙=−(K+K1)x,因此可以调节系统的稳态相应速度。
当
u
=
b
u=b
u=b时,系统稳态点由0迁移到
x
˙
=
−
K
x
+
b
=
0
→
x
=
b
/
K
dot x=-Kx+b=0 rightarrow x=b/K
x˙=−Kx+b=0→x=b/K。因此,
u
=
−
K
x
+
b
u=-Kx+b
u=−Kx+b,可以在调节响应速率得同时,改变稳态点。b可以是PID值,
b
=
K
p
e
+
K
i
∫
e
+
K
d
e
˙
b=K_pe+K_i int e + K_ddot e
b=Kpe+Ki∫e+Kde˙,也可以是你自己设计的其他关于e的函数,从而将系统约束到指定值。
滑模算法利用超平面令
s
=
e
=
x
−
x
d
s = e = x - x_d
s=e=x−xd,来将系统稳态迁移到
x
d
x_d
xd。
LQR更适合用来改变系统相应速率(系统特征值),而滑模可以改变系统的稳态点。
自适应控制
当系统的参数未知时,如何使系统根据不同情况达到理想状态,就是自适应控制算法的应用场景。
https://www.bilibili.com/video/BV1yW411u7qv
设系统为:a未知
x
˙
=
a
x
2
+
u
dot{x}=ax^2+ u
x˙=ax2+ u
e
=
x
d
−
x
e=x_d-x
e=xd−x
李雅普诺夫方程:
a
~
=
a
−
a
^
widetilde{a}=a-hat a
a
=a−a^
V
(
e
,
a
~
)
=
1
2
e
2
+
1
2
a
~
2
V_{(e,widetilde{ a})}=frac{1}{2}e^2+frac{1}{2}{widetilde{a}}^2
V(e, a
)=21e2+21a
2
控制器设计:
u = x d ˙ + x 2 ∫ 0 t e x 2 d t + K e u=dot{x_d}+x^2{int_{0}^{t}ex^2}dt+Ke u=xd˙+x2∫0tex2dt+Ke
滑模控制
原理及设计步骤分为两步:
- 设计滑模超平面
s
=
Σ
c
x
s=Sigma cx
s=Σcx
根据系统所期望的动态特性来设计系统的切换超平面 s = Σ c x s=Sigma cx s=Σcx,系统状态一旦到达滑模面,将以指数趋近方式达到稳定状态。
如: s = c 1 x + c 2 s=c_1x+c_2 s=c1x+c2
可以看出滑模面上的状态量最终都会趋于零,而且是以指数速度趋近。 - 设计趋近律
设计律用来将系统状态向滑模平面上滑动,其实就是,如果状态不在滑模平面,就把它牵引到滑模平面上,从而能够保证稳定性。即如何令 s = 0 s=0 s=0的问题。
趋近律的设计一般有:
1)等速趋近律
2)幂次趋近律
3)一般趋近律
4)指数趋近律
其中 s g n ( s ) sgn(s) sgn(s)是符号方程, s g n ( s ) sgn(s) sgn(s)是方程是用于规范s的稳态在0点,如:
s s s的状态变化,跟普通的状态方程那样,使用相平面分析, s ˙ dot s s˙与 s s s偏离0状态时,会被拉回到零点, s ˙ dot s s˙与s偏离0的方向相反。最终使 s s s逐步趋近于0。
通过滑动模态控制器 s ˙ = g ( s ) dot{s}=g(s) s˙=g(s),如 s ˙ = ε s g n ( s ) dot{s}=varepsilon sgn(s) s˙=ε sgn(s)使系统状态从超平面之外向切换超平面收束。系统一旦到达切换超平面,控制作用将保证系统沿切换超平面到达系统原点,这一沿切换超平面向原点滑动的过程称为滑模控制。
- 根据设计的滑模面和趋近律计算出控制参数。
例子:
x ˙ = f ( x ) + u dot{x}=f(x)+u x˙=f(x)+u
令: s = x → 0 s=x rightarrow 0 s=x→0
要使x最后趋近于0,则
s ˙ = x ˙ = f ( x ) + u = − ε s g n ( x ) dot{s}=dot{x}=fleft(xright)+u=-varepsilon sgnleft(xright) s˙=x˙=f(x)+u=−ε sgn(x)
得:
u = − f ( x ) − ε s g n ( x ) u=-fleft(xright)-varepsilon sgnleft(xright) u=−f(x)−ε sgn(x)
ε varepsilon ε一般也会选择随动非负参数,当状态量x接近稳态时, ε → 0 varepsilon rightarrow 0 ε→0,减少震荡。
注:一般在实际中,通常是使
s
=
e
→
0
s=e rightarrow 0
s=e→0,以约束误差为0来设计趋近律。
如:
https://www.bilibili.com/video/BV1KW411j7VS/?spm_id_from=333.788.videocard.0
以下为将
s
=
e
s=e
s=e来设计控制律例子:即要使
e
e
e接近0。
x
˙
=
f
(
x
)
+
u
dot{x}=f(x)+ u
x˙=f(x)+ u,其中
f
(
x
)
<
=
ρ
(
x
)
f(x)<=rholeft(xright)
f(x)<=ρ(x)
e
=
x
d
−
x
e=x_d-x
e=xd−x
控制器设计:
u
=
K
e
+
x
d
˙
+
ρ
(
x
)
e
∣
e
∣
u=Ke+dot{x_d}+rholeft(xright)frac{e}{left|eright|}
u=Ke+xd˙+ρ(x)∣e∣e,
x
d
˙
=
0
?
dot{x_d}=0?
xd˙=0?
此时:
e
˙
=
−
K
e
−
f
(
x
)
−
ρ
(
x
)
e
∣
e
∣
dot{e}=-Ke-f(x)-rholeft(xright)frac{e}{left|eright|}
e˙=−Ke−f(x)−ρ(x)∣e∣e
e
˙
=
−
K
e
dot{e}=-Ke
e˙=−Ke构成滑模面,对应其他
s
(
x
)
=
a
x
+
b
=
0
s(x)=ax+b=0
s(x)=ax+b=0的滑模面。
f
(
x
)
−
ρ
(
x
)
e
∣
e
∣
f(x)-rholeft(xright)frac{e}{left|eright|}
f(x)−ρ(x)∣e∣e约束其他点回归到
e
˙
=
−
K
e
dot{e}=-Ke
e˙=−Ke构成滑模面上。(没懂)
滑模变结构控制的
超平面
s
=
Σ
c
x
s=Sigma cx
s=Σcx也称滑模面,滑模面上的状态x,会以指数速度逼近稳态值。调节时间短,滑模控制就是找到了一个可以快速趋近稳态的路径。
附上其他链接https://blog.csdn.net/xiaohejiaoyiya/article/details/90271529
系统稳定性
幅值裕度/相位裕度-https://www.zhihu.com/question/27347401
截止频率-https://www.sohu.com/a/240960600_465219
电子滤波器等信号传输通道中的诸如低通、高通、带通、带阻等频带特性都应用了截止频率的概念。截止频率有时被定义为电子滤波器的导通频带和截止频带的交点,例如电路标称输出信号减3分贝的位置的频率。在带阻滤波器中,截止频率则被定义在输出信号能量大幅上升(或大幅下降)、失去“阻止”(或失去“通过”)信号效果的频率位置。在波导管或者天线的例子中,截止频率通常包括上限频率和下限频率。
最后
以上就是发嗲仙人掌为你收集整理的控制算法整理的全部内容,希望文章能够帮你解决控制算法整理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复