自抗扰(ADRC)控制原理及控制器设计
https://blog.csdn.net/weixin_43487974/article/details/127163824?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2defaultYuanLiJiHuaPosition-2-127163824-blog-122591196.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2defaultYuanLiJiHuaPosition-2-127163824-blog-122591196.pc_relevant_default&utm_relevant_index=5
//最速控制综合函数
FH_Float fhan(FH_Float x1, FH_Float x2, FH_Float ctrlError, int r, FH_Float h)
{
FH_Float d = r*h;
FH_Float d0 = d*h;
FH_Float y = x1 - ctrlError + h*x2;
FH_Float a0 = sqrt(d*d + 8*r*fabs(y));
FH_Float a,f;
if(fabs(y) <= d0)
a = x2 + y/h;
else
a = x2 + 0.5*(a0 -d)*Sign(y);
if(fabs(a) <= d)
f = -r*a/d;
else
f = -r*Sign(a);
// LogPrintf("fhan f=%f,a=%f,a0=%f,y=%f,pid=%f,x1=%f,x2=%f./n",f,a,a0,y,ctrlError,x1,x2);
return f;
}
//TD微分跟踪器
FH_Float TD_differential_track(struct PIDController_t* pidCtrller)
{
// int r = 10; //调节系数
struct PIDControllerParams_t* pidParams = (struct PIDControllerParams_t*)pidCtrller->base.params;
int r = pidParams->td_r;
FH_Float h = 0.02; //滤波因子 略大于步长(0.01)
FH_Float x_1k = pidCtrller->td_x1;
FH_Float x_2k = pidCtrller->td_x2;
FH_Float rtn = fhan(x_1k,x_2k,pidCtrller->ctrlError,r,h);
pidCtrller->td_x1 = x_1k + AgvSamplePeriod*x_2k;
pidCtrller->td_x2 = x_2k + AgvSamplePeriod*rtn;
pidCtrller->ctrlError = pidCtrller->td_x1;
}
自抗扰(ADRC)控制原理及控制器设计的更多相关文章
- 基于FPGA的XPT2046触摸控制器设计
基于FPGA的XPT2046触摸控制器设计 小梅哥编写,未经许可,文章内容和所涉及代码不得用于其他商业销售的板卡 本实例所涉及代码均可通过向 xiaomeige_fpga@foxmail.com 发 ...
- 基于FPGA的SPI FLASH控制器设计
1.SPI FLASH的基本特征 本文实现用FPGA来设计SPI FLASH,FLASH型号为W25Q128BV.支持3种通信方式,SPI.Dual SPI和Quad SPI.FLASH的存储单元无法 ...
- 2014.04.28基于CPLD的LCOS场序彩色视频控制器设计
基于CPLD的LCOS场序彩色视频控制器设计 作者:宋丹娜,代永平,刘艳艳,商广辉 发表刊物:液晶与显示,2009 学习时间:2014.04.28 文章讲述了-- (和上一篇论文有些相似之处) 1. ...
- [Fundamental of Power Electronics]-PART II-9. 控制器设计-9.6 环路增益的测量/9.7 本章小结
9.6 环路增益的测量 测量原型反馈系统的环路增益是一个非常好的工程实践.这种实践的目的是验证系统是否被正确地建模.如果是的,那么已经应用了良好控制器设计的系统,其特性将满足相关瞬态过冲(相角裕度), ...
- [Fundamental of Power Electronics]-PART II-9. 控制器设计-9.5 控制器的设计
9.5 控制器设计 现在让我们来考虑如何设计控制器系统,来满足有关抑制扰动,瞬态响应以及稳定性的规范或者说设计目标.典型的直流控制器设计可以用以下规范定义: 1.负载电流变化对输出电压调节的影响.当负 ...
- php前端控制器设计1
The primary role of a front controller in web-based applications is to encapsulate the typical reque ...
- [Fundamental of Power Electronics]-PART II-9. 控制器设计-9.4 稳定性
9.4 稳定性 众所周知的是,增加反馈回路可能会导致原本稳定的系统变得不稳定.尽管原变换器传递函数(式(9.1))以及环路增益\(T(s)\)不包含右半平面极点,但式(9.4)的闭环传递函数仍然可能存 ...
- [Fundamental of Power Electronics]-PART II-9. 控制器设计-9.3 关键项1/(1+T)和T/(1+T)以及闭环传递函数的构建
9.3 关键项\(1/(1+T)\)和\(T/(1+T)\)以及闭环传递函数的构建 从式(9.4)到(9.9)的传递函数可以很容易的由图形代数方法进行构建.假设我们已经分析了反馈系统模块,并且已经画出 ...
- [Fundamental of Power Electronics]-PART II-9. 控制器设计-9.1 引言
9.1 引言 在所有的开关变换器中,输出电压\(v(t)\)都是输入电压\(v_{g}(t)\),占空比\(d(t)\),负载电流\(i_{load}(t)\)和电路元件值的函数.在DC-DC变换器应 ...
- AHB SRAM控制器设计
随机推荐
- [排序算法] 双向冒泡排序 (C++)
前言 本文章是建立在冒泡排序的基础上写的,如还有对 冒泡排序 不了解的童鞋,可以看看这里哦~ 冒泡排序 C++ 双向冒泡排序原理 双向冒泡排序 的基本思想与 冒泡排序还是一样的.冒泡排序 每次将相邻的 ...
- 随笔——mvc公众号自动登录跳转到原页面的方法
页面路径传参跳到那带到哪 1.全局过滤(继承过滤也行).这里使用的全局过滤 2.过滤判断需要登录的话,获取本次路径传到登录的页面 3.登录的页面判断是微信浏览器的话,参数带到微信登录接口 4.微信登录 ...
- php 导出图片为pdf
require_once ROOTPATH . 'tcpdf/vendor/autoload.php';$html='';if($html){ mpdf($html); }else{ echo &qu ...
- Vue使用axios请求接口返回成功200但是进入到catch中
发生这个问题时查阅了许多资料,没有一个是对得上的.最后发现原来是在请求拦截器中的错误 错误代码如下 // 添加响应拦截器 axios.interceptors.response.use(functio ...
- java.util.Date和java.util.Calendar
Date date = new Date();//分配初始化一个Date()对象 Calendar cal = Calendar.getInstance();//获取一个基于当前时间的日历 int d ...
- 爬虫笔记之xpath
目录 xpath如何取包含多个class属性 xpath获取当前标签下的所有文本(包括子标签) xpath如何取包含多个class属性 如果HTML结构是这样 <div class=" ...
- 【数据库】SQL-随机生成区间内数值、日期、字符串,mock数据
〇.概述 1.参考 2.其他 一.随机生成数值 1.随机生成函数random_int() -- 随机数生成函数,int版 CREATE OR REPLACE FUNCTION random_int( ...
- DC-9靶场练习
Vulnhub靶场-DC-9 准备工作 kali和靶机都选择NAT模式(kali与靶机同网段) 下载链接:https://download.vulnhub.com/dc/DC-9.zip 一.主机发现 ...
- linux常用命令精讲
一.虚拟机三种网卡模式 1 桥接 相当于虚拟机和真机之间架了一座桥 2 NAT 虚拟系统借助 NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网(常用vm8) 3 仅主机 虚拟机和物理机在一 ...
- 06.python闭包
python闭包 什么样的函数是 闭包函数 ? 满足以下条件: 闭:外层函数嵌套了一个内层函数. 包:内层函数调用外层函数命名空间内的名字. 举例如下: def out_func(): # 外层函数 ...