【模型预测】A-4D战斗机姿态控制的模型预测控制方法(Matlab代码实现)

这篇具有很好参考价值的文章主要介绍了【模型预测】A-4D战斗机姿态控制的模型预测控制方法(Matlab代码实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

飞行器姿态控制通过复杂的动力学来描述,这使得该系统的控制算法的设计变得困难。除此之外,战斗机尤其被设计成天生不稳定的,因为这使它们更加敏捷,能够进行侵略性机动。出于这个原因,需要先进的控制技术来确保飞机的稳定性和控制。目前在飞行器和航天器中,姿态控制的许多研究工作都集中在增量非线性动态反演上。

本文研究了一种应用于A-4D战斗机姿态控制的模型预测控制方法。MPC控制器中使用的动力学模型是飞机旋转动力学的线性化。本文考虑了两种类型的MPC控制,即基于状态的参考跟踪MPC和具有扰动抑制的基于输出的参考追踪MPC,并通过稳定性分析证明了跟踪问题的渐近闭环稳定性。

研究发现,A-4D战斗机的线性化姿态动力学是开环稳定的,无论预测地平线长度如何,都会导致稳定性。此外,还发现A-4D战斗机在跟踪特定俯仰角时能够抑制干扰。

📚2 运行结果

【模型预测】A-4D战斗机姿态控制的模型预测控制方法(Matlab代码实现)

【模型预测】A-4D战斗机姿态控制的模型预测控制方法(Matlab代码实现)

【模型预测】A-4D战斗机姿态控制的模型预测控制方法(Matlab代码实现)

【模型预测】A-4D战斗机姿态控制的模型预测控制方法(Matlab代码实现)

【模型预测】A-4D战斗机姿态控制的模型预测控制方法(Matlab代码实现)

主函数部分代码:

clear all
clc
close all
​
%% Data
​
% states = [angle of attack, pitch rate, pitch angle]
​
dt = 0.1;    %time step
T=15;        %simulation time
Nsim = T/dt; %number of simulation steps
​
%Continuous-time model dynamics
​
A = [ -0.5507  1      0;
      -9.7621 -0.9983 0;
       0       1      0 ];              
B = [ -0.0545
      -14.494
      0 ];               
C = [ 0 1 0;
      0 0 1 ];
D = [ 0;  0 ];
​
%Discrete-time model dynamics
​
sys = ss(A, B, C, D);                       %state-space model
sys = c2d(sys, dt);                         %discrete state-space model
​
%LTI system definition
​
LTI.A = sys.A;
​
LTI.B = sys.B;
​
LTI.C = sys.C;
​
LTI.D = sys.D;
              
LTI.x0 = [ 0.0; 0; 0.0 ];
LTI.d = [ 0.0; 0.0 ];
LTI.yref = [ 0.0; 0.0 ];
​
%Definition of system dimension
​
dim.nx = 3;     %state dimension
dim.nu = 1;     %input dimension
dim.ny = 2;     %output dimension
dim.nd = 2;     %disturbance dimension
dim.N =  5;     %horizon
​
%Definition of quadratic cost function
​
weight.Q = diag([10, 10, 500]);                  %weight on output
weight.R = eye(dim.nu);                          %weight on input
weight.P = dare(sys.A,sys.B,weight.Q,weight.R);  %terminal cost
​
%% Observer gain and disturbance matrices
​
K = place(LTI.A',(LTI.C*LTI.A)',[0.85; 0.90; 0.55])';      %tuning gain matrix
L = [K; eye(2)];                                           %observer gain
LTI.Bd = K;
LTI.Cd = eye(2) - C*K;
​
%% Check observability condition
​
rank = rank([eye(dim.nx)-LTI.A -LTI.Bd; LTI.C LTI.Cd]);
disp(rank)
​
%% Augmented system dynamics
​
LTIe.A = [ LTI.A LTI.Bd; zeros(dim.nd,dim.nx) eye(dim.nd) ];
LTIe.B = [ LTI.B; zeros(dim.nd,dim.nu) ];
LTIe.C = [ LTI.C LTI.Cd ];
LTIe.x0 = [ LTI.x0; LTI.d ];
LTIe.yref = LTI.yref;
​
%Definition of system dimension
dime.nx = 5;     %state dimension
dime.nu = 1;     %input dimension
dime.ny = 2;     %output dimension
dime.N  = dim.N; %horizon
​
%Definition of quadratic cost function
weighte.Q = blkdiag(weight.Q, zeros(dim.nd));            %weight on output
weighte.R = weight.R;                                    %weight on input
weighte.P = blkdiag(weight.P, zeros(dim.nd));            %terminal cost

🎉3 参考文献

[1]孙秀云. 小型无人直升机自主飞行控制算法研究[D].南开大学,2013.

部分理论引用网络文献,若有侵权联系博主删除。文章来源地址https://www.toymoban.com/news/detail-463176.html

🌈4 Matlab代码实现

到了这里,关于【模型预测】A-4D战斗机姿态控制的模型预测控制方法(Matlab代码实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mpc模型预测控制原理详解

    本文是对mpc模型预测控制学习的记录,主要参照了DR_CAN老师的视频进行学习。视频专栏链接:DR_CAN老师mpc视频专栏。在这篇博客中博主也针对DR_CAN老师的讲解做了详尽的笔记和代码实现。读者可以相结合地进行学习。 MPC算法主要包括以下三步: 估计/测量读取当前系统状态

    2023年04月14日
    浏览(47)
  • MPC(模型预测控制)-Simulink仿真

    一、为什么使用MPC控制器? ① MPC可以处理多输入耦合控制多输出的问题: ② MPC可以处理对于控制量有约束的问题 比如,驾驶汽车的时候,汽车速度和转角都有上限 ③ MPC具有预测效果 即MPC考虑的不是根据当前参考值进行控制,而是根据预测时间内的参考去预测当前的控制量,

    2024年01月25日
    浏览(44)
  • AI 与控制:神经网络模型用于模型预测控制(Model Predictive Control)

    最优控制理论处理的问题通常是找到一个满足容许控制的 u*,把它作用于系统(被控对象)ẋ(t)=f(x(t),u(t),t) 从而可以得到系统的状态轨迹 x(t),使得目标函数最优。对于轨迹跟踪问题,那目标函数就是使得这个轨迹在一定的时间范围[t0tf]内与我们期望的轨迹(目标)x*(t) 越近

    2024年02月04日
    浏览(51)
  • 使用模型预测控制对USV进行自主控制(Matlab代码实现)

        目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码   无人船(unmanned surface vehicles,USV)是一种船端无人操控的水面船舶,近年来受到了广泛关注。如何实现自主航行是USV面临的核心问题,而设计一种具有精确航迹控制能力的运动控制器是解决该问题的基础。   

    2023年04月09日
    浏览(74)
  • MATLAB 模型预测控制(MPC)控制入门 —— 设计并仿真 MPC 控制器

    MATLAB 模型预测控制(MPC) 模型预测控制工具箱™ 提供了用于开发模型预测控制 (MPC) 的函数、应用程序、Simulink® 模块和参考示例。对于线性问题,该工具箱支持设计隐式、显式、自适应和增益调度 MPC。对于非线性问题,您可以实现单级和多级非线性 MPC。该工具箱提供可部

    2024年02月02日
    浏览(53)
  • 模型预测控制(MPC)简介及matlab实现

    全称 :Model-based Predictive Control(MPC)—模型预测控制 本质 :MPC利用一个已有的模型、系统当前的状态和未来的控制量,来预测系统未来的输出,然后与我们期望的系统输出做比较,得到代价函数,通过优化的方法,优化出未来控制量,使得代价函数最小。优化出来的控制量即

    2023年04月08日
    浏览(42)
  • 路径跟踪算法之模型预测控制(MPC)跟踪

    模型预测控制(以下简称 MPC)是一种依赖于系统模型进行数学优化的复杂控制器。它利用优化算法计算有限时间范围内一系列的控制输入序列,并优化该序列,但控制器仅执行序列中的第一组控制输入,然后再次重复该循环。MPC 主要分为 3 个关键步骤:模型预测、滚动优化

    2024年01月23日
    浏览(52)
  • 【自动驾驶】模型预测控制(MPC)实现轨迹跟踪

    bilibili的DR_CAN讲解的MPC模型预测控制器 知乎上一个比较通俗易懂的解释 模型预测控制 轨迹跟踪模型预测控制(MPC)原理与python实现 DR_CAN笔记MPC MPC控制笔记 模型预测控制(MPC)的核心思想就是以优化方法求解最优控制器,其中优化方法大多时候采用二次规划(Quadratic Programmin

    2024年02月02日
    浏览(53)
  • 3d姿态 mhformer 预测代码

    目录 算法原理: 2d关键点: 预测并可视化代码 调整部分代码:

    2024年01月17日
    浏览(32)
  • 算法详解+代码(无人驾驶车辆模型预测控制第四章)

    首先对汽车运动学模型进行建模: ​ 设后轴速度为,前轴行速度为考虑后轴轴心的速度约束,得到和后轴速度的关系如下:                                             考虑到前后轴速度约束的运动学方程为:       设后轴行驶中心为,前轴行驶中心为,根据前后轴之

    2024年02月03日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包