基于蒙特卡罗法的飞行器航迹规划研究
2021-08-28吴鲁超杜帅帅周孔涛
吴鲁超,杜帅帅,周孔涛
(200093 上海市 上海理工大学 机械工程学院)
0 引言
随着科学技术的发展,信息化技术在民用和军事领域有着极其广泛的应用,尤其是在飞行器的实际应用中引起了越来越多的研究者的兴趣[1-4]。在飞行器的信息化技术中,航迹规划是其中的一个重要的难点。航迹规划是指在一些约束条件下,运动体在经过纠正自身姿态寻找最短到达目标点的路径。针对这一问题,许多研究人员提出来各种各样的计算方法[5-9]。在复杂的飞行环境中,飞行器的飞行路径分析是十分复杂的,这些方法都是假设飞行器的状态最优且姿态良好,这在实际应用中,对飞行器来说没什么困难。
飞行器在飞行的过程中会产生飞行误差,为了使飞行器更加快速地到达目的地,需要对产生的误差进行校正,就需要有更优的航径。但是飞行器的飞行环境可能随时间动态变化,例如天气等不可控因素,造成在飞行器的校正点进行误差校正时存在无法达到理想校正的情况,这将会导致飞行器无法找到到达目标点的最优解。本文通过蒙特卡罗算法分析了飞行器在复杂环境下的航迹规划问题,模拟飞行器当到达校正点因不可控因素无法充分校正时所产生的路径变化问题,用MATLAB 仿真飞行器的航迹规划路径,找到了最优航径。
1 问题分析
飞行器在空间飞行过程中,会产生方向误差,包括水平误差和竖直误差,这就需要飞行器在飞行过程中进行误差校正。为了模拟飞行器在复杂空间中飞行校正状况,假设了飞行器的目标点集,即可以进行误差校正的点,每个点的空间坐标位置和该点可进行校正的类型如表1 所示。
表1 目标校正点位置和类型Tab.1 Location and type of target correction points
对每个位置点进行编号,以便与后来求的位置点进行对应,校正点坐标为空间三轴坐标,每个数值代表他们各自的位置,单位为m。校正点类型用0 和1 表示,其中0 代表该点为水平误差校正,1 代表该点为竖直误差校正。
为了更好地研究飞行过程,对飞行器的飞行过程进行了约束假设。即假设飞行器在空间运动中每飞行 1 m,即直线距离增加1 m,垂直误差和水平误差将各增加δ个单位,并且飞行器只有到达校正点时,才可以进行误差校正;在进行误差校正时,只有当飞行器的垂直误差不大于α1个单位,水平误差不大于α2个单位时,才能进行垂直误差校正;当飞行器的垂直误差不大于β1个单位,水平误差不大于β2个单位时,才能进行水平误差校正;每个点都只能对单方向进行校正,水平或者垂直。当校正水平时,垂直误差保持不变。当校正垂直时,水平误差保持不变。要求飞行器到达终点时的垂直误差和水平误差均应小于θ个单位误差。
飞行器实际飞行的过程中,由于不可控的因素,并不能保证每个校正点都能完全校正。假设飞行器到达校正点时能成功将某个误差校正为0的概率是80%,如果校正失败,则校正后的剩余误差为min(error,5)个单位(其中error 为校正前误差,min 为取小函数)。并且假设飞行器在航迹轨道飞行中不受其他条件约束如飞行器最大转弯角、最大爬角、飞行环境等的影响。通过蒙特卡罗算法,我们去寻找在假设的飞行空间中在满足成功率的情况下能到达目标点时路径最小的航迹。
2 结果与讨论
2.1 模型建立
为了保证飞行器能成功到达目标点,需要飞行器在飞行过程中经过若干校正点来校正飞行误差。但每个校正点能成功校正的概率为80%,校正失败后,使误差变化为min(error,5)个单位误差。根据问题分析,可以通过以下方式建立模型:
首先按照坐标位置对空间中的校正点进行编号
式中:u——校正点的个数。
根据题中所给的校正误差点坐标,可以得出各个校正点之间的连通距离矩阵dij
则可以得到每个元素pi到pj的直线距离Dij,单位为m。
根据问题描述,可以得到以下约束条件:
只有在满足式(4)的条件下,飞行器才可以安全地到达目标位置。
当飞行器到达校正点后,需要对误差进行校正,由问题描述可知,在该点进行校正后,去寻找下一个校正点时,其间距必须小于一个定值,即
式中:mij——相邻两个水平误差的距离;nij——相邻两个垂直误差的距离。
飞行器到达每个校正点都是进行单方向校正,所以要判断飞行器到达的每个校正点的误差类型。假设到达的点为垂直误差校正点α时,则
且需同时满足mi-1,j-1δ≤α1和ni-1,j-1δ≤α2;当到达的点为水平误差校正点β时,则
并需同时满足mi-1,j-1δ≤β1和ni-1,j-1δ≤β2。
飞行器在校正点能成功校正误差为0 的概率为80%,如果校正失败,会有剩余误差min(error,5)。并且,由于飞行器航迹校正过程中存在2 个校正方向,哪个方向出现问题,都很可能由于这个极小的误差导致失联。这个现象可能下一个校正点才会出现,也可能过好几个节点才出现,所以,要尽可能使经过的校正点数变少。为了更好地约束飞行器经过的校正点数,可以引入概率参数作为一个优化目标,来表示到达终点的概率。如果用ηij表示该点不能成功到达下一点的概率,当每经过校正点时,不能到达终点的概率就会增加。用λij表示该点能到达终点的概率则为1-ηij。
设η初始值为0,如果前一个点垂直校正失败,则当到该点时垂直校正误差将为
如果前一个点水平校正失败,则当到该点时,水平校正误差将为
当每经过一个校正点时,该校正点不能到达终点的概率将为
综上所述,可总结为在校正点数最少即不能到达终点的概率最小且每个校正点满足校正要求的条件下,使得飞行器成功到达目标点的航迹路径最短。故我们的目标函数可设定为求最短距离
在不影响模型意义的前提下,为使模型简单明确且便于计算,可做以下假设:(1)飞行器在航迹轨道飞行中不受飞行器自身约束,如飞行器最大转弯角、最大爬升角的影响。(2)飞行器转弯时为直线段和圆弧段为基元组成的连续一阶可导的二维曲线航迹。(3)假设飞行器在校正点之间运动为匀速运动,不随其他情况改变。
2.2 蒙特卡罗算法
蒙特卡罗法是来描述随机因素对装备运用过程的影响和作用,能确切地反映运用活动的动态过程,是一种以概率统计理论为指导的数值计算方法,该方法已被广泛应用在物理学和工程问题上[10-13]。为了求解问题,首先建立一个概率模型或随机过程,使它的参数或数字特征等于问题的解,然后通过对模型或过程的观察或抽样试验来计算这些参数或数字特征,最后给出所求解的近似值。
本文通过该算法求解到达终点的成功概率模型,首先构造了飞行器到达目标点的概率模型,参数上文已给出。每个概率模型都可以是由概率分别构成的,用终点的概率λ作为问题的解,然后通过对每一个点进行随机抽样,以产生随机数,在约束条件内确定出估计量,对模拟实验的结果进行对比和参照,从而得到问题的最优解。
通过该算法得到最优解,使研究人员少了复杂演算过程,更加便于操作和理解,并且该方法简单快速,定位更加精确,在复杂的环境下,使飞行器能到达目标点的概率得到了最优,同时也就得到了飞行器在航迹点集中的最优航迹路径。
2.3 MATLAB 仿真结果
为了更好地验证该方法的合理性,我们在三维空间的校正点集中对飞行器的航迹规划进行了MATLAB 仿真,首先我们根据表1 的目标校正点做出来校正点的三维空间坐标示意图,如图1 所示。其中,黑色圆圈表示飞行器可进行垂直校正点,灰色圆圈表示水平校正点,A 为出发点,B为到达点。我们目标即为在这些校正点空间内寻找在满足成功的概率下的从A 到B 的最优路径。
图1 飞行器航迹校正点示意图Fig.1 Area diagram of aircraft flight path correction points
根据问题分析,对目标的校正点的约束条件的参数值设定为
通过文中所提到的蒙特卡罗算法,把上述参数代入所建立的概率模型,通过MATLAB 仿真对该模型进行仿真求解,得到了在该目标校正点集合中满足成功概率的最优航迹,如图2 所示。图中线条为经过的校正点,校正点个数为12 个,每个校正点均可以实现垂直或水平校正,此航迹长度大约为117 702 m。
图2 三维航迹示意图Fig.2 Three-dimensional track diagram
为了更好地进行对比,将航迹的每个校正点的具体信息列出,如表2 所示。该飞行器从出发点A 到达目标点B 时,共经过校正点数为12 个,校正点编号依次为0→92→558→253→349→193→288 →561 →485 →67 →501 →612,进行了4次水平误差校正,6 次垂直误差校正。
表2 最优航迹所经过的校正点Tab.2 Correction points of the optimal track
对校正成功或者失败前的误差进行对比,如表3 所示。可以看出,在校正之前均满足校正条件,即可以对该点进行校正,即使校正失败,误差也在安全可靠的范围内,即可安全到达目标点B。这说明通过该方法所找的航迹基本满足要求,符合预期,证明了该方法的合理性和可操作性。
表3 校正成功和失败前误差对比Tab.3 Comparison of errors before correction success and failure
3 结论
总之,本文基于飞行器在复杂环境中的实际飞行中路径规划问题,假设了目标点集合,建立了数学模型,然后通过应用蒙特卡罗算法去引入每个位置点的概率模型,在约束条件下求解得到了飞行器的最优路径。并且利用MATLAB 仿真了该方法,分析了校正成功或者失败前的误差,结果均满足能到达安全点时的校正条件,证明了该方法的合理性和可靠性。这可能为研究人员对复杂环境下所引发的事故概率为基准的飞行器研究提供了一种参考。