跟踪(Reference Tracking) 和抗扰(Disturbance rejection)是控制算法设计的主要任务。单自由度控制器(pure feedback controllers)由于其自身的固有限制因素(Inherent Fundamental Limitations),无法同时满足跟踪和抗扰的目的,必须在这两个性能目标之间做折衷处理(compromise between tracking performance and the disturbance rejection capability);图1. 单自由度控制系统基本结构及传递函数(为方便说明,本文均以SISO线性系统为例)

如图1中传递函数所示,为同时实现控制系统对参数输入r的跟踪和对干扰d的抑制:需要输出Y/参考输入R的传递函数T=(1-S,S为灵敏度函数)尽可能地大(即S尽可能地小);输出Y/干扰d的传递函数PS(P为被控对象的传递函数,被控对象确定后,P随之确定)尽可能地小。总结来看,为实现最优跟踪和抗扰,需要灵敏度函数S尽可能的小,这只能通过设计反馈控制器C来实现。

然而,如图2所示,伯德积分公式(Bode integral formula)表明灵敏度函数S的绝对值的对数值沿频域积分为定值。当灵敏度函数S在某频域段时:如果S<1,对数值为负值,此时对干扰有衰减作用,且闭环传递函数T增益较大,输出信号对参考信号跟踪较好;

如果S>1, 对数值为正值,此时对干扰有放大作用,且闭环传递函数T增益变小,输出信号无法有效跟踪参考信号;

根据伯德积分公式,灵敏度函数S无法在全频率域内都保持在较小值。即S在低频域段内维持较小值是以高频段内的较大值为代价的,即出现水床效应'waterbed phenomena',如图2所示。对于单自由度控制系统(图1)来说,输入参考r和d通常分布在不同的频段上。因此,无法通过设计单个控制器C使得对应两个频域段上的灵敏度函数S都最小(即无法同时实现最优跟踪和抗扰),只能在跟踪性能和抗扰性能之间进行折衷设计。图2. 伯德积分及水床效应【1】

二自由度控制器

二自由度控制器 (Two degree-of-freedom controllers)中,每个自由度分别处理抗扰和跟踪任务,从根本上克服了单自由度控制器的固有缺陷,是一种实用的控制算法设计方法。取决于另一自由度控制器在控制系统中所处位置,二自由度控制器可以分为两大类:前馈+反馈,干扰观测器+反馈;其中,前馈(Feedforward)位于控制系统外环,干扰观测器(Disturbance observer)位于控制系统内环,如图3所示:图3. 二自由度控制系统两种基本类型【2】【3】

根据被控对象及应用场景,可以选择不同类型的二自由度控制器:

前馈+反馈:前馈既可以用于改善跟踪性能,也可以用于抗扰,但通常需要相对精确的被控对象模型以及干扰信息。如图3(a)所示,当前馈以改善跟踪性能为目的时,一般可以采用输入滤波Ft(即轨迹规划)and/or 前馈补偿Fr(根据目标输出计算相应的控制输入,需要被控对象逆向模型);当前馈用于抗扰时,为设计前馈补偿器Fd,不仅需要被控对象逆向模型,还需要准确知道干扰动态特性以及进入被控系统的方式。这类方法的难点在于,被控对象逆向模型在某些情况下(如存在死区、被控对象存在右半平面的零点或相对阶大于干扰动态特性相对阶)物理上不可实现,此时需要通过近似、附加滤波等手段处理;对于控制输入限制的问题,可能还需要优化控制(Optimal Control)等方法;

干扰观测器+反馈:大多数情况下,干扰信息并不能够准确获知或测量(如突然加载、未知扰动等),这时必须依据模型信息和在线输入输出数据对干扰进行观测,然后基于干扰观测值,计算相应的控制值,以实现对干扰的直接补偿干扰或抑制干扰带来的不利影响【3】。干扰观测器可以作为单独/附加模块存在与控制系统中,以提高系统的抗扰能力(原有控制器则用来实现最优跟踪性能,当不存在扰动或扰动可以忽略不计时,干扰观测器没有输出,对控制系统无影响)。其关键点在于设计高性能的干扰观测器,实现对干扰的快速精确感知。

二自由度控制器中,前馈和干扰观测器的加入,使得输出Y/干扰d,输出Y/参考输入R的传递函数不再单独依赖控制器C。例如,图2(a)中加入输入滤波Ft时,输出Y/参考输入R的传递函数变为FtT,输出Y/干扰d的传递函数保持PS不变,此时可以单独设计Ft用以满足跟踪性能,设计控制器C主要满足抗扰性能。

实际中,为满足控制系统性能指标,可以在控制算法设计中综合运用前馈+反馈+干扰观测器;

几种常见干扰观测器

根据如何利用模型信息和输入输出数据(u,y),几种常见的干扰观测器结构如图4所示。从上到下分别为基于广义内模控制GIMC(General internal model control)的干扰观测器,基于逆向标称模型的干扰观测器,基于标准型(即积分串联标准型,不是被控对象标称模型)的扩张状态观测器ESO(Extended state observer).图4. 几种干扰观测器【4】【5】【6】

以上几种干扰观测器,@瓶盖君 @FrancisZhao 两位都有相对较为专业的介绍。@瓶盖君,博士期间的研究课题就是干扰观测器,发表了很多有代表性的研究论文,回答更为专业和全面。参考文献【7】对图4(b)和(c)两种分别在频域和时域推导的观测器进行了对比研究,提出了一种相对统一的视角用以分析设计观测器。https://zhuanlan.zhihu.com/p/51875015​zhuanlan.zhihu.com各种干扰观测器优缺点比较?​www.zhihu.com

为读者方便,这里做下简单说明:图4(a)和(b)的观测器都频域内提出,都是开环形式,都要求相对精确的被控对象模型(和标称模型不匹配的部分即为干扰),其关键在如何设计滤波器Q(s)。两者区别在于,图4(a)的观测器不需要对标称模型求逆,有效避免了被控对象为非最小相位系统(即被控对象有不稳定的零点)带来的问题;值得注意的是,图4(a)、(b)中的观测器只给出了基本实现形式,基于Youla分解,实际的观测器结构可以采用多种形式,观测出来的扰动d0也不一定直接在输入段直接进行补偿;

图4(c)的观测器继承了Luenberge observer的思想,是一种时域、闭环观测器,同时不需要被控对象的精确信息(只需要知道系统阶数/相对阶以及输入增益系统)。与Luenberge observer和以上两种观测器不同,扩张状态观测器观测的是总扰动(异于标准型的一切扰动、如未建模动态、外部干扰、参数变化都归结在总扰动内),是自抗扰控制ADRC的核心部分,相关说明可以参考下面的文章。其关键在于设计观测器增益(这里为方便对比,将观测器增益笼统表示为观测器增益传递函数Q_ESO)。https://zhuanlan.zhihu.com/p/260480454​zhuanlan.zhihu.com

【备注】为保证干扰观测器带宽,使用高增益时,将不可避免放大测量噪声n的不利影响。因此,在设计干扰观测器时,应该进行有针对性的处理,如和Kalman filter相结合【5】、采用串级结构【8】等。

总结

二自由度控制器由于克服了单自由度控制器的固有缺陷,已经成功运用于不同系统的控制算法设计中。在干扰观测器的设计方法、对不同干扰的补偿,鲁棒性分析、干扰观测器和前馈的等效上(作者认为,从频域来说,前馈应该和干扰观测器存在某种等效,揭示这种等效关系,从而互相借鉴设计思路,有助于更好设计前馈和干扰观测器),仍存在着一系列开放问题,有待进一步研究。

【备注】个人公众号定期更新传感、执行及控制方面的机电和自动化研究进展,欢迎关注!

【参考文献】

[1]. Karl Johan Åström, Richard M. Murray. Feedback Systems: An Introduction for Scientists and Engineers. Princeton University Press, 2008.

[2]. Liu L , Tian S , Xue D , et al. Industrial feedforward control technology: a review. Journal of Intelligent Manufacturing, 2018.

[3]. Chen, Wen-Hua, et al. “Disturbance-Observer-Based Control and Related Methods—An Overview.” IEEE Trans. Indust. Elect., vol. 63, no. 2, 2016, pp. 1083–1095.

[4]. Zhou K , Ren Z . A new controller architecture for high performance, robust, and fault-tolerant control[C]// Proceedings of the 39th IEEE Conference on Decision and Control, IEEE, 2001.

[5]. Sariyildiz E, Oboe R, Ohnishi K . Disturbance Observer-based Robust Control and Its Applications: 35th Anniversary Overview. IEEE Trans. Indust. Elect., 2019:1-1.

[6]. Huang, Yi, and Wenchao Xue. “Active Disturbance Rejection Control: Methodology and Theoretical Analysis.” ISA Trans., vol. 53, no. 4, 2014, pp. 963–976.

[7]. Jinya Su, Wen-Hua Chen, Jun Yang. On Relationship Between Time-Domain and Frequency-Domain Disturbance Observers and Its Applications. Journal of Dynamic Systems, Measurement, and Control, ASME, 2016.

[8]. Łakomy, Krzysztof, et al. “Active Disturbance Rejection Control with Sensor Noise Suppressing Observer for DC-DC Buck Power Converters.” Arxiv:Eess.SY, 2020.

二自由度云台扫描算法_控制算法手记-二自由度控制器相关推荐

  1. 二自由度云台扫描算法_二自由度云台的机器视觉控制

    二自由度云台的机器视觉控制 孙鹏飞 ; 郭喜庆 ; 杨敬娴 [期刊名称] <光电工程> [年 ( 卷 ), 期] 2012(039)010 [摘要] A vision-controlled ...

  2. 二自由度云台扫描算法_基于HuskyLens人脸识别的二自由度自动跟踪云台

    "看什么看?" "就盯着你看!" --基于HuskyLens人脸识别的二自由度自动跟踪云台 试用群里的老师们先后放出了各色利用二哈人脸识别功能的案例,实验对象从 ...

  3. 二自由度云台扫描算法_智能盒子oj

    简介 二自由度舵机云台是一款大扭矩.高性价比的小型云台,底部舵机的平面结构,增强了这个云台的负重能力.它可以在水平和垂直方向做二自由度运动,方便安装摄像头,可以实现图像监控.图像识别定位追踪:加装红外 ...

  4. 二自由度云台扫描算法_几款超级防抖手持云台,拍摄大片绝不抖

    而今是Vlog的盛世时代,每一个年轻人都有一个vlog梦想,手机也可以拍出大片,总是苦于拍摄出的东西效果不好?不敢跟拍?一边跑一边手机摄影就糊成一团?那么怎么告别萌呆定点拍摄,今天给大家分享几款可以拍 ...

  5. Halcon二维码扫描算法总结

           近期要往一个大型软件里面增加一个扫码工具,想到基于halcon算子进行开发,记录一下开发过程中的采坑和要点.         刚开始拿到现场的二维码数据集,基于halcon进行测试,发现 ...

  6. Android实现二维码扫描功能-ZXing识别图片二维码,相册选图

    文章目录 1.演示 2.权限问题 3.实现步骤 4.工具类 5.图片Uri处理(重要更新) 1.演示 2.权限问题 部分朋友在打开相册时遇到读写权限未授权的问题,我在开发的时候没有遇到,也没有注册读写 ...

  7. 怎么用python生成带二维码的照片_怎么制作二维码图片-Python 生成个性二维码

    一.实验介绍1.1 实验内容 本课程通过调用MyQR接口来实现生成个人所需二维码,并可以设置二维码的大小.是否在现有图片的基础上生成.是否生成动态二维码. 1.2 知识点 Python3基础 MyQR ...

  8. 低通滤波器算法实现_控制算法手记自抗扰控制的几点思考

    写在前面 在谈自己的一些思考之前,放上一本简明的教材(只有133页),对自抗扰控制ADRC (Active disturbance rejection control)的起源.基本思路.结构.发展及应 ...

  9. 参数整定临界比例度实验_控制算法手记自动整定方法初步

    自动化控制系统中,在控制器类型/结构已经确定的情况下,如何设计控制器参数以保证系统控制性能被称为控制器整定(Controller Tuning)问题.整定得到的控制器参数直接决定了控制性能的优劣.实际 ...

最新文章

  1. Yolo(1)Yolo v1
  2. php 表单变量,PHP学习笔记——访问表单变量
  3. Android No static field XXX of type I in class Lcom/XXX/R$id错
  4. ubuntu server安装php mysql_Ubuntu Server 下Apache+MySQL+PHP安装
  5. 如何写一个Python万能装饰器,既可以装饰有参数的方法,也可以装饰无参数方法,或者有无返回值都可以装饰
  6. MySQL笔记-SQL语句中可以使用单引号包裹任意类型
  7. kruskal java_kruskal算法 源码(java)
  8. 计算机网络习题集与习题解析 pdf,计算机网络习题集与答案.pdf
  9. VM打开虚拟机VMX进程已提前退出错误及解决办法
  10. hyperledger fabric 2.3.3 环境搭建教程
  11. 傅里叶Fourier变换fft-python-scipy-幅值-辐角-相位(一)
  12. 参数估计与假设检验—拒绝域的数学证明(手写)
  13. 零失误绕制无线充电线圈
  14. 计算机网络应用技术技能大赛
  15. 易语言如何调用大漠插件
  16. 施一公研究组Cell发文:首次报道γ-分泌酶抑制剂和调节剂的分子机制
  17. 电子管工作原理,图文并茂,言简意赅
  18. 用定时器Timer方式实现LED周期性闪烁
  19. 使用坚果云收件箱,更加方便高效地收文件
  20. 邮箱foxmail 如何添加账户

热门文章

  1. 图像分类halcon
  2. 【Neo4j】CQL基本语法
  3. kettle实例-高级转换-数据合并
  4. android 加花工具下载,Android 代码混淆并加花
  5. 专业精神-希波克拉底的誓言(转载)
  6. 微信小程序:高德地图在小程序中的实践(含静态地图)
  7. 无法同步因计算机未授权,iTunes无法授权和同步解决办法教程
  8. java学习笔记(23)java表单标签
  9. 华为机试 (10/6)
  10. K8s - 札记 - 脑裂