加载中...


一套飞控软件从代码编写完成到真正挂载在飞行器上飞起来,中间最容易被忽视、却最容易"炸机"的环节,就是地面级的半实物仿真验证。很多研发团队栽过同一个跟头:飞控单元单机跑仿真一切正常,一接上真实的传感器信号和舵机负载,要么控制律发散,要么通讯时序错乱,结果修一个Bug带出三个新Bug。半实物仿真测试(HIL,Hardware-in-the-Loop)正是用来在地面把这一层"真实接口不确定性"提前暴露并闭环解决的关键手段。这篇文章将以民用无人机飞控为对象,把整套HIL测试方案从架构、协议、模型部署到用例设计完整拆解一遍。

纯数字仿真(Software-in-the-Loop,SIL)只能验证控制算法的数学逻辑是否收敛,无法验证驱动层、通讯层、异常处理层的真实表现。而无人机飞控是一个"算法+驱动+时序"的紧耦合系统,单独跑SIL会出现大量"仿真通过、实飞炸机"的盲区。半实物仿真把飞控计算机当作实物接入,由仿真机模拟惯导、GPS、舵机、发动机ECU、链路电台等外围设备,把代码运行在真实的目标芯片上,捕获的是端到端的真实时序和信号完整性。
对于民用无人机研发而言,HIL测试带来的直接收益有三层:第一,在不放飞实物的前提下,覆盖正常飞行包线、边界工况、传感器故障注入等上千个测试场景;第二,把飞行试验中偶发的、不可复现的问题在实验室里转化为可重复的回归用例;第三,缩短飞控软件版本的迭代周期,从过去依赖外场试飞的一两个月,压缩到桌面端的几天。
| 对比项 | 实飞试验 | 半实物仿真测试 |
|---|---|---|
| 单次成本 | 数万元至数十万元 | 几乎为零,仅消耗电力 |
| 可重复性 | 差,受天气、空域、电池状态影响 | 高,可反复回放同一工况 |
| 故障注入能力 | 极弱,仅能模拟单点故障 | 强,可注入传感器漂移、信号丢帧、总线错误等 |
| 覆盖度 | 仅限正常飞行包线 | 含极限边界、异常注入、回归测试 |
| 周期 | 周期长、空域申请繁琐 | 24小时不间断自动化执行 |
一套完整的飞控HIL平台通常由三层构成:上位机(测试管理与监控)、实时仿真机(运行被测飞控之外的所有模型)、被测飞控计算机(实物接入)。三者的职责要严格区分,否则会破坏测试的真实性。
上位机负责测试脚本编辑、测试用例管理、可视化监控、数据记录与回放。常见上位机软件包括凯云ETest、VeriStand、TestStand等。其中凯云ETest在国产飞控HIL场景中应用较广,原生支持ICD文件导入、信号在线编辑、测试报告一键导出,对国军标、民航相关的测试规范都有较好的适配。
实时仿真机是整个HIL平台的"心脏",需要保证微秒级确定性的模型步长。常见的硬件平台包括dSPACE、NI PXI、Speedgoat,以及国产的实时仿真设备。实时仿真机内运行三类模型:飞行器动力学模型(六自由度气动方程)、传感器模型(IMU、GPS、气压计、磁罗盘的误差模型)、执行机构模型(舵机响应、电机转速、电调延迟)。
真实飞控板通过航空插头或线缆接入仿真机。对于飞控厂商而言,被测飞控往往是量产原型机,而HIL测试夹具要保证电气特性与真机完全一致,包含电源域、信号调理电路、信号隔离。

飞控与外围设备通讯的协议配置,是HIL测试中最容易踩坑的环节。下面逐一拆解几种典型协议在仿真机端的配置方法。
民用无人机飞控最常见的就是CAN/CAN FD协议。配置时需要严格定义报文ID、周期、数据长度、字节序。以某型植保无人机飞控为例,仿真机每10ms发送一帧0x201报文,包含电机1转速指令;每20ms接收一帧0x181报文,包含电机1当前转速反馈。在ETest或VeriStand中,需要在CAN数据库(.dbc文件)里完成上述定义,并将信号映射到仿真模型的输入输出端口。
关键参数建议:波特率设为500kbps,采样点设为75%(SJ=6,BS1=14,BS2=2),确保与真机端位时间容差匹配。CAN FD模式下,数据段波特率可提至2Mbps,但需评估线缆长度对信号完整性的影响。
民用航空场景中,无人机与地面站、姿态航姿传感器(AHRS)的通讯常使用ARINC429协议。ARINC429为单工串行协议,32位字长,包含标签(Label)、源/目标标识(SDI)、数据区、符号状态矩阵(SSM)、奇偶校验位(P)。仿真机端需要配置发送波特率(高速100kbps或低速12.5kbps)、字间隔(4bit时间)、发送周期。
典型信号:标签204为气压高度、标签210为惯性高度、标签260为日期、标签261为格林威治时间。仿真机需要根据当前模型计算结果,逐字封装为ARINC429数据流输出。
部分工业级无人机、舰载无人机飞控采用1553B总线作为冗余通讯架构。1553B是命令/响应式串行总线,1Mbps速率,包含BC(总线控制器)、RT(远程终端)、BM(总线监视器)三种终端类型。仿真机在HIL中通常作为BC角色,飞控板作为RT角色。
配置时需在ICD(接口控制文件)中定义:消息地址(RT地址0~31)、子地址(SA0~31)、消息传输类型(BC→RT、RT→BC、RT→RT)、消息间隔(如20ms、50ms)。在ETest或国产ETest集成环境中,可直接导入ICD文件并自动生成数据库。

除上述三种主流通讯协议外,民用飞控还涉及RS422/RS485(用于电台、差分GPS)、SPI(用于IMU原始数据)、UART(用于数传链路)。这些协议在HIL平台中也都有对应的板卡支持,关键是要明确时钟同步策略——同步采集与异步采集对飞控滤波算法的影响差异巨大。
大多数民用飞控厂商使用MATLAB/Simulink开发控制算法,再代码生成(C/C++)后烧写到飞控板。但在HIL测试中,需要做的是反向操作——把飞控以外的"飞机+传感器+执行机构"模型部署到实时仿真机。下面以凯云SimuRTS或NI VeriStand为例,说明典型部署流程。
第一步,在Simulink中搭建六自由度飞机动力学、传感器、执行机构模型,设置固定步长求解器(推荐1ms步长,对应1kHz仿真频率)。第二步,通过Matlab Real-Time Workshop或国产RT-Sim工具链将模型编译为实时仿真机可执行的目标文件(.out或.so)。第三步,通过以太网或TCP将该目标文件下载到实时仿真机的内存中。
仿真机模型内部信号(如俯仰角、滚转角、电机1指令)需要通过板卡通道映射到物理接口(CAN、1553B、DAC、离散IO),再通过线缆接到真实飞控板的对应引脚。这一步建议建立一份《信号映射表》,标明模型信号名→板卡通道→线缆编号→飞控板引脚,便于后期维护与故障排查。

多块板卡之间需通过PFI(Programmable Function Interface)或IRIG-B时钟实现纳秒级同步,确保CAN报文、1553B消息、模拟量信号在同一时基下运行。故障注入模块负责按需触发传感器漂移、信号丢帧、突发干扰等异常工况,是HIL测试区别于SIL的关键能力。
测试用例的设计水平直接决定了HIL平台的价值释放程度。一套完整的飞控HIL测试用例库应至少包含以下五类:
覆盖起飞、平飞、爬升、转弯、下降、降落六个阶段,每个阶段定义稳态期望值(如俯仰角±5°、滚转角±3°)与瞬态响应时间(如姿态阶跃响应上升时间<200ms)。
针对最大迎角、最大滚转角、最低可用速度、最高高度、最低气压工况,验证飞控是否进入保护模式或安全降级。
注入GPS丢星、IMU陀螺漂移、气压计卡死、磁罗盘受扰等单点或多点并发故障,验证飞控故障检测与隔离(FDI)逻辑。
注入CAN总线错误帧、1553B消息超时、ARINC429奇偶校验错误等,验证飞控通讯栈的重连与降级策略。
将上述用例按版本管理纳入CI流水线,每次飞控软件代码提交后自动触发全部HIL回归测试,输出通过率、覆盖率、缺陷密度等指标。凯云咨询在为多家民用无人机厂商搭建HIL体系时,通常会推荐"用例库分层+自动化串联+报告可视化"的闭环方案。

过去十年,国内民用无人机研发企业的HIL平台大多依赖进口软硬件,授权费用高昂、二次开发受限、售后服务周期长。近年来随着凯云ETest、SimuRTS等国产实时仿真软件的成熟,国产HIL替代正在从"能用"走向"好用"。从客户实际应用反馈来看,国产方案在协议支持宽度、中文文档完备性、定制化响应速度、本地化技术支持四个维度已具备明显优势。
选型时建议重点关注五个指标:实时仿真机步长确定性、支持的通讯协议种类、故障注入能力、自动化测试框架完备度、与CI/CD流水线集成能力。如果厂商拿不准平台与自身飞控架构的匹配度,可直接联系凯云咨询的测试工程师团队做一次方案评估,往往比自查一周更高效。
工具能不能替代,从来不是软件功能清单上罗列了几个协议的问题,而是它能不能在你凌晨三点调试飞控突然变砖时,七分钟之内有人响应、有人定位、有人给出补丁。