关于ADRC的一些粗鄙之语

关于ADRC的一些粗鄙之语摘自:https://zhuanlan.zhihu.com/p/156228260关于ADRC的一些粗鄙之语隔壁unclewang机械工程Ph.D&控制算法小萌新across等写在之前其实作者本人开始研究adrc也不是特别久,与很多人一样,接触这个算法之后心态也经历过从一开始的“不明觉厉”、中途的“不以为然”到最后的辩证看待的演变过程。经历了一段时间的学习还有群里面大佬的熏陶之后,对于adrc总算是有了一些系统性的想法,这里就简要介绍一下自己的感悟吧。本文.

大家好,又见面了,我是你们的朋友全栈君。

看这篇我感受到我控制理论方面的基础还掌握得不够。

摘自:https://zhuanlan.zhihu.com/p/156228260

 

关于ADRC的一些粗鄙之语

隔壁uncle wang

机械工程Ph.D & 控制算法小萌新

across

写在之前

其实作者本人开始研究adrc也不是特别久,与很多人一样,接触这个算法之后心态也经历过从一开始的“不明觉厉”、中途的“不以为然”到最后的辩证看待的演变过程。经历了一段时间的学习还有群里面大佬的熏陶之后,对于adrc总算是有了一些系统性的想法,这里就简要介绍一下自己的感悟吧。

本文将从adrc的基本框架、adrc的一些问题与局限性,以及关于adrc现状的一些看法共三个方面阐述一下作者的粗鄙之语。

1. adrc的基本框架

关于ADRC的一些粗鄙之语

图1-ADRC的基本框架

说起adrc的基本框架,知乎上已经有很多大佬说了很多了,这里面就简单复习一下。adrc在经典反馈控制结构的基础上,主要由跟踪微分器(Tracking differentiator),误差反馈控制率(Feedback control law)以及扩张观测器(Extended state observer)组成。各组件的简要说明如下(见图1):

  • 跟踪微分器-Tracking differentiator:分为线性和非线性两种,本质上是一种低通滤波器,作用是平滑指令以及减少闭环传递函数的超调(将闭环传递函数的峰值压低到0dB以下)。
  • 误差反馈控制率-Feedback control law:和经典反馈控制结构中的反馈控制器一样,目的是让误差等于0,有线性组合与各种非线性组合,最常见的就是LADRC中的PD控制器,偶尔也有例如fal函数里类似dynamic gain的处理(误差一定范围内增益不变,随后增益减小或增大,即小误差大增益或者小误差小增益)。
  • 扩张观测器-Extended state observer:在系统模型为纯积分串联型的假设基础上,将所有其他项(忽略的模型与外界的扰动(噪声))统一为总扰动,并设计龙贝格观测器对其进行观测。

具体的公式就先不在这里罗列了,这部分只是简要说明了adrc这类控制架构或者说算法的基本组成以及个人对各个组件作用的理解。

2. adrc的一些问题与局限性

a. TD的局限性

TD的作用通常被认为是所谓安排过渡过程,能够解决PID快速性与超调之间的矛盾,并且是一种有效的求微分工具。通常初学者在看到韩老师TD版本或者是状态空间形式的线性TD版本时会觉得非常神奇,怎么就一下子把微分求到了,事实上,TD是存在一些缺陷的,这里说下个人的理解。

线性TD与求微分的秘密

以线性TD为例,连续系统的状态空间形式为

[公式]

其中 [公式] 是滤波后的输入,而 [公式] 为滤波后输入的微分。

将其转化为传递函数形式为

[公式]

显然线性TD的本质其实就是一个阻尼比为1的标准二阶系统,并且没有任何零点。事实上,线性TD的推导与理解过程非常简单,对于一个标准的二阶系统,将其写成状态空间的形式,其中的两个状态就分别对应为滤波后的输入以及滤波后输入的微分。

TD减小超调的原因

首先说明一下闭环系统超调的本质原因,其实主要可以总结为以下两点:

  • 系统相位裕度不足,即开环系统在截止频率(开环增益0dB)处的相位滞后太多,导致系统阻尼太小,从而引起超调,这个众所周知,就不展开了。
  • 尽管系统具有足够的相位裕度,但是某些高频模态引起的振荡也会造成超调。

针对第二点,典型的例子如下:

考虑一下开环传递函数

[公式]

二者的开环bode图、闭环bode图以及闭环阶跃响应由图2-图4给出。

关于ADRC的一些粗鄙之语

图2-开环特性

关于ADRC的一些粗鄙之语

图3-闭环特性

关于ADRC的一些粗鄙之语

图4-闭环阶跃响应

从图2可以看出, [公式][公式] 是具有相同的相位裕度,但是 [公式] 由于中高频模态引起的振荡同样会造成超调。因此,若要消除超调,则需要将闭环传递函数大于0dB的部分都压到0dB以下。

TD的局限性1:减小超调

继续说回到TD,线性TD的bode图如图5所示。从频域上说,TD之所以能减小超调,是因为在高频段的衰减特性将系统闭环传递函数大于0dB的地方给压下来了。并且前置滤波器并不改变回路增益,因此系统开环特性的相位裕度以及灵敏度函数并未改变,即系统抗扰动特性并未改变。

关于ADRC的一些粗鄙之语

图5-线性TD的bode图

那么TD的局限性就显而易见了,因为采用了二阶系统,并且没有零点,必然导致有较大的相位滞后,从而会降低响应速度。事实上,从频域loopshaping的角度考虑,若只是要在一定频段内降低闭环系统的增益,相比TD那种没有零点的二阶指令滤波,有零点的二阶指令滤波具有更明显的相位优势。为了更好的说明问题,作者给出了以下例子:

给定闭环传递函数

[公式]

采用有零点和无零点的指令滤波

[公式]

显然 [公式] 相比于 [公式] ,多了一对共轭零点。滤波后的闭环传递函数与阶跃响应分别由图6和图7给出。频域特性表明,指令滤波 [公式] 由于零点的存在,在低频有更小的相位滞后,因此会具有更大的闭环带宽,在时域上将会具有更快的响应速度。图7的阶跃响应曲线有力地证明了上述结论:具有零点的指令滤波能够在消除超调的同时保持了更大的带宽。

关于ADRC的一些粗鄙之语

图6-指令滤波后的闭环Bode图

关于ADRC的一些粗鄙之语

图7-指令滤波后的阶跃响应

TD的局限性2:作为滤波器(微分器)

由图5给出的线性TD可知,TD作为滤波器的一大缺陷就是难以接受的相位滞后。事实上,对于线性低通滤波器设计,学术界早就有了全面有效的设计理论与方法,这里附上csdn大佬的滤波器设计内容(https://blog.csdn.net/cqfdcw/article/details/84939698),里面的滤波器显然是要优于TD的,本文就不展开说了。

那么就有人说了,那么非线性的TD呢?是不是就能够跨越线性TD的局限性?这里继续分析下去。由于非线性TD有好多版本,这里给出韩老师基于快速最优控制推导出来的连续形式(参考出处:https://blog.csdn.net/LWhzy6/article/details/88896835

[公式]

很多文章(包括许多学术论文)在分析滤波器的性能时,往往就是在一个给定频率的正弦输入信号下叠加噪声,然后通过时域曲线来说明滤波特性。这种分析方法是不全面的。因为单一频率的输入信号并不能表征出宽频的相位信息,而低通滤波器的最重要指标之一就是减小相位滞后。

为了进一步分析非线性TD的问题,考虑以下例子

非线性TD与线性TD的参数为

[公式]

由于非线性系统无法直接给出频域特性,这里我们给定chirp扫频信号,0-30s的频率变化范围是0.05-0.65Hz,并且频率随时间线性增加。为了考虑噪声的影响,在输入信号上叠加了截止频率为20Hz的白噪声信号,非线性TD和线性TD的滤波后输出由图8和图9给出。

关于ADRC的一些粗鄙之语

图8-滤波效果对比(无噪声)

从图8可以看出,当没有噪声时,非线性TD在低频段的相位滞后更小,并且衰减倍率更大(time = 28s时频率衰减幅值比线性TD大很多)。

关于ADRC的一些粗鄙之语

图9-滤波效果对比(有噪声)

然而,当噪声存在时,非线性TD则存在着明显的问题:

  • 在低频段(扫频时间在0-22s处)存在明显地幅值放大现象
  • 中频段的相位滞后较线性增大(22s后)
  • 中高频段存在漂移现象(均值不为0)

上述问题只是简单说明一下非线性TD的特点,对于非线性系统,由于不满足叠加原理,在不同幅值下的频域特性也不像线性系统那样保持不变,这里就不再展开说了。上述的例子至少说明非线性TD在实际应用过程中还是会有很多局限性,尤其是低频段幅值放大的特性,作为指令滤波是绝对不可接受的。

b. ESO的局限性

ADRC重要假设式认为系统模型为积分串联型,即

[公式]

其中 [公式] 为总扰动,包含了模型误差以及外界扰动。

对于实际系统,假设模型为

[公式]

按照adrc的形式为

[公式]

ESO的局限性1:与经典扰动观测器对比

LESO的本质是模型为积分串联型的Lunberger观测器,也是闭环观测器的一种。因此,从模型的角度上说,LESO浪费了模型的信息。当然基本形式的LESO类似于blackbox的做法,如果考虑了部分模型信息,即greybox做法。(具体可见高志强老师的文章:Zhang, Han, Shen Zhao, and Zhiqiang Gao. “An active disturbance rejection control solution for the two-mass-spring benchmark problem.”2016 American Control Conference (ACC). IEEE, 2016.)

然而,ESO这种扰动观测器的形式,由于本质上就是Lunberger观测器,因此作者认为,并非ADRC的独创,只能说是借鉴了经典扰动观测器。

从频域上说,扰动观测器的本质是在不改变闭环传递函数的基础上,对灵敏度函数(抗扰动特性)进行设计,相当于闭环性能与抗扰动性能的解耦设计。类似的做法可以参考二自由度PID。

经典扰动观测器通常可分为以下两种形式(如图10所示):

  • 如果模型已知,且比较精确,开环形式的扰动观测器即可,为了滤掉高频噪声,可以采用常用的Q-filter,本质上是在不改变闭环传递函数的基础上对灵敏度函数(扰动f到输出y的传递函数)进行设计,从而改变反馈系统的抗扰动能力。
  • 若模型存在一定误差,则需要用闭环形式的扰动观测器,即右图所示,但是G(s)的信息同样非常重要,而ESO强行将其假设为串联积分形式,实际上是浪费了可能已知的部分模型信息,从而影响扰动估计的性能。

关于ADRC的一些粗鄙之语

图10-经典扰动观测器

总的来说,与经典扰动观测器相比,作者认为ESO的问题如下:

  • 若ESO采用积分串联的模型假设,即blackbox形式,则会浪费模型信息,如果模型比较准确,那么采用图10左图开环的扰动观测器即可,这样就可以避免闭环观测器造成的相位滞后(该相位滞后的进一步解释见下文ESO局限2)。
  • 若ESO抛弃积分串联的模型假设,即greybox形式,尽管没有浪费模型信息,但是该方法只是图10右图的一个特例,并不能完全算是ESO的原创。

ESO的局限性2:ESO相位滞后的影响(与PID对比)

这一部分参考了厦门大学金辉宇老师的研究成果。金老师推导了LADRC的PID等效形式,这里盗几张金辉宇老师PPT的截图。

关于ADRC的一些粗鄙之语

图11-LADRC的等效形式

针对二阶LADRC,金老师推导出了等效回路控制器

[公式]

由此可见二阶LADRC可以等效为PID控制器串联一个没有零点的二阶低通滤波,显然该滤波器是由Lunberger形式的ESO引起。

那么与PID相比,LADRC的优势异常显著:

  • [公式] 的低通特性可以滤掉高频的未建模动态,防止PID控制器在高频段将这些动态放大,从而避免引起高频的振荡。

这就是LADRC相对于PID最大的优势,也是LADRC工程实践的最大价值之一与调参优势。在一些运动控制问题,如无人机控制以及伺服电机控制,结构上的高频未建模动态不可避免,而 [公式] 的低通特性不仅使得调参更加容易(避免了很多高频振荡),也进一步提高了系统低频最大增益的上线(基础增益相对传统PID可以调更高)。

然而,ESO引起的问题也非常明显:

  • 如上文图6给出的结果所示,没有零点的滤波器会引起较大的相位滞后(图6只是针对二阶系统,如果是与经典的低通滤波器相比,butterworth等,ESO的滤波器差距将进一步扩大,具体可见上文链接)。这也是高阶ESO无法工程应用的原因,因为高阶无零点的滤波器必然在低频段导致很大的相位滞后,这将极大降低回路的稳定裕度。
  • 滤波器的参数同时由 [公式][公式] 共同决定(具体可见金老师的PPT,这里不做展开),即滤波器参数与控制参数无法独立设计,这将对参数进一步优化造成障碍。

因此,LADRC的控制器性能是不如PID+高阶带零点低通滤波器的组合的。

ESO的局限性3:总扰动假设的问题

我们回到总扰动的定义,总扰动包含了外界扰动(disturbance)与未建模动态(pertubations),如图12所示。

关于ADRC的一些粗鄙之语

图12-总扰动的定义

对于总扰动的两个部分,disturbance和pertubations有着本质的不同,disturbance是外界扰动,与系统本身无关,并不改变系统的稳定性;而pertubations是系统的模型误差,是会改变系统的稳定性的,这是二者最大的不同。

在许多ADRC文章的描述中,经常会提到“ESO可以通过估计总扰动从而将系统改造成积分串联的形式”。那么ESO真的可以完美补偿未建模动态么?作者本人是持有一定怀疑态度的。

  • 首先,从稳定性的角度,ESO可以等效成PID+低通滤波器的形式,若系统未建模动态的相位滞后较大,则ESO的相位滞后特性会进一步恶化系统的稳定裕度,甚至会使得系统不稳定。而所谓总扰动的估计事实上无法完美补偿pertubations的。
  • 若要完美补偿pertubations,只能是通过类似MRAC之类的非LTI算法,实时估计模型的不确定性并加以补偿。

对于图12的例子,若能找到一个自适应控制率,满足

[公式]

才能完美地补偿pertubations,从而将模型真正改造成积分串联系统。

显然作为LTI控制器的LADRC无法做到这一点,而一些非线性的ADRC也因为拘泥于积分串联的模型假设,同样无法完美补偿pertubations。

3. 关于adrc现状的一些看法

学术应用前景

作者对于adrc的学术应用前景可能不如当前国内的氛围那么乐观。主要有以下几点:

  • 从前文的分析中可以知道,无论是TD还是ESO,线性的版本均可以找到更优的方法,其本质原因还是先天不带零点的滤波器引起的低频相位滞后问题,这里不再赘述。
  • 事实上扰动观测器的理论已经非常成熟,ESO浪费模型信息的做法会降低扰动观测的性能(这里存在争论,如果使用了模型信息,那么ESO和扰动观测器是一样的了,到这里就并不算ADRC的独创了)
  • 尽管非线性TD以及ESO的方法不太好量化比较,但是前文已经证明了韩老师早期的非线性TD存在应用问题,而非线性ESO对于模型不确定性的补偿个人认为并不如其他自适应控制算法(如MRAC以及L1-adaptive等方法更有针对性)

工程应用前景

相对于学术应用前景,作者相对看好adrc的工程应用前景,在以高志强老师的推广下,尤其是LADRC相对于经典PID的高频滤波特性(见上文),使得ADRC在调参难以程度上相比于经典PID上优势显著,在运动控制上的应用会越来越广泛,毕竟很多工程师并不知道该如何设计低通滤波器,对于这些工程师来说,LADRC是非常有效的调参工具。

adrc与控制理论学习及其发展

近些日子接触了许多学习adrc的初学者,从与他们的交流中作者对于国内自动控制理论的学习现状倍感忧虑。目前的现状是,无论是研究生还是本科生,还在自动控制领域学习的多半都不是自动化背景的学生,这些学生并不具备特别扎实的理论基础(作者本人就是机械出身,半路出家去搞自动控制了,话说现在学自动化的不都去搞CV和AI了么)。而这些学生在没有打好自动控制理论基础的情况下,就贸然学习ADRC,很容易被一些内容误导(或者说限制了他们往其他思路发展)。别的不说,TD求微分的特性也好,ESO作为扰动观测器也好,明明都是已经有很成熟的理论了,但是还有人会将TD和ESO的这些内容奉为圣经,甚至信仰。如果提前了解这些理论,可能就不会有这种片面的想法了。

作者没有任何贬低ADRC的意思,但是目前国内的ADRC体系发展确实参差不齐。关于ADRC的feature,引用一个知乎大佬的回答:“adrc最大的意义是它给出了提高控制器性能的一个基本思路,即观测慢变的未知项并前馈补偿,带积分项的pid,H无穷等控制器,基本结构都是这个样子。不过这个思路早就诞生几十年了,所以国外学者对它不感冒,因为在控制领域这就是个1+1=2水平的大众知识”。对于这个观点,作者深以为然。但是不幸的是,目前很多学者选择忽略这些事实,甚至抛出所谓“一切反馈控制都是自抗扰控制的特例”的无脑吹观点,把ADRC作为中国人唯一提出的控制算法进行过分宣传,上升到意识形态的层面。这样的做法,或许能忽悠到一些不明所以的初学者加入,或者是能够形成一个稳定的学术圈子从而持续获得论文的生产(例如审稿人圈子,这里就不细说了,大家都懂)。但是,韩京清老先生艰难创业,高志强老师辛辛苦苦推广的成果,这些自动控制理论可贵的闪光点,这样下去,真的能够通过这种方式被发扬光大么?

最后说一下,作者水平有限,关于ADRC局限性的分析与结论,不一定对(或者说大概率不对)。至于控制理论发展的那些粗鄙之语,可能就是作者本人杞人忧天了(或者不知天高地厚),毕竟真实的现状,就如我最喜欢的红楼梦的一首诗的最后一句那样

——“盛世无饥馁,何须耕织忙”啊。

编辑于 07-07

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144598.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号