ESO是自抗扰控制器的核心 .ADRC仅需要系统的输入量和输出量作为信息来源, 通过扩张状态
观测器不仅可以得到各个状态变量的估计, 而且能够估计出不确定模型和外扰的实时作用量, 并在反
馈中加以补偿, 从而达到重新构造对象的目的

自抗扰控制入门之ESO篇

  • 一:ESO的理论基础(状态观测器)
    • 1.0 相关资源和B站视频连接(先看视频后看我的讲解,视频只有8分钟)
    • 1.1 状态观测器的工作原理
  • 二: ESO的推导
  • 三 fal函数的讲解
    • 3.1 所参考论文
    • 3.2 fal函数的讲解

一:ESO的理论基础(状态观测器)

1.0 相关资源和B站视频连接(先看视频后看我的讲解,视频只有8分钟)

ESO本质上是一种卡尔曼滤波器的变形
理解卡尔曼滤波器_Part2_状态观测器(B站视频)

1.1 状态观测器的工作原理

以火箭举例子。我们要检测火箭发动机的内部温度。但是,由于技术问题,我们只能检测发动机的外部温度,在此情况下我们借助状态观测器(用数学模型 模仿一个火箭发动机)来判定其内部的温度。

下面的截图中上方是真实火箭发动机,下方的mathematical model是对应的数学模型。(截图来自我上面给视频链接)


实际系统的输出和观测器的输出相减做误差。此误差不断地进行反馈,最终为0,达到完美的状态观测。
途中带有 ^ 号的为观测器的输出量

二: ESO的推导

考虑系统

其中的β符号代表的是 反馈误差的反馈系数
令 x3 =f(x1 , x2 , t), ﹒x3 =g(x1 , x2 , t), 则g(x1 , x2 , t)也是未知函数 ,于是有

可取 α1 =0.5 =1/2, α2=0.25 =1/4(一般经验取值) a越小, 跟踪越快, 但滤波效果会变差,a2小于a1使得的得到噪音。

三 fal函数的讲解

Fal函数是 ADRC的核心单元 。Fal函数实际上是对控制工程界的一个经验知识 :“大误差 ,小增益 ;小误差 , 大增益 ”的数学拟合。模糊控制,智能控制 ,变增益 PID等方法, 本质上都是基于这种经验知识, 并且 Fal函数具有快速收敛的特性 , 所以 Fal函数成为后来常用的非线性反馈结构。

3.1 所参考论文

Fal函数滤波器的分析及应用

3.2 fal函数的讲解


v是一个带有噪声的输入信号, k为比例系数, a为 0 ~ 1之间的常数, δ为影响滤波效果的常数, 输出 y是带有噪声的信号 v通过滤波器后的输出信号 , 可以写为y=FalFilter(v, k, a, δ)。

k是调节响应速度的比例系数 , k越大, 跟踪越快, 但滤波效果会变差 。 a在 0 ~ 1之间取值, a越小, 跟踪越快, 但滤波效果会变差。所以需要在 k、a和 δ之间做一个综合考虑 。

关于a为何在 0 ~ 1之间取值。 α为 0 <α<1时可以。在小误差时应采用大增益 , 大误差时应采用小增益 。

如图 1所示 ,由于 Fal函数滤波器随着 e的变化具有不同的形式, 我们分别予以考虑 。当 e >δ
时 ,非线性反馈 keasign(e)可以使系统状态迅速的逼近输入信号 v,从而使误差 e趋近于 δ。当 e≤
δ时,实际上式(1)的结构为一个低通滤波器。这里kFal(e, a, δ)=ke/δ1 -a,设 k1 =k/δ1 -a,从输入 v到输
出 y写成传递函数的形式为 :

它是一个低通滤波器。当 δ减小时, k1 增加 ,即截止频率增大, 带宽变宽 ,跟踪速度变快 ,但由于有更多的噪声信号通过 ,滤波效果变差 。同理,当δ增加时, k1 减小 ,带宽变窄 ,跟踪速度变慢, 但使得滤波效果变好。上面的分析结果不但说明了 Fal函数滤波器具有快速收敛以及滤波的本质原因 , 还说明了可用 δ来调整跟踪速度和和滤波效果的原因 。

自抗扰控制入门之ESO篇(纯小白入门向和ESO数学表达式的推导)相关推荐

  1. 自抗扰控制入门之TD篇(纯小白入门向和TD数学表达式的推导)

    笔者(萌新)的两三话:本科是海员专业,研究生转行,无任何基础,总算自认为把自抗扰的原理和各个公式部分搞懂了,希望个人的学习经历可以帮助其他人. 会有大量的转载别人的内容(会标明出处和链接) TD篇 一 ...

  2. YOLOv5s的模型训练与使用(纯小白入门)

    YOLOv5s的模型训练与使用(纯小白入门) 文章目录 YOLOv5s的模型训练与使用(纯小白入门) 概要 下载yolov5与安装依赖 训练 检测 检测图片 实时检测视频 概要 本文主要面向第一次使用 ...

  3. powershell 开发入门_详谈Ubuntu PowerShell(小白入门必看教程)

    早在去年八月份PowerShell就开始开源跨平台了,但是一直没有去尝试,叫做PowerShell Core. 这里打算简单介绍一下如何安装和简单使用,为还不知道PowerShell Core on ...

  4. ZBrush——纯小白入门篇(二)

    ZBRUSH SKILLS zbrush中笔刷最为重要,学会运用笔刷就相当于学会了一半的软件!!! 1 一.学会使用ZB的基本笔刷 选择常用工具架的第一个笔刷图标就可以打开笔刷选择面板了 2 我们选择 ...

  5. ZBrush——纯小白入门篇(三)

    笔刷八大金刚 这一篇介绍zbrush最常用的几种笔刷 笔刷是zbrush中使用频率最多的工具了, 下面给大家介绍的是最常用笔刷中的八大金刚 1. 粘土类造型笔刷Claybuildup.claytube ...

  6. 新奇老师java纯小白入门_推荐一篇为纯小白同学准备的Java教程,从仓颉造字开始学...

    Java作为目前IT行业应用最为广泛的编程语言之一,在行业内占据着重要的作用.不少人看好Java开发的前景和薪资,纷纷转行进入Java开发行业. 这其中不乏很多人都是零基础,在这之前从未接触过编程,对 ...

  7. ZBrush系列——纯小白入门篇(六)

    学会使用Z球,Z球在zbrush中是一个很好用的快速粗模的搭建工具,我们可以用来非常方便的创建一些基本形状出来,再进行细分或是雕刻就非常方便了. 1. 首先找到Z球的位置如图所示: 2. 在视图中拖出 ...

  8. ZBrush系列——纯小白入门篇(四)

    现在我们来学习一下Zbrush中的显示与隐藏的使用方法,这是一个经常会用到的操作,首先我们打开一个小孩头部 你准备好了吗? 1. 使用Ctrl+Shift+鼠标左键可以拖出一个绿色选择框如下图所示 2 ...

  9. ZBrush——纯小白入门篇(一)

    ZBRUSH SKILLS WHAT 介绍 ZBrush 是一个数字雕刻和绘画软件,它以强大的功能和直观的工作流程彻底改变了整个三维行业.在一个简洁的界面中,ZBrush 为当代数字艺术家提供了世界上 ...

最新文章

  1. swift视图容器_如何使用IBDesignable在Swift中创建漂亮的,可重复使用的渐变视图...
  2. c语言程序设计数据输入的,1.2 C语言的发展与特点免费阅读_C语言程序设计教程免费全文_百度阅读...
  3. 美团点评基于 Flink 的实时数仓建设实践
  4. 怎样才算熟悉python-怎样才算学会Python
  5. 项目在eclipse中部署到tomcat时部署到了wtpwebapps文件夹下
  6. carsim学习笔记4——路面的一些设置1
  7. mysql存储过程的返回值在哪里设置_MySQL存储过程的返回值
  8. flex制作一个用户登录框(含验证码)
  9. vc12对应的php版本,vc和vs的区别
  10. html+css+jquery制作图片展示效果
  11. 北上广深不相信电单车 共享单车终究走向“死“胡同?
  12. 首次揭秘!字节跳动基础架构技术迭代演进之路
  13. 安装mysql忘了初始密码咋办_mysql安装忘记初始密码怎么办
  14. OpenBSD 6.8 切换到国内镜像源的一种临时方法:声明PKG_PATH
  15. ethtool如何让接口闪灯_如何使用ethtool命令操作以太网卡
  16. 【Python实例学习】用Python的xlsxwriter模块,进行Excel表格插入图标的操作
  17. Ubuntu升级后 /usr/bin/baloo_file 占用太高CPU
  18. WIN10下如何更改微信聊天记录的默认存储路径
  19. fwrite php utf8,坚持通过PHP的fwrite编写UTF-8文件
  20. IOS仿[自选股]项目开发

热门文章

  1. Discuz论坛 创始人密码忘记解决办法!
  2. Python小游戏:凯撒密码
  3. 一篇文章学会二进制的运算以及原码、反码、补码
  4. AutoCAD各版本对应的R版本参数值及其对应注册表中的数值(2002-2023)
  5. 浅谈MB、Mb、MBps、Mbps - 计算机常识
  6. 陆奇: 机会是留给广结良友并且时刻有准备的人。
  7. fatal: not in a git directory(Git)
  8. 卧槽!我用Python做一个打字测试器!看看谁是最快的男人!
  9. noip初赛问题解析
  10. Python strip()方法