【ADRC】扩张状态观测器(ESO)
扩张状态观测器是自抗扰控制中非常重要的一个环节,在我学习这部分内容后,在写本篇文章时,大致可以按照三个步骤来做实验,推导,由这三个步骤来由浅入深地去理解扩张状态观测器(ESO),即:线性状态观测器,非线性状态观测器,扩张状态观测器。前面这两个名称是我为了区分自己起的,不一定是专业术语,不过可以跟着步骤一起来看一下。
线性状态观测器
这类状态观测器可以称之为最基本的状态观测器,推导过程可以不用赘述,可以查看我之前的相关文章。大致的含义就是我们知道系统的模型是怎样的,系统状态的各个参数我们都可以获取,这种情况下,我们可以直接使用系统参数来复制一个系统,从而观测系统的状态。我们可以直接使用一个例子来做一下实验。
假设有以下这个系统,我们可以写出观测器的标准形式:
在自抗扰的资料与书籍中都是用状态 Z 来代替观测器的估计值 X_hat ,为了方便后续对照,我们在这里也都写作 Z 好了,自己清楚 Z 就是估计状态 X_hat 即可,其实是与标准的现代控制书中是一样的:
这里我们可以定义一个变量 e = y_hat - y ,输出状态y的估计值减去实际输出y,即控制e收敛之后,便可以得到正确的观测状态,之后观测器的表达式就可以写作:
之后我们选择合适的L矩阵的参数,就可以使得状态收敛。回归我们给出的例子系统,我们可以列出观测器的微分方程:
之后我们可以搭建一下这个模型试试看:
这里的PID模块只是我给的一个输入控制量u,它并不能使系统稳定,我随便给的参数,本章的关键是观测器是否收敛跟随,因此它不稳定也不影响测试,我们可以看到此时系统的输出:
之后按照上述的观测器方程建立观测器模型:
之后我们可以给x1,x2都一个初始值,不为0,这样就可以看到观测器的收敛过程:
可以看到最终观测器的输出收敛到实际输出,这样便是一个基本的线性观测器。这种观测器是建立在我们已知系统参数的情况下,即A矩阵,B矩阵已知,那如果我们不知道系统参数的情况下,需要如何建立观测器?这便引出非线性观测器的概念。
非线性观测器
假如我们不知道系统参数,那么我们可以所幸建立观测器的时候就不加入系统参数,直接将其忽略,之后使用非线性函数g,使其收敛:
只要调试系数 β,以及选取合适的非线性函数g,就可以使其收敛,这里的 g 的一般形式选取为:
换算到例子中的系统为:
我们可以建立出这个非线性观测器的模型,看看收敛效果:
这里我们是没有将系统参数传入观测器的,但实际的观测器输出还是可以收敛,不过我们是假设了跟原系统一样的阶数,原系统为双积分系统,观测器我们也是假设了双积分系统,如果我们将观测器改成三积分的话,多一阶,可以看看实际效果:
看起来也是没问题的。
扩张状态观测器
如果说上述不知道原系统参数的非线性观测器对于目标状态有很好的跟踪效果的话,那么我们之后就可以将系统的扰动加上,将扰动记作 w,之后可以将最后一个状态的微分方程中,除控制量u的其他作用量都记作 f(x1,x2,t,w) ,即 f 是x1,x2,t,还有扰动w的非线性函数,如下:
在此基础上,增加一个状态量 x3_dot = f(x1,x2,t,w),在观测器中记作 z3,用来观测这个非线性函数 f ,这样增加一个状态量的观测器,就是扩张状态观测器:
以上我们都默认控制量的增益为1,即 b = 1,建立模型后,将扰动也引出来:
另外我们可以将原系统的控制量上增加一个扰动,让实际的控制量与控制器输出的控制量有偏差:
之后可以看到实际的状态跟随效果:
而且我们也可以看到对于扰动的观测效果:
【ADRC】扩张状态观测器(ESO)相关推荐
- 基于扩张状态观测器eso扰动补偿和权重因子调节的电流预测控制,相比传统方法,增加了参数鲁棒性
基于扩张状态观测器eso扰动补偿和权重因子调节的电流预测控制,相比传统方法,增加了参数鲁棒性. 降低电流脉动,和误差. 基于扩张状态观测器eso补偿的三矢量模型预测控制. ID:41123672941 ...
- ADRC,自抗扰控制器,扩张状态观测器,ESO,模型预测控制算法MPC
ADRC,自抗扰控制器,扩张状态观测器,ESO,模型预测控制算法MPC,自适应模型预测控制算法,时变模型预测控制算法,H无穷算法,混合灵敏度,鲁棒控制算法,四旋翼,直升机,控制算法设计,仿真模型,算法 ...
- 2020-12-18 Simulink实现ESO(扩张状态观测器)
Simulink实现ESO(扩张状态观测器) ADRC最核心的创新点在于ESO,与PID相比,不仅基于误差控制,还基于扰动进行控制量计算. 1.ADRC的控制框图如下:主要包括跟踪微分器(TD).非线 ...
- simulink实现ESO(扩张状态观测器)
ADRC最核心的创新点在于ESO,与PID相比,不仅基于误差控制,还基于扰动进行控制量计算. 1.ADRC的控制框图如下:主要包括跟踪微分器(TD).非线性状态误差反馈(NLSEF).扩张状态观测器( ...
- 基于ESO的永磁同步电机无感FOC 采用线性扩张状态观测器(LESO)估计电机反电势,利用锁相环从反电势中提取位置和转速信息
基于ESO的永磁同步电机无感FOC 1.采用线性扩张状态观测器(LESO)估计电机反电势,利用锁相环从反电势中提取位置和转速信息,从而实现无位置传感器控制: 2.提供算法对应的参考文献和仿真模型. 购 ...
- 永磁同步电机自抗扰无位置传感器控制仿真,同时实现自抗扰和基于eso扩张状态观测器的无位置控制仿真
永磁同步电机自抗扰无位置传感器控制仿真,同时实现自抗扰和基于eso扩张状态观测器的无位置控制仿真. ID:6950670038985136
- 扩张状态观测器matlab函数,基于Matlab的扩张状态观测器仿真及分析
状态观测器是现代控制理论的重要组成部分[1-2],它是从系统状态空间方程出发,利用原系统的输入和输出信号获得原系统状态变量估值的方法,在传感器噪声处理.系统相移抑制以及高性能控制系统的设计中应用得非常 ...
- 磁同步电机(pmsm,无位置传感器控制(扩张状态观测器,超螺旋滑模,扩展卡尔曼滤波) 脉振高频注入(有方波和正弦两种)仿真模型。
永磁同步电机参数辨识模型,在线辨识,离线辨 机械参数在线离线,电气参数在线离线. 永磁同步电机模型预测控制仿真模型,有三矢量,双矢量,占空比矢量三种,效果不错 算法采用定步长实现,效果很好,三矢量效果 ...
- 永磁同步电机(pmsm,无位置传感器控制(扩张状态观测器,超螺旋滑模,扩展卡尔曼滤波)
永磁同步电机(pmsm,无位置传感器控制(扩张状态观测器,超螺旋滑模,扩展卡尔曼滤波) 脉振高频注入(有方波和正弦两种)仿真模型. 可以带负载!!书上的模型不能带 弱磁控制有电压弱磁和超前角弱磁 ID ...
最新文章
- 摘录来自mysql 5.1的手册 关于mysql的事务处理和锁定语句
- 5月26 留言板练习题
- 图灵机原理三体中人计算机,有关计算机中人列计算机的问题
- k-d tree算法
- 在Eclipse中有效使用JUnit
- RedisTemplate常用集合使用说明-opsForSet(五)
- 推荐一个比吴恩达的还要优质的机器学习课程
- jupyter notebook的单独安装与使用
- 罗永浩带货520鲜花礼盒再翻车:自掏腰包100多万,双倍赔偿
- Spark-Kudu报错:kudu.client.NonRecoverableException: The table was deleted: Table deleted at xxx
- 爷青结是什么意思,爷青回是什么意思,爷青结和爷青回是什么梗
- 数据库宿舍管理系统MySQL表_数据库课程设计报告—宿舍管理系统.doc
- 7-13 统计工龄 (20分)
- Unity实现将图片上传到服务器功能
- iPics2Go: iPhone变身扫描仪
- 西电杨宗凯调研计算机学院,杨宗凯调研指导研究生工作:深化研究生教育改革...
- Latex 设置页眉与正文顶部距离
- Boy or Girl
- 中医死期已到之经络的癌本质谭
- android屏幕共享解决方案,Android手机之间实现屏幕共享-Go语言中文社区