一种基于LSTM神经网络的无人机飞行轨迹预测方法
文献发布时间:2023-06-19 12:04:09
技术领域
本发明涉及四旋翼无人机的技术领域,尤其涉及一种基于LSTM神经网络的无人机飞行轨迹预测方法。
背景技术
近年来,无人机(Unmanned Aerial Vehicle,UAV)的发展得到了国内外的广泛关注,不仅在军事领域有大量的应用,在民用领域也有大量的研究。在可以预见的未来,无人机将不断改变电力巡检、安保巡逻、航拍摄影、快递运输等行业,甚至是取代传统的烟花表演。这其中无人机在飞行的过程中由于天气和传感器精度的影响,会一定程度上的偏移预定的航线,不仅增加了无人机原本不多的电池能耗,同时还加大了无人机飞行过程中的安全隐患。因此,对于无人机飞行轨迹的跟踪预测是减少无人机安全隐患所必须要解决的问题。
目前多数无人机飞行过程中主要依靠摄像头来进行避障,但是在外界环境发生剧烈变化的时候,例如突然的强光情况、大风天气的情况,无人机无法做出及时的反应,便会很大概率上发生碰撞。除此之外,无人机自身传感器也可能会存在误差,实际情况中需要结合多个传感器的数据,相互补充,进而避免发生事故。这其中多采用单一的卡尔曼滤波算法来对传感器数据进行矫正,加上采用复杂的无人机动力模型来判断无人机的状况。2017年湖北工业大学的刘斐提出基于模型预测控制的无人机轨迹跟踪方法(刘斐.基于模型预测控制的无人机轨迹跟踪方法研究[D].湖北:湖北工业大学,2017.)。该论文提出基于模型预测控制理论(Model Predictive Control,MPC)的一种在线优化控制算法。该算法的特点是易于实现,但需要一定的触发条件,并需要建立对应无人机的物理模型,计算相对较为复杂。
基于模型的轨迹预测方法对于无人机的动力模型建立要求严格,计算也会相对复杂,进而影响了无人机在遇到突发状况时的反应速度。
发明内容
本发明的目的在于提供了一种新的多传感器数据融合算法,并旨在解决无人机轨迹跟踪预测中的问题。相比传统算法,本发明所提出的算法不需要再建立基于无人机动力学的物理模型。主要使用多个传感器采集的历史数据,进行特征学习,从之前无人机的运动状态来推断无人机未来一段时间的运动轨迹。从而提前知道无人机是否与预先规划的路线产生了偏差,进一步实现对无人机轨迹的实时监测,有效避免无人机因为偏航造成的能量损耗和安全事故。
本发明的目的至少通过如下技术方案之一实现。
一种基于LSTM神经网络的无人机飞行轨迹预测方法,包括以下步骤:
S1、选取长短记忆神经网络(LSTM)作为无人机飞行轨迹的预测模型并通过仿真数据对其进行训练,得到通过仿真数据训练过的长短记忆神经网络;
S2、实时获取并存储每个无人机当前时刻的基础飞行数据;
S3、对实时获取的无人机基础飞行数据进行差分标准化预处理,作为历史数据;
S4、将历史数据进行分段,利用分段后的历史数据对通过仿真数据训练后的长短记忆神经网络进行实时再次训练,调整长短记忆神经网络的参数,得到再次训练后的长短记忆神经网络;
S5、继续对无人机的基础飞行数据进行收集、差分标准化和分段处理,然后通过再次训练后的长短记忆神经网络进行预测,输出预测结果,得到未来一段时间内的无人机飞行轨迹;
S6、将步骤S5中输出的预测结果作为扩展卡尔曼滤波算法状态方程的观测量,结合扩展卡尔曼滤波的状态更新方程,最后将扩展卡尔曼滤波算法的更新(预测)结果作为对于无人机未来一段时间状态的最终预测结果;
S7、用户根据步骤S6中得到的最终预测结果选择是否修正无人机的飞行路线,然后返回步骤S5。
针对无人机的飞行数据,具有连续性和时序性的特点,采用擅长处理时间序列数据的长短记忆神经网络(Long short-term memory,LSTM)作为无人机飞行轨迹的预测模型,该模型可以选择性的记忆之前时刻的信息,同时结合当前的时刻信息做判断,降低对无人机轨迹预测的运算量,可以快速的推断出无人机未来一段时间的轨迹路线。
进一步地,步骤S1中,通过机器人操作系统ROS和仿真软件Gazebo,仿真单个无人机,并收集仿真数据,仿真数据包括无人机的基础飞行数据;
对仿真数据,进行差分标准化和分段处理,然后使用仿真数据对长短记忆神经网络进行训练,得到通过仿真数据训练过的长短记忆神经网络。
进一步地,步骤S2中,通过传感器收集无人机的基础飞行数据,基础飞行数据包括里程计、陀螺仪、磁强计、加速度计和GPS的数据信息,以及无人机旋翼的动力值;其中,无人机旋翼的动力值为当下时刻无人机g个旋翼的动量数据,包括g维数据,基础飞行数据共包括A维数据。
进一步地,仿真数据、步骤S2中收集的无人机的基础飞行数据和步骤S5中继续收集的无人机的基础飞行数据均包括A维数据。
进一步地,对于仿真数据、步骤S2中收集的无人机的基础飞行数据和步骤S5中继续收集的无人机的基础飞行数据中的A维基础飞行数据进行差分标准化预处理,具体如下:
T=[t
式中,T表示对基础飞行数据差分预处理后得到的时间序列,由n+1个时刻的A维基础飞行数据做差分之后所组成,t
进一步地,对差分标准化预处理后的数据进行分段处理,具体如下:
将时间序列T划分成k组,每组包括m个时刻的无人机基础飞行数据,
x
得到m个时间段时间序列;使用所得到的时间段时间序列对通过仿真数据训练后的长短记忆神经网络进行训练;对于每段时间段时间序列x
进一步地,A维基础飞行数据输入长短记忆神经网络,输出A-g维数据,去掉无人机g个旋翼的动量数据;在通过仿真数据训练长短记忆神经网络和使用分段后的历史数据对通过仿真数据训练过的长短记忆神经网络进行实时再次训练的过程中,使用预测结果和实际结果的方差作为损失进行前向传播,具体如下:
其中,y
进一步地,步骤S6中,基于扩展卡尔曼滤波算法,将步骤S5中输出的预测结果作为扩展卡尔曼滤波算法状态方程的观测量,结合扩展卡尔曼滤波的状态更新方程,最后将扩展卡尔曼滤波算法的更新(预测)结果作为对于无人机未来一段时间状态的最终预测结果。
进一步地,步骤S7中,用户根据步骤S6中得到的最终预测结果选择是否修正无人机的飞行路线,若用户选择修正飞行路线,则无人机按照最终预测结果飞行,然后返回步骤S5;否则直接返回步骤S5。
进一步地,步骤S7中,将无人机偏离预定航线的行为进行记录,以便为之后对无人机偏离路线的原因进行进一步的分析。
本发明与现有技术相比,具有如下优点与有益效果:
1、本发明首次实现了使用LSTM神经网络来预测无人机轨迹预测,减少了基于无人机动力学建立的物理模型。
2、本发明首次实现了仅基于现有的传感器进行预测,减少了增加传感器所带来的成本提升。
3、本发明通过对无人机飞行数据的差分和分段处理,可以有效的归一化飞行数据,进而可以做到预测未来一段时间的无人机飞行轨迹,提前计算飞行路线的偏差,进而减少无人机电量损耗和事故的发生。
5、本发明方法在无人机的监管和监测系统中可以有效的实时监测无人机现在与未来的飞行轨迹,提高监测效率。
附图说明
图1为本发明实施例中一种基于LSTM神经网络的无人机飞行轨迹预测方法的流程示意图。
图2为本发明实施例中一种基于LSTM神经网络的无人机飞行轨迹预测方法的算法流程图。
具体实施方式
下面结合具体实施例和附图对本发明作进一步说明。
实施例:
一种基于LSTM神经网络的无人机飞行轨迹预测方法,如图1和图2所示,包括以下步骤:
S1、本实施例中,使用双层LSTM神经网络作为无人机飞行轨迹的预测模型并通过仿真数据对其进行训练,得到通过仿真数据训练过的双层LSTM神经网络;
通过机器人操作系统ROS和仿真软件Gazebo,仿真单个无人机,并收集仿真数据,仿真数据包括无人机的基础飞行数据;
对仿真数据,进行差分标准化和分段处理,然后使用仿真数据对长短记忆神经网络进行训练,得到通过仿真数据训练过的长短记忆神经网络,本实施例中,具体的训练过程如下。
S1.1、使用机器人操作系统ROS和仿真软件Gazebo,仿真无人机。指定多条路线,使无人机飞行。飞行过程中,存储无人机的基础飞行数据;
S1.2、对仿真数据进行标准化,即差分处理。之后按照错位分段的方法进行分段。并按照7:3的比例划分训练集和测试集;
S1.3、使用训练集对长短记忆神经网络进行训练。其中激活函数选择Sigmoid,指定损失函数为mean_squared_error,优化器为Adam,训练轮数epochs为100。
S1.4、保存通过仿真数据训练过的长短记忆神经网络,使用测试集进行测试,之后再使用交错验证的方式对通过仿真数据训练过的长短记忆神经网络进行测试。
S2、实时获取并存储每个无人机当前时刻的基础飞行数据;
通过传感器收集无人机的基础飞行数据,本实施例中,数据的采样频率为100Hz,基础飞行数据包括里程计、陀螺仪、磁强计、加速度计和GPS的数据信息,以及无人机旋翼的动力值;其中,无人机旋翼的动力值为当下时刻无人机g个旋翼的动量数据。
本实施例中,以四旋翼无人机为例,三轴陀螺仪、三轴加速度计和磁强计合并为惯性传感器(Inertial Measurement Unit,IMU);所述基础飞行数据具体包括里程计的3维数据,惯性传感器的7维数据,GPS的3维数据,以及当下时刻无人机4个旋翼的动量数据,共有17维数据。
S3、对实时获取的无人机基础飞行数据进行差分标准化预处理,作为历史数据;
S4、将历史数据进行分段,利用分段后的历史数据对通过仿真数据训练后的长短记忆神经网络进行实时再次训练,调整长短记忆神经网络的参数,得到再次训练后的长短记忆神经网络;
S5、继续对无人机的基础飞行数据进行收集、差分标准化和分段处理,然后通过再次训练后的长短记忆神经网络进行预测,输出预测结果,得到未来一段时间内的无人机飞行轨迹;
仿真数据、步骤S2中收集的无人机的基础飞行数据和步骤S5中继续收集的无人机的基础飞行数据均包括17维数据。
对于仿真数据、步骤S2中收集的无人机的基础飞行数据和步骤S5中继续收集的无人机的基础飞行数据中的17维基础飞行数据进行差分标准化预处理,具体如下:
T=[t
式中,T表示对基础飞行数据差分预处理后得到的时间序列,由n+1个时刻的A维基础飞行数据做差分之后所组成,t
对差分标准化预处理后的数据进行分段处理,具体如下:
将时间序列T划分成k组,每组包括m个时刻的无人机基础飞行数据,
x
得到m个时间段时间序列;使用所得到的时间段时间序列对通过仿真数据训练后的长短记忆神经网络进行训练;对于每段时间段时间序列x
利用分段后的历史数据对通过仿真数据训练后的双层LSTM神经网络进行实时再次训练,调整双层LSTM神经网络的参数,本实施例中,在无人机稳定飞行了一段时间之后(通常需要训练三分之一的飞行时间),得到再次训练后的双层LSTM神经网络;
17维基础飞行数据输入双层LSTM神经网络,输出13维数据,去掉无人机4个旋翼的动量数据;在通过仿真数据训练双层LSTM神经网络和使用分段后的历史数据对通过仿真数据训练过的双层LSTM神经网络进行实时再次训练的过程中,使用预测结果和实际结果的方差作为损失进行前向传播,具体如下:
其中,y
S6、基于扩展卡尔曼滤波算法,将步骤S5中输出的预测结果作为扩展卡尔曼滤波算法状态方程的观测量,结合扩展卡尔曼滤波的状态更新方程,最后将扩展卡尔曼滤波算法的更新(预测)结果作为对于无人机未来一段时间状态的最终预测结果。
本实施例中,使用扩展卡尔曼滤波来对再次训练后的双层LSTM神经网络预测的无人机飞行轨迹进行动态调整,其中使用到扩展卡尔曼滤波算法的状态方程和观测方程分别如公式(4)和公式(5):
X
Z
其中,X
采用扩展卡尔曼滤波状态预测方程根据无人机飞行轨迹前一时刻最优的状态估计预测出无人机轨迹的下一时刻状态,同时要更新当前预测状态的协方差,状态预测方程如下:
X
Z
其中X
在得到下一时刻的预测值之后,利用再次训练后的双层LSTM神经网络提供的观测值Z
X
其中K为卡尔曼增益矩阵,H
经过扩展卡尔曼滤波更新过程,通过不断迭代,得到未来一段无人机轨迹的最优位置,完成对再次训练后的双层LSTM神经网络预测的无人机飞行轨迹的动态调整。
S7、用户根据步骤S6中得到的最终预测结果选择是否修正无人机的飞行路线,若用户选择修正飞行路线,则无人机按照最终预测结果飞行,然后返回步骤S5;否则直接返回步骤S5;
将无人机偏离预定航线的行为进行记录,以便为之后对无人机偏离路线的原因进行进一步的分析。
综上所述,在采用以上方案后,本发明可以为无人机在执行任务的过程中,多提供一层保障,同时也降低了无人机在执行任务时的电量损耗以及安全事故的发生。本发明作为一种新的传感器数据融合方法,也为多传感器数据融合研究方向提供了一个可行的思路,具有实际推广价值,值得推广。
- 一种基于LSTM神经网络的无人机飞行轨迹预测方法
- 一种基于消抖滤波法计权的鸟类飞行轨迹预测方法