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; }

最新文章

  1. android中的requestFocus标签
  2. over
  3. Top Deep Learning Projects in github
  4. 【Maven】Eclipse 使用Maven创建SpringMVC Web项目
  5. C# 类型运算符重载在类继承中的调用测试
  6. TYVJ1038 忠诚
  7. java集合类(二)List学习
  8. How to Calculate difference between two dates in C# z
  9. Custom Control
  10. 利用xshell从windows上传文件到虚拟机
  11. Linq扩展方法之Aggregate 对序列应用累加器函数
  12. 【转】使用vnc连接linux服务器方便hadoop开发调试
  13. XMPP得知--建立一个管理类
  14. Java7中的ForkJoin并发框架初探(中)——JDK中实现简要分析
  15. 2018.12.02 Socket编程之初识Socket
  16. Windows中查看端口占用及关闭对应进程
  17. 冷知识点:COLLATE 关键字是什么意思?
  18. 《HTTP 权威指南》笔记:第十二章 基本认证体制
  19. [CQOI2007]涂色
  20. 【学习笔记】Python基础教程学习笔记

热门文章

  1. Go语言核心36讲02
  2. Web安全Day1 - SQL注入、漏洞类型
  3. vulnhub靶场之DIGITALWORLD.LOCAL: SNAKEOIL
  4. JavaSE -进阶基础---反射技术
  5. day 26 form表单标签 &amp; CSS样式表-选择器 &amp; 样式:背景、字体、定位等
  6. 【Java SE】Day01 前言、入门程序、常量、变量
  7. Windows10下python3和python2同时安装(二)python2.exe、python3.exe和pip2、pip3设置
  8. python中文件操作相关基础知识
  9. [数据结构]哈希拉链法化解冲突+ASL计算
  10. LeetCode HOT 100:在排序数组中查找元素的第一个和最后一个位置