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)控制原理及控制器设计的更多相关文章

  1. 基于FPGA的XPT2046触摸控制器设计

    基于FPGA的XPT2046触摸控制器设计 小梅哥编写,未经许可,文章内容和所涉及代码不得用于其他商业销售的板卡 本实例所涉及代码均可通过向 xiaomeige_fpga@foxmail.com  发 ...

  2. 基于FPGA的SPI FLASH控制器设计

    1.SPI FLASH的基本特征 本文实现用FPGA来设计SPI FLASH,FLASH型号为W25Q128BV.支持3种通信方式,SPI.Dual SPI和Quad SPI.FLASH的存储单元无法 ...

  3. 2014.04.28基于CPLD的LCOS场序彩色视频控制器设计

    基于CPLD的LCOS场序彩色视频控制器设计 作者:宋丹娜,代永平,刘艳艳,商广辉 发表刊物:液晶与显示,2009 学习时间:2014.04.28 文章讲述了-- (和上一篇论文有些相似之处) 1. ...

  4. [Fundamental of Power Electronics]-PART II-9. 控制器设计-9.6 环路增益的测量/9.7 本章小结

    9.6 环路增益的测量 测量原型反馈系统的环路增益是一个非常好的工程实践.这种实践的目的是验证系统是否被正确地建模.如果是的,那么已经应用了良好控制器设计的系统,其特性将满足相关瞬态过冲(相角裕度), ...

  5. [Fundamental of Power Electronics]-PART II-9. 控制器设计-9.5 控制器的设计

    9.5 控制器设计 现在让我们来考虑如何设计控制器系统,来满足有关抑制扰动,瞬态响应以及稳定性的规范或者说设计目标.典型的直流控制器设计可以用以下规范定义: 1.负载电流变化对输出电压调节的影响.当负 ...

  6. php前端控制器设计1

    The primary role of a front controller in web-based applications is to encapsulate the typical reque ...

  7. [Fundamental of Power Electronics]-PART II-9. 控制器设计-9.4 稳定性

    9.4 稳定性 众所周知的是,增加反馈回路可能会导致原本稳定的系统变得不稳定.尽管原变换器传递函数(式(9.1))以及环路增益\(T(s)\)不包含右半平面极点,但式(9.4)的闭环传递函数仍然可能存 ...

  8. [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)的传递函数可以很容易的由图形代数方法进行构建.假设我们已经分析了反馈系统模块,并且已经画出 ...

  9. [Fundamental of Power Electronics]-PART II-9. 控制器设计-9.1 引言

    9.1 引言 在所有的开关变换器中,输出电压\(v(t)\)都是输入电压\(v_{g}(t)\),占空比\(d(t)\),负载电流\(i_{load}(t)\)和电路元件值的函数.在DC-DC变换器应 ...

  10. AHB SRAM控制器设计

随机推荐

  1. 我引用中没有Spire.Pdf,但是发现无法解析的“Spire.Pdf”的不同版本之间存在冲突

    问题: 导出错误!未能加载文件或程序集"Spire.Pdf, Version=8.6.1.0, Culture=neutral, PublicKeyToken=663f351905198cb ...

  2. cv2.imread opencv读取不到图片问题

    解决办法 cv2.imread 路径中包含中文,改为英文 其他 这个问题解决了很久,都属于库的问题

  3. volatile关键字在并发中有哪些作用?

    作者:小牛呼噜噜 | https://xiaoniuhululu.com 计算机内功.JAVA源码.职业成长.项目实战.面试相关资料等更多精彩文章在公众号「小牛呼噜噜」 前言 读过笔者之前的一篇文章J ...

  4. apache文件工具类的使用:org.apache.commons.io.FileUtils

    说明 org.apache.commons.io.FileUtils 工具类包含了许多操作文件的方法,此文章介绍一些常用的文件操作方法,方便使用的时候查阅参考 创建输入流 public static ...

  5. 痞子衡嵌入式:国内外串行NOR Flash厂商官网Cross Reference功能使用体验

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是国内外串行NOR Flash厂商官网Cross Reference功能. 串行 NOR Flash 是一个相对发展稳定的市场,目前全球市场 ...

  6. pycharm 小技巧

    ctrl键 + B 查看定义源代码 alt键 + enter键 查看帮助 ctrl键 + shift键 + -号 所有代码隐藏 ctrl键 + shift键 + +号 所有代码展示 ctrl键 + D ...

  7. PPT排版技巧

  8. Centos7下git最新版本安装

    刚重新装了centos7最小版的系统,发现没有git,只好重新安装了,记录下以防忘记.(以下命令最好在root用户下执行,要么你有管理员权限也行,则需要在命令前加sudo) 安装方法有两种: 一.yu ...

  9. [python] 圆形嵌套图Circular Packing

    圆形嵌套图Circular Packing 文章目录 圆形嵌套图Circular Packing 1 具有一级层次的圆形嵌套图绘制 1.1 绘图数据与circlify计算 1.2 图形绘制 1.2.1 ...

  10. Redis-02 Redis 类型

    Redis List 命令 说明 例子 LPush 在 List 头插入一个或多个元素 LPush mylist hello RPush 在 List 尾插入一个或多个元素 RPush mylist ...