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调整有着它无可比拟的有点,在抵抗干扰方面更为出色。最后附上仿真的代码,各位大佬可以调调参数。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
仿真源码

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • javabyte数组转string_byte数组转string

    javabyte数组转string_byte数组转stringbyte[]result=HttpUtils.POST(“http://xxxx/project/get”,obj.getBytes()); Stringt=newString(result);

    2022年8月30日
    0
  • Traits技法[终于解决]

    扮演“特性萃取机”角色,萃取各个迭代器的特性(迭代器的相应类型)模板特例化:提供一份template定义式,而其本身仍为templatization通过classtemplatepartial

    2021年12月18日
    44
  • 数仓分层理论_多元分层理论

    数仓分层理论_多元分层理论​数仓分层、元数据管理、数据质量管理

    2025年6月8日
    0
  • Eclipse导入Maven项目详解(新手初学)

    Eclipse导入Maven项目详解(新手初学)最近遇到Maven管理下的SpringMVC项目,组内某位将项目代码扔过来,一脸懵逼(囧),查阅了一些资料后终于将此项目运行通了(>_<),特此记录下来与各位分享。通俗的来说,Maven就是个类似于git的项目管理工具。而SpringMVC就是将M(Model)、V(View)、C(Controller)三者进行分离进行处理,更有利于开发的进行。下面我将介绍一个别人已经编译好的Maven项

    2022年5月31日
    44
  • 黑盒测试的优缺点_黑盒测试的概念

    黑盒测试的优缺点_黑盒测试的概念黑盒测试概念:又称功能测试或数据驱动测试,是用来检测每个功能是否正常使用。黑盒测试主要意味着测试要在软件的接口处进行,这种测试方法是将测试对象看成一个盒子,测试人员不考虑内部,直接按照需求规则说明书,直接检查他的功能是否符合要求。如上图所示,将系统看成黒盒,内部如何实现是不需要了解的,只需要知道输入和预期输出。黑盒的优缺点介绍:黑盒测试的优点有:1.不需要了解程序内部的代码及实现,操作…

    2022年10月3日
    0
  • uniqueResult_unique的用法和例句

    uniqueResult_unique的用法和例句uniqueResult()返回唯一结果Result()返回结果(展示所有结果)hql=”selectmax(sid)fromstudents”;Queryquery=session.createQuery(hql);sid=(String)query.uniqueResult();//返回唯一结果

    2022年9月11日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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