CN106934131B - 一种飞行仿真方法及装置 - Google Patents
一种飞行仿真方法及装置 Download PDFInfo
- Publication number
- CN106934131B CN106934131B CN201710113003.XA CN201710113003A CN106934131B CN 106934131 B CN106934131 B CN 106934131B CN 201710113003 A CN201710113003 A CN 201710113003A CN 106934131 B CN106934131 B CN 106934131B
- Authority
- CN
- China
- Prior art keywords
- flight
- aircraft
- target
- determining
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Navigation (AREA)
Abstract
一种飞行仿真方法及装置,用于提供兼顾运算速度与仿真模拟真实感的飞行仿真方式。飞行仿真方法包括:获得飞行仿真的初始化参数,包括飞行器的运动性能参数以及目标位置;获得飞行器在第一时刻的第一飞行参数,包括飞行器在第一时刻的第一位置以及第一运动参数;判断第一位置与目标位置的偏差是否不大于偏差阈值;若大于,根据第一飞行参数以及初始化参数确定飞行器从第一位置飞向目标位置的飞行状态,飞行状态包括平飞状态、左旋状态以及右旋状态;根据第一飞行参数、初始化参数以及飞行状态确定飞行器在第一时刻的预设时间间隔之后的第二时刻的第二位置;判断第二位置与目标位置的偏差是否不大于偏差阈值;若不大于,结束飞行仿真。
Description
技术领域
本发明涉及航空技术领域,特别涉及一种飞行仿真方法及装置。
背景技术
现有的飞行器飞行仿真模拟技术基于飞行器的非线性建模,但由于飞行器在空间运动有六个自由度,其系统庞大、结构复杂、气动数据多,所以建立完整的六自由度全量飞行器模型比较困难,算法过于复杂,导致运行速度慢。若要提高算法速度则以牺牲飞行器模拟的真实感为代价,使得飞行姿态不够平稳等,虽然运行速度提高了,但是却降低了飞行器模拟的真实感。
发明内容
本发明实施例提供一种飞行仿真方法及装置,用于提供一种兼顾运算速度与仿真模拟真实感的飞行仿真方式。
本发明实施例第一方面提供一种飞行仿真方法,包括:
获得飞行仿真的初始化参数,所述初始化参数包括飞行器的运动性能参数以及目标位置;
获得所述飞行器在第一时刻的第一飞行参数,所述第一飞行参数包括所述飞行器在所述第一时刻的第一位置以及第一运动参数;
判断所述第一位置与所述目标位置的偏差是否不大于偏差阈值;
若所述第一位置与所述目标位置的偏差大于所述偏差阈值,根据所述第一飞行参数以及所述初始化参数确定所述飞行器从所述第一位置飞向所述目标位置的飞行状态,所述飞行状态包括平飞状态、左旋状态以及右旋状态;
根据所述第一飞行参数、所述初始化参数以及所述飞行状态确定所述飞行器在所述第一时刻的预设时间间隔之后的第二时刻的第二位置;
判断所述第二位置与所述目标位置的偏差是否不大于偏差阈值;
在所述第二位置与所述目标位置的偏差不大于所述偏差阈值时,结束飞行仿真。
在第一方面一些设计中,所述第一运动参数包括所述飞行器在第一时刻的第一偏航角;
所述根据所述第一飞行参数以及所述初始化参数确定所述飞行器的飞行状态,包括:
根据所述飞行器在所述第一时刻的第一位置以及所述目标位置确定所述飞行器从所述第一位置飞向所述目标位置时的目标偏航角;
确定所述第一偏航角顺时针转动到所述目标偏航角的第一角度,以及所述第一偏航角逆时针转动到所述目标偏航角的第二角度;
在所述第一角度等于所述第二角度时,确定所述飞行器的飞行状态为平飞状态;
在所述第一角度大于所述第二角度时,确定所述飞行器的飞行状态为右旋状态;
在所述第一角度小于所述第二角度时,确定所述飞行器的飞行状态为左旋状态。
在第一方面一些设计中,所述第一飞行参数还包括所述飞行器在第一时刻的第一速度;所述初始化参数还包括所述飞行器的目标速度,所述运动性能参数包括爬升率的绝对值;
所述根据所述第一飞行参数、所述目标飞行参数以及所述飞行状态确定所述飞行器在所述第一时刻的预设时间间隔之后的第二时刻的第二位置,包括:
根据所述第一速度、所述目标速度以及所述加速度的绝对值确定所述飞行器从所述第一位置飞向所述目标位置时的飞行加速度;
根据所述第一位置、所述目标位置以及所述爬升率的绝对值确定所述飞行器从所述第一位置飞向所述目标位置时的飞行爬升率;
在所述飞行状态为平飞状态时,根据以下公式确定所述第二位置:
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为所述第一时刻与第二时刻的时间间隔。
在第一方面一些设计中,所述初始化参数还包括所述飞行器的转弯速率;
所述根据所述第一飞行参数、所述目标飞行参数以及所述飞行状态确定所述飞行器在所述第一时刻的预设时间间隔之后的第二时刻的第二位置,包括:
在所述飞行状态为左旋时,根据以下公式确定所述第二位置:
Px2=Px1+Rturn·cos(θ′cur head);
Py2=Py1+Rturn·sin(θ′cur_head);
Pz2=Pz1+t·γcdr;
其中,g为重力加速度,γturn为所述转弯速率。
在第一方面一些设计中,所述初始化参数还包括所述飞行器的转弯速率;
所述根据所述第一飞行参数、所述目标飞行参数以及所述飞行状态确定所述飞行器在所述第一时刻的预设时间间隔之后的第二时刻的第二位置,包括:
在所述飞行状态为右旋时,根据以下公式确定所述第二位置:
Px2=Px1+Rturn·cos(θ′cur head);
Py2=Py1+Rturn·sin(θ′cur_head);
Pz2=Pz1+t·γcdr;
其中,g为重力加速度,γturn为所述转弯速率。
在第一方面一些设计中,所述偏差阈值为Rturn。
本发明实施例第二方面提供一种飞行仿真装置,包括:
第一获得模块,用于获得飞行仿真的初始化参数,所述初始化参数包括飞行器的运动性能参数以及目标位置;
第二获得模块,用于获得所述飞行器在第一时刻的第一飞行参数,所述第一飞行参数包括所述飞行器在所述第一时刻的第一位置以及第一运动参数;
第一判断模块,用于判断所述第一位置与所述目标位置的偏差是否不大于偏差阈值;
确定模块,用于在所述第一位置与所述目标位置的偏差大于所述偏差阈值时,根据所述第一飞行参数以及所述初始化参数确定所述飞行器从所述第一位置飞向所述目标位置的飞行状态,所述飞行状态包括平飞状态、左旋状态以及右旋状态;根据所述第一飞行参数、所述初始化参数以及所述飞行状态确定所述飞行器在所述第一时刻的预设时间间隔之后的第二时刻的第二位置;
第二判断模块,用于判断所述第二位置与所述目标位置的偏差是否不大于偏差阈值;
结束模块,用于在所述第二位置与所述目标位置的偏差不大于所述偏差阈值时,结束飞行仿真。
在第二方面一些设计中,所述第一运动参数包括所述飞行器在第一时刻的第一偏航角;
所述确定模块用于:
根据所述飞行器在所述第一时刻的第一位置以及所述目标位置确定所述飞行器从所述第一位置飞向所述目标位置时的目标偏航角;
确定所述第一偏航角顺时针转动到所述目标偏航角的第一角度,以及所述第一偏航角逆时针转动到所述目标偏航角的第二角度;
在所述第一角度等于所述第二角度时,确定所述飞行器的飞行状态为平飞状态;
在所述第一角度大于所述第二角度时,确定所述飞行器的飞行状态为右旋状态;
在所述第一角度小于所述第二角度时,确定所述飞行器的飞行状态为左旋状态。
在第二方面一些设计中,所述第一飞行参数还包括所述飞行器在第一时刻的第一速度、第一俯仰角、第一滚转角;所述初始化参数还包括所述飞行器的目标速度,所述运动性能参数包括爬升率的绝对值;
所述确定模块用于:
根据所述第一速度、所述目标速度以及所述加速度的绝对值确定所述飞行器从所述第一位置飞向所述目标位置时的飞行加速度;
根据所述第一位置、所述目标位置以及所述爬升率的绝对值确定所述飞行器从所述第一位置飞向所述目标位置时的飞行爬升率;
在所述飞行状态为平飞状态时,根据以下公式确定所述第二位置:
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为所述第一时刻与第二时刻的时间间隔。
在第二方面一些设计中,所述初始化参数还包括所述飞行器的转弯速率;
所述确定模块,用于:
在所述飞行状态为左旋时,根据以下公式确定所述第二位置:
Px2=Px1+Rturn·cos(θ′cur head);
Py2=Py1+Rturn·sin(θ′cur_head);
Pz2=Pz1+t·γcdr;
其中,g为重力加速度,γturn为所述转弯速率。
在第二方面一些设计中,所述初始化参数还包括所述飞行器的转弯速率;
所述确定模块,用于:
在所述飞行状态为右旋时,根据以下公式确定所述第二位置:
Px2=Px1+Rturn·cos(θ′cur head);
Py2=Py1+Rturn·sin(θ′cur_head);
Pz2=Pz1+t·γcdr;
其中,g为重力加速度,γturn为所述转弯速率。
在第二方面一些设计中,所述偏差阈值为Rturn。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明实施例中,确定飞行器处于平飞状态、左旋状态或右旋状态,然后根据飞行器的飞行状态模拟飞行器的位置,兼顾运算速度与仿真模拟真实感。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明实施例的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中飞行仿真方法的流程示意图;
图2为本发明实施例中飞行仿真装置的结构示意图。
具体实施方式
下面通过附图以及具体实施例对本发明实施例技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明实施例技术方案的详细的说明,而不是对本发明实施例技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
图1所示为本发明实施例的飞行仿真方法的流程示意图,包括如下步骤:
步骤11,获得飞行仿真的初始化参数,初始化参数包括飞行器的运动性能参数以及目标位置。
运动性能参数可以包括飞行加速度(标量)、爬升率(标量)、俯仰率(标量)、滚转率(标量)以及转弯速率中的至少一项。
步骤12,获得飞行器在第一时刻的第一飞行参数,第一飞行参数包括飞行器在第一时刻的第一位置以及第一运动参数。
第一运动参数可以包括飞行器在第一时刻的第一速度、第一位置以及飞行姿态等。飞行姿态可以用欧拉角(θhead1,θpitch1,θroll1)表示,其中,θhead1为第一时刻的第一偏航角,θpitch1为第一时刻的第一俯仰角,θroll1为第一时刻的第一滚转角。
步骤13,判断第一位置与目标位置的偏差是否不大于偏差阈值。
该偏差阈值可以有多种实现,如预设的距离值,又如飞行器的转弯半径。
步骤14,若第一位置与目标位置的偏差大于偏差阈值,根据第一飞行参数以及初始化参数确定飞行器从第一位置飞向目标位置的飞行状态,飞行状态包括平飞状态、左旋状态以及右旋状态。
首先,计算第一位置指向目标位置的向量在水平面(xoy平面)的投影,及在x轴上的投影,两投影间的夹角即为目标偏航角。
然后,确定第一偏航角顺时针转动到目标偏航角的第一角度,以及第一偏航角逆时针转动到目标偏航角的第二角度。
在第一角度等于第二角度时,确定飞行器的飞行状态为平飞状态;在第一角度大于第二角度时,确定飞行器的飞行状态为右旋状态;在第一角度小于第二角度时,确定飞行器的飞行状态为左旋状态。
步骤15,根据第一飞行参数、初始化参数以及飞行状态确定飞行器在第一时刻的预设时间间隔之后的第二时刻的第二位置。
首先,由于运动性能参数可以包括飞行加速度的标量,可以根据当前第一时刻的第一速度与目标速度的大小差确定加速度的方向,进而确定加速度。
当目标速度vdest大于当前的第一速度v1时,飞行加速度α为+a,a为加速度的标量;当目标速度vdest小于第一速度v1时时,飞行加速度α为-a;当目标速度vdest与第一速度v1时相等时,飞行加速度α为0,不用调整速度,飞行器匀速飞行。
然后,根据飞行加速度以及第一速度确定飞行器在距离第一时刻之后时长t的时刻的飞行速度vt,可以通过以下公式表示vt:
vt=v1+α·t,if vdest≠v1;
vt=v1,if vdest=v1;
然后,根据第一位置、目标位置以及爬升率的绝对值(标量)确定飞行器从第一位置飞向目标位置时的飞行爬升率。
计算飞行器当前飞行位置指向目标飞行位置的向量在z轴上的投影,如果投影为正,代表飞行器的目标飞行高度高于当前飞行高度,则爬升率γcdr为+r,r为爬升率的标量,反之,如果投影为负,爬升率γcdr为-r。
在飞行状态为平飞状态时,根据以下公式确定第二位置:
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为第一时刻与第二时刻的时间间隔。
而在飞行状态为左旋时,根据以下公式确定第二位置:
Px2=Px1+Rturn·cos(θ′cur head);
Py2=Py1+Rturn·sin(θ′cur_head);
Pz2=Pz1+t·γcdr;
其中,g为重力加速度,γturn为转弯速率。
在飞行状态为右旋时,根据以下公式确定第二位置:
Px2=Px1+Rturn·cos(θ′cur head);
Py2=Py1+Rturn·sin(θ′cur_head);
Pz2=Pz1+t·γcdr;
步骤16,判断第二位置与目标位置的偏差是否不大于偏差阈值。
步骤17,在第二位置与目标位置的偏差不大于偏差阈值时,结束飞行仿真。
若第二位置与目标位置的偏差大于偏差阈值,则根据步骤12至步骤16的方法确定第二时刻的预设时间间隔后的第三时刻时飞行器的第三位置,并判断第三位置与目标位置的偏差是否不大于偏差阈值,重复上述过程,直至飞行器的位置与目标位置的偏差不大于偏差阈值。
通过上述方案,确定飞行器处于平飞状态、左旋状态或右旋状态,然后根据飞行器的飞行状态模拟飞行器的位置,兼顾运算速度与仿真模拟真实感。
下面以具体实例对本发明实施例的方案进行详细说明。
步骤一,制定飞行器的飞行计划,并初始化飞行器飞行参数。制定飞行器的飞行计划为飞到点。需要初始化的飞行器飞行参数包括:飞行器的目标飞行位置,目标飞行速度(标量),飞行加速度(标量),爬升率(标量),俯仰率(标量),滚转率(标量),转弯速率。
步骤二,在模拟开始后,系统一方面会取得用户输入信息,主要是飞行器的飞行加速度,爬升率,俯仰率,滚转率,转弯速率等;另一方面会取得上次模拟的输出结果,主要是汽车的当前飞行速度,当前飞行位置,和当前飞行姿态(欧拉角)等。
步骤三,结合步骤二所述的两组信息,飞行器的目标飞行位置表示,目标飞行速度用vdest表示,当前飞行位置用表示,当前飞行速度用vcur表示,当前飞行欧拉角用(θcur_head,θcur_pitch,θcur_roll)表示,飞行加速度用α表示,爬升率用γcdr表示,俯仰率用γpitch表示,滚转率用γroll表示,转弯速率用γturn表示。
步骤四,判断飞行器是否到达目标飞行位置,用飞行器当前飞行速度下的转弯半径来表示位置偏差阈值ΔP,位置偏差阈值ΔP的计算方法如下:
当飞行器的当前飞行位置与目标飞行位置的距离小于该位置偏差阈值时,视为到达目标飞行位置,即当飞行器飞行参数满足如下计算公式时,视为飞行器到达目标飞行位置。若不满足,则执行步骤三。
其中,g为重力加速度,这也符合实际中的飞行器飞行状态,通常让飞行器飞行到点,是指让该飞行器飞行到该点所在的某一指定大小区域内。
步骤五,计算飞行器飞行状态:
首先,计算飞行器的目标飞行速度vdest与当前飞行速度vcur的速度差,判断飞行加速度α为正值(加速)或负值(减速):当目标飞行速度vdest大于当前飞行速度vcur时,加速度为正;反之,加速度为负。
然后,利用飞行器当前飞行位置指向目标飞行位置的向量,判断飞行器的爬升率γcdr为正值(上升)或负值(下降),俯仰率γpitch为正值或负值,滚转率γroll为正值或负值,及计算飞行器的目标俯仰角和目标偏航角,判断飞行器的飞行状态(平飞、左旋或右旋)。
爬升率的计算方法为:计算飞行器当前飞行位置指向目标飞行位置的向量在z轴上的投影,如果投影为正,代表飞行器的目标飞行高度高于当前飞行高度,则爬升率为正值(γcdr=γcdr),反之,爬升率为负值(γcdr=-γcdr)。
目标俯仰角的计算方法为:利用飞行器的当前飞行速度vcur,和飞行器的爬升率γcdr,计算飞行器的目标俯仰角,用θdest_pitch表示,计算方式如下:
此方法保证了飞行爬升或下降过程的平滑性,更接近真实飞行姿态。
俯仰率的计算方法为:计算飞行器目标俯仰角θdest_pitch与当前俯仰角θcur_pitch的角度差。如果角度差为正,则俯仰率为正值(γpitch=γpitch),反之,俯仰率为负值(γpitch=-γpitch)。
目标偏航角的计算方法为:计算飞行器当前飞行位置指向目标飞行位置的向量在xoy平面的投影,及在x轴上的投影,两投影间的夹角即为目标偏航角,用θdest_head表示,计算公式如下:
然后,确定飞行器的飞行状态为平飞状态、左旋状态还是右旋状态,以及确定目标滚转角。确定方法如下:首先计算从当前偏航角开始顺时针转动到目标偏航角θdest_head的度数(弧度),用θdeasil表示,及从当前偏航角开始逆时针转动到目标偏航角θdest_head的度数(弧度),用θanticlock表示。当θdeasil=θanticlock=0,表明飞行器为平飞状态,不需要调整偏航角,目标滚转角为0(θdest_roll=0);当θdeasil>θanticlock时,表明飞行器需要右旋,目标滚转角为正;当θdeasil<θanticlock,表明飞行器需要左旋,目标滚转角为负值。在本实施案例中,目标滚转角用转弯速率γturn代替,因此,飞行器飞行状态为右旋时,目标滚转角θdest_roll=γturn;当飞行器飞行状态为左旋时,目标滚转角θdest_roll=-γturn。
然后,计算t时间后飞行器的飞行速度:当目标飞行速度vdest大于当前飞行速度vcur时;飞行加速度α为正(α=α),当目标飞行速度vdest小于当前飞行速度vcur时,飞行加速度α为负(α=-α);当标飞行速度vdest与当前飞行速度vcur相等时,不用调整速度,飞行器匀速飞行。因此有如下计算公式:
v′cur=vcur+α·t,if vdest≠vcur
v=cur=vcur,if vdest=vcur
然后,根据飞行器的不同飞行状态(平飞、左旋或右旋)计算t时间后飞行器的飞行位置及飞行姿态(欧拉角)。为了使飞行器飞行姿态更逼真,时间间隔t可以设置的较短,例如1s。
飞行器的欧拉角(飞行姿态)的计算方式如下:
偏航角:θ′cur_head=θcur_head,
俯仰角:θ′cur_pitch=θcur_pitch+γpitch·t until θcur_pitch=θdest_pitch,
滚转角:θ′cur_roll=θcur_roll+γroll·t until θcur_roll=θdest_roll
飞行器左旋或右旋飞行状态下,时间间隔t后飞行器的飞行位置及飞行偏航角与飞行器的转弯半径有关,首先计算飞行器的转弯半径Rturn如下:
将飞行器在xoy平面的飞行看作是飞行器沿着以转弯半径Rturn为半径,与x轴成θcur_head夹角的向量为切线的圆做圆弧运动。圆弧的圆心Pcenter(pcenter_x,pcenter_y)的计算方法如下:
飞行器的飞行状态为左旋状态时,
飞行器的飞行状态为右旋状态时,
偏航角的改变用如下公式计算:
则间隔时间t后飞行器的飞行位置计算方式如下:
其中,飞行器的飞行状态为左旋状态时,
飞行器的飞行状态为右旋状态时,
时间间隔t后飞行器的欧拉角计算方法如下:
俯仰角与滚转角计算方法与平飞状态下一致。
然后,获取飞行器当前飞行位置和当前飞行姿态(θ′cur_head,θ′cur_pitch,θ′cur_roll),并更新飞行器当前飞行位置和姿态,跳转至步骤二。直至飞行器飞到目标区域,完成当前飞行计划。
图2所示为本发明实施例的飞行仿真装置,包括:
第一获得模块21,用于获得飞行仿真的初始化参数,初始化参数包括飞行器的运动性能参数以及目标位置;
第二获得模块22,用于获得飞行器在第一时刻的第一飞行参数,第一飞行参数包括飞行器在第一时刻的第一位置以及第一运动参数;
第一判断模块23,用于判断第一位置与目标位置的偏差是否不大于偏差阈值;
确定模块24,用于在第一位置与目标位置的偏差大于偏差阈值时,根据第一飞行参数以及初始化参数确定飞行器从第一位置飞向目标位置的飞行状态,飞行状态包括平飞状态、左旋状态以及右旋状态;根据第一飞行参数、初始化参数以及飞行状态确定飞行器在第一时刻的预设时间间隔之后的第二时刻的第二位置;
第二判断模块25,用于判断第二位置与目标位置的偏差是否不大于偏差阈值;
结束模块26,用于在第二位置与目标位置的偏差不大于偏差阈值时,结束飞行仿真。
作为一种可选的方式,第一运动参数包括飞行器在第一时刻的第一偏航角;
确定模块24用于:
根据飞行器在第一时刻的第一位置以及目标位置确定飞行器从第一位置飞向目标位置时的目标偏航角;
确定第一偏航角顺时针转动到目标偏航角的第一角度,以及第一偏航角逆时针转动到目标偏航角的第二角度;
在第一角度等于第二角度时,确定飞行器的飞行状态为平飞状态;
在第一角度大于第二角度时,确定飞行器的飞行状态为右旋状态;
在第一角度小于第二角度时,确定飞行器的飞行状态为左旋状态。
作为一种可选的方式,第一飞行参数还包括飞行器在第一时刻的第一速度;初始化参数还包括飞行器的目标速度,运动性能参数包括爬升率的绝对值;
确定模块24用于:
根据第一速度、目标速度以及加速度的绝对值确定飞行器从第一位置飞向目标位置时的飞行加速度;
根据第一位置、目标位置以及爬升率的绝对值确定飞行器从第一位置飞向目标位置时的飞行爬升率;
在飞行状态为平飞状态时,根据以下公式确定第二位置:
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为第一时刻与第二时刻的时间间隔。
作为一种可选的方式,初始化参数还包括飞行器的转弯速率;
确定模块24,用于:
在飞行状态为左旋时,根据以下公式确定第二位置:
Px2=Px1+Rturn·cos(θ′cur head);
Py2=Py1+Rturn·sin(θ′cur_head);
Pz2=Pz1+t·γcdr;
其中,g为重力加速度,γturn为转弯速率。
作为一种可选的方式,初始化参数还包括飞行器的转弯速率;
确定模块24,用于:
在飞行状态为右旋时,根据以下公式确定第二位置:
Px2=Px1+Rturn·cos(θ′cur head);
Py2=Py1+Rturn·sin(θ′cur_head);
Pz2=Pz1+t·γcdr;
其中,g为重力加速度,γturn为转弯速率。
作为一种可选的方式,偏差阈值为转弯半径Rturn。
上述装置的实现方式可以参照图1所示的方法的实现方式,在此不予重复。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明实施例提供了一种飞行器的飞行轨迹仿真模拟方法。该方法通过设定时间间隔,计算每隔一定时间间隔的飞行器位置和姿态。在计算飞行器的飞行位置和飞行姿态(欧拉角)时,分为了飞行器平飞和旋转(左旋或右旋)两种状态,使飞行器的飞行更具真实感。此方法克服了现有飞行器飞行模拟方法中运行速度与飞行模拟真实感不能很好兼容的问题,既保证了算法的简洁性与运算速度,又能保证尽可能接近现实中飞行器的飞行特性。且本发明实施例方法适用于游戏领域、仿真训练领域、仿真作战系统等各种需要飞行器飞行模拟技术的领域中,具有通用性。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明实施例权利要求及其等同技术的范围之内,则本发明实施例也意图包含这些改动和变型在内。
Claims (12)
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为所述第一时刻与第二时刻的时间间隔。
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为所述第一时刻与第二时刻的时间间隔。
12.根据权利要求10或11所述的装置,其特征在于,所述偏差阈值为Rturn。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710113003.XA CN106934131B (zh) | 2017-02-28 | 2017-02-28 | 一种飞行仿真方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710113003.XA CN106934131B (zh) | 2017-02-28 | 2017-02-28 | 一种飞行仿真方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106934131A CN106934131A (zh) | 2017-07-07 |
CN106934131B true CN106934131B (zh) | 2020-04-03 |
Family
ID=59423457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710113003.XA Active CN106934131B (zh) | 2017-02-28 | 2017-02-28 | 一种飞行仿真方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106934131B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800578B (zh) * | 2020-12-25 | 2024-03-19 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种无人机飞行剖面快速高精度仿真方法 |
CN116047889B (zh) * | 2023-01-16 | 2023-06-27 | 中国人民解放军国防科技大学 | 一种虚实结合仿真系统中控制补偿方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3346969A (en) * | 1964-07-01 | 1967-10-17 | Communications Patents Ltd | Helicopter ground resonance simulator |
US4021935A (en) * | 1976-02-20 | 1977-05-10 | Frank Witt | Flight training hood |
CN103632008A (zh) * | 2013-12-11 | 2014-03-12 | 四川九洲电器集团有限责任公司 | 一种汽车运动仿真模拟方法 |
CN103983254A (zh) * | 2014-04-22 | 2014-08-13 | 航天东方红卫星有限公司 | 一种新型敏捷卫星机动中成像方法 |
CN104298846A (zh) * | 2013-07-16 | 2015-01-21 | 霍尼韦尔国际公司 | 向飞行员提供基于模型的空间迷失方向提醒的系统及方法 |
-
2017
- 2017-02-28 CN CN201710113003.XA patent/CN106934131B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3346969A (en) * | 1964-07-01 | 1967-10-17 | Communications Patents Ltd | Helicopter ground resonance simulator |
US4021935A (en) * | 1976-02-20 | 1977-05-10 | Frank Witt | Flight training hood |
CN104298846A (zh) * | 2013-07-16 | 2015-01-21 | 霍尼韦尔国际公司 | 向飞行员提供基于模型的空间迷失方向提醒的系统及方法 |
CN103632008A (zh) * | 2013-12-11 | 2014-03-12 | 四川九洲电器集团有限责任公司 | 一种汽车运动仿真模拟方法 |
CN103983254A (zh) * | 2014-04-22 | 2014-08-13 | 航天东方红卫星有限公司 | 一种新型敏捷卫星机动中成像方法 |
Non-Patent Citations (3)
Title |
---|
Cost-Effectiveness of Helicopter Versus Ground Emergency Medical Services for Trauma Scene Transport in the United States;M. Kit Delgado, MD, MS等;《Emergency medical services/original research》;20131031;第62卷(第4期);第351-364页 * |
Numerical Simulation of Maneuvering Aircraft by Aerodynamic, Flight Mechanics and Structural Mechanics Coupling;Andreas Schütte等;《Journal of Aircraft》;20120522;第46卷(第1期);第65-73页 * |
小型无人直升机非线性建模与控制研究;孙文达;《中国博士学位论文全文数据库 工程科技Ⅱ辑》;20160115(第01期);第C031-42页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106934131A (zh) | 2017-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110018689B (zh) | 一种基于动态窗口的多虚拟目标点全局动态路径规划算法 | |
RU2571567C2 (ru) | Способ управления движением аэробаллистического летательного аппарата по заданной пространственной траектории | |
CN106527122B (zh) | 平流层飞艇定高飞行非线性pid控制方法 | |
CN111665738A (zh) | 在环仿真系统及其中的信息处理方法及装置 | |
CN106020223A (zh) | 飞行器的飞行控制方法、装置及系统 | |
CN108153330A (zh) | 基于可行域约束的无人飞行器三维航迹自适应跟踪方法 | |
CN106934131B (zh) | 一种飞行仿真方法及装置 | |
US9858830B2 (en) | System and method for simulated aircraft control through desired direction of flight | |
CN107832850A (zh) | 对抗环境下无人机占位决策的矩阵博弈方法及装置 | |
Bulka et al. | Autonomous fixed-wing aerobatics: From theory to flight | |
CN115755956B (zh) | 一种知识与数据协同驱动的无人机机动决策方法与系统 | |
CN111176272A (zh) | 一种基于运动约束的人工势场轨迹规划方法及系统 | |
CN108646557A (zh) | 一种基于跟踪微分与柔化函数的飞行器攻角跟踪控制方法 | |
CN102607591A (zh) | 一种用于捷联惯导软件测试的轨迹数据生成方法 | |
Bu et al. | General simulation platform for vision based UAV testing | |
US10545495B2 (en) | Remote control device and method for UAV and motion control device attached to UAV | |
CN107942672A (zh) | 一种基于对称时不变障碍李雅普诺夫函数的四旋翼飞行器输出受限反步控制方法 | |
KR102062263B1 (ko) | 항체의 궤적 생성 장치 및 방법 | |
CN117270416A (zh) | 一种飞行器运动的高保真建模与可视化仿真集成方法及系统 | |
Jie et al. | Four-axis gimbal system application based on gimbal self-adaptation adjustment | |
CN106483967B (zh) | 一种基于角速度信息测量与滑模的飞艇俯仰角稳定方法 | |
CN115542746A (zh) | 高超声速飞行器的能量管控再入制导方法及装置 | |
CN105426639A (zh) | 一种六自由度数学仿真模型的仿真系统及方法 | |
CN108107726A (zh) | 一种基于对称时变障碍李雅普诺夫函数的四旋翼飞行器输出受限反步控制方法 | |
CN115193051A (zh) | 虚拟载具控制方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |