面向高效仿真的航天器飞行仿真系统设计与实现
2020-03-27周晓晨樊永生余红英连云霞
周晓晨,樊永生,余红英,连云霞,韩 意
(1.中北大学 大数据学院,山西 太原 030051;2.中北大学 电气与控制工程学院,山西 太原 030051;3.中国人民解放军63961部队,北京 100012)
随着空间技术的飞速发展,世界各国集中大量人力物力发展包括人造卫星,运载器和空间试验站在内的航天装备,积极开展各类航天试验,以争取航天技术领域的话语权[1].空间技术已经成为21世纪一个国家综合国力的重要体现[2].
考虑到航天器研发的特殊性,直接进行空间技术测试的风险及代价都很高.航天器仿真技术是世界各国开展空间技术研究的重要方法,将可大幅降低空间技术的研发成本及风险,进而在一定程度上提高运载器、人造卫星的使用寿命和可靠性[3].
本文针对航天器飞行仿真系统功能及性能需求对系统进行模块划分.在高清数字地球模型基础上将金字塔模型、半拉格朗日法与仿真技术结合,实现了飞行仿真系统中高清数字地球及运载火箭发射的可视化仿真功能.
1 仿真系统总体方案设计
根据飞行仿真系统的功能及性能需求,通过科学合理的划分仿真系统功能模块完成仿真系统总体方案设计.
1.1 系统功能分析
仿真系统以数字地球为基础,运载火箭在点之火后通过助推器产生的反作用力发射升空.飞行仿真系统采用某航天研究所提供的真实数据驱动,以确保飞行仿真系统的测试有效性要求.仿真系统功能示意图如图1所示.主要包括数据库、模型库、可视化计算等功能.
仿真系统加载模型库中地球模型,并通过四叉树层次细节算法对数据库中海量地理数据和高程数据进行分块,根据分块后的数据,快速完成地球绘制及地形渲染效率,构建高清数字地球,并以高清地球为基础,根据数据库星空数据解析得到太阳、月亮等天体位置,将星空与时间进行关联,实现仿真系统的时空统一[4].同时系统加载模型库中航天器可视化模型,通过半拉格朗日法建立航天器尾部火焰物理模型,完成运载器飞行过程的可视化展示.
图1 仿真系统功能示意图
1.2 系统模块划分
根据对仿真系统功能的分析,仿真系统主要划分为高清数字地球构建及航天器火焰模拟,如图2 所示.
2 高清数字地球构建
仿真系统通过金字塔算法嵌入海量地球影像数据和数字高程模型(DEM)数据实现高清数字地球的构建,实现地球的多分辨率展示,满足飞行仿真系统对太空环境真实性的要求,实现了时空统一[5].
2.1 地球影像数据分块
单张地球影像数据大小目前普遍可以达到数百兆甚至数千兆字节,而且随着航天技术的快速发展,其数据大小仍在持续增加.然而计算机计算资源有限,地球影像数据的高效处理已经成为飞行仿真系统中的一个重要研究方向.
影像数据分块是指将分辨率相同的影像进行分块操作,分块之后的数据成为原始影像数据的一个瓦片.数据分块技术[3]可以突破目前计算机计算资源限制,提高海量影像数据处理效率,同时也有利于影像数据的存储管理.如图3 所示,目前影像分块技术主要包括带状分快和块状分块.
图3 分块方式
2.2 层次细节算法
层次细节算法(LOD)[6-9]根据视距来改变模型的表面细节,使用不同精度的表面细节来描述飞行仿真系统中的模型.如图4 所示,当模型大小逐渐变大或者模型视距由远及近时,可视化模型精度随之增加.
图4 不同精度的卫星模型
2.3 地形数据分块
飞行仿真系统中地形数据的数据量较大,为满足仿真系统性能及实时性要求,提高仿真系统地形渲染效率,仿真系统对地形数据进行分块处理的同时需结合图形加速算法来提高仿真系统地形绘制效率.
2.3.1 基于四叉树的层次细节算法
在基于四叉树的层次细节算法中,四叉树根结点表示飞行仿真系统中全部地形数据集合,其叶子结点表示地形数据停止分割,即该节点中地形数据可以直接被渲染,树杈节点中地形数据无法被渲染,需要继续进行分割.
如图5 所示,从最开始的地形(a)到离视点最近且最精细的地形(d),四叉树分块是一个逐步细化的过程.
如图6 所示,灰色方块表示该地形数据可以直接被渲染.
图5 分块过程示意图
图6 四叉树分块层次图
2.3.2 地形分块误差计算
在四叉树分块过程中,静态误差、视距、运动矢量和观察矢量的影响会导致地形数据分块误差.当误差达到阈值时,节点停止分块,直接对节点中地形数据进行渲染,否则将当前节点进一步细分为四个子节点.
1)静态误差与地形模型的精度密切相关.如图7 所示,在仿真系统中一个地形数据块包括一个地形块中心点0,四个角点(1,3,5,7)和四个边点(2,4,6,8).地形块边长为d,高程值为hi.
图7 地形块节点示意图
(1)
则静态误差dh为
(2)
2)视距指空间视点与地形的距离.设空间视点p1(x1,y1,z1),地形p2(x2,y2,z2),则p1和p2的视距l为
(3)
3)运动误差.空间视点移动引起的误差.
4)观察误差.观察矢量为vo,平均法向量为va,则观察误差的计算公式为
vp=max(-v0·va,0).
(4)
综合上述因素,采用误差判定公式来计算结点误差
(5)
式中:c1,c2,c3,c4为可变参数,分别调节视距、静态误差、运动矢量、运动矢量和观察矢量的影响.
2.4 基于金字塔的地理信息系统构建
2.4.1 金字塔模型
金字塔模型是一种通过图像分辨率来描述图像的结构.金字塔模型将原始图片作为最底层图片,通过重采样操作,生成一组包含相同地理区域数据分辨率不同的图像.通过对图像进行多次重采样操作后,金字塔模型中图像自下而上分辨率逐层降低,图像数据量逐层减少[10].
设原始图像I(i,j)大小为M×N,用G0表示I(i,j),则第k级图像由窗口函数对第k级图像卷积后向下采样得到
G0(i,j)=I(i,j),
(6)
(7)
式中:0≤i≤M/2k,0≤j≤N/2k, 0≤k≤t(k为分解层数,t为金字塔顶层层号).
窗口函数w(m,n)=h(m)·h(n),高斯密度函数h满足下列约束条件
(8)
h(i)=h(-i),
(9)
h(0)+h(-2)+h(+2)=h(-1)+h(+1).
(10)
则窗口函数
(11)
2.4.2 地理信息系统
地理信息系统是构建数字地球的核心,其构建需要包括卫星影像数据和DEM数据在内的海量地理数据.计算机处理这些大规模的地理数据需要高性能的CPU和内存提供硬件支持,制约着仿真系统的性能.为保证飞行仿真系统在使用过程中的平滑性和稳定性,同时突破内存限制,提升数据传输效率,仿真系统采用金字塔模型管理海量地理图像数据和DEM数据,通过下采样降低图像分辨率,减少数据量.
飞行仿真系统使用金字塔模型来组织管理大量的地球影像数据以及DEM数据,为提高仿真系统数据检索效率,系统采用四叉树组织管理金字塔模型不同层次的瓦片数据和地形块数据.金字塔建立过程如下:
1)通过线性四叉树结构对金字塔模型最底层的全球原始图像数据及DEM数据进行分割,同时对生成之后的图像及地形块采取高斯平滑;
2)利用线性四叉树通过提取四个像素点中的一个像素点,对生成的影像及地形块数据进行下采样,生成新的数据块集合作为金字塔模型的最新一层结构;
3)迭代1),2)两阶段操作,直至金字塔模型构建完成.其构建过程如图8 所示.
对金字塔模型和线性四叉树做进一步映射操作.映射规则如图9 所示.
对四叉树中的各个结点数据进行二进制编码,编码对应四叉树节点中的数据,图像效果如图10 所示.
图8 金字塔模型的生成
图9 金字塔到线性四叉树的映射
图10 图像效果图
图11 三维数字地球
金字塔模型通过管理调度地理影像数据、DEM数据构建高清数字地球,同时模型通过海量地理信息数据生成国界线、经纬线等边界信息.高清数字地球如图11 所示.
2.5 时空统一
为满足飞行仿真系统真实性及实时性要求,精确反映数字地球的昼夜交替变化,在高分辨率数字地球基础之上,添加恒星、行星等空间背景,同时根据数据确定当前时刻其位置信息,以确保时间和空间的一致性.时空统一效果如图12 所示.
图12 时空统一下的地球效果图
3 运载器尾焰模拟
飞行仿真系统利用半拉格朗日法建立运载器尾部火焰模型,最大程度地遵循了客观世界物理规律,同时考虑风力、空气密度变化和风向等因素对尾焰模型的影响,最大限度满足仿真系统的真实性需求.
3.1 欧拉法
欧拉法[11-13]通过记录经过流场中空间点的粒子的运动轨迹来描述空间中流体的运动.如图13 所示,欧拉法通过记录t时刻粒子经过网格空间中采样点的速度、密度等数据,得到网格空间中全部采样点在不同时刻的轨迹数据,从而获得整个流体的运动轨迹.
图13 空间中流体运动轨迹
3.2 拉格朗日法
拉格朗日法[14]通过跟踪运动过程中单个流体粒子的物理量变化来组合所有粒子的运动,以跟随整个流体的运动.粒子运动轨迹如图14 所示.
图14 二维空间粒子运动轨迹
图15 三维空间粒子运动轨迹
三维空间粒子坐标为r(a,b,c,t),则其在三维空间中,运动轨迹如图15 所示.
在t时刻,粒子速度
(12)
粒子加速度
(13)
3.3 半拉格朗日法模拟尾焰的生成
半拉格朗日法通过在网格离散化空间中追踪粒子运动轨迹,结合了欧拉法和拉格朗日法两者的优点.飞行仿真系统采用半拉格朗日法来模拟运载器尾焰的生成,有效提升了仿真系统的火焰模拟效果,满足了飞行仿真系统的真实性要求.尾焰效果图如图16 所示.
图16 尾焰效果图
4 结 论
本文根据航天器飞行仿真任务功能需求进行模块划分,以高清数字地球为基础,利用数据分块技术对仿真系统中海量数据进行高效处理,同时结合尾焰模拟技术设计和实现了面向高效仿真的航天器飞行仿真系统,达到了预期效果,对航天技术研发具有一定的参考价值.