【Advanced控制理论】Nonlinear Adaptive Controller非线性自适应控制器(附Simulink程序)
在上一篇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)=21e2(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~)=21e2+21a~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
thenlimt→∞g(t)=0then\space \lim\limits_{t\to\infty}g(t)=0then t→∞limg(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)。
即可得出结论limt→∞ke2=0\lim\limits_{t\to\infty}ke^2=0t→∞limke2=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=−∫0tex2dt(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∫0tex2dt+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程序)相关推荐
- Advanced控制理论
参考:DR_CAN 相关阅读: 动态系统的建模与分析 自动控制原理 Advanced控制理论 傅里叶级数与变换 工程数学 本文 pdf 及Matlab仿真下载链接: 链接:https://pan.ba ...
- 李备:期待移动端非线性自适应滤波器
LiveVideoStack采访了网易云信资深音频算法工程师李备,对于音频技术的未来,他给出了自己的观点,尤其期待移动端上出现非线性自适应滤波器. 文 / 李备 策划 / LiveVideoStack ...
- 网格自适应_ANSYS 非线性自适应(NLAD)网格划分及应用举例
文章来源:安世亚太官方订阅号(搜索:Peraglobal) 在复杂的结构设计分析中,通常很难确定在高应力区域中是否生成适当的细化网格.在做非线性大应变分析仿真时,可能由于单元变形过大,导致网格畸变,仿 ...
- 二阶积分系统L1自适应控制器设计
二阶积分系统极点配置 使用二阶积分系统设计的原因: - 二阶积分系统与四旋翼内环具有一定的相似性(动系下的角动量微分需考虑随动) - 二阶积分系统控制器设计相对简单,但包含L1设计需要考虑的全部内容 ...
- matlab模拟神经模糊自适应控制器
神经模糊自适应控制器 神经模糊自适应控制器的结构 该分析系统由一个普通的反馈控制器(FC)和一个神经控制器(NNC)组成,两控制器的输出信号之和作为实际控制量对系统进行控制,即 而神经控制器的 ...
- 【Jmeter控制执行顺序 Critical Section Controller临界部分控制器】
一个完整的业务包含多个接口请求,且有先后顺序.在做性能测试的时候,要求接口请求顺序永远按照自己定义好的请求顺序执行. 增加一个critical section controller(临界部分控制器), ...
- 2018年度硬件–Apple Watch Series 4、Xbox等自适应控制器
回顾即将过去的 2018 年,智能硬件设备的「创新」愈发显得弥足珍贵,这是过去几年 ifanRank 年度设备评选中反复提及的调论,但在此基础上,今年的情况仍有些不一样. 2018 年,我们希望把目光 ...
- JMeter Logic Controller(逻辑控制器)之 ForEach Controller(循环控制器)
官方文档:http://jmeter.apache.org/usermanual/component_reference.html#ForEach_Controller 1.ForEach Contr ...
- ADRC控制器 Ardupilot SIMULINK 飞控联合开发
ADRC控制器 Ardupilot & SIMULINK 飞控联合开发 Adrc控制器 Simulink to C++ Ardupilot PID库替换 自动代码生成源文件 PID库 参数添加 ...
最新文章
- 2020年人工神经网络第二次作业
- JAVA基础5——与String相关的系列(1)
- php程序员应该懂的几个基本概念
- 参数估计_MCMC-模型参数估计
- Effect of Switchovers, Failovers, and Control File Creation on Backups
- 【5min+】 巨大的争议?C# 8 中的接口
- atom feed_适用于Atom Feed的Spring MVC
- 奇妙的go语言(面向对象)
- 计算机社团打字游戏,计算机打字兴趣小组计划.doc
- VMware windows xp虚拟机设置静态ip
- 17、Python特征工程,用相关系数法选择数据特征
- 初学者如何快速练习盲打
- 大疆网上测评题库_【大疆在线测试有几套题啊?】-看准网
- (一)Linux中的网络配置
- Android 吸入动画效果详解(仿mac退出效果)
- 问题 C: 零基础学C/C++26——判断某整数是否既是5又是7的整数倍
- Powerbi 通过On-premises data gateway 连接本地多维数据库
- Caused by:java.lang.NullPointerException: Attempt to invoke virtual method ‘boolean java.lang.Stri
- Low-Light Image Enhancement with Normalizing Flow
- 程序员试用期提离职被领导拒绝:想走就走?必要时将起诉你!