ADRC学习笔记(二)

ADRC学习笔记(二)1.最速跟踪微分器TD它的离散表达式为:参数中:V(t)是目标值h、h0为积分步长,一般来说h可以等于h0,但是为了减少超调和减少震荡,才把他们分开,一般h0比h大,比如大20倍。当h0较大时,能够明显减少震荡,所以也叫滤波因子。减小h可以抑制噪声放大作用。r为速度因子,值越大,逼近速度越快,但是最好根据实际被控对象的可承受能力而定。表达式中:其中fhan函数第一种表达式为:fhan函…

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

添加链接描述源码1.最速跟踪微分器TD
它的离散表达式为:
在这里插入图片描述
参数中:V(t)是目标值h、h0为积分步长,一般来说h可以等于h0,但是为了减少超调和减少震荡,才把他们分开,一般h0比h大,比如大20倍。当h0较大时,能够明显减少震荡,所以也叫滤波因子。减小h可以抑制噪声放大作用。r为速度因子,值越大,逼近速度越快,但是最好根据实际被控对象的可承受能力而定。
表达式中:其中fhan函数第一种表达式为:
在这里插入图片描述
fhan函数第二种表达式为:
在这里插入图片描述
其中fsg函数表达式为:
在这里插入图片描述
两种fhan函数是等价的。最速跟踪微分器的作用是起到一个缓冲作用,比如输入一个阶跃信号,它会让信号有一定斜率,让执行机构不会一启动就进入最大马力,从而导致第一次及后面几次逼近设定值时出现超调。它的可调参数与实际系统
2.扩张状态观测器
在这里插入图片描述
其中函数fal的表达式为:
在这里插入图片描述
它的另一种表达式为
在这里插入图片描述
在这里插入图片描述
3.状态误差反馈律
3.1线性反馈率
在这里插入图片描述
其中e1=x1-z1,e2=x2-z2,e0为e1的积分。
3.2非线性反馈率
然而这种线性组合不一定最好。大量仿真研究表明, 采用 e 0,e 1,e 2 的适当非线性组合效果更好, 我们通常采用的非
线性组合有如下两种形式:
在这里插入图片描述
完成的二阶自抗扰控制器算法如下
在这里插入图片描述
这里 r0,β01,β02,β03,r,c,h1,b0 是控制器的参数, 其中 r0是根据过渡 过 程 快 慢 的 需 要 和 系 统 的 承 受 能 力 来 决 定的 ; 参 数 β01,β02,β03 是 由 系 统 所 用 采 样 步 长 来 决定 的 ( 不 管 什 么 样 的 对 象 , 采 样 步 长 一 样 , 都 可 以 用相 同 的 β01, β02, β03) 。 这 样 , 系 统 中 真 正 需 要 调 整的参数为控制量增益 r、阻尼系数 c、精度因子 h1 和补偿 因 子 b0 四 个 了 。 在 一 般 情 况 下 , 控 制 量 增 益 r 是 大到 一 定 程 度 就 可 以 , 再 大 也 几 乎 没 有 影 响 。 因 此 只 需三 个 参 数 c,h1,b0 需 要 进 行 调 整 , 这 与 PID 的 三 个 增 益差不多: l/h1 相当于 PID 的比例增益; 阻尼因子 c 相当于 PID 的微分增益; 补偿因子 b0 有 点 像 PID 的 积 分 增益, 但也不很像。这里三个参数与 PID 的三个参数有很 多 相 似 之 处 , 但 也 有 很 大 的 差 别 。(韩老师原话)

其框图为:
在这里插入图片描述//分割线/

以上均为理论的上的学习,在其他博客都能找到相似的东西,但是很少能够看到仿真的实例,因此在学习的自抗扰技术后,立马做了一个仿真。ADRC作为改造的PID,其吸收其根据误差存在进行调整的思想,同时也不依赖具体的控制对象模型,通过将干扰扩张成为系统的状态变量,进行干扰补偿,进而降低干扰的影响,另外通过添加微分跟踪器,使输入端不连续的信号,变成连续的变化的信号,避免了控制系统的超调,如此看来ADRC确实NB。
实验步骤:
(1)以二阶控制对象为例,阶跃信号作为输入信号,其输出信号与输入信号如下图:
在这里插入图片描述
从仿真的结果可以看出无超调,而传统的PID调节的图像为下图:(采用统一控制对象)在这里插入图片描述
貌似没有什么对比性,可能是我参数调的不好(假装是这个原因)。
(2)添加干扰信号,测试ADRC抗干扰能力,每隔10个信号发送一个干扰信号,得到仿真的图像为:
在这里插入图片描述
图像上方的红点为原始信号叠加了一个干扰信号,从仿真的图像上可以看出输出信号几乎不受干扰的信号的影响,可能是我的参数调的太好(假装是这个原因)。

总结来说,ADRC相比于传统的PID调整有着它无可比拟的有点,在抵抗干扰方面更为出色。最后附上仿真的代码,各位大佬可以调调参数。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
仿真源码

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

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

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

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

(0)


相关推荐

  • Pycharm自动调整代码格式的快捷键Alt+Ctrl+L

    Pycharm自动调整代码格式的快捷键Alt+Ctrl+L1、代码自动填充空格2、自动对齐代码3、符合PEP8规范

    2022年10月27日
  • 数据挖掘项目_数据分析师怎么自学

    数据挖掘项目_数据分析师怎么自学数据挖掘项目1.数据导入一共有4754个样本,90列的数据表格中“status”是结果标签:0表示未逾期,1表示逾期。未逾期:3561逾期:11932.数据类型分析90列中70列为float,13列为int,7列objectobject类型的列名,以及其分布3.删除无关变量4.缺失值处理5.划分数据集测试集30%,训练集70%,随机种子设置为2018待…

  • 使用instsrv.exe和srvany.exe将应用程序安装成windows后台服务

    使用instsrv.exe和srvany.exe将应用程序安装成windows后台服务windows系统下的自带的工具包介绍

  • 多项式分布学习

    多项式分布学习多项式分布的学习http://blog.csdn.net/apache_xiaochao/article/details/30535521

    2022年10月12日
  • ie兼容性视图在哪里设置win10_ie11兼容性视图设置

    ie兼容性视图在哪里设置win10_ie11兼容性视图设置在访问一些网站时被告知只能使用IE浏览器进行访问,我个人更新了win11的预览版本之后更是在系统中找不到IE的踪迹,edge中的“兼容性视图”选项并没有直接在设置出显示出来,于是一番努力后我发现了在edge中使用IE兼容性视图的设置方法。一、打开“设置”在edge右上角“…”选项中选择“设置”打开。二、设置“InternetExplorer模式”在设置页面的左侧选择“默认浏览器”,右侧将“允许在InternetExplorer模式下重新加载网站”的下拉选择由“默认值”改为“允许

  • 新手小白学JAVA 数组 数组工具类 二维数组

    新手小白学JAVA 数组 数组工具类 二维数组1数组1.1概念数组Array,标志是[],用于储存多个相同类型数据的集合想要获取数组中的元素值,可以通过脚标(下标)来获取数组下标是从0开始的,下标的最大值是数组的长度减11.2创建数组数组的创建方式一般分为动态初始化和静态初始化动态初始化int[]a=newint[5];静态初始化int[]b=newint[]{1,2,3,4,5};int[]c={1,2,3,4,5};1.3创建数组过程分析程序创建数组int[]a=new

发表回复

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

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