ADRC与INDI的关系

ADRC与INDI的关系

前言

一直热衷于把一些基础的东西想明白,这样才能更好地理解一些稍微复杂些的算法,在深入理解这些算法后才能更好地应用。
例如

  1. 用回路成型方法探究ADRC各参数对闭环系统的影响
  2. 对比KF和RLS的关系
  3. 互补滤波的原理以及参数整定(这个我看过类似的文章,但是可能还需要结合一些实际工程应用来说明)
  4. KF的参数整定(分别从时域和频域角度)
  5. ADRC与INDI的关系

本文要介绍的是第5个,这个是我一直想抽时间研究下的东西,结果那天把系统结构图画出来一下子就清楚了,其实也没有太多好讲的。
其余的有机会再一一记录下。

前言至此,以下就是个人拙见。

正文: ADRC是一种特殊的INDI

INDI的核心是通过状态微分的反馈,来将系统动态快速更新到控制器中,从而快速补偿扰动。这里的状态微分通常需要通过微分器DF得到,而在计算前控制量 u 0 u_0 u0时需要加入延时相等的低通滤波器LPF。
因此得到下图所示INDI的框图。
INDI控制系统框图
图中 X X X 为被控量, X r X_r Xr为指令, K K K 为控制增益, v v v 为虚拟控制量, Δ u \Delta u Δu 为增量控制量, X ˙ 0 \dot{X}_0 X˙0为微分后得到的被控量导数, u 0 u_0 u0为低通滤波后的控制量,在INDI控制中通常理解为上一时刻的控制量。
其中LPF和DF为一阶形式时:

L P F = 1 τ s + 1 \qquad\qquad\qquad\qquad\qquad\qquad LPF=\frac{1}{\tau s+1} LPF=τs+11
D F = s τ s + 1 \qquad\qquad\qquad\qquad\qquad\qquad DF=\frac{s}{\tau s+1} DF=τs+1s
其中 τ \tau τ 为时间常数

下面则是LADRC的框图。
ADRC控制系统框图
其中扰动估计 z 2 z_2 z2表达式为
z 2 = ω 2 s s 2 + 2 ω s + ω 2 x − ω 2 s 2 + 2 ω s + ω 2 u \qquad\qquad\qquad\qquad\qquad z_2=\frac{\omega ^2 s}{s^2+2\omega s + \omega ^2 }x - \frac{\omega ^2 }{s^2+2\omega s + \omega ^2 }u z2=s2+2ωs+ω2ω2sxs2+2ωs+ω2ω2u

对比两个框图以及公式,可以得出一个结论:
ADRC可以认为是一种特殊的INDI

这个特殊性体现在两个方面。

  1. INDI可以应用于控制效率恒定或不恒定的情况 ,其控制器可以是增量形式,也可以是全量形式。如果被控对象控制效率恒定,则可以采用全量形式;如果控制效率不恒定,则需采用增量形式,实时计算其控制效率以及控制量增量(当控制量多于被控量时,控制增量的分配会引入路径依赖问题)。
    ADRC只能用于控制效率恒定的情况(当然其余情况也不是不能用,只是控制效率变化引起的动态变化也要归结到扰动中了)。
  2. 如果系统控制效率是恒定的,则ADRC是一种DF和LPF都为二阶形式的INDI。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1553139.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【Python报错已解决】TypeError: not enough arguments for format string

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

C++【类和对象】(再探构造函数、类型转换与static成员)

文章目录 1. 再探构造函数2. 类型转换3. static成员结语 1. 再探构造函数 之前我们实现构造函数时,初始化成员变量主要使用函数体内赋值,构造函数初始化还有⼀种方式,就是初始化列表,初始化列表的使用方式是以⼀个冒号开始&#…

体系结构论文(五十三):Featherweight Soft Error Resilience for GPUs 【22‘ MIRCO】

Featherweight Soft Error Resilience for GPUs 一、文章介绍 背景:软错误通常由高能粒子(如宇宙射线和α粒子)打击电路造成的位翻转,可能导致程序崩溃或产生错误输出。随着电子技术的进步,电路对这种辐射引发的软错…

电子连接器温升仿真教程 二

在《电子连接器温升仿真教程 一》中详细介绍了用内热法做电子连接器温升仿真的操作步骤与方法,本教程将讲解用电流电压法做电子连接器温升仿真。 本教程,将以下面产品为例演示温升仿真方法其操作步骤。 该连接器为电池连接器,其Housing材料为LCP+30%GF,端子材质为铍铜…

Linux相关概念和重要知识点(11)(进程调度、Linux内核链表)

1.Linux调度算法 上篇文章我粗略讲过queue[140]的结构,根据哈希表,我们可以将40个不同优先级的进程借助哈希桶链入queue[140]中。调度器会根据queue的下标来进行调度。但这个具体的调度过程是怎样的呢?以及runqueue和queue[140]的关系是什么…

[C++] 剖析AVL树功能的实现原理

文章目录 引言AVL树的关键性质为什么选择AVL树? AVL树的结构节点对象的类 AVL树的插入检查是否为空树并处理根节点查询插入位置(非递归)插入节点并连接父节点更新平衡因子(在失去平衡的条件下进行旋转) 旋转旋转的原则…

基于ssm的学生社团管理系统 社团分配系统 社团活动调度平台 学生社团管理 信息化社团管理开发项目 社团活动管理 社团预约系统(源码+文档+定制)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

VMware中Ubuntu系统Docker正常运行但网络不通(已解决)

问题描述:在VMware中的Ubuntu系统下部署了Docker,当在docker容器中运行Eureka微服务时,发现Eureka启动正常,但无法通过网页访问该容器中Eureka。 解决办法如下: 1、创建桥接网络:test-net sudo docker n…

一文带你入门客制化键盘,打造专属打字利器

我用过不少键盘,但是都不太符合自己的需求,最后还是走向了客制化。 客制化,可以理解为自定义、DIY,自己动手拼装出一把只属于自己的键盘。 本文会对客制化做个简单的介绍,旨在读者能自己简单拼装出一款键盘。 目前市…

QStyle文档

前言 本文翻译自Qt官方文档,详细介绍了各成员/类型的作用,包含部分示例代码。 QStyle类的内容非常庞大,如需快速了解类成员和使用简介,请参见 QStyle简介。 一、QStyle Class QStyle是一个抽象基类,封装了GUI的外观…

OpenGL笔记之事件驱动设计将相机控制类和应用程序类分离

OpenGL笔记之事件驱动设计将相机控制类和应用程序类分离 —— 2024-10-02 下午 code review! 文章目录 OpenGL笔记之事件驱动设计将相机控制类和应用程序类分离1.代码图片2.分析3.UML4.代码 1.代码图片 运行 Mouse button 1 pressed at (100, 200) Mouse dragged by (50, 50)…

Spring(学习笔记)

<context:annotation-config/>是 Spring 配置文件中的一个标签&#xff0c;用于开启注解配置功能。这个标签可以让 Spring 容器识别并处理使用注解定义的 bean。例如&#xff0c;可以使用 Autowired 注解自动装配 bean&#xff0c;或者使用 Component 注解将类标记为 bea…

10/02赛后总结

T1学习除法 题目传送门&#xff1a;学习除法http://bbcoj.cn/contest/1028/problem/1 说白了&#xff0c;就是检验是不是质数罢了&#xff0c;是质数输出0&#xff0c;不然输出1&#xff1b; 但是质数判断写错了 100分只有60分&#xff0c;damn #include<bits/stdc.h>…

【Linux】进程间关系与守护进程

超出能力之外的事&#xff0c; 如果永远不去做&#xff0c; 那你就永远无法进步。 --- 乌龟大师 《功夫熊猫》--- 进程间关系与守护进程 1 进程组2 会话3 控制终端4 作业控制5 守护进程 1 进程组 之前我们提到了进程的概念&#xff0c; 其实每一个进程除了有一个进程 ID(P…

Django5 使用pyinstaller打包成 exe服务

首先&#xff1a;确保当前的django项目可以完美运行&#xff0c;再进行后续操作 python manage.py runserver第一步 安装 pyinstaller pip install pyinstaller第二步 创建spec 文件 pyinstaller --name manage --onefile manage.pypyinstaller&#xff1a;这是调用 PyInsta…

数据异质性与数据异构性的本质和举例说明

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 在现代数据科学与信息技术领域&#xff0c;“数据异质性” 与 “数据异构性” 是两个常见的概念。对于初学者而言&#xff0c;明确这两个概念的本质及其间的差异至关重要。本文旨在以简明易懂的方式&am…

Python笔记 - 利用装饰器设计注解体系

认识注解 注解&#xff08;Annotation&#xff09;是一种用于为代码添加元数据的机制。这些元数据可以在运行时被访问&#xff0c;用于为代码元素&#xff08;如类、方法、字段等&#xff09;提供额外的信息或指示。 由于Python中装饰器只能装饰类和方法&#xff0c;因此也只…

Mac 网络连接正常,微信可以使用,但浏览器打不开网页?

解决&#xff1a; Step1&#xff0c;选择&#x1f34e;图标&#xff0c;选择系统设置&#xff08;或系统偏好设置&#xff09;打开&#xff1b; Step2&#xff0c;选择网络&#xff0c;Wi-Fi Step3&#xff0c;选择详细信息&#xff1b; Step4: 选择代理&#xff0c;关闭右…

3.点位管理改造-列表查询——帝可得管理系统

目录 前言一、与页面原型差距1.现在&#xff1a;2.目标&#xff1a;3. 存在问题&#xff1a;所在区域和合作商ID展示的都是ID&#xff0c;而不是名称&#xff1b;同时合作商ID应改为合作商 二、修改1.重新设计SQL语句2.修改mapper层&#xff0c;使用Mybatis中的嵌套查询3.修改s…

C. Tree Pruning【Codeforces Round 975 (Div. 1)】

C. Tree Pruning (永远不知道为什么TLE直到把初始化的memset换成for循环 题意很简单&#xff0c;就是找到一个深度&#xff0c;使得删除最少的节点且所有的叶子节点都为这个深度。 从小到大遍历可能的深度i&#xff0c;容易知道所有 深度大于i的节点 和所有 子树最大深度小于i…