陳 浩
(河北省地礦局第四地質(zhì)大隊(duì),河北 承德 067000)
在無(wú)人機(jī)還沒(méi)被研發(fā)出來(lái)的時(shí)候,地質(zhì)專家進(jìn)行實(shí)地考察只能親自上陣,背著笨重的設(shè)備跋山涉水,一方面是行走不便,另一方面是部分方位不能夠勘察得很仔細(xì),無(wú)人機(jī)的誕生使得野外人員終于不用再扛著笨重的設(shè)備滿山跑,只需在山下遙控指揮無(wú)人機(jī),就能夠掌控所需勘測(cè)的位置,給這個(gè)行業(yè)帶來(lái)了前所未有改變。
無(wú)人機(jī)按應(yīng)用領(lǐng)域,可分為軍用與民用。軍用方面,無(wú)人機(jī)分為偵察機(jī)和靶機(jī)。民用方面,無(wú)人機(jī)+行業(yè)應(yīng)用,是無(wú)人機(jī)真正的剛需;目前在航拍、農(nóng)業(yè)、植保、自拍、快遞運(yùn)輸、災(zāi)難救援、觀察野生動(dòng)物、監(jiān)控傳染病、測(cè)繪、新聞報(bào)道、電力巡檢、救災(zāi)、影視拍攝等領(lǐng)域的應(yīng)用,大大的拓展了無(wú)人機(jī)本身的用途,發(fā)達(dá)國(guó)家也在積極擴(kuò)展行業(yè)應(yīng)用與發(fā)展無(wú)人機(jī)技術(shù)。
無(wú)人機(jī)在地質(zhì)工作中有著極其廣泛的應(yīng)用。例如,比較重要的一項(xiàng)就是關(guān)于地質(zhì)災(zāi)害的監(jiān)測(cè),無(wú)人機(jī)可以幫助監(jiān)測(cè)者輕松的獲得各項(xiàng)實(shí)時(shí)數(shù)據(jù),并且對(duì)災(zāi)害規(guī)模進(jìn)行分析,對(duì)造成的損失及逆行評(píng)估,無(wú)人機(jī)低空遙感技術(shù)功不可沒(méi);并且,無(wú)人機(jī)在在野外地質(zhì)勘查工作中也有著極其重要的地位,因?yàn)闊o(wú)人機(jī)具有的圖像識(shí)別系統(tǒng)可以對(duì)被拍攝地區(qū)進(jìn)行高效精準(zhǔn)的識(shí)別,可以進(jìn)行快速測(cè)繪,因此,無(wú)人機(jī)在近年來(lái)成為了地質(zhì)學(xué)家進(jìn)行野外地質(zhì)勘查工作常用的便捷工具。當(dāng)然總體上講,國(guó)內(nèi)利用無(wú)人機(jī)技術(shù)進(jìn)行地質(zhì)研究尚處于摸索階段。
運(yùn)用無(wú)人機(jī)的時(shí)候會(huì)遇到很多問(wèn)題,首先是電量問(wèn)題,在飛行時(shí)可能遇到各種問(wèn)題,可能會(huì)導(dǎo)致航線的改變,如果航跡調(diào)整不正確,無(wú)人機(jī)可能就沒(méi)電了,容易墜毀。其次是有關(guān)于航線的規(guī)劃問(wèn)題,是需要找到最短的路徑,對(duì)地質(zhì)進(jìn)行勘測(cè),然而在勘測(cè)路徑上面的問(wèn)題眾多,約束條件多,要想找到最優(yōu)的航跡規(guī)劃,就需要根據(jù)實(shí)際情況進(jìn)行大量的數(shù)據(jù)處理分析,找到最合適的模型進(jìn)行數(shù)學(xué)建模。
現(xiàn)在應(yīng)用較為廣泛的是無(wú)人機(jī)遙感技術(shù),此項(xiàng)技術(shù)在數(shù)據(jù)的監(jiān)測(cè)方面頗有成效,可以對(duì)空中的情況、地面及海面的情況、甚至于地球表面的情況進(jìn)行實(shí)時(shí)監(jiān)測(cè),無(wú)人機(jī)遙感技術(shù)的工作效率還極其高,減少了工作人員的工作量,減少了人力消耗及時(shí)間的消耗,并且無(wú)人機(jī)遙感技術(shù)的精準(zhǔn)程度很高,人類難以與之匹敵[1]。
無(wú)人機(jī)遙感技術(shù)可應(yīng)用于地質(zhì)觀測(cè),因?yàn)楹芏嗟胤阶匀粸?zāi)害頻發(fā),遙感技術(shù)可以很好的幫助對(duì)地面情況進(jìn)行監(jiān)測(cè),例如對(duì)礦產(chǎn)資源的感應(yīng)和不正常現(xiàn)象的感應(yīng)。
近年來(lái),無(wú)人機(jī)遙感技術(shù)活躍在各個(gè)領(lǐng)域,發(fā)展?jié)摿o(wú)窮,不管是在礦產(chǎn)資源的開(kāi)發(fā)方面還是在地質(zhì)的監(jiān)測(cè)方面都取得了不小的成果,解決了很多繁冗復(fù)雜的問(wèn)題。例如針對(duì)勘測(cè)地區(qū)的可以進(jìn)行快速測(cè)繪,對(duì)地質(zhì)災(zāi)害多發(fā)地區(qū)進(jìn)行實(shí)時(shí)監(jiān)測(cè),在發(fā)生地質(zhì)災(zāi)害時(shí),還可以迅速掌握災(zāi)區(qū)信息,方便頂層管理人員對(duì)災(zāi)區(qū)信息進(jìn)行實(shí)時(shí)掌握,及時(shí)的進(jìn)行救助支援;針對(duì)易發(fā)生災(zāi)害或者已發(fā)生的地區(qū),無(wú)人機(jī)可以對(duì)其進(jìn)行分析監(jiān)測(cè),分析出哪些地方適合臨時(shí)駐扎,不會(huì)受到二次侵害。而且無(wú)人機(jī)遙感技術(shù)不受當(dāng)?shù)卮艌?chǎng)變化或者信號(hào)等影響,可以及時(shí)的傳輸信息,對(duì)于災(zāi)害的救助意義極大。
從根本上來(lái)說(shuō),無(wú)人機(jī)航跡規(guī)劃問(wèn)題就是一個(gè)包含多個(gè)優(yōu)化目標(biāo)和多個(gè)約束的非線性規(guī)劃問(wèn)題,解決問(wèn)題的核心就是建立目標(biāo)函數(shù),建立數(shù)學(xué)模型,有效的處理各個(gè)約束,困難點(diǎn)主要是在于約束條件較多、目標(biāo)函數(shù)復(fù)雜、導(dǎo)致建模困難,所以最重要考慮的是降低問(wèn)題的復(fù)雜性。需要考慮的其他因素還有:構(gòu)造算法使得無(wú)人機(jī)能夠具有密集障礙物躲避技術(shù)、反應(yīng)控制等,同時(shí)還需要具有運(yùn)動(dòng)控制誤差處理技術(shù),本篇文章著重講述的就是利用無(wú)人機(jī)全覆蓋航跡規(guī)劃的方法提高測(cè)繪精度。
無(wú)人機(jī)航跡規(guī)劃一般由描述規(guī)劃空間,選擇航跡的表示形式,分析約束條件,確定代價(jià)函數(shù),選取航跡搜索算法和航跡平滑幾個(gè)部分組成。
(1)描述規(guī)劃空間。規(guī)劃空間的表示的合理性直接關(guān)系著規(guī)劃的合理性以及最終的數(shù)據(jù)結(jié)果。規(guī)劃空間的描述應(yīng)滿足如下要求:規(guī)劃空間能有效的描述出飛行環(huán)境,包括地形、可能遇到的威脅、障礙等,方便對(duì)航跡進(jìn)行計(jì)算;對(duì)飛行環(huán)境的信息進(jìn)行實(shí)時(shí)更新,保證實(shí)用性;規(guī)劃空間需要使得無(wú)人機(jī)滿足自身性能約束條件。
常用的規(guī)劃空間表示方法有柵格法和圖形法。但是需要注意的是在使用圖形法時(shí),必須表示出所有的路徑,因?yàn)椴荒芎芸斓谋鎰e出最優(yōu)解,只能單獨(dú)進(jìn)行計(jì)算,相較于柵格法,圖形法的數(shù)據(jù)較少,處理起來(lái)較方便,但是數(shù)據(jù)的更新較為復(fù)雜。
(2)航跡表示。其形式有兩種:一種是基于無(wú)人機(jī)運(yùn)動(dòng)學(xué)、動(dòng)力學(xué)描述的連續(xù)平滑航跡,采用此種表示方法可以省去最后的航跡平滑環(huán)節(jié);另一種是用航跡點(diǎn)表示,相鄰航跡點(diǎn)之間用直線段連接幾何折線航跡。
(3)分析約束條件。航跡規(guī)劃問(wèn)題需要考慮的約束條件包括環(huán)境約束、任務(wù)約束和無(wú)人機(jī)自身性能約束。
(4)確定代價(jià)函數(shù)。代價(jià)函數(shù)是評(píng)價(jià)航跡優(yōu)劣的標(biāo)準(zhǔn),代價(jià)值越小則表明航跡越優(yōu),反之表明航跡越差。確定代價(jià)函數(shù)需要綜合考慮影響航跡性能的各項(xiàng)因素,對(duì)各個(gè)指標(biāo)進(jìn)行量化和計(jì)算。
(5)選取搜索算法。根據(jù)任務(wù)需求選取合適的算法進(jìn)行航跡的規(guī)劃,使得航跡滿足約束條件、規(guī)避障礙、使代價(jià)函數(shù)獲得最優(yōu)值三個(gè)條件。
(6)航跡平滑。因?yàn)樗惴ㄊ峭ㄟ^(guò)數(shù)學(xué)計(jì)算得出的,而數(shù)學(xué)計(jì)算始終是一個(gè)理想值,是在理想狀態(tài)下實(shí)現(xiàn)的,并不一定能得到實(shí)際的運(yùn)用,比如說(shuō)算出的最優(yōu)解航跡拐點(diǎn)很多,但是由于無(wú)人機(jī)自身的性能限制,不能頻繁的進(jìn)行此項(xiàng)操作,所以設(shè)計(jì)出來(lái)的航跡還需要對(duì)其進(jìn)行處理,消除不必要的拐彎點(diǎn)以利于無(wú)人機(jī)實(shí)際飛行。常用航跡平滑方法有三次樣條插值法、Bezier曲線、k-trajectory算法等。
無(wú)人機(jī)航跡規(guī)劃的本質(zhì)是路徑規(guī)劃,因此應(yīng)用于航跡規(guī)劃的算法實(shí)際上也就是路徑規(guī)劃算法。路徑規(guī)劃算法有很多,但是每種算法都有其優(yōu)劣性,適用的范圍不同,所以需要根據(jù)實(shí)際情況進(jìn)行選擇。
近年來(lái)常用于航跡規(guī)劃的傳統(tǒng)經(jīng)典算法有Dijkstra算法、人工勢(shì)場(chǎng)法和模擬退火算法;相較于傳統(tǒng)經(jīng)典算法,現(xiàn)代智能算法的應(yīng)用更為廣泛。在航跡規(guī)劃中常用的現(xiàn)代智能算法有A*算法、GA算法、ACO算法和PSO算法(粒子群優(yōu)化算法)。
本篇簡(jiǎn)單的論述一下遺傳算法還有A*算法在航跡規(guī)劃中的運(yùn)用。
首先是遺傳算法,由于遺傳算法對(duì)于細(xì)節(jié)性的要求不高,所以應(yīng)用較為廣泛,但是在真正的計(jì)算當(dāng)中比較費(fèi)時(shí),一般不適用于實(shí)時(shí)的航跡規(guī)劃問(wèn)題,但是這個(gè)算法也有其優(yōu)點(diǎn),含有隱含的并行性,所以在未來(lái)還有很大的運(yùn)用空間。
使用遺傳算法對(duì)航機(jī)進(jìn)行規(guī)劃的一般步驟為:首先對(duì)航機(jī)進(jìn)行編碼,然后構(gòu)造合適的評(píng)價(jià)函數(shù),選擇特定遺傳算子,然后對(duì)算子或者參數(shù)進(jìn)行微調(diào),進(jìn)行計(jì)算,最后獲得最優(yōu)解。遺傳算法是一種全局最優(yōu)算法,可以很快地收斂到最優(yōu)解附近,但是收斂到最優(yōu)解附近之后,收斂速度就會(huì)變慢。
然后時(shí)A*算法,此算法是一種經(jīng)典的最優(yōu)式啟發(fā)搜索算法,在路線規(guī)劃中應(yīng)用廣泛,是對(duì)Dijkstra算法的優(yōu)化和改造后得到的,但是需要對(duì)A*算法進(jìn)行一定的修改,可以找到可行的最小代價(jià)路徑,但是此算法也只考慮了平面的情況,三維的情況需要進(jìn)行另外的算法優(yōu)化。
3.4.1現(xiàn)代智能算法的改進(jìn)
航跡規(guī)劃是一個(gè)NP-hard問(wèn)題,要得到可行的最優(yōu)解,需要的計(jì)算量極大,消耗時(shí)間長(zhǎng),但是在實(shí)際的應(yīng)用中,要求的是算法能對(duì)航跡的規(guī)劃迅速做出調(diào)整,因?yàn)樵趯?shí)際運(yùn)用中會(huì)遇到各種各樣的問(wèn)題,這些問(wèn)題有的是不可測(cè)的,不是死板的數(shù)據(jù),傳統(tǒng)的算法耗時(shí)大,得出的航跡已經(jīng)不再具有參考價(jià)值。所以,改進(jìn)算法最主要的就是對(duì)時(shí)間進(jìn)行控制,結(jié)合無(wú)人機(jī)航線規(guī)劃的特性,提高搜索效率和搜索精度,例如改進(jìn)初始化方法,可以減少在搜索時(shí)間上的浪費(fèi);改進(jìn)編碼方式,使得算法更容易處理無(wú)人機(jī)的各種角度約束,縮減不必要的搜索空間。最主要的是要使得改進(jìn)后的算法能夠適用于實(shí)際的航跡規(guī)劃,以最短的時(shí)間獲得最優(yōu)解。
已經(jīng)有學(xué)者在此方面做出了相關(guān)的研究,例如對(duì)A*算法進(jìn)行優(yōu)化,可以在復(fù)雜障礙存在的情況下,進(jìn)行航跡規(guī)劃,并且還能提高搜索的效率,具有一定的參考價(jià)值。
3.4.2多重算法的融合改進(jìn)
因?yàn)槊總€(gè)算法都有自己的優(yōu)缺點(diǎn),比如遺傳算法雖然耗時(shí)長(zhǎng),計(jì)算量大,但是具有隱含的可行性;A*算法全局性較好,但是對(duì)于數(shù)據(jù)進(jìn)行實(shí)時(shí)的更新處理的能力較差,很難運(yùn)用到實(shí)際的操作之中,并且航線規(guī)劃問(wèn)題十分復(fù)雜,現(xiàn)有的單一算法難以實(shí)現(xiàn)其要求,所以可以考慮多個(gè)算法進(jìn)行融合改進(jìn),在不同的航跡規(guī)劃階段,選擇不同的算法規(guī)劃出滿意的航跡。又或者是將兩個(gè)或多個(gè)算法融合改進(jìn),揚(yáng)長(zhǎng)避短,使得融合后的算法可以滿足實(shí)際所需。但是融合算法的難點(diǎn)在于可能增加計(jì)算量,這也是研究的重難點(diǎn)之一。
無(wú)人機(jī)本身體積較小,野外作業(yè)時(shí)會(huì)減少人員工作量,對(duì)于環(huán)境的適應(yīng)性較強(qiáng),所以必將有很好的發(fā)展前景,對(duì)于無(wú)人機(jī)的航跡規(guī)劃更是無(wú)人機(jī)任務(wù)規(guī)劃系統(tǒng)的關(guān)鍵,所以針對(duì)此問(wèn)題需要進(jìn)行嚴(yán)格的算法分析以及數(shù)學(xué)建模,相信在不遠(yuǎn)的未來(lái),能實(shí)現(xiàn)無(wú)人機(jī)的智慧飛行,使得無(wú)人機(jī)能夠廣泛活躍于各個(gè)領(lǐng)域。