本篇是正曜飞控推出的VTOL飞行器系列第三篇文章(前两篇点击这里查看),内容主要是围绕垂直起降飞行器(Vertical Taking Off and Landing, VTOL)的集成验证过程。
01
集成验证
根据仿真中涉及的系统环节的不同,通常将仿真方法分类为:
模型在环仿真(MIL, Model in the Loop)。将控制模型输出的控制量作为飞行器数学模型的输入,将飞行器模型输出的可测量的物理量作为控制模型的输入,从而形成闭环系统进行任务级的仿真测试。
软件在环仿真(SIL,Software in the Loop)。将控制算法模型通过Simulink提供的Simulink Coder/Embedded Coder工具自动生成为C语言代码,然后检查算法模型和算法代码运行结果的一致性。
处理器在环仿真(PIL,Processor in the Loop)。在SIL的基础上进一步将C语言代码交叉编译为可在飞控硬件中运行的固件并烧录入硬件,并在上位机与硬件之间搭建通信,测试激励通过Simulink信号源产生,同时喂给上位机模型以及硬件中的固件,固件的计算结果通过硬件回传给Simulink跟算法模型计算结果集中处理,检查算法模型和固件运行结果的一致性。
硬件在环仿真(HIL,Hardware in the Loop)。将飞控硬件中固件输出的控制量作为飞行器数学模型的输入,用飞行器模型输出的可测量的物理量替换飞控硬件的传感器输入,从而形成半物理的闭环系统进行仿真测试。为提高仿真的真实度,同时降低实际试飞的风险和成本,通常也会考虑将传感器、舵机、电机等外设部件作为硬件实体加入仿真的闭环回路中,确保硬件自身的动力学、物理限制、噪声、随机误差等特性对控制系统的影响在实际试飞之前得到评估确认。
以正曜飞控Obsidian A3飞控为例,飞控处理器为ARM Cortex-M7。Simulink提供了对ARM Cortex-M系列处理器的支持包,可以在附加功能资源管理器中查找“Embedded Coder Support Package for ARM Cortex-M Processors”,然后按提示安装。
ARM Cortex-M系列处理器的硬件支持包
(2)配置QEMU仿真器
Simulink中PIL仿真可不连接实际硬件,而是将固件代码部署在QEMU仿真器中运行,这种方式与在硬件中运行的PIL仿真等效,同时更易操作。首先在附加功能资源管理器中查找“Embedded Coder Interface to QEMU Emulator”并安装。