无人机综合仿真系统开发与应用*

2019-11-13 02:59张剑锋程雪梅
弹箭与制导学报 2019年3期
关键词:风洞试验板卡舵机

张剑锋,程雪梅

(西北工业大学第365研究所,西安 710065)

0 引言

随着无人机功能越来越复杂,无人机的成本也越来越高,对于高性能高成本的无人机系统来说,如何降低飞行试验的风险是重中之重。和航模不同,无人机的安全性不应该在高风险的飞行试验中完善,这就必须依赖于充分的地面验证,目前,无人机地面验证手段主要包括开环测试和闭环半物理仿真。无人机飞控系统半物理仿真技术已经比较成熟[1-2],但大多数主要用于实验室环境下对飞行控制律及飞控计算机的正确性进行仿真测试。

文中所介绍的无人机系统综合仿真方法能够对飞控系统、航电设备、地面站、数据链、机载供电、遥控设备、飞行控制与导航算法等形成大的闭环进行仿真验证。基于完整的风洞试验数据,在综合仿真试验中,无人机的气动特性和实际飞行时基本一致,从而使得使用人员不但可以对闭环在内的各个设备软硬件的正确性、可靠性以及系统集成后的兼容性、稳定性等进行地面验证,同时还能够对飞行过程进行高逼真度的模拟训练,从而有效降低项目研制风险、缩短研制周期。

1 系统方案设计

1.1 综合仿真的开发过程

无人机综合仿真的一般过程如图1所示。

高置信度的仿真系统是地面验证试验成功的前提。图1表述了综合仿真的一般过程,对于每一步骤来说,VV&A (verification, validation and accreditation) 都应该全部完成[3],以期得到高置信度的仿真系统。

1.2 系统组成

综合仿真框图见图2。其中地面控制站、地面数据链、机载数据链、机载电源、飞控计算机(含飞控与导航算法)、舵机等是仿真验证的实物对象,仿真计算机是仿真设备。

图1 综合仿真的一般过程

图2 无人机系统综合仿真框图

综合仿真时,地面控制站把控制指令通过数据链发送给飞控计算机,飞控计算机根据收到的指令和当前的飞行参数进行控制律和导航算法的解算,把计算后的控制量输出给舵机驱动舵面,仿真计算机内部是基于风洞试验数据构建的飞机模型,根据采集到的舵机反馈量进行飞机运动学方程的解算,并把解算得到的飞行参数按照实际传感器的数据格式打包发送给飞控计算机,后者再根据飞行参数和地面发送的控制指令进行控制律解算,如此就形成了完整的无人机大系统闭环仿真。仿真计算机的飞机模型是基于风洞试验数据开发,其特性和实际飞行中无人机特性基本一致,因此综合仿真使得参与的实物设备在地面就能够完成高置信度的全面验证。

仿真计算机主要包括仿真主机和实时仿真机。仿真主机用于构建并下载无人机六自由度仿真模型、数据分析处理等,实时仿真机用于实时解算无人机模型、采集舵机反馈数据、向飞控计算机发送无人机姿态、高度、空速等飞行参数。

2 仿真系统设计

2.1 硬件配置与设计

本项目的仿真对象为某外贸型固定翼无人机,其巡航速度约为130 km/h,巡航高度约为3 000 m。根据仿真对象的特性,一台普通中端笔记本电脑即可满足仿真主机的需求。实时仿真计算机需要进行硬件信号的采集与处理,因此选用一台具备两个ISA插槽和2个PCI插槽的工控机。

就该仿真对象来说,需要采集的舵机反馈量为6路电压信号,包括升降舵、左副翼、右副翼、左方向舵、右方向舵以及油门舵机。选取研华的PCL-818AD采集卡进行舵机反馈信号的采集,该板卡具有16路单端采集通道,且在MATLAB的RTW支持列表中,无需另行开发驱动程序。

需要实时仿真机模拟的传感器包括垂直陀螺、角速度陀螺、高度/空速传感器、GPS信号、无线电高度表,这些信号包括串口和电压量。选择具有8路电压信号输出且在MATLAB支持列表中的PCI-1723板卡进行电压信号的输出。串口输出板卡选用了Moxa的C168H,该扩展板卡具有8路RS232串口输出。

为了保证仿真的实时性,仿真模型需要在实时系统下运行,此处选用MATLAB的xPC Target,该应用是MATLAB推出的实时系统解决方案,使用主机/目标机模式,编程以S函数的形式在主机上开发,编程语言为C语言[4]。开发好的模型可以直接编译为可执行代码下载到目标机中实时运行。

2.2 电缆设计

仿真电缆用于连接仿真系统和实物系统,信号流程见图3。串口信号通过仿真机的串口卡输出给飞控计算机,这些信号包括航向角、三轴角速率、GPS信号和无线电高度信号等。电压信号通过仿真机的AD、DA卡进行采集或发送,这些信号包括俯仰角、滚转角信号的模拟输出,舵机反馈信号的采集等。

图3 仿真信号流程示意

2.3 仿真模型设计

仿真模型包括无人机方程、气动数据模块、发动机模型、环境模型以及硬件接口模块,如图4所示。

图4 仿真模型组成

无人机模型为六自由度方程,利用小扰动法可以得到描述飞机运动的六自由度动力学方程,经过线性化后得到飞机受扰运动的线性化状态方程如下:

U=[δeδaδrδt]T

其中:A、B、C分别为状态转移矩阵、输入控制矩阵和输出控制矩阵;ϑ、γ、ψ分别为俯仰角、倾斜角和航向角;u、v、w分别为前飞速度、侧向速度和垂直速度;δe、δa、δr、δt分别是升降舵、副翼、方向舵和油门的操纵量。上述方程是标准的飞机六自由度方程[5],其系数矩阵根据风洞试验数据计算得到。在SIMULINK工具箱里面把离散状态方程模块(Discrete State-Space)放置在仿真框图中,其参数矩阵即为工作空间中的上述参数,这些值随飞行状态的变化而变化,当对某一特定的状态,这些系数均为确定值。

气动数据模块用于计算无人机受到的力和力矩,其输入为迎角、高度、速度、各个舵面控制量等,输出为无人机受到的合力和合力矩,模块内部是根据风洞试验得到的气动数据插值表。

发动机模型一般由发动机专业给出数据,通过插值表的形式根据油门大小计算出推力。

环境模块主要是风干扰模型,可直接从MATLAB的Simulink中加载使用。

硬件接口模块包括模拟量采集、模拟输出和串口输出,模拟量输入和输出模块可以直接使用Simulink的RTW中封装好的硬件通讯模块,无需另行开发。串口输出卡没有在RTW的支持列表中,需要使用S函数开发驱动程序。MATLAB提供了标准的S函数模板,包括MdlStart、MdlOutputs、MdlUpdate等编程接口,在开发驱动时,在MdlStart模块中初始化板卡,并在MdlOutputs进行串口输出操作即可,在本项目中,可在MdlStart函数中加入如下程序对串口卡进行初始化。

C168H_Base =(short) (*param0);//得到基地址

C168H_Base =C168H_Base+8;//第2个串口

if (!C168H_Ini)

{

_outp(C168H_Base, 0x80); //寄存器访问使能

_outp(C168H_Base, 0x60); //波特率设置为19200

_outp(C168H_Base +3, 0x03); //设置8数据位

_outp(C168H_Base +4, 0x04);

_outp(C168H_Base +1, 0); //中断关闭

C168H_Ini =true;

}

可在S函数模板的MdlOutputs中添加如下代码以完成串口输出:

for(i=0;i

// rs232buffo为输出数组,C168H_Base为板卡基地址

{

_outp(C168H_Base, rs232buffo[i]); // 按字节依次发数

while(!(_inp(C168H_Base+5)&0x20)); // 发送完毕判断

}

3 仿真结果分析

为说明该综合仿真方法的正确性,把该型无人机起飞过程[6]的综合仿真和飞行试验结果进行对比。在起飞过程中,该无人机的起飞爬升角度指令设置为11.6°,油门设置为最大值,飞机爬升到预定高度后自动切换为定高飞行。

图5为俯仰角和迎角曲线的对比结果,由图可以看出综合仿真与实际飞行试验结果是基本一致的,由于实际飞行中存在气流扰动、传感器信号测量误差,实飞曲线不像仿真曲线那么平滑,此外,仿真用的气动数据不可能和实际完全一致也导致稳定终值存在合理的差别。

4 结束语

文中针对某型固定翼无人机,提出了一种实用的综合仿真方法,给出了总体方案设计、综合仿真系统开发、信号连接过程与综合仿真方法,并对实际飞行结果和综合仿真结果进行了分析对比。从对比结果可知,该综合仿真方法正确可行,仿真系统实现简单,具有很高的置信度,能够实现飞行试验前对无人机大系统的闭环综合仿真验证,从而为定位系统问题以及系统改进优化提供有效手段。该综合仿真方法和仿真平台正在某外贸型无人机系统中使用,效果良好,后续只需对电缆进行适应性改造,即可推广应用到其他多种型号的无人机项目。

图5 仿真数据和飞行数据的对比

猜你喜欢
风洞试验板卡舵机
直升机前飞状态旋翼结冰风洞试验研究
直升机某型舵机自动测试系统设计分析
基于速度观测的双余度电液舵机系统容错同步控制
RTX系统下并行I/O卡驱动程序的开发
航空电子设备机上线路故障研究
F1赛车外形缩比设计方法
超音速舵机保护器
菜鸟看模型