VTOL飞行器系列(三)| 集成验证的逻辑与实践
低空经济如火如荼,EVTOL热度正盛。飞控系统是飞行器的核心系统,在EVTOL上涉及到一般飞行器没有的转换阶段,在安全性上挑战更大。基于此,我们就垂直起降飞行器的飞控系统的全自主控制律开发为案例,简要介绍系统开发的流程和步骤,以及使用的工具和方法,最后用试飞验证进行展示。欢迎与有兴趣的读者互相交流,如有错误之处,欢迎指出。本篇是正曜飞控推出的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)。将飞控硬件中固件输出的控制量作为飞行器数学模型的输入,用飞行器模型输出的可测量的物理量替换飞控硬件的传感器输入,从而形成半物理的闭环系统进行仿真测试。为提高仿真的真实度,同时降低实际试飞的风险和成本,通常也会考虑将传感器、舵机、电机等外设部件作为硬件实体加入仿真的闭环回路中,确保硬件自身的动力学、物理限制、噪声、随机误差等特性对控制系统的影响在实际试飞之前得到评估确认。
02
MIL仿真
(1)建立飞行器数学模型
飞行器的数学模型通常在控制律设计之初就要建立。设计人员需要使用配平线性化方法将非线性的六自由度动力学模型简化为横纵向解耦的四阶或二阶线性小扰动模型,并表示为系统传递函数或状态空间方程的形式,然后进一步利用经典控制理论或现代控制理论的方法分析系统特性并设计控制律及参数,最后在功能验证阶段通过非线性仿真的时域响应验证控制性能是否符合设计需求。
精确的飞行器模型能够极大地保证控制律设计性能与实际控制性能的符合程度,但是准确的气动数据、舵面和发动机动态特性、传感器测量误差、机体安装制造误差等模型不确定性都是精确模型获取的阻碍,克服这些阻碍需要投入大量的财力和时间。为了解决这一问题,工程上通常采用多种假设和近似估计的方法,如用刚体假设去除动力学方程中机体弹性变形的影响、用CFD计算结果代替风洞数据、用带纯延迟的典型一阶或二阶系统模拟执行机构动态特性等。更详细的公式推导及飞行动力学原理建议阅读相关专业书籍和文献进行深入了解。
本案例建立的倾转旋翼飞行器数学模型能够表现飞行器的刚体动力学和运动学特性,气动模型可描述飞行器的正常空气动力学特性和大迎角失速现象,动力模型支持模拟旋翼倾转过程以及旋转部件转动带来陀螺效应,起落架模型支持模拟地面起降任务,舵机、电机和传感器模型可模拟实际部件的常见特性。
飞行器模型
除了飞行器模型和飞控模型,我们还可以加入一些Simulink提供的模块以丰富仿真模型的功能。比如可以加入摇杆输入模块用于手动生成控制输入指令。
摇杆输入模块
可以通过FlightGear接口模块将飞行器的状态数据发送到FlightGear开源飞行模拟软件中生成虚拟仿真视景。
FlightGear接口模块
亦可以加入仪表盘模块模拟地面站进行数据监控和任务指令发送。
仪表盘模块库
最终我们得到了完整的仿真模型。
仿真模型
(2)准实时仿真设置
运行仿真时建议设置Simulation Pacing以实现准实时仿真,即仿真时间增加的速度与实际一致,从而保证仿真数据的实时变化和虚拟视景中飞行器的运动更加真实。
准实时仿真
(3)运行仿真
本节同样以倾转过渡控制策略的验证为例。
任务流程为:飞行器初始时刻在地面,待地面站发出起飞指令后,飞行器自动起飞离地,竖直上升至预设起飞高度,然后自动开始向固定翼模式倾转过渡,过渡完成后保持平飞。一小段时间后,地面站发出着陆指令,飞行器开始向多旋翼模式过渡,过渡完成后自动降落直到接地。
仿真过程中,通过FlightGear软件虚拟视景监控飞行器的运动。
飞行器在地面等待起飞
仿真结束后,打开数据检查器(Simulation Data Inspector)查看记录的信号曲线,分析仿真结果。
查看仿真结果
向固定翼模式倾转过渡的过程中,高度从10m最低降到8.9m,速度则从0m/s以约4m/s2的加速度稳定增加,过渡全程耗时约5.4s。向多旋翼模式倾转过渡的过程中,高度从10m最多增加至14.7m,速度从18m/s以约-2.3m/s2的加速度稳定减少,过渡全程耗时约7s。仿真结果表明,当前倾转过渡控制策略符合安全稳定过渡的需求。
03
SIL仿真
(1)自动生成C语言代码
首先打开模型配置界面,在代码生成的验证中,将高级参数创建模块设置为SIL。
配置模型参数
然后回到模型中,右键点击飞行控制器模型,选择C/C++代码,选择编译此子系统。
将子系统模块编译为C代码
编译完成之后,会出现用于SIL仿真的封装模块,进入该封装模块的内部可以发现,实际上这是一个调用了C代码的S-Function模块。
自动生成的SIL仿真模块
回到顶层模型,将原来的子系统模块替换为自动生成的SIL模块,就可以开始SIL仿真测试。
加入SIL模块后的顶层模型
SIL仿真是一种等效性测试,所以我们需要设定完全相同的仿真输入,接着先后运行原本的仿真模型和替换了SIL模块之后的仿真模型,最后在数据检查器中对比两次仿真的信号曲线。可以看到,两次仿真的信号曲线完全重合,表明了C代码的运算输出和控制模型的仿真输出完全一致。
检查两次仿真结果的一致性
04
PIL仿真
(1)配置目标硬件支持包
以正曜飞控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”并安装。
安装Embedded Coder Interface to QEMU Emulator
安装完成后,按照设置引导完成QEMU Emulator 2.5.0版本的下载和安装即可。
下载并安装QEMU Emulator
(3)自动生成测试固件
打开模型配置界面,在硬件实现中选择目标硬件为ARM Cortex-M3(QEMU)。
设置目标硬件
然后与SIL仿真相同,在代码生成的验证选项中,设置高级参数创建模块为PIL。
配置模型参数
回到顶层模型中,右键点击子系统模块选择C/C++代码中的部署此子系统到硬件。最终我们得到了完整的仿真模型。
将子系统模块交叉编译为固件代码
编译结束后,可以得到控制器模型对应的PIL仿真模块。
自动生成的PIL模块
之后的流程与SIL仿真相同,用PIL模块替换原来的控制器模型,然后运行仿真,检查模块输出与控制器模型仿真输出的一致性。
05
HIL仿真
完整的HIL仿真流程通常需要飞控、地面站主机、仿真机、数据链路融合站、飞行器执行机构、三轴转台等设备的协同运行,以实现对飞控软硬件、通信数据链、地面站软件、执行机构动态特性、传感器特性等的任务级联调联试。
正曜飞控产品除支持标准完整的HIL仿真流程之外,提供了一种简易的HIL模式:将飞行控制代码和飞行器模型代码分别部署在一主一从两个MCU中,飞控在HIL模式下运行时,飞控输出从飞控内部传至飞行器模型,飞控所需的传感器数据则由飞行器模型实时解算。这种简易的HIL流程能够方便高效地测试飞控软件逻辑、硬件计算性能、通信链路和地面站软件,从而将部分外场试飞才能发现的系统性风险提前在实验室确认排除。
06
试飞验证
经过以上的设计验证流程,并对控制器模型进行迭代完善后,可以开始进行全部控制系统功能的试飞验证,完整的试飞视频可以在正曜飞控官方网站观看。
试飞使用的倾转旋翼验证机
试飞视频截图
如需了解更多VTOL飞行器的详细内容,可以点击阅读原文查看正曜飞控联盟号发布的VTOL飞行器系列文章。
/END/
长按查看
官方网站
长按关注
Bilibili
长按加入
粉丝QQ群
页:
[1]