ADRC学习

学习ADRC先从提出这个算法的论文《从PID技术到“自抗扰控制”技术》开始。https://download.csdn.net/download/qq_34445388/10309935调试四轮智能车,板球控制系统,两轮直立车,舵机控制,这些控制系统用的都是PID控制,虽然我已经有很多种改进方法,但是还是很难突破传统PID的限制,调节速度和超调一定同时存在,想要得到较好的控制效果,用现…

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

学习ADRC先从提出这个算法的论文《从 PID 技术到“自抗扰控制”技术》开始。
https://download.csdn.net/download/qq_34445388/10309935
调试四轮智能车,板球控制系统,两轮直立车,舵机控制,这些控制系统用的都是PID控制,虽然我已经有很多种改进方法,但是还是很难突破传统PID的限制,调节速度和超调一定同时存在,想要得到较好的控制效果,用现代控制理论解决,要知道精确的系统模型。从网上看到有ADRC这种综合了PID和现代模型的优势的控制算法,想要学习一下。
一、先回味一下传统的PID控制技术
PID控制技术相对于是非常简单的,很容易就理解了,基于误差进行控制,只要有误差,就会往无限逼近误差为零的方向调节。
这里写图片描述
PID的优点很明显,简单,就是简单,就这么一个公式什么都能进行控制。
但是在使用过程中还是有些技巧的!
1、I 这个量虽然能提高控制的精度,但是他的存在很容易造成超调和滞后,对于响应速度较高(比较接近系统的开环响应频率)的系统,基本上都要选用PD控制,如果是想要再提高响应而不顾超调的话,可以通过对I做限幅,不完全积分等方法加入控制中,明显能够提高系统的响应,但是超调量会急剧增加。
2、P的控制是系统综合能力的体现,P小的时候系统相对稳定,但是跟踪能力差,P大的时候系统总是存在震荡现象。如果你在调试一个系统的时候,他经常会让你抓狂,大也不是,小也不是。这时候就可以使用一些变P的手段,提高P的阶数,增加系统的响应,同时在小误差时能够兼顾稳定性 P= a * Error * Error + b。用一个标准二阶函数就能显著的提高控制系统的品质。
3、D 这个量,确实对于控制的预判有着非常明显的作用,尤其是大滞后的系统,加D之后,能够明显提高响应和抑制积分控制造成的后遗症。但是经过我多次调试发现,微分变量对系统的改善的上限到达比较快,基本上都是PI调节完成之后,D再能对系统品质提高10%——20%,之后就会没什么作用,或者引起震荡。

所以我以前的调试总是绞尽脑汁的想办法,变P变I变D,可是总是很难兼顾系统在不同状态的运行。尤其是增加了很多的调试参数,最后自己都是一团乱,还不能说出一个所以然。看完这一篇感觉恍然大悟,直击内心深处。
PID 的缺点:
①误差的取法;
②由误差 e 提取de/dt 的办法;
③“加权和”策略不一定最好 ;
④积分反馈有许多副作用
我上面说的问题确实很多都与总结的四点有关,下面我们就看看解决办法。
这里写图片描述
这里写图片描述
这里的 ‘tao’(那个字符不会显示)在我的理解里就是采样间隔时间,有时候确实是这样的,采样周期越短,噪声被放大越大,引起系统的震荡。比如说直立车速度调节,因为直立,速度和转向都是调节轮子的转速,所以测量的速度噪声特别大,提高采样周期之后才能明显降低噪声的影响。

跟踪微分器TD
看了论文和各种资料,下面我介绍一下我认识的ADRC的TD,至于具体推导原理,是在是不懂。
https://download.csdn.net/download/qq_34445388/10318629
这是韩京清先生研究ADRC几乎所有的论文集链接。
这里写图片描述
这是跟踪微分控制器的离散方程,看方程其实就很直接。
h:为时间尺度 MATLAB的仿真步长为0.001所以 h = 0.001

这里写图片描述
Simulink 模型里的TD 有一个输入状态,经过TD安排过渡时间,计算fst(快速控制最优综合函数)后,会得到两个输出v1 目标状态,v2系统的微分。
这里写图片描述
这是TD的内部结构,和公式里面的一样,就是跟踪微分的阶跃响应公式。fst 输入的第一个参数为
v1(t) – v0(t).在结构图里,就是v1-v,之后的结构对照公式即可看明白。
这里写图片描述

这里看一下对TD的仿真波形图。
这里写图片描述
基本上很好的跟踪上了正弦波。
这里提示一下TD模型里的参数修改的地方。在这个模型里只有两个参数r,h.
这里写图片描述
这里写图片描述
双击1,再选择2的地方就可以了。然后设置3处的两个参数。

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

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

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

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

(0)
blank

相关推荐

  • 100——第17例[通俗易懂]

    100——第17例[通俗易懂]100——第17例

  • TraceView总结

    TraceView总结

    2021年12月14日
  • 根目录执行chmod -R 777 / 的补救方法

    根目录执行chmod -R 777 / 的补救方法

  • 学习SQL Server这一篇就够了

    学习SQL Server这一篇就够了目录第一章数据库概述1.1、数据库的好处1.2、数据库的常见概念1.3、数据库的存储特点1.4、数据库的常见分类1.5、SQL语言的分类第二章SQLServer概述2.1、SQLServer的概述2.2、SQLServer的下载2.3、SQLServer的安装2.4、SQLServer的第一种连接2.5、SQLServer的第二种连接2.6、SQLServer的连接说明第三章SQLServer数据库管理3.1、创建数据库3.1.1、界面方式3.1.2、命令方式3.2、修改数据库3.2.

  • LoadRunner 压力测试

    LoadRunner 压力测试一、LoadRunner安装1.复制一下地址,然后打开迅雷,新建,选择一个磁盘大的空间,显示4.02G的ISO文件http://www.genilogix.com/downloads/loadrunner/loadrunner-11.isohttp://h30302.www3.hp.com/prdownloads/Software_HP_LoadRunner_11.00_Sim_Chines

  • 十款磁盘碎片整理工具

    十款磁盘碎片整理工具说到磁盘整理工具,应该说说磁盘碎片的定义,为什么磁盘碎片会对系统性能造成影响。首先我不是专业的电脑人员,对很专业的理论知识不懂,在这里只可以用很通俗很日常的语言来表达。其实磁盘碎片应该称为文件碎片,是因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的。为什么这些碎片多了,会对系统性能造成影响呢?打个比方,你的房间你很久没有整理和清洁了,原本有条…

发表回复

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

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