MATLAB - 卫星自旋的模型参考自适应控制(MRAC)

简介: MATLAB - 卫星自旋的模型参考自适应控制(MRAC)

前言

本例展示了如何使用模型参考自适应控制 (MRAC) 控制卫星自旋,使未知控制系统与理想参考模型相匹配。卫星系统在 Simulink® 中建模,MRAC 控制器使用 Simulink Control Design™ 软件提供的模型参考自适应控制模块实现。


 

一、卫星旋转控制系统

在本例的模型中,卫星的圆柱体以恒定的角速率 ω 绕其对称轴(z 轴)旋转 [1]。目标是利用力矩 ux 和 uy 独立控制绕 x 轴和 y 轴的角速率 ωx 和 ωy。运动方程产生了一个具有两个输入和两个输出的二阶模型。

在该系统中,控制器并不直接观察被控对象的状态。相反,它通过以下测量模型间接观察状态。

在本例中,假设实际的被控对象模型未知,MRAC 控制器使用以下名义的被控对象动态模型。

鉴于这个不确定的非线性系统,您的目标是设计一个控制器,使系统能够跟踪以下解耦参考模型。

这里

  • 是参考模型状态向量。
  • r(t) 包含角速率参考信号。

二、定义标称模型和参考模型

定义卫星系统的动态模型。对于该系统,A 代表真实状态矩阵。

a = 10;                % System Constant
A = [0 a;-a -a/2];     % True model parameters
B = eye(2);
C = [1 a;-a 1];
D = zeros(2,2);

指定被控对象失配矩阵。该矩阵将从真实 A 矩阵中减去,从而定义控制器使用的标称被控对象。控制器的目标就是模拟这一被控对象的不确定性。

deltaA = [0 0.5*a; -0.5*a 0];   % Plant mismatch

参考系统是以下稳定的二阶系统。

Am = [-5 0; 0 -5];    % Second-order decoupled integrator model
Bm = diag([5 5]);     % Nominal control effective matrix

确定卫星自旋速率和参考模型状态的初始条件。

x1_0 = 0.5;     % Initial x-axis angular rate (rad/s)
x2_0 = 0.5;     % Initial y-axis angular rate (rad/s)
xm_0 = [0;0];   % Initial conditions of the reference plant model

三、模型参考自适应控制结构

MRAC 控制器的目标是实现跟踪误差 的渐近收敛。

MRAC 控制器的结构如下

这里

  • kx 包含反馈控制增益。
  • kr 包含前馈控制增益。
  • uad 是一个自适应控制项,用于消除模型的不确定性。

模型参考自适应控制模块调整自适应控制项,以实现所需的参考模型跟踪。您还可以选择调整反馈和前馈控制增益。

在本例中,控制器调整了反馈增益,并保持前馈增益不变。

初始反馈增益和静态前馈增益的计算满足以下模型匹配条件:

指定计算出的控制器增益和反馈增益学习率。

Kx = -place(A,B,eig(Am));  % State feedback gain for pole placement
gain_kx = 1;               % Feedback gain learning rate
Kr = Bm;                   % Feedforward gain for ref model matching

四、配置不确定性估计参数

MRAC 控制器在线估计模型的不确定性,并生成自适应控制动作 uad 以消除不确定性,从而恢复基线控制器的标称系统。自适应控制项使用以下模型对系统不确定性进行建模。

此处

  • w 包含由控制器调整的网络权重。
  • ϕ(x) 是不确定性模型特征向量。

使用模型参考自适应控制模块,您可以选择以下特征向量定义之一。

  • 系统状态,其中 ϕ(x)=x(t)
  • 具有高斯核的径向基函数
  • 由可选输入端口提供的自定义特征。

在本例中,控制器被配置为使用系统状态作为干扰模型特征。

定义模型估计学习率 gamma_w 和跟踪误差权重 Q。

gamma_w = 100;  % Learning rate
Q = 10;         % Tracking error weight

五、模拟控制器

打开卫星旋转控制系统的 Simulink 模型。

mdl = "satellitespin";
open_system(mdl)

仿真模型。

Tf = 35;        % Duration (s)  
sim(mdl);

通过比较自旋响应(上图)和自旋速率响应(下图)与各自的参考信号,查看控制器性能。

MRAC 控制器能很好地跟踪参考信号。第一步响应有一个初始瞬态,随着控制器对干扰估计的改进,瞬态的大小会减小。

查看控制器估计的不确定性,并将其与真实的不确定性进行比较。

控制器估算出准确的 y 轴不确定性模型。x 轴的不确定性模型符号正确,但幅度低于真实的不确定性。这两个不确定性模型的不确定性估计值都有明显的瞬变,尤其是在参考信号发生第一步变化时。

例如,将 Q 值降至 1 并模拟模型。

Q = 1;
sim(mdl);

模型估计响应的瞬态较少。代价是自旋和自旋速率响应的沉淀时间较长。

参考资料

[1] Zhou, Kemin, John Comstock Doyle, and K. Glover. Robust and Optimal Control. Englewood Cliffs, N.J: Prentice Hall, 1996.

目录
相关文章
|
24天前
|
算法 5G 数据安全/隐私保护
SCM信道模型和SCME信道模型的matlab特性仿真,对比空间相关性,时间相关性,频率相关性
该简介展示了使用MATLAB 2022a进行无线通信信道仿真的结果,仿真表明信道的时间、频率和空间相关性随间隔增加而减弱,并且宏小区与微小区间的相关性相似。文中介绍了SCM和SCME模型,分别用于WCDMA和LTE/5G系统仿真,重点在于其空间、时间和频率相关性的建模。SCME模型在SCM的基础上进行了扩展,提供了更精细的参数化,增强了模型的真实性和复杂度。最后附上了MATLAB核心程序,用于计算不同天线间距下的空间互相关性。
33 0
|
26天前
|
算法 5G 数据安全/隐私保护
3D-MIMO信道模型的MATLAB模拟与仿真
该研究利用MATLAB 2022a进行了3D-MIMO技术的仿真,结果显示了不同场景下的LOS概率曲线。3D-MIMO作为5G关键技术之一,通过三维天线阵列增强了系统容量和覆盖范围。其信道模型涵盖UMa、UMi、RMa等场景,并分析了LOS/NLOS传播条件下的路径损耗、多径效应及空间相关性。仿真代码展示了三种典型场景下的LOS概率分布。
50 1
|
1月前
|
算法
基于GA遗传优化的离散交通网络双层规划模型设计matlab仿真
该程序基于GA遗传优化设计了离散交通网络的双层规划模型,以路段收费情况的优化为核心,并通过一氧化碳排放量评估环境影响。在MATLAB2022a版本中进行了验证,显示了系统总出行时间和区域排放最小化的过程。上层模型采用多目标优化策略,下层则确保总阻抗最小,实现整体最优解。
|
1月前
|
监控 算法 安全
基于颜色模型和边缘检测的火焰识别FPGA实现,包含testbench和matlab验证程序
本项目展示了基于FPGA的火焰识别算法,可在多种应用场景中实时检测火焰。通过颜色模型与边缘检测技术,结合HSV和YCbCr颜色空间,高效提取火焰特征。使用Vivado 2019.2和Matlab 2022a实现算法,并提供仿真结果与测试样本。FPGA平台充分发挥并行处理优势,实现低延迟高吞吐量的火焰检测。项目包含完整代码及操作视频说明。
|
1月前
|
算法
基于SIR模型的疫情发展趋势预测算法matlab仿真
该程序基于SIR模型预测疫情发展趋势,通过MATLAB 2022a版实现病例增长拟合分析,比较疫情防控力度。使用SIR微分方程模型拟合疫情发展过程,优化参数并求解微分方程组以预测易感者(S)、感染者(I)和移除者(R)的数量变化。![]该模型将总人群分为S、I、R三部分,通过解析或数值求解微分方程组预测疫情趋势。
|
21天前
|
算法 数据挖掘 vr&ar
基于ESTAR指数平滑转换自回归模型的CPI数据统计分析matlab仿真
该程序基于ESTAR指数平滑转换自回归模型,对CPI数据进行统计分析与MATLAB仿真,主要利用M-ESTAR模型计算WNL值、P值、Q值及12阶ARCH值。ESTAR模型结合指数平滑与状态转换自回归,适用于处理经济数据中的非线性趋势变化。在MATLAB 2022a版本中运行并通过ADF检验验证模型的平稳性,适用于复杂的高阶自回归模型。
|
2月前
|
机器人
MATLAB - 机器人任务空间运动模型
MATLAB - 机器人任务空间运动模型
35 1
|
2月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
126 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
2月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
97 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
2月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
72 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码

热门文章

最新文章