吳魯超,杜帥帥,周孔濤
(200093 上海市 上海理工大學(xué) 機(jī)械工程學(xué)院)
隨著科學(xué)技術(shù)的發(fā)展,信息化技術(shù)在民用和軍事領(lǐng)域有著極其廣泛的應(yīng)用,尤其是在飛行器的實(shí)際應(yīng)用中引起了越來(lái)越多的研究者的興趣[1-4]。在飛行器的信息化技術(shù)中,航跡規(guī)劃是其中的一個(gè)重要的難點(diǎn)。航跡規(guī)劃是指在一些約束條件下,運(yùn)動(dòng)體在經(jīng)過(guò)糾正自身姿態(tài)尋找最短到達(dá)目標(biāo)點(diǎn)的路徑。針對(duì)這一問(wèn)題,許多研究人員提出來(lái)各種各樣的計(jì)算方法[5-9]。在復(fù)雜的飛行環(huán)境中,飛行器的飛行路徑分析是十分復(fù)雜的,這些方法都是假設(shè)飛行器的狀態(tài)最優(yōu)且姿態(tài)良好,這在實(shí)際應(yīng)用中,對(duì)飛行器來(lái)說(shuō)沒(méi)什么困難。
飛行器在飛行的過(guò)程中會(huì)產(chǎn)生飛行誤差,為了使飛行器更加快速地到達(dá)目的地,需要對(duì)產(chǎn)生的誤差進(jìn)行校正,就需要有更優(yōu)的航徑。但是飛行器的飛行環(huán)境可能隨時(shí)間動(dòng)態(tài)變化,例如天氣等不可控因素,造成在飛行器的校正點(diǎn)進(jìn)行誤差校正時(shí)存在無(wú)法達(dá)到理想校正的情況,這將會(huì)導(dǎo)致飛行器無(wú)法找到到達(dá)目標(biāo)點(diǎn)的最優(yōu)解。本文通過(guò)蒙特卡羅算法分析了飛行器在復(fù)雜環(huán)境下的航跡規(guī)劃問(wèn)題,模擬飛行器當(dāng)?shù)竭_(dá)校正點(diǎn)因不可控因素?zé)o法充分校正時(shí)所產(chǎn)生的路徑變化問(wèn)題,用MATLAB 仿真飛行器的航跡規(guī)劃路徑,找到了最優(yōu)航徑。
飛行器在空間飛行過(guò)程中,會(huì)產(chǎn)生方向誤差,包括水平誤差和豎直誤差,這就需要飛行器在飛行過(guò)程中進(jìn)行誤差校正。為了模擬飛行器在復(fù)雜空間中飛行校正狀況,假設(shè)了飛行器的目標(biāo)點(diǎn)集,即可以進(jìn)行誤差校正的點(diǎn),每個(gè)點(diǎn)的空間坐標(biāo)位置和該點(diǎn)可進(jìn)行校正的類(lèi)型如表1 所示。
表1 目標(biāo)校正點(diǎn)位置和類(lèi)型Tab.1 Location and type of target correction points
對(duì)每個(gè)位置點(diǎn)進(jìn)行編號(hào),以便與后來(lái)求的位置點(diǎn)進(jìn)行對(duì)應(yīng),校正點(diǎn)坐標(biāo)為空間三軸坐標(biāo),每個(gè)數(shù)值代表他們各自的位置,單位為m。校正點(diǎn)類(lèi)型用0 和1 表示,其中0 代表該點(diǎn)為水平誤差校正,1 代表該點(diǎn)為豎直誤差校正。
為了更好地研究飛行過(guò)程,對(duì)飛行器的飛行過(guò)程進(jìn)行了約束假設(shè)。即假設(shè)飛行器在空間運(yùn)動(dòng)中每飛行 1 m,即直線距離增加1 m,垂直誤差和水平誤差將各增加δ個(gè)單位,并且飛行器只有到達(dá)校正點(diǎn)時(shí),才可以進(jìn)行誤差校正;在進(jìn)行誤差校正時(shí),只有當(dāng)飛行器的垂直誤差不大于α1個(gè)單位,水平誤差不大于α2個(gè)單位時(shí),才能進(jìn)行垂直誤差校正;當(dāng)飛行器的垂直誤差不大于β1個(gè)單位,水平誤差不大于β2個(gè)單位時(shí),才能進(jìn)行水平誤差校正;每個(gè)點(diǎn)都只能對(duì)單方向進(jìn)行校正,水平或者垂直。當(dāng)校正水平時(shí),垂直誤差保持不變。當(dāng)校正垂直時(shí),水平誤差保持不變。要求飛行器到達(dá)終點(diǎn)時(shí)的垂直誤差和水平誤差均應(yīng)小于θ個(gè)單位誤差。
飛行器實(shí)際飛行的過(guò)程中,由于不可控的因素,并不能保證每個(gè)校正點(diǎn)都能完全校正。假設(shè)飛行器到達(dá)校正點(diǎn)時(shí)能成功將某個(gè)誤差校正為0的概率是80%,如果校正失敗,則校正后的剩余誤差為min(error,5)個(gè)單位(其中error 為校正前誤差,min 為取小函數(shù))。并且假設(shè)飛行器在航跡軌道飛行中不受其他條件約束如飛行器最大轉(zhuǎn)彎角、最大爬角、飛行環(huán)境等的影響。通過(guò)蒙特卡羅算法,我們?nèi)ふ以诩僭O(shè)的飛行空間中在滿足成功率的情況下能到達(dá)目標(biāo)點(diǎn)時(shí)路徑最小的航跡。
為了保證飛行器能成功到達(dá)目標(biāo)點(diǎn),需要飛行器在飛行過(guò)程中經(jīng)過(guò)若干校正點(diǎn)來(lái)校正飛行誤差。但每個(gè)校正點(diǎn)能成功校正的概率為80%,校正失敗后,使誤差變化為min(error,5)個(gè)單位誤差。根據(jù)問(wèn)題分析,可以通過(guò)以下方式建立模型:
首先按照坐標(biāo)位置對(duì)空間中的校正點(diǎn)進(jìn)行編號(hào)
式中:u——校正點(diǎn)的個(gè)數(shù)。
根據(jù)題中所給的校正誤差點(diǎn)坐標(biāo),可以得出各個(gè)校正點(diǎn)之間的連通距離矩陣dij
則可以得到每個(gè)元素pi到pj的直線距離Dij,單位為m。
根據(jù)問(wèn)題描述,可以得到以下約束條件:
只有在滿足式(4)的條件下,飛行器才可以安全地到達(dá)目標(biāo)位置。
當(dāng)飛行器到達(dá)校正點(diǎn)后,需要對(duì)誤差進(jìn)行校正,由問(wèn)題描述可知,在該點(diǎn)進(jìn)行校正后,去尋找下一個(gè)校正點(diǎn)時(shí),其間距必須小于一個(gè)定值,即
式中:mij——相鄰兩個(gè)水平誤差的距離;nij——相鄰兩個(gè)垂直誤差的距離。
飛行器到達(dá)每個(gè)校正點(diǎn)都是進(jìn)行單方向校正,所以要判斷飛行器到達(dá)的每個(gè)校正點(diǎn)的誤差類(lèi)型。假設(shè)到達(dá)的點(diǎn)為垂直誤差校正點(diǎn)α?xí)r,則
且需同時(shí)滿足mi-1,j-1δ≤α1和ni-1,j-1δ≤α2;當(dāng)?shù)竭_(dá)的點(diǎn)為水平誤差校正點(diǎn)β時(shí),則
并需同時(shí)滿足mi-1,j-1δ≤β1和ni-1,j-1δ≤β2。
飛行器在校正點(diǎn)能成功校正誤差為0 的概率為80%,如果校正失敗,會(huì)有剩余誤差min(error,5)。并且,由于飛行器航跡校正過(guò)程中存在2 個(gè)校正方向,哪個(gè)方向出現(xiàn)問(wèn)題,都很可能由于這個(gè)極小的誤差導(dǎo)致失聯(lián)。這個(gè)現(xiàn)象可能下一個(gè)校正點(diǎn)才會(huì)出現(xiàn),也可能過(guò)好幾個(gè)節(jié)點(diǎn)才出現(xiàn),所以,要盡可能使經(jīng)過(guò)的校正點(diǎn)數(shù)變少。為了更好地約束飛行器經(jīng)過(guò)的校正點(diǎn)數(shù),可以引入概率參數(shù)作為一個(gè)優(yōu)化目標(biāo),來(lái)表示到達(dá)終點(diǎn)的概率。如果用ηij表示該點(diǎn)不能成功到達(dá)下一點(diǎn)的概率,當(dāng)每經(jīng)過(guò)校正點(diǎn)時(shí),不能到達(dá)終點(diǎn)的概率就會(huì)增加。用λij表示該點(diǎn)能到達(dá)終點(diǎn)的概率則為1-ηij。
設(shè)η初始值為0,如果前一個(gè)點(diǎn)垂直校正失敗,則當(dāng)?shù)皆擖c(diǎn)時(shí)垂直校正誤差將為
如果前一個(gè)點(diǎn)水平校正失敗,則當(dāng)?shù)皆擖c(diǎn)時(shí),水平校正誤差將為
當(dāng)每經(jīng)過(guò)一個(gè)校正點(diǎn)時(shí),該校正點(diǎn)不能到達(dá)終點(diǎn)的概率將為
綜上所述,可總結(jié)為在校正點(diǎn)數(shù)最少即不能到達(dá)終點(diǎn)的概率最小且每個(gè)校正點(diǎn)滿足校正要求的條件下,使得飛行器成功到達(dá)目標(biāo)點(diǎn)的航跡路徑最短。故我們的目標(biāo)函數(shù)可設(shè)定為求最短距離
在不影響模型意義的前提下,為使模型簡(jiǎn)單明確且便于計(jì)算,可做以下假設(shè):(1)飛行器在航跡軌道飛行中不受飛行器自身約束,如飛行器最大轉(zhuǎn)彎角、最大爬升角的影響。(2)飛行器轉(zhuǎn)彎時(shí)為直線段和圓弧段為基元組成的連續(xù)一階可導(dǎo)的二維曲線航跡。(3)假設(shè)飛行器在校正點(diǎn)之間運(yùn)動(dòng)為勻速運(yùn)動(dòng),不隨其他情況改變。
蒙特卡羅法是來(lái)描述隨機(jī)因素對(duì)裝備運(yùn)用過(guò)程的影響和作用,能確切地反映運(yùn)用活動(dòng)的動(dòng)態(tài)過(guò)程,是一種以概率統(tǒng)計(jì)理論為指導(dǎo)的數(shù)值計(jì)算方法,該方法已被廣泛應(yīng)用在物理學(xué)和工程問(wèn)題上[10-13]。為了求解問(wèn)題,首先建立一個(gè)概率模型或隨機(jī)過(guò)程,使它的參數(shù)或數(shù)字特征等于問(wèn)題的解,然后通過(guò)對(duì)模型或過(guò)程的觀察或抽樣試驗(yàn)來(lái)計(jì)算這些參數(shù)或數(shù)字特征,最后給出所求解的近似值。
本文通過(guò)該算法求解到達(dá)終點(diǎn)的成功概率模型,首先構(gòu)造了飛行器到達(dá)目標(biāo)點(diǎn)的概率模型,參數(shù)上文已給出。每個(gè)概率模型都可以是由概率分別構(gòu)成的,用終點(diǎn)的概率λ作為問(wèn)題的解,然后通過(guò)對(duì)每一個(gè)點(diǎn)進(jìn)行隨機(jī)抽樣,以產(chǎn)生隨機(jī)數(shù),在約束條件內(nèi)確定出估計(jì)量,對(duì)模擬實(shí)驗(yàn)的結(jié)果進(jìn)行對(duì)比和參照,從而得到問(wèn)題的最優(yōu)解。
通過(guò)該算法得到最優(yōu)解,使研究人員少了復(fù)雜演算過(guò)程,更加便于操作和理解,并且該方法簡(jiǎn)單快速,定位更加精確,在復(fù)雜的環(huán)境下,使飛行器能到達(dá)目標(biāo)點(diǎn)的概率得到了最優(yōu),同時(shí)也就得到了飛行器在航跡點(diǎn)集中的最優(yōu)航跡路徑。
為了更好地驗(yàn)證該方法的合理性,我們?cè)谌S空間的校正點(diǎn)集中對(duì)飛行器的航跡規(guī)劃進(jìn)行了MATLAB 仿真,首先我們根據(jù)表1 的目標(biāo)校正點(diǎn)做出來(lái)校正點(diǎn)的三維空間坐標(biāo)示意圖,如圖1 所示。其中,黑色圓圈表示飛行器可進(jìn)行垂直校正點(diǎn),灰色圓圈表示水平校正點(diǎn),A 為出發(fā)點(diǎn),B為到達(dá)點(diǎn)。我們目標(biāo)即為在這些校正點(diǎn)空間內(nèi)尋找在滿足成功的概率下的從A 到B 的最優(yōu)路徑。
圖1 飛行器航跡校正點(diǎn)示意圖Fig.1 Area diagram of aircraft flight path correction points
根據(jù)問(wèn)題分析,對(duì)目標(biāo)的校正點(diǎn)的約束條件的參數(shù)值設(shè)定為
通過(guò)文中所提到的蒙特卡羅算法,把上述參數(shù)代入所建立的概率模型,通過(guò)MATLAB 仿真對(duì)該模型進(jìn)行仿真求解,得到了在該目標(biāo)校正點(diǎn)集合中滿足成功概率的最優(yōu)航跡,如圖2 所示。圖中線條為經(jīng)過(guò)的校正點(diǎn),校正點(diǎn)個(gè)數(shù)為12 個(gè),每個(gè)校正點(diǎn)均可以實(shí)現(xiàn)垂直或水平校正,此航跡長(zhǎng)度大約為117 702 m。
圖2 三維航跡示意圖Fig.2 Three-dimensional track diagram
為了更好地進(jìn)行對(duì)比,將航跡的每個(gè)校正點(diǎn)的具體信息列出,如表2 所示。該飛行器從出發(fā)點(diǎn)A 到達(dá)目標(biāo)點(diǎn)B 時(shí),共經(jīng)過(guò)校正點(diǎn)數(shù)為12 個(gè),校正點(diǎn)編號(hào)依次為0→92→558→253→349→193→288 →561 →485 →67 →501 →612,進(jìn)行了4次水平誤差校正,6 次垂直誤差校正。
表2 最優(yōu)航跡所經(jīng)過(guò)的校正點(diǎn)Tab.2 Correction points of the optimal track
對(duì)校正成功或者失敗前的誤差進(jìn)行對(duì)比,如表3 所示??梢钥闯?,在校正之前均滿足校正條件,即可以對(duì)該點(diǎn)進(jìn)行校正,即使校正失敗,誤差也在安全可靠的范圍內(nèi),即可安全到達(dá)目標(biāo)點(diǎn)B。這說(shuō)明通過(guò)該方法所找的航跡基本滿足要求,符合預(yù)期,證明了該方法的合理性和可操作性。
表3 校正成功和失敗前誤差對(duì)比Tab.3 Comparison of errors before correction success and failure
總之,本文基于飛行器在復(fù)雜環(huán)境中的實(shí)際飛行中路徑規(guī)劃問(wèn)題,假設(shè)了目標(biāo)點(diǎn)集合,建立了數(shù)學(xué)模型,然后通過(guò)應(yīng)用蒙特卡羅算法去引入每個(gè)位置點(diǎn)的概率模型,在約束條件下求解得到了飛行器的最優(yōu)路徑。并且利用MATLAB 仿真了該方法,分析了校正成功或者失敗前的誤差,結(jié)果均滿足能到達(dá)安全點(diǎn)時(shí)的校正條件,證明了該方法的合理性和可靠性。這可能為研究人員對(duì)復(fù)雜環(huán)境下所引發(fā)的事故概率為基準(zhǔn)的飛行器研究提供了一種參考。