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处的两个参数。

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

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

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


相关推荐

  • mybatispluslog激活码[最新免费获取]

    (mybatispluslog激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1STL5S9V8F-eyJsaWNlb…

    2022年3月27日
    226
  • Android基于百度OCR识别图片中的文字

    Android基于百度OCR识别图片中的文字    OCR(OpticalCharacterRecognition),即光学字符识别,指的是针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。简单的来说,OCR技术就是可以把图片上的文字识别出来,并以文本格式的形式提取出来。    该技术已广泛应用于生活中。比如很多翻译软件都有的拍照翻译功能,就利用了该技术。这里尝试使用百度OCR接口实现Android拍照识别文字功能。请求模块定义   

    2022年5月13日
    45
  • settimeout()停止_需求方案

    settimeout()停止_需求方案转载https://aotu.io/notes/2017/09/25/manage-setTimeout-an-setInterval/在管理setTimeout&setInterval这两个APIs时,笔者通常会在顶级(全局)作用域创建一个叫 timer 的对象,在它下面有两个数组成员——{sto,siv},用它们来分别存储需要管理的setTimeoutID/…

    2022年10月3日
    5
  • Git2.21下载安装及使用教程

    Git2.21下载安装及使用教程Git2.21下载安装及使用教程Git下载安装教程下载Git下载地址:https://git-scm.com/downloads安装步骤1.选择组件,全部勾选,点击next2.选择git使用的默认编辑器3.选择git使用的默认编辑器UseGitfromGitBashonly(安全)只在GitBash中使用Git命令行工具Gitfromthecomm…

    2022年5月13日
    37
  • 自动控制原理哈工大课后答案_控制系统的数学模型答案

    自动控制原理哈工大课后答案_控制系统的数学模型答案计算机控制系统大作业,简析冯诺依曼结构和哈佛结构异同浅析冯诺依曼结构与哈佛结构摘要:本文简要介绍了冯诺依曼结构与哈佛结构,将两者原理及应用情况进行了对比分析,并对计算机组成发展趋势做了简单预测。关键词:计算机系统结构冯诺依曼结构哈佛结构1冯诺依曼结构与哈佛结构1.1冯诺依曼结构冯诺依曼结构(VonNeumannarchitecture),也称普林斯顿结构,它把程序本身当作数据来对待,程…

    2022年9月28日
    4
  • 移动端触摸touchstart监听事件[通俗易懂]

    移动端触摸touchstart监听事件[通俗易懂]click、mousedown等事件适用于PC端,在移动端会有一定时间的延迟,所以更好的优化移动端体验,要用touch事件,1、首先要添加一个监听事件,监听移动端行为element.addEventListener(event,function,useCapture)我这里是针对浏览器行为,所以监听事件为//添加触摸监听事件,如果手指触摸到阴影…

    2022年6月19日
    73

发表回复

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

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