在上一篇BLOG中谈到了非线性反馈控制器,其中系统的所有参数均为已知,这样的系统称为Exactly Known System。若系统中的参数未知该如何求解,由此引出Nonlinear Adaptive Controller。DR_CAN的相关视频链接:https://www.bilibili.com/video/BV1yW411u7qv

在之前的Tracking Problem中,系统的状态方程为:x˙=ax2+u(1)\dot{x}=ax^2+u\tag{1}x˙=ax2+u(1)

设:e=xd−x(2)e=x_{d}-x\tag{2}e=xd​−x(2)e˙=x˙d−x˙=x˙d−ax2−u(3)\dot{e}=\dot{x}_{d}-\dot{x}=\dot{x}_{d}-ax^2-u\tag{3}e˙=x˙d​−x˙=x˙d​−ax2−u(3)

定义:V(e)=12e2(PD)V_{(e)}=\frac{1}{2}{e}^2\tag{PD}V(e)​=21​e2(PD)V˙(e)=ee˙=e(x˙d−ax2−u)(4)\dot{V}_{(e)}=e\dot{e}=e(\dot{x}_{d}-ax^2-u)\tag{4}V˙(e)​=ee˙=e(x˙d​−ax2−u)(4)

令:u=x˙d−ax2+ke(5)u=\dot{x}_d-ax^2+ke\tag{5}u=x˙d​−ax2+ke(5)

这样V˙(e)=−ke2\dot{V}_{(e)}=-ke^2V˙(e)​=−ke2为NDNDND,将(5)(5)(5)式代入(3)(3)(3)式得到:e˙=−ke\dot{e}=-kee˙=−ke,整个过程为Feedback Linearization

以上是在aaa为已知的情况下,假设有这样一个模型:给一小车施加一个力FFF,使得小车以期望速度x˙\dot{x}x˙运动,其中车上载有一个人的质量为mmm,我们期望不论人的质量为多少,小车均能按照稳定速度运动,即Adapt the unkonwn parameter。假设aaa是一个缓慢变化的常数,即a˙=0\dot{a}=0a˙=0。引入Estimate:a^\hat{a}a^和Estimate error:a~=a−a^\tilde{a}=a-\hat{a}a~=a−a^,得到:a~˙=a˙−a^˙=−a^˙(6)\dot{\tilde{a}}=\dot{a}-\dot{\hat{a}}=-\dot{\hat{a}}\tag{6}a~˙=a˙−a^˙=−a^˙(6)

此时u=x˙d−a^x2+ke(7)u=\dot{x}_d-\hat{a}x^2+ke\tag{7}u=x˙d​−a^x2+ke(7)

定义Lyapunov functionV(e,a~)=12e2+12a~2(PD)V_{(e,\tilde{a})}=\frac{1}{2}e^2+\frac{1}{2}\tilde{a}^2\tag{PD}V(e,a~)​=21​e2+21​a~2(PD)V˙=ee˙+a~a~˙=e(x˙d−ax2−u)−a~a^˙(8)\dot{V}=e\dot{e}+\tilde{a}\dot{\tilde{a}}=e(\dot{x}_{d}-ax^2-u)-\tilde{a}\dot{\hat{a}}\tag{8}V˙=ee˙+a~a~˙=e(x˙d​−ax2−u)−a~a^˙(8)

将(7)(7)(7)代入(8)(8)(8)式得:V˙=e(−(a−a^)x2−ke)−a~a^˙=−ea~x2−ke2−a~a^˙=−ke2−a~(ex2+a^˙)(9)\dot{V}=e(-(a-\hat{a})x^2-ke)-\tilde{a}\dot{\hat{a}}=-e\tilde{a}x^2-ke^2-\tilde{a}\dot{\hat{a}}=-ke^2-\tilde{a}(ex^2+\dot{\hat{a}})\tag{9}V˙=e(−(a−a^)x2−ke)−a~a^˙=−ea~x2−ke2−a~a^˙=−ke2−a~(ex2+a^˙)(9)

其中−ke2-ke^2−ke2为NDNDND,令a^˙=−ex2\dot{\hat{a}}=-ex^2a^˙=−ex2,这样(9)(9)(9)式后半部分为000,即:V˙(e,a~)=−ke2(NSD)\dot{V}_{(e,\tilde{a})}=-ke^2\tag{NSD}V˙(e,a~)​=−ke2(NSD)

此时无法判定e→0e\rightarrow0e→0和a~→0\tilde{a}\rightarrow0a~→0,只能确定二者稳定,需要引入Lyapunov-like lemma
1)V≥01)V\ge 01)V≥0
2)V˙≤−g(t),whereg(t)≥02)\dot{V}\le-g(t),where\space g(t)\ge02)V˙≤−g(t),where g(t)≥0
3)g˙(t)∈L,ifg˙(t)isboundedtheg(t)isuniformlycontinuous3)\dot{g}(t)\in L,if\space \dot{g}(t)\space is\space bounded\space the\space {g}(t)\space is\space uniformly\space continuous3)g˙​(t)∈L,if g˙​(t) is bounded the g(t) is uniformly continuous
thenlim⁡t→∞g(t)=0then\space \lim\limits_{t\to\infty}g(t)=0then t→∞lim​g(t)=0

在本模型中,VVV为PDPDPD自然满足PSDPSDPSD,满足(1)(1)(1);
V˙=−ke2\dot{V}=-ke^2V˙=−ke2,令g(t)=ke2≥0g(t)=ke^2\ge0g(t)=ke2≥0,满足(2)(2)(2);
g˙(t)=2kee˙\dot{g}(t)=2ke\dot{e}g˙​(t)=2kee˙是收敛的且g(t)g(t)g(t)为一致连续的,满足(3)(3)(3)。
即可得出结论lim⁡t→∞ke2=0\lim\limits_{t\to\infty}ke^2=0t→∞lim​ke2=0,即在t→∞t\to\inftyt→∞时e→0e\to0e→0,令:a^˙=−ex2=−∫0tex2dt(10)\dot{\hat{a}}=-ex^2=-\int_{0}^{t}ex^2dt\tag{10}a^˙=−ex2=−∫0t​ex2dt(10)

将(10)(10)(10)式代入(7)(7)(7)式得出:u=x˙d+x2∫0tex2dt+keu=\dot{x}_d+x^2\int_{0}^{t}ex^2dt+keu=x˙d​+x2∫0t​ex2dt+ke

即我们要求的最终结果。

============================================================================
以下为Matlab Simulink程序仿真:

当期望值xdx_dxd​设为常数222,aaa设为[24][2\space4][2 4]的RepeatingSequenceStairRepeating\space Sequence\space StairRepeating Sequence Stair时,仿真结果如下:

其中黄线为期望值,蓝线为实际值,追踪结果良好。系统输入uuu曲线如图:
可以看到初始时输入很大,后期输入基本为000。

Simulink程序链接:
链接:https://pan.baidu.com/s/1IUelPowOM9osWAK-Za3G9Q
提取码:ehxq

【Advanced控制理论】Nonlinear Adaptive Controller非线性自适应控制器(附Simulink程序)相关推荐

  1. Advanced控制理论

    参考:DR_CAN 相关阅读: 动态系统的建模与分析 自动控制原理 Advanced控制理论 傅里叶级数与变换 工程数学 本文 pdf 及Matlab仿真下载链接: 链接:https://pan.ba ...

  2. 李备:期待移动端非线性自适应滤波器

    LiveVideoStack采访了网易云信资深音频算法工程师李备,对于音频技术的未来,他给出了自己的观点,尤其期待移动端上出现非线性自适应滤波器. 文 / 李备 策划 / LiveVideoStack ...

  3. 网格自适应_ANSYS 非线性自适应(NLAD)网格划分及应用举例

    文章来源:安世亚太官方订阅号(搜索:Peraglobal) 在复杂的结构设计分析中,通常很难确定在高应力区域中是否生成适当的细化网格.在做非线性大应变分析仿真时,可能由于单元变形过大,导致网格畸变,仿 ...

  4. 二阶积分系统L1自适应控制器设计

    二阶积分系统极点配置 使用二阶积分系统设计的原因: - 二阶积分系统与四旋翼内环具有一定的相似性(动系下的角动量微分需考虑随动) - 二阶积分系统控制器设计相对简单,但包含L1设计需要考虑的全部内容 ...

  5. matlab模拟神经模糊自适应控制器

    神经模糊自适应控制器 神经模糊自适应控制器的结构     该分析系统由一个普通的反馈控制器(FC)和一个神经控制器(NNC)组成,两控制器的输出信号之和作为实际控制量对系统进行控制,即 而神经控制器的 ...

  6. 【Jmeter控制执行顺序 Critical Section Controller临界部分控制器】

    一个完整的业务包含多个接口请求,且有先后顺序.在做性能测试的时候,要求接口请求顺序永远按照自己定义好的请求顺序执行. 增加一个critical section controller(临界部分控制器), ...

  7. 2018年度硬件–Apple Watch Series 4、Xbox等自适应控制器

    回顾即将过去的 2018 年,智能硬件设备的「创新」愈发显得弥足珍贵,这是过去几年 ifanRank 年度设备评选中反复提及的调论,但在此基础上,今年的情况仍有些不一样. 2018 年,我们希望把目光 ...

  8. JMeter Logic Controller(逻辑控制器)之 ForEach Controller(循环控制器)

    官方文档:http://jmeter.apache.org/usermanual/component_reference.html#ForEach_Controller 1.ForEach Contr ...

  9. ADRC控制器 Ardupilot SIMULINK 飞控联合开发

    ADRC控制器 Ardupilot & SIMULINK 飞控联合开发 Adrc控制器 Simulink to C++ Ardupilot PID库替换 自动代码生成源文件 PID库 参数添加 ...

最新文章

  1. 2020年人工神经网络第二次作业
  2. JAVA基础5——与String相关的系列(1)
  3. php程序员应该懂的几个基本概念
  4. 参数估计_MCMC-模型参数估计
  5. Effect of Switchovers, Failovers, and Control File Creation on Backups
  6. 【5min+】 巨大的争议?C# 8 中的接口
  7. atom feed_适用于Atom Feed的Spring MVC
  8. 奇妙的go语言(面向对象)
  9. 计算机社团打字游戏,计算机打字兴趣小组计划.doc
  10. VMware windows xp虚拟机设置静态ip
  11. 17、Python特征工程,用相关系数法选择数据特征
  12. 初学者如何快速练习盲打
  13. 大疆网上测评题库_【大疆在线测试有几套题啊?】-看准网
  14. (一)Linux中的网络配置
  15. Android 吸入动画效果详解(仿mac退出效果)
  16. 问题 C: 零基础学C/C++26——判断某整数是否既是5又是7的整数倍
  17. Powerbi 通过On-premises data gateway 连接本地多维数据库
  18. Caused by:java.lang.NullPointerException: Attempt to invoke virtual method ‘boolean java.lang.Stri
  19. Low-Light Image Enhancement with Normalizing Flow
  20. 程序员试用期提离职被领导拒绝:想走就走?必要时将起诉你!

热门文章

  1. IE7、IE8、IE9、IE10后各版本的更新内容和各版本的差别
  2. mfcc代码调用 Java_MFCC代码
  3. 实习结束了,又开始了……
  4. 3.Collection集合
  5. DDS中间件是什么?
  6. 中软融鑫 java笔试题_中软国际java笔试题
  7. 部署项目到云服务器上所遇到的困难
  8. 将汉字转为阿拉伯数字(oracle函数方式)
  9. uplink端口能接路由器吗_这些常见的网络故障,你都知道如何解决吗,一文告诉你解决方法...
  10. Android应用安全指南-反逆向