基于深度学习的航空器场面轨迹预测
2022-04-14何元清
李 雪,何元清,胡 耀
(中国民用航空飞行学院计算机学院,广汉 618300)
0 引言
随着我国航空运输业的高速发展,我国航空公司飞机起降架次在2019年达496.62万架次,旅客运输量为65993.42万人次。相当于每天有180.8万人乘坐飞机出行,大型机场越加繁忙。机场向多跑道、多航站楼、多滑行道的趋势发展,机场运行安全逐渐成为隐患。我国民航业在2006—2011年,仅五年的时间发生了91起跑道入侵不安全时间,其中构成事故征候8起。2016年上海虹桥机场发生跑道入侵事件,仅相差3秒就造成两辆载客量共为550人的客机相撞事件,对机场和乘客造成了严重的安全隐患。尽管机场规模日益增大,但运行效率却有所降低。场面滑行时间长,场面滑行冲突造成的等待次数多和人工语音指挥效率低制约了机场的高速发展。在2006—2015年,随着飞机起降架次的增多,航班正常率基本呈现逐年递减,2016年全国航班正常率仅为76.76%。不能对机场场面航空器准确的预测其所处的位置和时间,是导致机场频繁发生碰撞危险的原因。研究轨迹的预测是安全高效控制场面滑行的重要基础,对路由规划,包括对风险预警,航班次序,重要节点的时间安排等都能起到重要作用。从而减少航班延误、增加旅客满意度、提高机场服务质量。对场面的轨迹预测有助于减少飞机在场面的等待时间和冲突发生概率。
目前我国大多数机场只具备监视和控制的功能服务。即使实现了路由引导的机场,如大兴,其智能化程度也不高,主要是基于预定义的标准滑行路线实现了灯光引导,这是制约其发展的关键原因之一,也是由于难以实现准确的场面航空器航迹预测,缺乏动态路由规划的基础。
Laura Hernando Guadaño研究考察了将飞机用作终端区域中的风传感器以进行实时风估计,以改善飞机轨迹预测的情况。不仅描述了飞机系统中提供风速推导所需变量的不同来源,而且还描述了能够为空中交通管理应用提供此信息的功能。Wang Yuhao使用贝叶斯熵信息融合方法,将仿真模型中的数据与实时交通数据流和可用的物理约束集成在一起。该预先警告将使飞行员/管制员能够采取措施减轻国家空域系统中的不良事件。但是基于动力学模型在实际运行过程中航空器的诸多动力学参数并不易获得,如气象预报、管制员意图、飞行员操作意图等。在基于历史数据的弹道预测研究中,张尚健等人利用多项式拟合法对目标位置的历史数据序列进行处理,计算出目标的未来位置,并随着时间的推移不断更新目标数据。Gong C根据中国航空器滑行技术路线中特定目标区域的真实信息数据的研究(比如一个直道、转弯处的滑行速度发展和加速度),描述了航空器在机场场面以及运动的轨迹分析模型。上述轨迹预测模型都是在理想的历史轨迹数据下得到的,没有考虑不完整或不连续的历史数据,基于预测的精度还有待验证。Atkins S等探讨4D概念的场面交通管理的作用以及需要解决的问题。未来基于轨迹的研究将是交通管理的主题。
深度学习通过输入层与输出层的复杂关联,对历史数据进行分析、学习,不依赖运动学模型,目前部分学者尝试运用深度学习方法解决交通流预测问题。
1 轨迹预测算法
1.1 循环神经(RNN)网络
循环神经(RNN)网络的基本结构,如图1所示。
图1 循环神经网络基本结构
由图1可见,x表示为输入层,t表示为时刻,o表示为输出层,s表示为隐藏层,矩阵W为隐藏层上一时刻的值作为下一时刻输入的权重。输出层o和隐藏层s的计算方法如式(1)、(2)所示。RNN是一个自我不断循环的结构。将上一时刻的输出状态作为下一时刻的输入进行训练与学习。直到输入或训练结束,得到最终的输出结果。
1.2 长短期记忆(LSTM)网络
LSTM循环结构中增加了输入门、输出门、遗忘门和记忆单元。“门”的设置使得信息选择式通过,可以避免学习长期依赖信息。LSTM解决了RNN存在的梯度消失和梯度爆炸的问题。LSTM网络基本结构如图2所示。
图2 LSTM网络基本结构
(1)输入门。通过设置阈值决定当前时刻输入数据有多少需要传递到单元状态。阈值为1表示输入数据完全保留,阈值为0表示输入数据完全舍弃,将上一时刻的输出数据与当前时刻的输入数据通过输入门得到i如式(3),以及通过单元状态得到当前时刻暂时状态Cˇ如式(4)所示。
(2)遗忘门。决定上一时刻的单元状态丢弃多少。应用上一个时刻的输出h和当前的数据输入x,通过遗忘门得到f如式(5)所示。
(3)输出门。控制当前单元状态有多少需要输出到当前的输出值。应用上一个时刻的输出h和当前的数据输入x,通过输出门得到o如式(6),以及结合当前细胞的单元状态C和o得到最终的输出h如式(7)所示。
(4)记忆单元更新公式如式(8)所示。
2 实验仿真过程
2.1 数据预处理
文中研究所用的数据来自于中国民用航空局第二研究所,通过机场场面监视雷达得到的航空器历史轨迹数据。数据表1所示。
表1 历史轨迹数据表
该数据是北京首都机场2020年6月5日某时段的历史数据,共计594559条数据。民航二所提供的大量机场航空器实时数据,满足了数据的可靠性与数据量的要求,对后续的模型训练建立了基础。数据为xml格式的文件,数据文件中有各种标签信息,使用xml解析技术Element-Tree提取出所需标签的text或者属性值,经度、纬度、时间、航空器型号、速度以及高度特征。经过一阶差分、数据归一化等处理后,再将数据以航空器型号分组,将每组数据整理为时间序列数据,再将时间序列问题转换为监督学习问题。数据为航空器从停机坪推出到起飞整个轨迹,由于只对航空器场面进行轨迹预测,即将高度特征中数值为0的数据删去。
雷达采集的数据中存在数据缺失问题,数据缺失是一个十分复杂的问题,大量有用数据的缺失,使得预测的不确定性显著增加。缺失数据处理方式的好坏,直接影响轨迹预测准确率。因此,缺省值需要通过专门的方法进行推导、填充等。通过检查数据发现包含缺失值,对于非数值类的缺失值,采用删除元组的方式。对于数值类的缺失值,采用数据补齐方式中的平均值填充方法。
开发中使用Pycharm编译工具、Python语言对数据进行处理,调用pandas和numpy库中已封装好的函数,实现对数据的快速处理。使用Pycharm编译工具提高了开发效率,比如代码跳转,项目管理,智能提示。
2.2 LSTM时间序列数据
2.2.1 单维单步
LSTM对不同的框架采用不同的数据输入形式,处理数据时令input_size=3,seq_len=7,batch=1。input_size为单行输入数据特征个数,seq_len为输入数据总计行数。batch表示内部模型每次处理的样本个数。例如数据[1,2,3,4,5,6,7,8,9],将数据输入LSTM模型,处理后的数据如表2所示。
表2 单维单步数据表
2.2.2 多维多步
比如一组数据为:[[10,21],[20,22],[30,23],[40,24],[50,25],[60,26],[70,27],[80,28],[90,29],[100,30]]。此数据为时间序列数据包含两个特征,确定训练集的窗口长度,即用t-2,t-1,t时刻的数据对模型进行训练,t+1时刻的数据对结果进行验证。此例对数据进行两步预测。处理后的数据如表3所示。
表3 多维多步数据表
其中seq_len=6,batch=3,input_size=2。搭建模型的部分与单维单步分析相同,output的形状与target一样为(6,2,2),而输入的形状为(6,3,2),则需要一个全连接层使其输入为(6,3,2)输出为(6,2,2)。实验中采用多维多步对航空器数据进行预处理。核心代码如下:
3 仿真实验结果与分析
对LSTM模型参数进行设置,核心代码如下。
实验中对航空器的经度纬度进行多步预测,即采用多维多步方式,将时间序列数据转换为监督数据。选择其中一个航空器的一组飞行高度为0的数据,保证航空器在机场场面活动,对机场场面滑行轨迹中部分轨迹进行预测,其中蓝色为飞机行驶轨迹原始数据,红色圆点表示测试集预测的下一时刻的位置,绿色圆点表示训练集预测下一时刻的位置。如图3所示。
图3 下一时刻轨迹位置
将处理后的数据样本划分为70%为训练样本集,30%划分为测试样本集。使用构建的模型对样本集进行训练,对测试集进行预测得到航空器下一时刻的位置。根据网络的输入,网络的层数等得出训练所使用的参数个数为175563,LSTM网络得出准确率约为97.91%,如表4所示。
表4 预测结果
4 结语
目前基于动力学模型在实际运行过程中航空器的诸多动力学参数并不易获得,如气象预报、管制员意图、飞行员操作意图等。而深度学习神经网络对历史数据进行训练,不依赖航空器的特性,在预测精度和预测时间上有更好的效果。
文中首先对循环神经网络进行介绍,由于循环神经网络存在梯度消失和梯度爆炸的问题,引申出长短期记忆网络。其次分析历史数据,建立轨迹预测模型。但目前仅实现了对单个航空器的轨迹预测,如何实现对多个航空器同时进行场面轨迹预测与实现长期预测是下一步要解决的难题。