MIT自适应律MRAC的理解和MATLAB实现

本文介绍了MIT自适应律的概念及其在可调增益模型参考自适应控制(MRAC)中的应用。详细阐述了MIT律的计算过程,并通过MATLAB进行了系统仿真,展示了不同参数下系统输出的响应。针对MIT律可能导致的不稳定性问题,提出了归一化和饱和度限制的改进算法,改善了系统性能。
摘要由CSDN通过智能技术生成

什么是MIT自适应律?

之所以叫MIT自适应律,是因为起源于美国麻省理工大学MIT。

假定被控对象中有一种参数theta,当调节这个参数theta后,可以让系统输出和参考模型输出之差变为0,那么更新这种参数theta的公式,就叫做MIT自适应律。

在这里插入图片描述

什么是灵敏度导数?什么是调整率?

参考模型和实际模型输出误差的大小,相对于参数theta的变化率,就是灵敏度。

调整率就类似于梯度下降法里面的步长,该以多少的速度朝着这个梯度前进,这个速度就是调增率。

基于MIT律的可调增益MRAC计算过程

系统由最上面的参考模型,中间的控制器,plant模型,以及下面的自适应调整机构(即MIT律)组成。

在这里插入图片描述
参考模型和实际模型之间的误差为

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bKO7HfJG-1576054723973)(MIT自适应律MRAC的理解和MATLAB实现.assets/image-20191211165057812.png)]

进行求导,可以得到灵敏度导数

在这里插入图片描述

然后得到自适应律公式

在这里插入图片描述

其中,gamma就是自适应律

系统的控制律为

在这里插入图片描述

计算过程和伪代码如下

在这里插入图片描述

MATLAB仿真

被控对象参数

在这里插入图片描述
各个步骤MATLAB代码如下

在这里插入图片描述

仿真效果

r = 0.6时,闭环系统输出响应特别慢
在这里插入图片描述
r = 1.2时,输出性能响应良好
在这里插入图片描述
r = 3.2时,系统变得不稳定

在这里插入图片描述

改进的MIT归一化算法和仿真结果

可以看到上面的缺陷,就是当自适应增益gamma超出一定范围之后,输出将会变得不稳定。

为了克服这种缺陷,需要做一些修正,使得自适应增益与输入信号幅值无关,一种修正方案就是实现归一化,修正MIT自适应律。

在这里插入图片描述
alpha大于零,是为了防止出现零除现象。

同时还可以引入一种饱和特性,保证参数调整率总小于一定的临界值。

在这里插入图片描述
最终的归一化MIT适应律为

在这里插入图片描述
修正之后的代码体现

在这里插入图片描述
仿真效果对比

在这里插入图片描述

完整MATLAB代码附录

普通MIT适应律

clear all;
close all;
% clc;

% 数值积分的步长
h = 0.1;
% 仿真步数,相当于是100L = 100/h;

% 对象参数
num = [1]; den = [1 1 1]; n = length(den) - 1; 
% plant的传递函数形态转换成状态空间
kp = 1;
[Ap, Bp, Cp, Dp] = tf2ss(kp * num, den);
% model的传递函数形态转换成状态空间
km = 1;
[Am, Bm, Cm, Dm] = tf2ss(km * num, den);

% 自适应律的自适应增益
gamma = 0.1;
yr0 = 0
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值