首页 / 专利库 / 飞机类型 / 飞行器 / 一种飞行仿真方法及装置

一种飞行仿真方法及装置

阅读:1100发布:2020-05-24

专利汇可以提供一种飞行仿真方法及装置专利检索,专利查询,专利分析的服务。并且一种飞行仿真方法及装置,用于提供兼顾运算速度与仿真模拟真实感的飞行仿真方式。飞行仿真方法包括:获得飞行仿真的初始化参数,包括 飞行器 的运动性能参数以及目标 位置 ;获得飞行器在第一时刻的第一飞行参数,包括飞行器在第一时刻的第一位置以及第一运动参数;判断第一位置与目标位置的偏差是否不大于偏差 阈值 ;若大于,根据第一飞行参数以及初始化参数确定飞行器从第一位置飞向目标位置的飞行状态,飞行状态包括平飞状态、左旋状态以及右旋状态;根据第一飞行参数、初始化参数以及飞行状态确定飞行器在第一时刻的预设时间间隔之后的第二时刻的第二位置;判断第二位置与目标位置的偏差是否不大于偏差阈值;若不大于,结束飞行仿真。,下面是一种飞行仿真方法及装置专利的具体信息内容。

1.一种飞行仿真方法,其特征在于,包括:
获得飞行仿真的初始化参数,所述初始化参数包括飞行器的运动性能参数以及目标位置
获得所述飞行器在第一时刻的第一飞行参数,所述第一飞行参数包括所述飞行器在所述第一时刻的第一位置以及第一运动参数;
判断所述第一位置与所述目标位置的偏差是否不大于偏差阈值
若所述第一位置与所述目标位置的偏差大于所述偏差阈值,根据所述第一飞行参数以及所述初始化参数确定所述飞行器从所述第一位置飞向所述目标位置的飞行状态,所述飞行状态包括平飞状态、左旋状态以及右旋状态;
根据所述第一飞行参数、所述初始化参数以及所述飞行状态确定所述飞行器在所述第一时刻的预设时间间隔之后的第二时刻的第二位置;
判断所述第二位置与所述目标位置的偏差是否不大于偏差阈值;
在所述第二位置与所述目标位置的偏差不大于所述偏差阈值时,结束飞行仿真。
2.根据权利要求1所述的方法,其特征在于,所述第一运动参数包括所述飞行器在第一时刻的第一偏航
所述根据所述第一飞行参数以及所述初始化参数确定所述飞行器的飞行状态,包括:
根据所述飞行器在所述第一时刻的第一位置以及所述目标位置确定所述飞行器从所述第一位置飞向所述目标位置时的目标偏航角;
确定所述第一偏航角顺时针转动到所述目标偏航角的第一角度,以及所述第一偏航角逆时针转动到所述目标偏航角的第二角度;
在所述第一角度等于所述第二角度时,确定所述飞行器的飞行状态为平飞状态;
在所述第一角度大于所述第二角度时,确定所述飞行器的飞行状态为右旋状态;
在所述第一角度小于所述第二角度时,确定所述飞行器的飞行状态为左旋状态。
3.根据权利要求2所述的方法,其特征在于,所述第一飞行参数还包括所述飞行器在第一时刻的第一速度;所述初始化参数还包括所述飞行器的目标速度,所述运动性能参数包括爬升率的绝对值;
所述根据所述第一飞行参数、所述目标飞行参数以及所述飞行状态确定所述飞行器在所述第一时刻的预设时间间隔之后的第二时刻的第二位置,包括:
根据所述第一速度、所述目标速度以及加速度的绝对值确定所述飞行器从所述第一位置飞向所述目标位置时的飞行加速度;
根据所述第一位置、所述目标位置以及所述爬升率的绝对值确定所述飞行器从所述第一位置飞向所述目标位置时的飞行爬升率;
在所述飞行状态为平飞状态时,根据以下公式确定所述第二位置:
Px2=Px1+vt·t·cos(θcur_head);
Py2=Py1+vt·t·sin(θcur_head);
Pz2=Pz1+t·γcdr;
vt=v1+α·t,if vdest≠v1;
vt=v1,if vdest=v1;
其中,(Px1,Py1,Pz1)为所述第一位置的坐标、(Px2,Py2,Pz2)为所述第二位置的坐标,θcur_head为所述目标偏航角,v1为所述第一速度、vdest为所述目标速度,α为所述飞行加速度,γcdr为所述飞行爬升率,t为所述第一时刻与第二时刻的时间间隔。
4.根据权利要求3所述的方法,其特征在于,所述初始化参数还包括所述飞行器的转弯速率;
所述根据所述第一飞行参数、所述目标飞行参数以及所述飞行状态确定所述飞行器在所述第一时刻的预设时间间隔之后的第二时刻的第二位置,包括:
在所述飞行状态为左旋时,根据以下公式确定所述第二位置:
Px2=Px1+Rturn·cos(θ′cur_head);
Py2=Py1+Rturn·sin(θ′cur_head);
Pz2=Pz1+t·γcdr;
其中,g为加速度,γturn为所述转弯速率。
5.根据权利要求3所述的方法,其特征在于,所述初始化参数还包括所述飞行器的转弯速率;
所述根据所述第一飞行参数、所述目标飞行参数以及所述飞行状态确定所述飞行器在所述第一时刻的预设时间间隔之后的第二时刻的第二位置,包括:
在所述飞行状态为右旋时,根据以下公式确定所述第二位置:
Px2=Px1+Rturn·cos(θ′cur_head);
Py2=Py1+Rturn·sin(θ′cur_head);
Pz2=Pz1+t·γcdr;
其中,g为重力加速度,γturn为所述转弯速率。
6.根据权利要求4或5所述的方法,其特征在于,所述偏差阈值为Rturn。
7.一种飞行仿真装置,其特征在于,包括:
第一获得模,用于获得飞行仿真的初始化参数,所述初始化参数包括飞行器的运动性能参数以及目标位置;
第二获得模块,用于获得所述飞行器在第一时刻的第一飞行参数,所述第一飞行参数包括所述飞行器在所述第一时刻的第一位置以及第一运动参数;
第一判断模块,用于判断所述第一位置与所述目标位置的偏差是否不大于偏差阈值;
确定模块,用于在所述第一位置与所述目标位置的偏差大于所述偏差阈值时,根据所述第一飞行参数以及所述初始化参数确定所述飞行器从所述第一位置飞向所述目标位置的飞行状态,所述飞行状态包括平飞状态、左旋状态以及右旋状态;根据所述第一飞行参数、所述初始化参数以及所述飞行状态确定所述飞行器在所述第一时刻的预设时间间隔之后的第二时刻的第二位置;
第二判断模块,用于判断所述第二位置与所述目标位置的偏差是否不大于偏差阈值;
结束模块,用于在所述第二位置与所述目标位置的偏差不大于所述偏差阈值时,结束飞行仿真。
8.根据权利要求7所述的装置,其特征在于,所述第一运动参数包括所述飞行器在第一时刻的第一偏航角;
所述确定模块用于:
根据所述飞行器在所述第一时刻的第一位置以及所述目标位置确定所述飞行器从所述第一位置飞向所述目标位置时的目标偏航角;
确定所述第一偏航角顺时针转动到所述目标偏航角的第一角度,以及所述第一偏航角逆时针转动到所述目标偏航角的第二角度;
在所述第一角度等于所述第二角度时,确定所述飞行器的飞行状态为平飞状态;
在所述第一角度大于所述第二角度时,确定所述飞行器的飞行状态为右旋状态;
在所述第一角度小于所述第二角度时,确定所述飞行器的飞行状态为左旋状态。
9.根据权利要求8所述的装置,其特征在于,所述第一飞行参数还包括所述飞行器在第一时刻的第一速度;所述初始化参数还包括所述飞行器的目标速度,所述运动性能参数包括爬升率的绝对值;
所述确定模块用于:
根据所述第一速度、所述目标速度以及加速度的绝对值确定所述飞行器从所述第一位置飞向所述目标位置时的飞行加速度;
根据所述第一位置、所述目标位置以及所述爬升率的绝对值确定所述飞行器从所述第一位置飞向所述目标位置时的飞行爬升率;
在所述飞行状态为平飞状态时,根据以下公式确定所述第二位置:
Px2=Px1+vt·t·cos(θcur_head);
Py2=Py1+vt·t·sin(θcur_head);
Pz2=Pz1+t·γcdr;
vt=v1+α·t,if vdest≠v1;
vt=v1,if vdest=v1;
其中,(Px1,Py1,Pz1)为所述第一位置的坐标、(Px2,Py2,Pz2)为所述第二位置的坐标,θcur_head为所述目标偏航角,v1为所述第一速度、vdest为所述目标速度,α为所述飞行加速度,γcdr为所述飞行爬升率,t为所述第一时刻与第二时刻的时间间隔。
10.根据权利要求9所述的装置,其特征在于,所述初始化参数还包括所述飞行器的转弯速率;
所述确定模块,用于:
在所述飞行状态为左旋时,根据以下公式确定所述第二位置:
Px2=Px1+Rturn·cos(θ′cur_head);
Py2=Py1+Rturn·sin(θ′cur_head);
Pz2=Pz1+t·γcdr;
其中,g为重力加速度,γturn为所述转弯速率。
11.根据权利要求9所述的装置,其特征在于,所述初始化参数还包括所述飞行器的转弯速率;
所述确定模块,用于:
在所述飞行状态为右旋时,根据以下公式确定所述第二位置:
Px2=Px1+Rturn·cos(θ′cur_head);
Py2=Py1+Rturn·sin(θ′cur_head);
Pz2=Pz1+t·γcdr;
其中,g为重力加速度,γturn为所述转弯速率。
12.根据权利要求10或11所述的装置,其特征在于,所述偏差阈值为Rturn。

说明书全文

一种飞行仿真方法及装置

技术领域

[0001] 本发明涉及航空技术领域,特别涉及一种飞行仿真方法及装置。

背景技术

[0002] 现有的飞行器飞行仿真模拟技术基于飞行器的非线性建模,但由于飞行器在空间运动有六个自由度,其系统庞大、结构复杂、气动数据多,所以建立完整的六自由度全量飞行器模型比较困难,算法过于复杂,导致运行速度慢。若要提高算法速度则以牺牲飞行器模拟的真实感为代价,使得飞行姿态不够平稳等,虽然运行速度提高了,但是却降低了飞行器模拟的真实感。

发明内容

[0003] 本发明实施例提供一种飞行仿真方法及装置,用于提供一种兼顾运算速度与仿真模拟真实感的飞行仿真方式。
[0004] 本发明实施例第一方面提供一种飞行仿真方法,包括:
[0005] 获得飞行仿真的初始化参数,所述初始化参数包括飞行器的运动性能参数以及目标位置
[0006] 获得所述飞行器在第一时刻的第一飞行参数,所述第一飞行参数包括所述飞行器在所述第一时刻的第一位置以及第一运动参数;
[0007] 判断所述第一位置与所述目标位置的偏差是否不大于偏差阈值
[0008] 若所述第一位置与所述目标位置的偏差大于所述偏差阈值,根据所述第一飞行参数以及所述初始化参数确定所述飞行器从所述第一位置飞向所述目标位置的飞行状态,所述飞行状态包括平飞状态、左旋状态以及右旋状态;
[0009] 根据所述第一飞行参数、所述初始化参数以及所述飞行状态确定所述飞行器在所述第一时刻的预设时间间隔之后的第二时刻的第二位置;
[0010] 判断所述第二位置与所述目标位置的偏差是否不大于偏差阈值;
[0011] 在所述第二位置与所述目标位置的偏差不大于所述偏差阈值时,结束飞行仿真。
[0012] 在第一方面一些设计中,所述第一运动参数包括所述飞行器在第一时刻的第一偏航
[0013] 所述根据所述第一飞行参数以及所述初始化参数确定所述飞行器的飞行状态,包括:
[0014] 根据所述飞行器在所述第一时刻的第一位置以及所述目标位置确定所述飞行器从所述第一位置飞向所述目标位置时的目标偏航角;
[0015] 确定所述第一偏航角顺时针转动到所述目标偏航角的第一角度,以及所述第一偏航角逆时针转动到所述目标偏航角的第二角度;
[0016] 在所述第一角度等于所述第二角度时,确定所述飞行器的飞行状态为平飞状态;
[0017] 在所述第一角度大于所述第二角度时,确定所述飞行器的飞行状态为右旋状态;
[0018] 在所述第一角度小于所述第二角度时,确定所述飞行器的飞行状态为左旋状态。
[0019] 在第一方面一些设计中,所述第一飞行参数还包括所述飞行器在第一时刻的第一速度;所述初始化参数还包括所述飞行器的目标速度,所述运动性能参数包括爬升率的绝对值;
[0020] 所述根据所述第一飞行参数、所述目标飞行参数以及所述飞行状态确定所述飞行器在所述第一时刻的预设时间间隔之后的第二时刻的第二位置,包括:
[0021] 根据所述第一速度、所述目标速度以及所述加速度的绝对值确定所述飞行器从所述第一位置飞向所述目标位置时的飞行加速度;
[0022] 根据所述第一位置、所述目标位置以及所述爬升率的绝对值确定所述飞行器从所述第一位置飞向所述目标位置时的飞行爬升率;
[0023] 在所述飞行状态为平飞状态时,根据以下公式确定所述第二位置:
[0024] Px2=Px1+vt·t·cos(θcur_head);
[0025] Py2=Py1+vt·t·sin(θcur_head);
[0026] Pz2=Pz1+t·γcdr;
[0027] vt=v1+α·t,if vdest≠v1;
[0028] vt=v1,if vdest=v1;
[0029] 其中,(Px1,Py1,Pz1)为所述第一位置的坐标、(Px2,Py2,Pz2)为所述第二位置的坐标,θcur_head为所述目标偏航角,v1为所述第一速度、vdest为所述目标速度,α为所述飞行加速度,γcdr为所述飞行爬升率,t为所述第一时刻与第二时刻的时间间隔。
[0030] 在第一方面一些设计中,所述初始化参数还包括所述飞行器的转弯速率;
[0031] 所述根据所述第一飞行参数、所述目标飞行参数以及所述飞行状态确定所述飞行器在所述第一时刻的预设时间间隔之后的第二时刻的第二位置,包括:
[0032] 在所述飞行状态为左旋时,根据以下公式确定所述第二位置:
[0033] Px2=Px1+Rturn·cos(θ′cur head);
[0034] Py2=Py1+Rturn·sin(θ′cur_head);
[0035] Pz2=Pz1+t·γcdr;
[0036]
[0037]
[0038]
[0039]
[0040]
[0041] 其中,g为加速度,γturn为所述转弯速率。
[0042] 在第一方面一些设计中,所述初始化参数还包括所述飞行器的转弯速率;
[0043] 所述根据所述第一飞行参数、所述目标飞行参数以及所述飞行状态确定所述飞行器在所述第一时刻的预设时间间隔之后的第二时刻的第二位置,包括:
[0044] 在所述飞行状态为右旋时,根据以下公式确定所述第二位置:
[0045] Px2=Px1+Rturn·cos(θ′cur head);
[0046] Py2=Py1+Rturn·sin(θ′cur_head);
[0047] Pz2=Pz1+t·γcdr;
[0048]
[0049]
[0050]
[0051]
[0052]
[0053] 其中,g为重力加速度,γturn为所述转弯速率。
[0054] 在第一方面一些设计中,所述偏差阈值为Rturn。
[0055] 本发明实施例第二方面提供一种飞行仿真装置,包括:
[0056] 第一获得模,用于获得飞行仿真的初始化参数,所述初始化参数包括飞行器的运动性能参数以及目标位置;
[0057] 第二获得模块,用于获得所述飞行器在第一时刻的第一飞行参数,所述第一飞行参数包括所述飞行器在所述第一时刻的第一位置以及第一运动参数;
[0058] 第一判断模块,用于判断所述第一位置与所述目标位置的偏差是否不大于偏差阈值;
[0059] 确定模块,用于在所述第一位置与所述目标位置的偏差大于所述偏差阈值时,根据所述第一飞行参数以及所述初始化参数确定所述飞行器从所述第一位置飞向所述目标位置的飞行状态,所述飞行状态包括平飞状态、左旋状态以及右旋状态;根据所述第一飞行参数、所述初始化参数以及所述飞行状态确定所述飞行器在所述第一时刻的预设时间间隔之后的第二时刻的第二位置;
[0060] 第二判断模块,用于判断所述第二位置与所述目标位置的偏差是否不大于偏差阈值;
[0061] 结束模块,用于在所述第二位置与所述目标位置的偏差不大于所述偏差阈值时,结束飞行仿真。
[0062] 在第二方面一些设计中,所述第一运动参数包括所述飞行器在第一时刻的第一偏航角;
[0063] 所述确定模块用于:
[0064] 根据所述飞行器在所述第一时刻的第一位置以及所述目标位置确定所述飞行器从所述第一位置飞向所述目标位置时的目标偏航角;
[0065] 确定所述第一偏航角顺时针转动到所述目标偏航角的第一角度,以及所述第一偏航角逆时针转动到所述目标偏航角的第二角度;
[0066] 在所述第一角度等于所述第二角度时,确定所述飞行器的飞行状态为平飞状态;
[0067] 在所述第一角度大于所述第二角度时,确定所述飞行器的飞行状态为右旋状态;
[0068] 在所述第一角度小于所述第二角度时,确定所述飞行器的飞行状态为左旋状态。
[0069] 在第二方面一些设计中,所述第一飞行参数还包括所述飞行器在第一时刻的第一速度、第一俯仰角、第一滚转角;所述初始化参数还包括所述飞行器的目标速度,所述运动性能参数包括爬升率的绝对值;
[0070] 所述确定模块用于:
[0071] 根据所述第一速度、所述目标速度以及所述加速度的绝对值确定所述飞行器从所述第一位置飞向所述目标位置时的飞行加速度;
[0072] 根据所述第一位置、所述目标位置以及所述爬升率的绝对值确定所述飞行器从所述第一位置飞向所述目标位置时的飞行爬升率;
[0073] 在所述飞行状态为平飞状态时,根据以下公式确定所述第二位置:
[0074] Px2=Px1+vt·t·cos(θcur_head);
[0075] Py2=Py1+vt·t·sin(θcur_head);
[0076] Pz2=Pz1+t·γcdr;
[0077] vt=v1+α·t,if vdest≠v1;
[0078] vt=v1,if vdest=v1;
[0079] 其中,(Px1,Py1,Pz1)为所述第一位置的坐标、(Px2,Py2,Pz2)为所述第二位置的坐标,θcur_head为所述目标偏航角,v1为所述第一速度、vdest为所述目标速度,α为所述飞行加速度,γcdr为所述飞行爬升率,t为所述第一时刻与第二时刻的时间间隔。
[0080] 在第二方面一些设计中,所述初始化参数还包括所述飞行器的转弯速率;
[0081] 所述确定模块,用于:
[0082] 在所述飞行状态为左旋时,根据以下公式确定所述第二位置:
[0083] Px2=Px1+Rturn·cos(θ′cur head);
[0084] Py2=Py1+Rturn·sin(θ′cur_head);
[0085] Pz2=Pz1+t·γcdr;
[0086]
[0087]
[0088]
[0089]
[0090]
[0091] 其中,g为重力加速度,γturn为所述转弯速率。
[0092] 在第二方面一些设计中,所述初始化参数还包括所述飞行器的转弯速率;
[0093] 所述确定模块,用于:
[0094] 在所述飞行状态为右旋时,根据以下公式确定所述第二位置:
[0095] Px2=Px1+Rturn·cos(θ′cur head);
[0096] Py2=Py1+Rturn·sin(θ′cur_head);
[0097] Pz2=Pz1+t·γcdr;
[0098]
[0099]
[0100]
[0101]
[0102]
[0103] 其中,g为重力加速度,γturn为所述转弯速率。
[0104] 在第二方面一些设计中,所述偏差阈值为Rturn。
[0105] 本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0106] 本发明实施例中,确定飞行器处于平飞状态、左旋状态或右旋状态,然后根据飞行器的飞行状态模拟飞行器的位置,兼顾运算速度与仿真模拟真实感。附图说明
[0107] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明实施例的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0108] 图1为本发明实施例中飞行仿真方法的流程示意图;
[0109] 图2为本发明实施例中飞行仿真装置的结构示意图。

具体实施方式

[0110] 下面通过附图以及具体实施例对本发明实施例技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明实施例技术方案的详细的说明,而不是对本发明实施例技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
[0111] 图1所示为本发明实施例的飞行仿真方法的流程示意图,包括如下步骤:
[0112] 步骤11,获得飞行仿真的初始化参数,初始化参数包括飞行器的运动性能参数以及目标位置。
[0113] 运动性能参数可以包括飞行加速度(标量)、爬升率(标量)、俯仰率(标量)、滚转率(标量)以及转弯速率中的至少一项。
[0114] 步骤12,获得飞行器在第一时刻的第一飞行参数,第一飞行参数包括飞行器在第一时刻的第一位置以及第一运动参数。
[0115] 第一运动参数可以包括飞行器在第一时刻的第一速度、第一位置以及飞行姿态等。飞行姿态可以用欧拉角(θhead1,θpitch1,θroll1)表示,其中,θhead1为第一时刻的第一偏航角,θpitch1为第一时刻的第一俯仰角,θroll1为第一时刻的第一滚转角。
[0116] 步骤13,判断第一位置与目标位置的偏差是否不大于偏差阈值。
[0117] 该偏差阈值可以有多种实现,如预设的距离值,又如飞行器的转弯半径
[0118] 步骤14,若第一位置与目标位置的偏差大于偏差阈值,根据第一飞行参数以及初始化参数确定飞行器从第一位置飞向目标位置的飞行状态,飞行状态包括平飞状态、左旋状态以及右旋状态。
[0119] 首先,计算第一位置指向目标位置的向量在平面(xoy平面)的投影,及在x轴上的投影,两投影间的夹角即为目标偏航角。
[0120] 然后,确定第一偏航角顺时针转动到目标偏航角的第一角度,以及第一偏航角逆时针转动到目标偏航角的第二角度。
[0121] 在第一角度等于第二角度时,确定飞行器的飞行状态为平飞状态;在第一角度大于第二角度时,确定飞行器的飞行状态为右旋状态;在第一角度小于第二角度时,确定飞行器的飞行状态为左旋状态。
[0122] 步骤15,根据第一飞行参数、初始化参数以及飞行状态确定飞行器在第一时刻的预设时间间隔之后的第二时刻的第二位置。
[0123] 首先,由于运动性能参数可以包括飞行加速度的标量,可以根据当前第一时刻的第一速度与目标速度的大小差确定加速度的方向,进而确定加速度。
[0124] 当目标速度vdest大于当前的第一速度v1时,飞行加速度α为+a,a为加速度的标量;当目标速度vdest小于第一速度v1时时,飞行加速度α为-a;当目标速度vdest与第一速度v1时相等时,飞行加速度α为0,不用调整速度,飞行器匀速飞行。
[0125] 然后,根据飞行加速度以及第一速度确定飞行器在距离第一时刻之后时长t的时刻的飞行速度vt,可以通过以下公式表示vt:
[0126] vt=v1+α·t,if vdest≠v1;
[0127] vt=v1,if vdest=v1;
[0128] 然后,根据第一位置、目标位置以及爬升率的绝对值(标量)确定飞行器从第一位置飞向目标位置时的飞行爬升率。
[0129] 计算飞行器当前飞行位置 指向目标飞行位置 的向量 在z轴上的投影,如果投影为正,代表飞行器的目标飞行高度高于当前飞行高度,则爬升率γcdr为+r,r为爬升率的标量,反之,如果投影为负,爬升率γcdr为-r。
[0130] 在飞行状态为平飞状态时,根据以下公式确定第二位置:
[0131] Px2=Px1+vt·t·cos(θcur_head);
[0132] Py2=py1+vt·t·sin(θcur_head);
[0133] Pz2=Pz1+t·γcdr;
[0134] vt=v1+α·t,if vdest≠v1;
[0135] vt=v1,if vdest=v1;
[0136] 其中,(Px1,Py1,Pz1)为第一位置的坐标、(Px2,Py2,Pz2)为第二位置的坐标,θcur_head为目标偏航角,v1为第一速度、vdest为目标速度,α为飞行加速度,γcdr为飞行爬升率,t为第一时刻与第二时刻的时间间隔。
[0137] 而在飞行状态为左旋时,根据以下公式确定第二位置:
[0138] Px2=Px1+Rturn·cos(θ′cur head);
[0139] Py2=Py1+Rturn·sin(θ′cur_head);
[0140] Pz2=Pz1+t·γcdr;
[0141]
[0142]
[0143]
[0144]
[0145]
[0146] 其中,g为重力加速度,γturn为转弯速率。
[0147] 在飞行状态为右旋时,根据以下公式确定第二位置:
[0148] Px2=Px1+Rturn·cos(θ′cur head);
[0149] Py2=Py1+Rturn·sin(θ′cur_head);
[0150] Pz2=Pz1+t·γcdr;
[0151]
[0152]
[0153]
[0154]
[0155]
[0156] 步骤16,判断第二位置与目标位置的偏差是否不大于偏差阈值。
[0157] 步骤17,在第二位置与目标位置的偏差不大于偏差阈值时,结束飞行仿真。
[0158] 若第二位置与目标位置的偏差大于偏差阈值,则根据步骤12至步骤16的方法确定第二时刻的预设时间间隔后的第三时刻时飞行器的第三位置,并判断第三位置与目标位置的偏差是否不大于偏差阈值,重复上述过程,直至飞行器的位置与目标位置的偏差不大于偏差阈值。
[0159] 通过上述方案,确定飞行器处于平飞状态、左旋状态或右旋状态,然后根据飞行器的飞行状态模拟飞行器的位置,兼顾运算速度与仿真模拟真实感。
[0160] 下面以具体实例对本发明实施例的方案进行详细说明。
[0161] 步骤一,制定飞行器的飞行计划,并初始化飞行器飞行参数。制定飞行器的飞行计划为飞到点。需要初始化的飞行器飞行参数包括:飞行器的目标飞行位置,目标飞行速度(标量),飞行加速度(标量),爬升率(标量),俯仰率(标量),滚转率(标量),转弯速率。
[0162] 步骤二,在模拟开始后,系统一方面会取得用户输入信息,主要是飞行器的飞行加速度,爬升率,俯仰率,滚转率,转弯速率等;另一方面会取得上次模拟的输出结果,主要是汽车的当前飞行速度,当前飞行位置,和当前飞行姿态(欧拉角)等。
[0163] 步骤三 ,结合步骤二所 述的 两组信息 ,飞行器的目标飞行 位置表示,目标飞行速度用vdest表示,当前飞行位置用
表示,当前飞行速度用vcur表示,当前飞行欧拉角用(θcur_head,
θcur_pitch,θcur_roll)表示,飞行加速度用α表示,爬升率用γcdr表示,俯仰率用γpitch表示,滚转率用γroll表示,转弯速率用γturn表示。
[0164] 步骤四,判断飞行器是否到达目标飞行位置,用飞行器当前飞行速度下的转弯半径来表示位置偏差阈值ΔP,位置偏差阈值ΔP的计算方法如下:
[0165]
[0166] 当飞行器的当前飞行位置与目标飞行位置的距离小于该位置偏差阈值时,视为到达目标飞行位置,即当飞行器飞行参数满足如下计算公式时,视为飞行器到达目标飞行位置。若不满足,则执行步骤三。
[0167]
[0168] 其中,g为重力加速度,这也符合实际中的飞行器飞行状态,通常让飞行器飞行到点,是指让该飞行器飞行到该点所在的某一指定大小区域内。
[0169] 步骤五,计算飞行器飞行状态:
[0170] 首先,计算飞行器的目标飞行速度vdest与当前飞行速度vcur的速度差,判断飞行加速度α为正值(加速)或负值(减速):当目标飞行速度vdest大于当前飞行速度vcur时,加速度为正;反之,加速度为负。
[0171] 然后,利用飞行器当前飞行位置指向目标飞行位置的向量,判断飞行器的爬升率γcdr为正值(上升)或负值(下降),俯仰率γpitch为正值或负值,滚转率γroll为正值或负值,及计算飞行器的目标俯仰角和目标偏航角,判断飞行器的飞行状态(平飞、左旋或右旋)。
[0172] 爬升率的计算方法为:计算飞行器当前飞行位置 指向目标飞行位置 的向量 在z轴上的投影,如果投影为正,代表飞行器的目标飞行高度高于当前
飞行高度,则爬升率为正值(γcdr=γcdr),反之,爬升率为负值(γcdr=-γcdr)。
[0173] 目标俯仰角的计算方法为:利用飞行器的当前飞行速度vcur,和飞行器的爬升率γcdr,计算飞行器的目标俯仰角,用θdest_pitch表示,计算方式如下:
[0174]
[0175] 此方法保证了飞行爬升或下降过程的平滑性,更接近真实飞行姿态。
[0176] 俯仰率的计算方法为:计算飞行器目标俯仰角θdest_pitch与当前俯仰角θcur_pitch的角度差。如果角度差为正,则俯仰率为正值(γpitch=γpitch),反之,俯仰率为负值(γpitch=-γpitch)。
[0177] 目标偏航角的计算方法为:计算飞行器当前飞行位置指向目标飞行位置的向量在xoy平面的投影,及在x轴上的投影,两投影间的夹角即为目标偏航角,用θdest_head表示,计算公式如下:
[0178]
[0179]
[0180]
[0181]
[0182] 然后,确定飞行器的飞行状态为平飞状态、左旋状态还是右旋状态,以及确定目标滚转角。确定方法如下:首先计算从当前偏航角 开始顺时针转动到目标偏航角θdest_head的度数(弧度),用θdeasil表示,及从当前偏航角开始逆时针转动到目标偏航角θdest_head的度数(弧度),用θanticlock表示。当θdeasil=θanticlock=0,表明飞行器为平飞状态,不需要调整偏航角,目标滚转角为0(θdest_roll=0);当θdeasil>θanticlock时,表明飞行器需要右旋,目标滚转角为正;当θdeasil<θanticlock,表明飞行器需要左旋,目标滚转角为负值。在本实施案例中,目标滚转角用转弯速率γturn代替,因此,飞行器飞行状态为右旋时,目标滚转角θdest_roll=γturn;当飞行器飞行状态为左旋时,目标滚转角θdest_roll=-γturn。
[0183] 然后,计算t时间后飞行器的飞行速度:当目标飞行速度vdest大于当前飞行速度vcur时;飞行加速度α为正(α=α),当目标飞行速度vdest小于当前飞行速度vcur时,飞行加速度α为负(α=-α);当标飞行速度vdest与当前飞行速度vcur相等时,不用调整速度,飞行器匀速飞行。因此有如下计算公式:
[0184] v′cur=vcur+α·t,if vdest≠vcur
[0185] v=cur=vcur,if vdest=vcur
[0186] 然后,根据飞行器的不同飞行状态(平飞、左旋或右旋)计算t时间后飞行器的飞行位置及飞行姿态(欧拉角)。为了使飞行器飞行姿态更逼真,时间间隔t可以设置的较短,例如1s。
[0187] 飞行器的飞行状态为平飞状态时,时间间隔t后,飞行器的飞行位置计算方式如下:
[0188]
[0189]
[0190]
[0191] 飞行器的欧拉角(飞行姿态)的计算方式如下:
[0192] 偏航角:θ′cur_head=θcur_head,
[0193] 俯仰角:θ′cur_pitch=θcur_pitch+γpitch·t until θcur_pitch=θdest_pitch,[0194] 滚转角:θ′cur_roll=θcur_roll+γroll·t until θcur_roll=θdest_roll[0195] 飞行器左旋或右旋飞行状态下,时间间隔t后飞行器的飞行位置及飞行偏航角与飞行器的转弯半径有关,首先计算飞行器的转弯半径Rturn如下:
[0196]
[0197] 将飞行器在xoy平面的飞行看作是飞行器沿着以转弯半径Rturn为半径,与x轴成θcur_head夹角的向量为切线的圆做圆弧运动。圆弧的圆心Pcenter(pcenter_x,pcenter_y)的计算方法如下:
[0198] 飞行器的飞行状态为左旋状态时,
[0199]
[0200]
[0201] 飞行器的飞行状态为右旋状态时,
[0202]
[0203]
[0204] 偏航角的改变用如下公式计算:
[0205]
[0206] 则间隔时间t后飞行器的飞行位置计算方式如下:
[0207]
[0208]
[0209] 其中,飞行器的飞行状态为左旋状态时,
[0210]
[0211] 飞行器的飞行状态为右旋状态时,
[0212]
[0213] 的计算方法与平飞状态下一致。
[0214] 时间间隔t后飞行器的欧拉角计算方法如下:
[0215] 飞行器的飞行状态为左旋状态时,
[0216] 飞行器的飞行状态为右旋状态时,
[0217] 俯仰角与滚转角计算方法与平飞状态下一致。
[0218] 然后,获取飞行器当前飞行位置 和当前飞行姿态(θ′cur_head,θ′cur_pitch,θ′cur_roll),并更新飞行器当前飞行位置和姿态,跳转至步骤二。直至飞行器飞到目标区域,完成当前飞行计划。
[0219] 图2所示为本发明实施例的飞行仿真装置,包括:
[0220] 第一获得模块21,用于获得飞行仿真的初始化参数,初始化参数包括飞行器的运动性能参数以及目标位置;
[0221] 第二获得模块22,用于获得飞行器在第一时刻的第一飞行参数,第一飞行参数包括飞行器在第一时刻的第一位置以及第一运动参数;
[0222] 第一判断模块23,用于判断第一位置与目标位置的偏差是否不大于偏差阈值;
[0223] 确定模块24,用于在第一位置与目标位置的偏差大于偏差阈值时,根据第一飞行参数以及初始化参数确定飞行器从第一位置飞向目标位置的飞行状态,飞行状态包括平飞状态、左旋状态以及右旋状态;根据第一飞行参数、初始化参数以及飞行状态确定飞行器在第一时刻的预设时间间隔之后的第二时刻的第二位置;
[0224] 第二判断模块25,用于判断第二位置与目标位置的偏差是否不大于偏差阈值;
[0225] 结束模块26,用于在第二位置与目标位置的偏差不大于偏差阈值时,结束飞行仿真。
[0226] 作为一种可选的方式,第一运动参数包括飞行器在第一时刻的第一偏航角;
[0227] 确定模块24用于:
[0228] 根据飞行器在第一时刻的第一位置以及目标位置确定飞行器从第一位置飞向目标位置时的目标偏航角;
[0229] 确定第一偏航角顺时针转动到目标偏航角的第一角度,以及第一偏航角逆时针转动到目标偏航角的第二角度;
[0230] 在第一角度等于第二角度时,确定飞行器的飞行状态为平飞状态;
[0231] 在第一角度大于第二角度时,确定飞行器的飞行状态为右旋状态;
[0232] 在第一角度小于第二角度时,确定飞行器的飞行状态为左旋状态。
[0233] 作为一种可选的方式,第一飞行参数还包括飞行器在第一时刻的第一速度;初始化参数还包括飞行器的目标速度,运动性能参数包括爬升率的绝对值;
[0234] 确定模块24用于:
[0235] 根据第一速度、目标速度以及加速度的绝对值确定飞行器从第一位置飞向目标位置时的飞行加速度;
[0236] 根据第一位置、目标位置以及爬升率的绝对值确定飞行器从第一位置飞向目标位置时的飞行爬升率;
[0237] 在飞行状态为平飞状态时,根据以下公式确定第二位置:
[0238] Px2=Px1+vt·t·cos(θcur_head);
[0239] Py2=Py1+vt·t·sin(θcur_head);
[0240] Pz2=Pz1+t·γcdr;
[0241] vt=v1+α·t   if  vdest≠v1;
[0242] vt=v1   if  vdest=v1;
[0243] 其中,(Px1,Py1,Pz1)为第一位置的坐标、(Px2,Py2,Pz2)为第二位置的坐标,θcur_head为目标偏航角,v1为第一速度、vdest为目标速度,α为飞行加速度,γcdr为飞行爬升率,t为第一时刻与第二时刻的时间间隔。
[0244] 作为一种可选的方式,初始化参数还包括飞行器的转弯速率;
[0245] 确定模块24,用于:
[0246] 在飞行状态为左旋时,根据以下公式确定第二位置:
[0247] Px2=Px1+Rturn·cos(θ′cur head);
[0248] Py2=Py1+Rturn·sin(θ′cur_head);
[0249] Pz2=Pz1+t·γcdr;
[0250]
[0251]
[0252]
[0253]
[0254]
[0255] 其中,g为重力加速度,γturn为转弯速率。
[0256] 作为一种可选的方式,初始化参数还包括飞行器的转弯速率;
[0257] 确定模块24,用于:
[0258] 在飞行状态为右旋时,根据以下公式确定第二位置:
[0259] Px2=Px1+Rturn·cos(θ′cur head);
[0260] Py2=Py1+Rturn·sin(θ′cur_head);
[0261] Pz2=Pz1+t·γcdr;
[0262]
[0263]
[0264]
[0265]
[0266]
[0267] 其中,g为重力加速度,γturn为转弯速率。
[0268] 作为一种可选的方式,偏差阈值为转弯半径Rturn。
[0269] 上述装置的实现方式可以参照图1所示的方法的实现方式,在此不予重复。
[0270] 本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0271] 本发明实施例提供了一种飞行器的飞行轨迹仿真模拟方法。该方法通过设定时间间隔,计算每隔一定时间间隔的飞行器位置和姿态。在计算飞行器的飞行位置和飞行姿态(欧拉角)时,分为了飞行器平飞和旋转(左旋或右旋)两种状态,使飞行器的飞行更具真实感。此方法克服了现有飞行器飞行模拟方法中运行速度与飞行模拟真实感不能很好兼容的问题,既保证了算法的简洁性与运算速度,又能保证尽可能接近现实中飞行器的飞行特性。且本发明实施例方法适用于游戏领域、仿真训练领域、仿真作战系统等各种需要飞行器飞行模拟技术的领域中,具有通用性。
[0272] 本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0273] 本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0274] 显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明实施例权利要求及其等同技术的范围之内,则本发明实施例也意图包含这些改动和变型在内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈