【ADRC】自抗扰控制

2023-05-16

在根据前面四篇文章的自抗扰控制各个功能部分的分解介绍以及对于PID算法原理的分析之后,具体可以查看我的主页。之后我们可以画出自抗扰控制的框图,并作出自抗扰的仿真了。

自抗扰的组成部分

ADRC说得更直白一些,就是PID算法的改进版本,它的许多模块都是针对PID算法的一些缺点来进行的改进。

1.对于阶跃响应,或者说初始误差较大时,PID容易难以兼顾快速性与超调之间的矛盾,或者说调试参数需要耗费非常多的时间,因此ADRC引入了跟踪微分器来输出一个过渡信号来跟踪目标信号,避免初始误差大的情况;

2.对于D项微分信号在实际中难以获取的问题,ADRC也引入跟踪微分器来输出过渡信号的微分信号作为目标微分信号,同时引入扩张状态观测器来输出反馈状态的微分信号来作为实际微分信号,它们的差值,即为ADRC的微分作用项的误差;

3.对于实际控制中的偏差,ADRC引入扩张状态观测器,人为引入非线性的偏移误差函数f来观测控制偏差并进行补偿

针对上述的三点,我们便可以画出ADRC的框图:

可以看到,在上一篇文章中,根据ADRC的思想去改进PID的框图与这个很像,只是把反馈状态的跟踪微分器替换成了扩张状态观测器,由观测器去输出反馈信号与反馈微分信号,并且输出一个扰动信号z3,之后将控制扰动 z3 加到控制器的输出 u0 上,再除以系统的控制器增益b0,得到最终的控制器输出。注意:在将 u 传入观测器时需要乘以控制器的增益 b0 ,同样的,观测器输出的扰动 z3 在增加到控制器输出 u0 上之后,也要除以这个增益 b0 ,一般来说有两种形式:

u = u0 - z3/b0 或 u = (u0 - z3) / b0

两种都可以,我画的是其中一种,不过一般来说,我这里都把 b0 置1了,所以简化了一些。之后可以搭建其模型:

同时我又搞了一个PID的,尝试将两者都调到同样的响应,看一下调试难度。

上面是调试出PID与ADRC相同的曲线,其实花费时间的话,都差不多,尤其是增快响应速度的时候,不过如果是单纯的增快速度的话,PID调起来会更快一些,但是确实容易带来超调,这时候就要找到Kp与Kd的平衡,抑制超调,ADRC的效果总体来说会平稳许多,但是ADRC调试比较耗费时间的是加快响应的过程,整体来说,ADRC的参数一般给到一个范围,基本都不会超调,都比较平稳。

那么这时候问题就来了,ADRC的优势在哪里,如果是PID使劲调,把传感器的微分测量也做得比较好,也可以达到这样效果的话,为何要用ADRC呢?此时我们把ADRC与PID的参数都保持不变,将控制上增加一个白噪声,就可以看出一些区别:

可以看到ADRC的抗扰能力要更好一些,我这里增加的扰动量(白噪声)的大小与频率都是相同的。具体的话,我后续会实际搞一个控制对象来测试实际的东西。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【ADRC】自抗扰控制 的相关文章

  • 我已经多次看到ADRC(自抗干扰控制)

    最开始是看到无名用ADRC 无名似乎17年就开始弄ADRC了 http www docin com p 2101934503 html ACfly和无名他们确实早就认识 https blog csdn net wang2012113132
  • 这篇很好地引入介绍了ADRC

    这篇很好地引入介绍了ADRC https zhuanlan zhihu com p 151342543 from voters page 61 true 从零开始搭建无人机控制系统 xff08 一 xff09 反馈与闭环 遥远的乌托邦 欢迎
  • ADRC自抗扰控制自学笔记(包含simulink仿真)(转载)

    他这里让我很好理解了跟踪微分器 非线性PID 准确说是非线性PD xff0c 所以可以看到输入是两根线而不是三根线 xff09 也就是说传统PID是线性的 xff1f 但是不是那些系统是非线性的 xff0c 比如无人机 xff0c 平衡车
  • 关于ADRC的一些粗鄙之语

    看这篇我感受到我控制理论方面的基础还掌握得不够 摘自 xff1a https zhuanlan zhihu com p 156228260 关于ADRC的一些粗鄙之语 隔壁uncle wang 机械工程Ph D amp 控制算法小萌新 ac
  • 自抗扰控制理论(一)ADRC的原理

    摘自 xff1a https zhuanlan zhihu com p 115283894 自抗扰控制理论 xff08 一 xff09 ADRC的原理 Chenglin Li 厦门大学 飞行器设计硕士在读 0 相关参考链接 Chenglin
  • (ADRC)自抗扰控制器学习总结(一)

    蓝色字体是我的评注 摘自 xff1a https blog csdn net qq 27270029 article details 78937854 ADRC自抗扰控制基本思想要点 xff1a 1 标准型与总扰动 xff0c 扩张状态与扰
  • 自抗扰控制理论(四)ADRC控制串级系统

    刚刚优酷里面看到一个用串级ADRC弄无人机的视频 https v youku com v show id XNDA5MTY5ODQxNg 61 61 html 摘自 xff1a https zhuanlan zhihu com p 1153
  • 这看到一个内环ADRC 外环PID的。

    这看到一个内环ADRC 外环PID的 https oversea cnki net Kcms detail detail aspx filename 61 1018818866 nh amp dbcode 61 CMFD amp dbnam
  • 我的ADRC调参经验总结

    提示 xff1a 本文是在前人基础上搭建的ADRC模型 xff0c 并根据这一模型学习如何对其进行调参时产生的 xff0c 部分结论来自论文 目录 前言一 控制系统简介二 调参步骤1 前后结果效果对比2 调参经验 总结参考链接 前言 ADR
  • 自抗扰控制ADRC之扩张观测器

    目录 前言 1 被控对象 被观测对象 2 非线性观测器 2 1仿真分析 2 2仿真模型 2 3仿真结果 3 线性观测器 3 1仿真模型 3 2仿真结果 4 总结和学习问题 前言 什么叫观测器 xff1f 为什么该类观测称为扩张观测器 xff
  • 20210824-ADRC数学和解释

    ADRC个人感觉就是 xff0c 对目标信号进行最速跟踪 43 不确定量观测补偿 43 低通滤波信号微分 43 pid 举例说明 xff1a 输入 xff1a Sr 目标电机速度 xff0c 输出 xff1a u 电机pwm 被控量 xff
  • ADRC的simulink仿真实现与m代码实现

    本文章以最简单的二阶系统为例 xff0c 介绍其simulink仿真实现和m代码实现 案例中的二阶系统如下所示 经典ADRC的基本结构如下 xff1a 本案例中的simulink仿真整体结构 xff08 为便于理解 xff0c 结构图与上述
  • ADRC控制系统离散形式的稳定性证明

    1 引言 这个问题是最近课题组一个师兄的SCI控制论文的一部分 xff0c 应师兄之邀 xff0c 博主贡献了控制系统稳定性的数学证明 博主目前的研究方向跟控制领域毫无关联 xff0c 只负责其中的系统收敛性证明 师兄的控制系统是一个较为一
  • 自抗扰控制(ADRC)

    1 ADRC控制原理和结构 xff08 1 xff09 最速跟踪微分器 TD xff08 2 xff09 扩张状态观测器 ESO xff08 3 xff09 非线性状态误差反馈 NLSEF 2 ADRC控制仿真 xff08 1 xff09
  • ADRC学习

    学习ADRC先从提出这个算法的论文 从 PID 技术到 自抗扰控制 技术 开始 https download csdn net download qq 34445388 10309935 调试四轮智能车 xff0c 板球控制系统 xff0c
  • ADRC最速综合函数fhan实现

    ADRC最优综合函数fhan函数测试 fhan函数是ADRC的跟踪微分控制器的核心函数 xff0c 使得状态变量可以快速跟踪上系统输入 本例中 xff0c 设理想输入v 61 sin t 用状态变量x1跟踪输入 xff0c x2跟踪输入的导
  • 自抗扰控制(ADRC)仿真系统(matlab/simulink)的搭建

    一 现在关于自抗扰控制技术方面的研究已经比较成熟了 xff0c 基本上熟悉结构以后都可以找到例子实现 xff0c 今天以一个简单的例子来介绍自抗扰控制的仿真系统搭建 xff0c 不必畏惧 xff0c 熟悉皆可达 1 首先自抗扰控制分为TD
  • ADRC(自抗扰控制器)技术附Matlab代码框架

    自抗扰控制器 Auto Active Disturbances Rejec ion Controller ADRC 是韩京清学者提出的 xff0c 是一种继PID控制器后的一种新型的实用的控制技术 它不是一种独立的技术 xff0c 可以理解
  • 基于ADRC的FOC位置环控制

    ADRC位置环控制 ADRC介绍1 非线性跟踪微分器2 非线性ESO观测器3 非线性状态误差反馈控制律原理 NLSEF 4 调参流程 xff1a 1 调TD2 调ESO3 调NLSEF 5 基于ADRC的位置环设计ADRC框图基于ADRC的
  • ADRC自抗扰控制学习

    入门 自抗扰控制01 xff1a 为何ADRC会成为百年PID算法的继承者 xff1f http news eeworld com cn mp ZLG a23516 jspx 自抗扰控制02 ADRC如何避免执行错误命令 http news

随机推荐

  • 栈中存储什么?

    一条线程对应一个栈 xff0c 一个方法对应一个栈帧 栈中 xff0c 存储的是一个一个的栈帧 xff0c 栈帧存储的是什么呢 xff1f 局部变量表 xff1a 存储的局部变量 xff0c 0位置代表this 操作数栈 xff1a 作用是
  • pdf导入pcb

    分为下面几步 xff1a 1 Illustrator 打开pdf 文件 导出为dxf 2 autocad 打开 xff0c 看看比例对不对 xff0c 缩放比例正确以后 xff0c 保存 旋转命令为rotate 测量为di 放大为sc 3
  • 如何在raspiberry pi上运行x86程序

    如何在raspiberry pi上运行x86程序 第一步 xff1a 下载ExaGear 步骤 xff1a 首选项 gt Add Remove Software gt 搜索ExaGear gt 下载搜索出来的四个包 第二步 xff1a 下载
  • 基于TINY4412的Andorid开发-------简单的LED灯控制【转】

    基于TINY4412的Andorid开发 简单的LED灯控制 阅读目录 Content 一 编写驱动程序二 编写代码测试驱动程序三 编写HAL代码四 编写Framework代码五 编写JNI代码六 编写App 参考资料 xff1a Andr
  • 计算机视觉——opencv-python

    opencv xff1a question1 10 main contentoriginal materialtrouble shootingq1 通道交换q2 灰度化q3 二值化q3 大津二值化算法 xff08 Otsu 39 s Met
  • 数字一阶低通滤波器simulink仿真

    数字一阶低通滤波器simulink仿真 原理程序所用公式滤波系数计算方法 仿真根据公式搭建使用simulink自带模型 原理 程序所用公式 y n 61 q x n 43 1 q y n 1 其中 xff0c y n 表示当前的输出 xff
  • SDFormat

    http sdformat org
  • putty远程连接不上虚拟机里的linux

    昨天跟着阿铭的视频在虚拟机中搭建了centos6 xff0c 然后用putty远程连接成功 今天中午鼓弄putty 的时候 xff0c 连接就报错了 xff1a network error xff1a connection refuse 网
  • 【ADRC】根据ADRC的思想改进PID

    根据前面两篇关于ADRC的文章以及PID原理的文章 xff0c 我们可以利用ADRC的思想来对PID算法做一些改进来看看效果 xff0c 可以将改进的PID称之为非线性PID 主要可以利用跟踪微分器 xff0c 针对PID的两个缺陷来进行改
  • STM32F1 TCA9548A 驱动多个IIC器件

    TCA9548A的用途就是IIC扩展 xff0c 每个TCA9548A可以扩展出8路IIC TCA9548A芯片带有地址选择引脚A0 A1 A2 xff0c 根据高低电平不同 xff0c 从MCU的一路IIC最多可以接入8个TCA9548A
  • 无限 for 循环的实现【Python】

    for 循环怎么才能无限循环下去呢 xff1f 1 最 low 的方法 xff1a 一个无限的列表 理解 for 在干什么 xff0c 在遍历 xff0c 那我们给他一个无限长的东西 xff0c 不就无限循环了 list span clas
  • VirtualBox 安装增强功能时无工具栏

    最近在学Ros xff0c 老师虚拟机用的是VirtualBox xff0c 在安装增强功能时 xff0c 找不到窗口顶部的工具栏 xff0c 如图 1 1所示 查了不少解决方案 xff0c 总结如下 图 1 1 Virtu alBox虚拟
  • Eigen库中的Identity()函数作用

    今天学习Eigen库 xff0c 看到示例代码中有这样一行 xff1a Matrix3d rotation matrix 61 Matrix3d Identity Matrix3d xff1a Eigen库中typedef的数据类型 xff
  • SLAM十四讲-ch3-vistalizegeometry编译问题

    最近在学高翔博士的 SLAM十四讲 xff0c 在ch3中运行vistalizegeometry这个demo的时候 xff0c 出现如下报错信息 xff08 图片版报错看不清的话 xff0c 文末 附文字版的报错信息 xff09 xff1a
  • C++库fmt缺失导致编译失败的解决方案【SLAM十四讲/ch4】

    最近学习高翔博士的SLAM十四讲 xff0c 学到ch4的时候 xff0c 实际运行demo报错 查看CMakeLists txt xff0c 发现Ubuntu20 04需要额外安装fmt库才可以编译通过 解决方法 xff1a 直接去fmt
  • SLAM十四讲编译全过程记录与错误与解决方案汇总

    章节目录 ch2 ch3 ch4 ch5 ch7 ch8 ch9 ch10 ch11 ch2 编译正常 xff0c log如下 xff1a slambook2 master ch2 mkdir build amp amp cd build
  • ROS安装:一键解决人生烦恼

    首先 xff0c 这个方法不是我发明的 xff0c 详情请见文末链接 不管你是unbuntu 16 18 20 xff0c 不管你是新安装的系统 xff0c 还是ROS装了一部分进行不下去的烂摊子都适用 xff01 直接输入下面这一行代码
  • 【Eigen库使用】角轴、旋转矩阵、欧拉角、四元数转换

    零 前言 在slam中经常用到的四种描述机器人orientation的变量 xff0c 他们之间可以相互转化 xff0c 使用Eigen库可以很容易的做到这一点 xff0c 需要特别关注的是 xff1a 欧拉角与其余量之间的转换关系 xff
  • 【Gazebo/ROS】阿克曼小车仿真环境设置中的心得体会

    最近科研需要在gazebo中做一个阿克曼小车的仿真 xff0c 要求小车运动能够通过话题来控制 xff0c 小车上要安装激光雷达 imu 相机等传感器用于SLAM定位建图 由于是第一次接触gazebo仿真 xff0c 所以分享一下学习心得
  • 【ADRC】自抗扰控制

    在根据前面四篇文章的自抗扰控制各个功能部分的分解介绍以及对于PID算法原理的分析之后 xff0c 具体可以查看我的主页 之后我们可以画出自抗扰控制的框图 xff0c 并作出自抗扰的仿真了 自抗扰的组成部分 ADRC说得更直白一些 xff0c