精华内容
下载资源
问答
  • 控制算法整理

    千次阅读 多人点赞 2020-02-07 10:28:34
    PID算法原理概述 对偏差信号的进行计算, 比例是计算偏差的倍数,线性快速跟踪偏差。 积分是计算偏差累积,因此能够起到稳定系统的作用。 微分捕捉偏差的变化,因此能够提前预见偏差。 1.比例(P) 比例调节作用: ...

    控制系统结构

    在这里插入图片描述
    控制器就是逻辑大脑,测量反馈通过传感器,将当前被控对象的状态返回,就相当于我们的感官。
    比如,人要走路,目标位置就是给定输入,控制器就是大脑,执行单元就是腿,控制的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)+ux˙=g(x),从而调节系统性能。

    相比较的话:

    • 经典传统的控制算法是一种被动式的调节方法,根据偏差及偏差累积及偏差预警来调节系统控制输入,但是传统的控制算法,适用性广,因为受系统的内部约束影响较小;
    • 而现代控制算法是较为主动的调节方式。但是现代控制算法的性能也依赖于本身系统的结构。
    1. 经典控制理论使用传递函数来描述系统,通过构建系统的微分方程,然后经过拉式变换得到传递函数。
      经典的控制算法是将控制系统作为一个整体来研究,针对测量系统误差,经过控制器运算给定相应的控制信号。传统的控制算法有PID控制算法,模糊控制算法等。

    2. 现代控制是采用状态方程来描述系统。状态方程描述状态向量的导数与状态向量的关系。其实就是多变量的微分方程,写成矩阵表示形式。

    现代控制理论思路

    状态方程稳定性分析

    线性系统的状态方程:
    在这里插入图片描述

    特征值

    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=ekt
    令, 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=0x=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_d\dot e b=Kpe+Kie+Kde˙,也可以是你自己设计的其他关于e的函数,从而将系统约束到指定值。

    滑模算法利用超平面令 s = e = x − x d s = e = x - x_d s=e=xxd,来将系统稳态迁移到 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=xdx

    李雅普诺夫方程:
    a ~ = a − a ^ \widetilde{a}=a-\hat a a =aa^
    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˙+x20tex2dt+Ke

    滑模控制

    原理及设计步骤分为两步:

    1. 设计滑模超平面 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
      在这里插入图片描述
      可以看出滑模面上的状态量最终都会趋于零,而且是以指数速度趋近。
    2. 设计趋近律
      设计律用来将系统状态向滑模平面上滑动,其实就是,如果状态不在滑模平面,就把它牵引到滑模平面上,从而能够保证稳定性。即如何令 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)使系统状态从超平面之外向切换超平面收束。系统一旦到达切换超平面,控制作用将保证系统沿切换超平面到达系统原点,这一沿切换超平面向原点滑动的过程称为滑模控制。

    1. 根据设计的滑模面和趋近律计算出控制参数。
      例子:
      x ˙ = f ( x ) + u \dot{x}=f(x)+u x˙=f(x)+u
      令: s = x → 0 s=x \rightarrow 0 s=x0
      要使x最后趋近于0,则
      s ˙ = x ˙ = f ( x ) + u = − ε   s g n ( x ) \dot{s}=\dot{x}=f\left(x\right)+u=-\varepsilon\ sgn\left(x\right) s˙=x˙=f(x)+u=ε sgn(x)
      得:
      u = − f ( x ) − ε   s g n ( x ) u=-f\left(x\right)-\varepsilon\ sgn\left(x\right) u=f(x)ε sgn(x)
      ε \varepsilon ε一般也会选择随动非负参数,当状态量x接近稳态时, ε → 0 \varepsilon \rightarrow 0 ε0,减少震荡。

    注:一般在实际中,通常是使 s = e → 0 s=e \rightarrow 0 s=e0,以约束误差为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)<=\rho\left(x\right) f(x)<=ρ(x)
    e = x d − x e=x_d-x e=xdx
    控制器设计:
    u = K e + x d ˙ + ρ ( x ) e ∣ e ∣ u=Ke+\dot{x_d}+\rho\left(x\right)\frac{e}{\left|e\right|} u=Ke+xd˙+ρ(x)ee x d ˙ = 0 ? \dot{x_d}=0? xd˙=0?
    此时:
    e ˙ = − K e − f ( x ) − ρ ( x ) e ∣ e ∣ \dot{e}=-Ke-f(x)-\rho\left(x\right)\frac{e}{\left|e\right|} e˙=Kef(x)ρ(x)ee
    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)-\rho\left(x\right)\frac{e}{\left|e\right|} f(x)ρ(x)ee约束其他点回归到 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分贝的位置的频率。在带阻滤波器中,截止频率则被定义在输出信号能量大幅上升(或大幅下降)、失去“阻止”(或失去“通过”)信号效果的频率位置。在波导管或者天线的例子中,截止频率通常包括上限频率和下限频率。

    展开全文
  • 控制算法总结

    万次阅读 多人点赞 2019-05-29 10:53:14
    控制算法 1 PID PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。其输入e(t)与输出u(t)的关系为: u(t)=kp[e(t)+1/TI∫e(t)dt+TDde(t)/dt]式中积分的上下限分别是t和0 因此它的传递函数为:G(s)=U(s...

    控制算法

    1 PID

    PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。其输入e(t)与输出u(t)的关系为:
    u(t)=kp[e(t)+1/TI∫e(t)dt+TDde(t)/dt]式中积分的上下限分别是t和0
    因此它的传递函数为:G(s)=U(s)/E(s)=kp[1+1/(TI
    s)+TD*s]
    其中kp为比例系数;TI为积分时间常数;TD为微分时间常数。

    开环控制
    开环控制系统(open-loop control system)是指被控对象的输出(被控制量)对控制器(controller)的输入没有影响。在这种控制系统中,不依赖将被控量返送回来以形成任何闭环回路。
    闭环控制
    闭环控制系统(closed-loop control system)是指被控对象的输出(被控制量)会反送回来影响控制器的输入,形成一个或多个闭环。闭环控制系统有正反馈和负反馈,若反馈信号与系统给定值信号相反,则称为负反馈(Negative Feedback),若极性相同,则称为正反馈,一般闭环控制系统均采用负反馈,又称负反馈控制系统。闭环控制系统的例子很多。比如人就是一个具有负反馈的闭环控制系统,眼睛便是传感器,充当反馈,人体系统能通过不断的修正最后作出各种正确的动作。如果没有眼睛,就没有了反馈回路,也就成了一个开环控制系统。另例,当一台真正的全自动洗衣机具有能连续检查衣物是否洗净,并在洗净之后能自动切断电源,它就是一个闭环控制系统。
    阶跃响应
    阶跃响应是指将一个阶跃输入(step function)加到系统上时,系统的输出。稳态误差是指系统的响应进入稳态后,系统的期望输出与实际输出之差。控制系统的性能可以用稳、准、快三个字来描述。稳是指系统的稳定性(stability),一个系统要能正常工作,首先必须是稳定的,从阶跃响应上看应该是收敛的;准是指控制系统的准确性、控制精度,通常用稳态误差(Steady-state error)来描述,它表示系统输出稳态值与期望值之差;快是指控制系统响应的快速性,通常用上升时间来定量描述。

    2 滑模

    滑模变结构控制的原理,是根据系统所期望的动态特性来设计系统的切换超平面,通过滑动模态控制器使系统状态从超平面之外向切换超平面收束。系统一旦到达切换超平面,控制作用将保证系统沿切换超平面到达系统原点,这一沿切换超平面向原点滑动的过程称为滑模控制。由于系统的特性和参数只取决于设计的切换超平面而与外界干扰没有关系,所以滑模变结构控制具有很强的鲁棒性。超平面的设计方法有极点配置,特征向量配置设计法,最优化设计方法等,所设计的切换超平面需满足达到条件,即系统在滑模平面后将保持在该平面的条件。控制器的设计有固定顺序控制器设计、自由顺序控制器设计和最终滑动控制器设计等设计方法[1]。以N维状态空间模型为例,采用极点配置方法得到M(N<M)维切换超平面,控制器采用固定顺序控制器的设计方式,首先控制器控制任意点到Q1超平面(M维)形成M-1阶滑动模态,系统到达Q1超平面后由于该平面的达到条件而保持在该超平面上所以后面的超平面将是该超平面的子集;然后控制器采用Q1对应的控制规则驱动到Q1与Q2交接的Q12平面(M-1维)得到M-2滑动模态,然后在Q12对应的控制规则驱动下到Q12与Q3交接的Q123平面(M-2维),依次到Q123…m平面,得到最终的滑模,系统在将在达到条件下保持在该平面,使系统得到期望的性能。

    在系统控制过程中,控制器根据系统当时状态,以跃变方式有目的地不断变换,迫使系统按预定的“ 滑动模态 ” 的状态轨迹运动。变结构是通过切换函数实现的,特别要指出的是,通常要求切换面上存在滑动模态区,故变结构控制又常被称为滑动模态控制。设计变结构控制系统基本可分为两步:
    确定切换函数 S ( x)
    即开关面,使它所确定的滑动模态渐近稳定且有良好的品质,开关面代表了系统的理想动态特性。
    设计滑模控制器
    设计滑模控制器,使到达条件得到满足,从而使趋近运动 (非滑动模态 )于有限时间到达开关面,并且在趋近的过程中快速、 抖振小。

    3 模型预测(MPC)

    MPC是一种多变量控制策略,其中涉及了:
    过程内环动态模型;控制量的历史数值;在预测区间上的一个最优值方程J。最优控制量可由以上各量求出。
    MPC最大的特点在于,相对于LQR控制而言,MPC可以考虑空间状态变量的各种约束,而LQR,PID等控制只能够考虑输入输出变量的各种约束。
    MPC可应用于线性和非线性系统。

    4 人工神经网络

    人工神经网络模型主要考虑网络连接的拓扑结构、神经元的特征、学习规则等。目前,已有近40种神经网络模型,其中有反传网络、感知器、自组织映射、Hopfield网络、波耳兹曼机、适应谐振理论等。根据连接的拓扑结构,神经网络模型可以分为:

    前向网络
    网络中各个神经元接受前一级的输入,并输出到下一级,网络中没有反馈,可以用一个有向无环路图表示。这种网络实现信号从输入空间到输出空间的变换,它的信息处理能力来自于简单非线性函数的多次复合。网络结构简单,易于实现。反传网络是一种典型的前向网络。
    反馈网络
    网络内神经元间有反馈,可以用一个无向的完备图表示。这种神经网络的信息处理是状态的变换,可以用动力学系统理论处理。系统的稳定性与联想记忆功能有密切关系。Hopfield网络、波耳兹曼机均属于这种类型。
    学习类型
    学习是神经网络研究的一个重要内容,它的适应性是通过学习实现的。根据环境的变化,对权值进行调整,改善系统的行为。由Hebb提出的Hebb学习规则为神经网络的学习算法奠定了基础。Hebb规则认为学习过程最终发生在神经元之间的突触部位,突触的联系强度随着突触前后神经元的活动而变化。在此基础上,人们提出了各种学习规则和算法,以适应不同网络模型的需要。有效的学习算法,使得神经网络能够通过连接权值的调整,构造客观世界的内在表示,形成具有特色的信息处理方法,信息存储和处理体现在网络的连接中。
    分类
    根据学习环境不同,神经网络的学习方式可分为监督学习和非监督学习。在监督学习中,将训练样本的数据加到网络输入端,同时将相应的期望输出与网络输出相比较,得到误差信号,以此控制权值连接强度的调整,经多次训练后收敛到一个确定的权值。当样本情况发生变化时,经学习可以修改权值以适应新的环境。使用监督学习的神经网络模型有反传网络、感知器等。非监督学习时,事先不给定标准样本,直接将网络置于环境之中,学习阶段与工作阶段成为一体。此时,学习规律的变化服从连接权值的演变方程。非监督学习最简单的例子是Hebb学习规则。竞争学习规则是一个更复杂的非监督学习的例子,它是根据已建立的聚类进行权值调整。自组织映射、适应谐振理论网络等都是与竞争学习有关的典型模型。

    5 最优控制

    最优控制是指在给定的约束条件下,寻求一个控制,使给定的系统性能指标达到极大值(或极小值)。它反映了系统有序结构向更高水平发展的必然要求。它属于最优化的范畴,与最优化有着共同的性质和理论基础。对于给定初始状态的系统,如果控制因素是时间的函数,没有系统状态反馈,称为开环最优控制,如果控制信号为系统状态及系统参数或其环境的函数,称为自适应控制。

    从数学上看,确定最优控制问题可以表述为:在运动方程和允许控制范围的约束下,对以控制函数和运动状态为变量的性能指标函数( 称为泛函 ) 求取极值( 极大值或极小值)。解决最优控制问题的主要方法有古典 [3] 变分法(对泛函求极值的一种数学方法)、极大值原理和动态规划。最优控制已被应用于综合和设计最速控制系统、最省燃料控制系统、最小能耗控制系统、线性调节器等。
    研究最优控制问题有力的数学工具是变分理论,而经典变分理论只能够解决控制无约束的问题,但是工程实践中的问题大多是控制有约束的问题,因此出现了现代变分理论。

    6模糊控制

    为了实现对直线电机运动的高精度控制,系统采用全闭环的控制策略,但在系统的速度环控制中,因为负载直接作用在电机而产生的扰动,如果仅采用 PID 控制,则很难满足系统的快速响应需求。由于模糊控制技术具有适用范围广、对时变负载具有一定的鲁棒性的特点,而直线电机伺服控制系统又是一种要求要具有快速响应性并能够在极短时间内实现动态调节的系统,所以本文考虑在速度环设计了PID模糊控制器,利用模糊控制器对电机的速度进行控制,并同电流环和位置环的经典控制策略一起来实现对直线电机的精确控制。
    模糊控制器包括四部分:
    (1)模糊化。
    主要作用是选定模糊控制器的输入量,并将其转换为系统可识别的模糊量,具体包含以下三步:
    第一,对输入量进行满足模糊控制需求的处理;
    第二,对输入量进行尺度变换;
    第三,确定各输入量的模糊语言取值和相应的隶属度函数。
    (2)规则库。
    根据人类专家的经验建立模糊规则库。模糊规则库包含众多控制规则,是从实际控制经验过渡到模糊控制器的关键步骤。
    (3)模糊推理。
    主要实现基于知识的推理决策。
    (4)解模糊。
    主要作用是将推理得到的控制量转化为控制输出。

    展开全文
  • 什么是控制算法

    千次阅读 多人点赞 2018-05-22 20:15:00
    商业转载请联系作者获得授权,非商业转载请注明出处。 本人大学和研究生学的控制,大学做的飞思卡尔智能车,毕业后做...先回答问题,我所看到的,最惊艳的控制算法就是PI控制器,没有之一,简约极致之美。下面慢...
    作者:三郎
    链接:https://www.zhihu.com/question/26944678/answer/44687208
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    本人大学和研究生学的控制,大学做的飞思卡尔智能车,毕业后做的风电上的变频器控制,现在在计算机系当老师。
    先回答问题,我所看到的,最惊艳的控制算法就是PI控制器,没有之一,简约极致之美。
    下面慢慢展开:
    据我所看到的,工业上大规模应用的,不管是运动控制还是过程控制,几乎都是PID控制器,其中大多数又是PI控制器,为啥不加微分D,因为会带来不稳定,啥叫不稳定,就要讲反馈这个东西了。

    1.先随便聊一些八卦
    谈到控制算法,有人说路径规划,有人说机器人运动学,还有人说卡尔曼滤波器,神经网络,蚁群算法,或者粒子群优化算法。我擦,这哪是控制算法,完全不是一个层面的东西,至少不属于狭义上的控制算法。
    那上面那些东西属于啥,搞控制的喜欢对系统分层,一般分为决策优化层和控制层。
    路径规划,机器人运动学都属于决策优化层的东西,在这一层进行全局的规划和优化,最后生成控制指令,传给控制层,控制层通过闭环反馈实现对指令的跟踪。
    卡尔曼滤波器是滤波器,不是控制器,滤波器说到底是把干扰滤除,卡尔曼滤波器的不同是它构建了系统的一个动态跟踪学习模型,可以无时延地得到被测量的信号,一般对时间性要求非常高的实时控制系统会用,其他一般用FIR或者IIR滤波器就能够搞定了。
    神经网络是构建非线性模型的方法,可以用来设计控制器,但更多的是做模式识别,模式分类,数据分析之类的工作,在控制上,主要是学术灌水来用,工业上几乎从未看到过,因为奶奶的,太复杂。
    蚁群算法,粒子群算法,进化算法,微分进化算法,鱼群算法,*****各种XX智能优化算法,这个东西说到底就是构建了一个迭代优化学习模型,它的目的是优化,不是建模,所以我们可以用它来优化我们控制器参数,或者优化神经网络参数,或者其他一切参数,但是不能用它来构建模型,所以根本不是控制算法。

    2.切入正题
    说了那么多废话,那啥玩意是真正的控制算法呢?!
    首先要从信号和系统,以及反馈思想开始讲起,其实,控制,通信和计算机本就是一家,国内非要分为三个学院,奶奶的,真够坑爹的。
    控制算法,控制的是信号,信号是连续量,比如电压,电流,转速,功率,温度,等等,说到底信号就是一个物理量在一个域(时间或者空间)上展开。系统是啥,系统就是信号到信号的变换,比如最普通的直流电机,我加一个电压信号给电机,然后电机的转速信号慢慢升到一个固定值,这里电机就是一个系统,它实现了电压信号到转速信号的变换,改变电压,转速信号也会随着改变。

    那反馈是啥东西呢?!
    还是拿电机作为例子,比如空转时,我加5V电压,电机转速1000rpm,这时候我一给电机加载,转速就下降了,完蛋啦,老子就想要1000rpm,为啥变为了800,有的人说,那你把电压提高到6V不就搞定啦,当你提高到6V时候,妈的,负载又变回原来的啦,转速飙到了1200rpm,于是你不得不又把电压调回5V,其实这里面这个人就在做反馈,转速低了,加电压,转速高了,降电压,说到底就是基于偏差的控制。
    反馈最早应用在放大电路的设计中,后来被维纳提升到控制论层面,泛华到一切动态系统中,包括运动控制学,社会学,经济学等等。具体可以看维纳的《控制论》,看不懂的,可以看金观涛的《控制论与科学方法论》。

    信号,系统,反馈就构成控制的基本概念,控制算法的最终就是设计一个控制系统。

    说到怎么样设计控制系统,必须接着从信号开始讲起,这里数学分析范畴,但是工程师不是数学家,他们不站在时间轴上去分析信号,而是站在频率轴上分析信号,为啥这样做,废话,当然是为了俩字,“简化”,但是这个简化有两个前提。
    第一个前提是傅里叶老爷爷给弄出来的,任何复杂的周期性信号都可以分解为正弦信号的无穷累加和,正是有了这个东西,我们工程师才有勇气站在频率轴上去看这个世界上的形形色色的信号,这也是我们大学数学微积分的精髓,但是奶奶的,那些高数老师推了两年公式,也没有跟你说过这样一句话,简直废柴呀。
    还有一个前提,就是系统必须是线性时不变系统。为啥要加这个前提,线性对应叠加定理,时不变对应卷积定理
    啥玩意叫叠加定理,啥玩意又叫卷积定理,大家可以看《实用数字信号处理》这本书,或者奥本海默的《信号与系统》。
    经过上面这样一说,估计有人糊涂了,这哪里是要设计控制器,简直是在烧脑子。
    你理解了频率,就要进入频域世界了,也成为了一名入门控制工程师了。
    现在开始继续深入,如果我们可以把复杂信号看成各种频率信号的叠加,那么我们就可以设计拆解这些信号的东东啦,这就是滤波器,低通滤波器可以滤除高频信号,其他的也可以类推。滤波器在控制器里是必须加的,因为反馈通道上,有高频干扰,必须通过滤波器把这些高频干扰滤除,这里还要看反馈通道上的信号是模拟信号还是数字信号,模拟信号进ADC之前必须加抗混叠滤波器,否则会很惨的。

    3.控制器设计方法(控制算法)
    下面看控制器的具体设计
    经典控制设计方法,都是针对单输入单输出系统的频域设计方法
    简单的系统,用根轨迹法,分析控制参数变化对系统性能的影响。
    复杂的系统,用波特图法,去看相频裕度和幅频裕度的大小,以及带宽。
    现代控制系统设计方法,是针对多输入多输出的系统
    建立在状态方程之上的,这方面研究的不多,不敢妄加评论。

    由于PID应用的太广,所以形成了自己独特的整定方法
    PID就是针对单输入单输出系统的,站在频域角度去设计的,有一些经典的参数整定方法,比如ZN等,还有好多好多,
    为啥应用这么广,因为简单实用。

    码的有些乱,大家将就吧,毕竟自己入行也不深。后面再深入整理。

    转载于:https://www.cnblogs.com/ly0019/p/9073834.html

    展开全文
  • PID控制算法大全(经典),以前开发四轴飞行器时,收集整理的,很不错
  • 大疆控制算法笔试题

    2017-04-24 14:23:20
    大疆控制算法笔试题
  •  用户设定值SV与被控制对象当前的值PV两者同时送入由特定硬件电路模型或特定的软件算法组成的控制算法逻辑中,利用不同的控制算法对SV和PV进行分析、判断、处理,从而产生当前应该输出的控制信号OUT,控制信号经过...

    1.控制系统的基本结构:


    控制目的:

      控制的根本目的就是要使控制对象当前的状态值与用户的设定值相同(最大限度的接近)。

    基本思想:

      用户设定值SV与被控制对象当前的值PV两者同时送入由特定硬件电路模型或特定的软件算法组成的控制算法逻辑中,利用不同的控制算法对SV和PV进行分析、判断、处理,从而产生当前应该输出的控制信号OUT,控制信号经过执行机构施加到控制对象上,从而产生预期的控制效果。

    2.常用控制算法:---位式控制

     1).二位式控制算法


    特点:

     a.二位式控制算法输出的控制量只有高低2种状态。

     b.执行机构使控制对象要不全额工作,要不就停止工作。当PV低于SV时全额工作,PV大于或等于SV时就彻底停止工作。如果控制对象是一个1000W的加热器,温度不到时就1000W全功率运行,温度达到时就停止工作。

     c.由于环境因素或控制系统传输延时或者控制对象本身的惯性等因素,控制效果往往是PV在SV的上下有一个较大的波动。

     d.在PV接近SV的临界点时,控制输出信号OUT往往在H和L之间频繁转换,导致执行部件的触点频繁开关动作,易产生干扰及缩短执行部件的寿命。


     2).具有回差的二位式控制算法


    特点:

      a. 取SV的正负10%左右作为回差调节上下限,

    高于上限才开始输出L,低于下限才开始输出H;

      b.避免了一般二位式控制算法在临界点时执行部件频繁动作。

      c.因为控制对象只有全额运行或不运行两种状态,仍然存在一般二位式控制算法的缺点:PV总是在SV附近波动。

     3).三位式控制算法


    特点:在二位式控制的基础上对控制对象的功率分成0功率(停止工作)、半功率、全功率三种情况(即三位)。

       当前值低于设定值一定比例(一般10%)时OUT1和OUT2同时起控制作用,控制对象全功率运行;

       当前值在设定值的正负10%范围时,OUT1单独作用,工作于半功率状态;

       当前值达到或超过设定值时OUT1和OUT2都停止输出,控制对象停止工作。

       相对一般二位式控制算法,三位式算法对控制对象的当前状态值做了简单的分析,并根据不同的当前状态值输

    出不同的控制信号。能够较好的对输出产生控制效果。

     

    小结:位式控制的主要特征:   

       1.控制算法只关注控制当前的状态值(PV)与设定值之间的差值---二者当前有差值就输出控制信号,二者当前

    无差值就不输出控制信号。

       2.位式控制算法的输出信号状态单一,只输出了高低两种状态,这两种状态对应着控制对象的工作与不工作---

    -如果是温度控制系统,就是加热器加热与不加热。

       3.由于控制系统自身的延时或者控制对象自身的惯性,位式控制算法只能使控制对象当前的状态值在设定值附

    件波动,不能很好的跟踪在设定值的附近甚至相等。

      



    展开全文
  • 自动控制领域有哪些控制算法

    万次阅读 多人点赞 2011-04-28 09:52:36
    1. PID算法; Fuzzy模糊控制; Optimal优化控制; ...Robust控制;...神经网络控制。...非线性控制, ...自适应控制, ...模型预测控制, ...数字控制, ...智能控制(神经网络,贝叶斯模型,模糊算法,...这些分类之间都有交集 3....
  • 麦克纳姆轮控制算法

    2019-01-15 10:07:03
    麦克纳伦控制原理和方法详解及C语言代码实现控制车底盘。
  • 简述拥塞控制的四种基本算法

    千次阅读 2018-06-07 11:41:00
    losbyday 一名热爱开源、朴实的搬运工 TCP/IP详解--拥塞控制 &amp; 慢启动 快恢复 拥塞避免 ...TCP的拥塞控制 1. 拥塞:即对资源的需求超过了可用的资源。若网络中许多资源同时...拥塞控制所要做的都有一个...
  • 控制算法(一)—— PID控制算法

    千次阅读 多人点赞 2020-03-17 17:25:43
    比例积分微分控制,简称PID控制,其中P表示比例、I表示积分、D表示微分。PID控制算法是最早发展起来的控制策略之一,...虽然这些算法各不相同,但是基于最基本的PID控制算法为原型的。 下图为PID控制的示意图...
  • 网上收货《最全PID控制算法的C语言实现》。很好的一份资料,希望对大家有用。
  • 一文搞懂PID控制算法

    千次阅读 多人点赞 2020-11-08 14:39:31
    PID算法是工业应用中最广泛算法之一,在闭环系统的控制中,可自动对控制系统进行准确且迅速的校正。PID算法已经100多年历史,在四轴飞行器,平衡小车、汽车定速巡航、温度控制器等场景均应用。
  • 横向控制算法分析

    千次阅读 热门讨论 2020-03-13 15:50:51
    跟踪算法介绍与分析
  • 非常好用的模糊PID温度控制算法

    热门讨论 2017-09-04 09:23:59
    这个是非常好用的模糊PID温度控制算法,已经在自己的项目中使用,你只需要按照自己的控制对象修改误差变化率最大值和误差阈值即可。
  • 摘要:随着智能控制领域的蓬勃发展,越来越多的智能控制算法在许多行业被广泛应用。本文将介绍:专家PID控制、递阶控制系统以及多智能体系统共三种控制算法,每种算法将给出相应的原理、公式和相关的应用案例。 ...
  • 用MATLAB编写的离散模糊控制程序,结合本程序,我相信能能更快更好的理解模糊控制算法。算法在MATLAB Version: 7.14.0.739 (R2012a)运行无误。 function [FCU_T1,FCU_T2,FCU_T3,FCU_T4]=fuzzy_table(Me,Mec,Mu,UC) ...
  • 电机控制算法

    千次阅读 2019-11-08 10:00:26
    伪算法: 在没有了解自控以前,对于寻迹小车只知道一种调节方法,就是比例调节,...电机控制算法的作用是接受指令速度值,通过运算向电机提供适当的驱动电压,尽快地和尽快平稳地使电机转速达到指令速度值,并维持这...
  • 机器人控制算法

    万次阅读 多人点赞 2019-09-11 16:43:20
    机器人的算法大方向可以分为感知算法与控制算法,感知算法一般是环境感知...其实我们常见的扫地机器人就是一种定位机器人(slam算法控制的),扫地机器人的行为决策和控制算法都是极其简单的,当遇到阻挡物时调整运...
  • 小车巡线控制算法 PV=ReadMotorSpeed() Error=SP-PV CV=Error*Kprop Setpwm(cv) Goto loop
  • 项目包括步进电机的S型曲线加减速控制算法 T梯形加减速控制算法和国外流行的SpTA加减速控制算法,花钱买的,国外流行的SpTA算法比够高效,很适合单片机,强烈推荐。
  • PID控制算法总结

    万次阅读 多人点赞 2019-03-27 23:15:21
    当今的闭环自动控制技术是基于反馈的概念以减少不确定性。反馈理论的要素包括三个部分:测量、比较和执行。测量关键的是被控变量的实际值,与期望值相比较,用这个偏差来纠正系统的响应,执行调节控制。在工程实际...
  • 控制算法(二)—— 模糊控制算法

    千次阅读 多人点赞 2020-03-19 17:24:29
    模糊控制是以模糊集理论、模糊语言变量和模糊逻辑推理为基础的一种智能控制方法,它是从行为上模仿人的模糊推理和决策过程的一种智能控制算法。模糊控制首先将操作人员或专家经验编成模糊规则,然后将来自传感器的...
  • 闭环控制算法系列

    千次阅读 2019-04-22 20:49:07
    用户设定值SV与被控制对象当前的值PV两者同时送入由特定硬件电路模型或特定的软件算法组成的控制算法逻辑中,利用不同的控制算法对SV和PV进行分析、判断、处理,从而产生当前应该输出的控制信号OUT,控制信号经过执行...
  • 一文读懂PID控制算法(抛弃公式,从原理上真正理解PID控制) PID控制应该算是应用非常广泛的控制算法了。小到控制一个元件的温度,大到控制无人机的飞行姿态和飞行速度等等,可以使用PID控制。这里我们从原来上来...
  • 拥塞控制算法分类

    千次阅读 2017-08-25 12:15:12
    这几天写了一份项目书,正好对之前看过的拥塞控制算法进行了一次整理,主要是从算法机制分析优缺点。 我把现有的拥塞控制技术分成了五大类:传统的基于丢包或基于延迟方法,这两个类别是通用的分类,那些比较...
  • PID控制算法控制算法

    2010-08-01 19:59:50
    讲述PID PID控制算法控制算法PID控制算法控制算法 PID控制算法控制算法 PID控制算法控制算法 PID控制算法控制算法 PID控制算法控制算法 PID控制算法控制算法 PID控制算法控制算法 PID控制算法控制算法 PID控制算法...
  • PID控制算法的C语言实现

    万次阅读 多人点赞 2019-12-08 13:31:51
    前言 ...在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握PID算法的设计与实现过程,对于一般的研发人员来讲,应该是足够应对一般研发问题了,而难能可...
  • PID循迹控制算法

    万次阅读 多人点赞 2020-11-28 15:01:33
     PID循迹的原理我们大致可以用常识性思维去思考下,如图1所示为循迹车寻线行走图示,现在小车要按照中间那条黑线循迹行走,如果车头往左偏则需要控制方向盘让车往右转,车头往又偏则需要让车往左转。但是仅仅只有左...
  • 流量控制算法总结

    千次阅读 2020-06-16 11:00:34
    流量控制算法简介 漏桶算法 漏桶算法的实现 令牌桶算法 漏桶和令牌桶的区别 令牌桶原理 单速率三色标记算法 双速率三色标记算法 令牌桶实现 流量控制算法简介 流量控制在计算机领域称为过载保护。何为过载...
  • 控制算法工程师是怎样炼成的

    千次阅读 多人点赞 2019-04-10 20:05:31
    算法的那帮神棍一天在干嘛? 没干啥事,凭什么拿那么高工资,太不公平了? 想成为算法工程师该怎么修炼? 能问出这些问题的人,多半不是搞算法的同行。不过下文会解答这些疑问,以帮助更多的人理解算法工作,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 895,358
精华内容 358,143
关键字:

控制算法都有哪些

友情链接: QuickSort.zip