贝博恩创新科技网

Aerospace Blockset教程怎么学?关键步骤有哪些?

Aerospace Blockset 教程:从入门到精通

什么是 Aerospace Blockset?

Aerospace Blockset™ 是 MathWorks 公司(MATLAB 和 Simulink 的开发者)推出的一款基于 Simulink 的专业工具箱,它为航空航天领域的系统级建模、仿真和分析提供了预先构建的、经过验证的库和参考应用。

Aerospace Blockset教程怎么学?关键步骤有哪些?-图1
(图片来源网络,侵删)

核心价值:

  1. 模块化建模: 无需从零开始编写复杂的数学方程,可以直接通过拖拽封装好的模块来搭建飞机、火箭、卫星、制导炸弹等航空航天系统的模型。
  2. 高保真度环境: 包含了大气模型、重力模型、风场模型、坐标系转换、飞行器六自由度动力学等关键模块,能够精确模拟飞行器在真实环境中的行为。
  3. 标准与规范: 内置了标准的坐标系(如 NED, ECEF, ECI)、单位制和大气模型(如 US Standard 1976),符合行业规范,便于团队协作和模型验证。
  4. 快速原型设计: 可以快速构建控制律、导航算法、任务规划等算法的模型,并与飞行器动力学模型进行联合仿真,加速开发流程。
  5. 从设计到测试: 模型可以无缝衔接到其他 MathWorks 工具,如用于代码生成的 Simulink Coder、用于硬件在环测试的 HDL Coder 和 Testbench,以及用于飞行数据分析的 Aerospace Toolbox。

核心概念与库介绍

在开始建模之前,必须理解 Aerospace Blockset 的几个核心概念和常用库。

坐标系

这是航空航天仿真的基石,Aerospace Blockset 提供了强大的坐标系转换功能,几乎所有模块都允许你指定输入和输出的坐标系。

  • NED (North-East-Down): 东北天坐标系,原点在飞行器,X指北,Y指东,Z向下,常用于飞机近地飞行。
  • ECEF (Earth-Centered Earth-Fixed): 地心地固坐标系,原点在地球质心,随地球自转,常用于全球定位和导航。
  • ECI (Earth-Centered Inertial): 地心惯性坐标系,原点在地球质心,不随地球自转,常用于轨道计算和天体力学。
  • Body (机体坐标系): 固定在飞行器上,X轴通常沿机身轴线指向前,Y轴右翼,Z轴向下,用于描述飞行器的姿态和角速度。

关键模块:Axes Transformations 库,包含了各种坐标系之间的转换模块,如 ECI to ECFECEF to NEDQuat to DCM 等。

Aerospace Blockset教程怎么学?关键步骤有哪些?-图2
(图片来源网络,侵删)

大气与重力模型

  • 大气模型: 提供了标准大气模型(如 ISA Atmosphere (COESA)),可以根据高度计算空气密度、温度、声速等,对计算升力和阻力至关重要。
  • 重力模型: 提供了简单的点质量模型和更精确的 WGS84 Gravity 模型,后者考虑了地球的椭球形状,用于精确的轨道和弹道计算。

飞行器动力学

这是最核心的部分,通常使用 六自由度 (6-DOF) 模型 来描述飞行器的运动。

  • 6DOF (Euler Angles) 使用欧拉角来描述姿态,模块直接输出位置、速度、姿态角和角速度,这是最直观的模型,但存在万向节锁问题。
  • 6DOF (Quaternion) 使用四元数来描述姿态,避免了万向节锁,是现代航空航天仿真的标准选择,模块输出四元数,需要通过 Quat to DCMQuat to Euler 模块转换为姿态角用于显示。

关键模块:Aircraft Dynamics 库中可以找到这些预制好的动力学模块。

传感器与执行器

  • 传感器: 模拟真实传感器的特性,如 GPSIMU (惯性测量单元)AltimeterAirspeed Indicator 等,这些模块通常会加入噪声和延迟,使仿真更贴近现实。
  • 执行器: 模拟舵面、发动机推力等,如 Aerodynamic Forces and MomentsEngine Thrust

一个完整的建模与仿真工作流程

下面我们通过一个经典案例——“飞机自动着陆”,来演示一个完整的工作流程。

步骤 1:目标定义

我们要仿真一架飞机在进近阶段,如何通过自动驾驶系统跟踪一条预设的下滑道,最终安全着陆。

步骤 2:环境搭建

  1. 创建新模型: 打开 Simulink,新建一个模型。
  2. 添加环境模块:
    • Aerospace Blockset > Environment 库中,拖拽一个 ISA Atmosphere (COESA) 模块。
    • Environment 库中,拖拽一个 WGS84 Gravity 模块。
    • 这些模块为整个仿真提供了标准的大气和重力环境。

步骤 3:飞行器建模

  1. 添加动力学模型:
    • Aerospace Blockset > Aircraft Dynamics 库中,拖拽一个 6DOF (Quaternion) 模块,这是我们的飞机“本体”。
  2. 配置动力学模型:
    • 双击 6DOF (Quaternion) 模块,在弹出的参数对话框中,你需要提供飞机的质量、惯性矩阵、参考面积、翼展等气动参数,这些数据通常来自飞机的设计手册或风洞试验。
    • Input 选项卡中,确保输入端口 Aerodynamic forcesApplied forces 被勾选,用于接收我们后续计算的气动力和发动机推力。

步骤 4:控制律设计

  1. 建立控制器:
    • 使用 Simulink 的基础模块(如 Sum, Gain, PID Controller, Transfer Function)搭建一个简单的 PID 控制器。
    • 控制目标: 控制飞机的俯仰角,使其跟踪下滑道所需的下滑角。
    • 输入: 飞机的当前高度和速度(可以从 6DOF 模块的输出端获取)与期望的高度/航迹角之间的误差。
    • 输出: 产生的舵面偏转指令(如升降舵偏角 elevator)和油门指令。

步骤 5:气动与推进系统建模

  1. 计算气动力和力矩:
    • Aerospace Blockset > Aerodynamics 库中,拖拽一个 Aerodynamic Forces and Moments 模块。
    • 将控制律输出的舵面偏角和攻角(由 6DOF 输出计算得到)连接到该模块的输入端。
    • 该模块会根据当前飞行状态(高度、速度、攻角、侧滑角等)和舵面偏角,计算出作用在飞机上的升力、阻力、侧向力和滚转、俯仰、偏航力矩。
  2. 计算推力:
    • 使用一个简单的 Gain 模块或 Lookup Table 来模拟发动机推力,推力的大小由油门指令控制。

步骤 6:系统集成与仿真

  1. 连接模块:
    • Aerodynamic Forces and MomentsThrust 模块的输出,连接到 6DOF (Quaternion) 模块的 Aerodynamic forcesApplied forces 输入端。
    • 6DOF 模块的输出(位置、速度、姿态、角速度)连接到控制器的输入端,形成一个闭环系统
    • ISA AtmosphereWGS84 Gravity 模块的输出连接到 6DOF 模块对应的环境输入端。
  2. 设置仿真参数:
    • 设置仿真时间(300 秒)和求解器(建议使用 ode4 (Runge-Kutta)ode45)。
    • 6DOF 模块的初始条件中,设置飞机的初始位置(经度、纬度、高度)、初始速度和初始姿态。
  3. 运行仿真:

    点击“运行”按钮。

步骤 7:结果分析与可视化

  1. 使用 Scope: 添加 Scope 模块,连接到感兴趣的信号,如高度、速度、俯仰角、攻角等,观察其随时间的变化。
  2. 使用 Aerospace Toolbox 可视化:

    这是最强大的可视化方式,确保你安装了 Aerospace Toolbox。

分享:
扫描分享到社交APP
上一篇
下一篇