自抗扰控制ADRC之三种微分跟踪器TD仿真分析

news2024/9/25 19:18:59

目录

前言

1 全程快速微分器

1.1仿真分析

1.2仿真模型

1.3仿真结果

1.4结论

2 Levant微分器

2.1仿真分析

2.2仿真模型

2.3仿真结果

3.非线性跟踪微分器——韩教授

3.1仿真分析

3.2小结

4.总结


前言

工程上信号的微分是难以得到的,所以本文采用微分器实现带有噪声的信号及其微分信号提取,从而实现无需测量速度信号的控制。并且结合控制对象简单的用PID进行控制,即TD微分器+PID控制。

1 全程快速微分器

其中:

①x1为带有噪音的信号,也是TD的第一个状态变量,同理x2为信号的微分;

②R>0;a0、a1、b0、b1≥0;m和n为大于0的奇数,且m<n;

③当a1=b1=0时,上述微分器为线性微分器。

1.1仿真分析

取R=1/0.05, a=0.1,b=0.1,已知输入信号为v(t)= sint,并且带有噪声信号,噪声的幅值为0.05,采用连续的全程快速微分器提取信号及信号的微分。

1.2仿真模型

1.3仿真结果

1.4结论

①可以看到虽然和实际信息有些偏差,但是估计的效果还算可以。

②对于a1、b1≠0的非线性微分器好像调节效果和线性差不多,即a1、b1、m、n调节没效果?

③位移信号可以调节的很好,但是会牺牲微分信号。

④仿真注意:(1)噪声模块的采样时间为继承采样时间;(2)simulink仿真求解步长为定步长0.001

2 Levant微分器

微分器需要对信号的测量误差和输入噪声具有鲁棒性,而Levant微分器是基于滑模奇数的非线性微分器,其二阶微分器表达形式为:

对于Lipschitz的定义部分可参考下面博客的3.1部分:

基于LMI的非线性混沌系统滑模控制_Mr. 邹的博客-CSDN博客

注:虽然这类微分器具有滑模控制的鲁棒性,但是对于Levant微分器,需要事先知道输入信号v(t)导数的Lipschitz常数上界,才能设计微分器参数,这就限制了输入信号的类型。而且,对于这种微分器,抖振现象不可避免。

2.1仿真分析

同样取上述的噪音信号及其微分进行估计,选取参数:

①Lipschitz的常数上界为1,即C = 1,所以α > 1,取α = 18;

②λ > 4*C*(α+C)/(α-C),得λ≥4.4706,所以取λ = 6。

2.2仿真模型

2.3仿真结果

3.非线性跟踪微分器——韩教授

韩京清教授利用二阶最速开关系统构造出跟踪不连续输入信号并提取近似微分信号的机构,提出了非线性跟踪-微分器的概念。韩京清所提出的一种离散形式的非线性微分跟踪器在一些运动控制系统中得到了应用。

二阶离散系统:

离散形式的非线性微分跟踪器为:

注:

①f代表的是最速综合函数

②朱老师书中称这类非线性的跟踪微分器为最速反馈系统,个人理解的是:是因为信号和信号的微分相当于等价于一个二阶系统,现在设计微分跟踪器去复刻这个二阶系统,可以理解为这个信号系统的观测器。(欢迎批评指正!)

③实现x1跟踪信号v,x2跟踪信号微分v'

这里参考刘老师和朱老师的书籍有两种最速综合函数(还有很多,读者自行阅读文献仿真比对):

(1)最速综合函数fst:

(2)最速综合函数fhan:

:最速函数中的x1实际上就是x1(k)-v(k),x2为x2(k).

3.1仿真分析

由于韩教授提出的非线性微分跟踪器是离散的,且被控对象常常使用simulink建模连续系统,所以这里介绍三种TD建模方式:①采用纯m语言建模(编写在Function模块种);②Function模块定义最速综合函数f+simulink结合unit delay建模;③s函数编写TD微分跟踪器。

①采用纯m语言建模(编写在Function模块种)

②Function模块定义最速综合函数f+simulink结合unit delay建模

③s函数编写TD微分跟踪器

3.2小结

可以看到两种方法仿真的结果都一致,读者也可以试试全部用m语言编写。

4.总结

①可以看到两种微分器都能将实现带噪声信号的估计,虽然有一定的误差

②信号的微分估计的稍差一些

③注意仿真时噪声模块的采样时间设定为继承采样时间:-1;且simulink设定为定步长0.001的求解器。

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

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

相关文章

重磅 | 小O软件新品【鲸鱼地图】发布

千呼万唤始出来.......&#xff0c;小O系列软件又添新品【鲸鱼地图】&#xff01;&#xff01;&#xff01; 2023年新年伊始&#xff0c;小O就投入到新品研发工作中&#xff0c;秉承“发现地理价值”理念&#xff0c;为用户提供更加好用、易用的地图软件产品&#xff0c;经过春…

【C语言】编程初学者入门训练(完结)

文章目录1. 实践出真知2. 我是大V3. 有容乃大4. 小飞机5. 缩短2进制6. 十六进制转十进制7. printf的返回值8. 成绩输入输出9. 学生基本信息输入输出10. 字符圣诞树11. ASCII码12. 出生日期输入输出13. 按照格式输入并交换输出14. 字符转ASCII码15. 计算表达式的值16. 计算带余除…

Java特性之设计模式【策略模式】

一、策略模式 概述 在策略模式&#xff08;Strategy Pattern&#xff09;中&#xff0c;一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式 在策略模式中&#xff0c;我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略…

Matlab数学建模常用算法及论文插图绘制模板资源合集

最近有很多朋友咨询我关于Matlab论文插图绘制方面的问题。 问了一下&#xff0c;这些朋友中&#xff0c;除了写博士论文的&#xff0c;大部分都是要参加美赛的。 这让我突然想起&#xff0c;自己曾经为了水论文&#xff0c;购买过一批Matlab数学建模的资料。 想了想&#xf…

EMIF转AXI-Lite接口

最近想用DSP对FPGA里的IP进行配置&#xff0c;感觉没有什么特别好的办法。如果能像Zynq一样直接有能够配置外设的AXI-Lite接口就好了。EMIF是DSP的外部存储器访问接口&#xff0c;支持对存储器的同步或异步访问。在我现有的条件下&#xff0c;利用EMIF接口配置FPGA内部的寄存器…

2023河南省第二届职业技能大赛郑州市选拔赛“网络安全”项目比赛样题任务书

2023河南省第二届职业技能大赛郑州市选拔赛“网络安全” 项目比赛样题任务书 一、竞赛时间 共计360分钟。 竞赛任务书内容 2023河南省第二届职业技能大赛郑州市选拔赛“网络安全” 项目比赛样题任务书 A模块基础设施设置/安全加固&#xff08;200分&#xff09; A-1&…

如何安全存储企业文件?

信息时代的到来&#xff0c;企业文件的安全存储越来越被企业管理者看重。常见的企业文件存储是借用第三方工具&#xff0c;如企业网盘&#xff0c;这种方法性价比高&#xff0c;而且也比较安全&#xff0c;被各大企业所喜爱。市面上的企业网盘类工具不胜枚举&#xff0c;该如何…

O(1)调度器:Linux2.6版本的核心算法

上一章学习了O(n)调度器的设计&#xff0c;以及它的核心算法&#xff0c;其主要思路如下&#xff1a; O(n)调度器采用一个Runqueue运行队列来管理所有可运行的进程&#xff0c;在主调度schedule函数中选择一个优先级最高&#xff0c;也就是时间片最大的进程来运行&#xff0c;…

2019蓝桥杯真题完全二叉树的权值 C语言/C++

题目描述 给定一棵包含 N个节点的完全二叉树&#xff0c;树上每个节点都有一个权值&#xff0c;按从 上到下、从左到右的顺序依次是 A_1, A_2, A_N&#xff0c;如下图所示&#xff1a; 现在小明要把相同深度的节点的权值加在一起&#xff0c;他想知道哪个深度的节点 权值之和最…

力扣2241. 设计一个 ATM 机器

力扣上的一个中等难度的题&#xff0c;之所以写一篇博客记录下来&#xff0c;是因为貌似触发了力扣的彩蛋&#xff0c;第一次遇见&#xff0c;感觉挺有意义的。 题目如下&#xff1a; 一个 ATM 机器&#xff0c;存有 5 种面值的钞票&#xff1a;20 &#xff0c;50 &#xff0c…

手把手教你使用gdb调试器

所谓调试&#xff0c;指的是对编好的程序用各种手段进进行查错和排非错的过程。进行这种查错处理时&#xff0c;下面将讲解如何使用gdb进行程序的调试。 gdb 简介 gdb是一个功能强大的调试工具&#xff0c;可以用来调试C程序或C程序。在使用这个工具进行程序调试时&#xff0…

nodejs学习-4:nodejs连接mongodb和相关操作

1. express生成器生成express模板 前提需要首先下载好&#xff1a;express-generator&#xff0c;命令如下(全局安装) npm install -g express-generator生成模板命令如下&#xff1a; express 项目名称 --viewejs // --view 参数表示前端界面使用的引擎&#xff0c;这里使用…

Java线程池运行原理,线程池源码解读【Java线程池学习二】

一、前奏 有了上一篇博文的学习&#xff0c;相信你对于线程池的使用这块已经不在存在什么问题了&#xff0c;日常开发和面试也都足够了。 线程池最优使用策略【Java线程池学习一】 但随着时间的推移在闲下来的时候我突然想&#xff0c;当任务进入了队列之后是怎么取出来的呢…

linux系统根文件系统构建

根文件系统构建 一、根文件系统简介 根文件系统是 Linux 内核启动以后挂载(mount)的第一个文件系统&#xff0c;从根文件系统中读取初始化脚本&#xff0c;比如 rcS&#xff0c;inittab 等。根文件系统和 Linux 内核是分开的&#xff0c;单独的 Linux 内核是没法正常工作的&a…

快捷获取GDI+绘图参数的两种经验方案

文章目录一、使用系统的枚举二、专用枚举1、颜色Color2、字体Font3、字体名称4、笔刷Brush5、笔Pen6、矩形Rectangle7、点Point8、大小Size文章出处&#xff1a; https://blog.csdn.net/haigear/article/details/129085403在绘图中&#xff0c;常常需要给出颜色&#xff0c;字体…

目标检测各常见评价指标详解

注&#xff1a;本文仅供学习&#xff0c;未经同意请勿转载 说明&#xff1a;该博客来源于xiaobai_Ry:2020年3月笔记 对应的PDF下载链接在&#xff1a;待上传 目录 常见的评价指标 准确率 &#xff08;Accuracy&#xff09; 混淆矩阵 &#xff08;Confusion Matrix&#xff…

SpringBoot实现统一返回接口(除AOP)

起因 关于使用AOP去实现统一返回接口在之前的博客中我们已经实现了&#xff0c;但我突然突发奇想&#xff0c;SpringBoot中异常类的统一返回好像是通过RestControllerAdvice 这个注解去完成的&#xff0c;那我是否也可以通过这个注解去实现统一返回接口。 正文 这个方法主要…

Django框架之模型视图--HttpResponse对象

HttpResponse对象 视图在接收请求并处理后&#xff0c;必须返回HttpResponse对象或子对象。HttpRequest对象由Django创建&#xff0c;HttpResponse对象由开发人员创建。 1 HttpResponse 可以使用django.http.HttpResponse来构造响应对象。 HttpResponse(content响应体, con…

【opencv源码解析0.2】opencv库源码编译

如何编译opencv库源码 大家好&#xff0c;我是周旋&#xff0c;感谢大家学习【opencv源码解析】系列&#xff0c;本系列首发于公众号【周旋机器视觉】。 上篇文章我们介绍了如何配置opencv环境&#xff0c;搞清了opencv的包含目录include、静态库链接以及动态库链接的作用。 【…

(考研湖科大教书匠计算机网络)第五章传输层-第四节:TCP流量控制

获取pdf&#xff1a;密码7281专栏目录首页&#xff1a;【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一&#xff1a;流量控制概述二&#xff1a;流量控制举例三&#xff1a;拓展阅读&#xff08;可不看&#xff09;&#xff08;1&#xff09;TCP流量控制完整例子&a…