賈琪,廖煜雷,龐碩,王博,李姿科,張蔚欣
(哈爾濱工程大學(xué)水下機(jī)器人技術(shù)重點(diǎn)實(shí)驗(yàn)室,黑龍江哈爾濱,150001)
常規(guī)海洋機(jī)器人如水面機(jī)器人[1](unmanned surface vehicle,USV)、水下機(jī)器人(unmanned underwater vehicle,UUV)、遙控潛水器(remotely operated vehicle,ROV)等一般采用燃油或電池作為動(dòng)力源,航程受制于所攜帶的有限能源,難以在線補(bǔ)給,故出現(xiàn)了續(xù)航力短、作業(yè)范圍小的弊端,這對(duì)于長(zhǎng)期的海洋觀測(cè)[2]、科學(xué)研究、情報(bào)偵察等仼務(wù)來說,存在作業(yè)效能低、成本高、覆蓋范圍小等問題。為滿足長(zhǎng)期化、網(wǎng)絡(luò)化的實(shí)時(shí)海洋觀測(cè)任務(wù),目前,世界各國紛紛把目光投向研制更大航程、更長(zhǎng)航時(shí)、更低運(yùn)維成本的海洋機(jī)器人項(xiàng)目中。為了對(duì)周圍環(huán)境的能量加以利用、提高海洋機(jī)器人的續(xù)航力,各國學(xué)者從根源上解決海洋機(jī)器人的能源供給問題設(shè)計(jì)了不同形式的能源捕獲裝置。
一年四季內(nèi)風(fēng)能在海洋上的分布較為廣泛。ZHENG 等[3]提出,每年超過80%的時(shí)間,海上風(fēng)的平均功率密度超過50 W/m2,最大為1 600 W/m2。根據(jù)美國自主航行器委員會(huì)估計(jì)[4],海面風(fēng)速約為14 m/s,海洋機(jī)器人對(duì)風(fēng)能的利用方式也主要集中在利用風(fēng)力直接推進(jìn)和利用風(fēng)能發(fā)電2個(gè)方面[5]。
世界許多國家相繼研制了利用風(fēng)能驅(qū)動(dòng)的海洋機(jī)器人,其中,ELKAIM等[6]研制了風(fēng)力驅(qū)動(dòng)的無人雙體船Atlantis;Harbor Wing 公司[7]設(shè)計(jì)出配有折疊螺旋槳輔助推進(jìn)的三體無人帆船HWT X-3;Ocean Aero 公司[8]研制出了裝載折疊翼帆并兼具水面航行和水下航行的能力的SubmaranTMS10;RYNNE 等[9]研制了配備熱塑性膜包覆翼和太陽能板的WASP;HOOK 等[10]提出了3 種能源混合驅(qū)動(dòng)的海洋機(jī)器人方案設(shè)計(jì)C-Enduro,通過研究和測(cè)試各種能源供給,最終選擇了由太陽能板、風(fēng)力發(fā)電機(jī)和輕型柴油發(fā)電機(jī)組成的能源供給系統(tǒng),可供機(jī)器人運(yùn)行3月,且能夠支持高達(dá)500 W的有效載荷。
中國科學(xué)院沈陽自動(dòng)化所[11]研制了以風(fēng)力作為航行驅(qū)動(dòng)力,用太陽能為控制系統(tǒng)和傳感器供電,可實(shí)現(xiàn)“海鷗”號(hào)無人帆船長(zhǎng)時(shí)間連續(xù)作業(yè);王健等[12]研制了風(fēng)能和太陽能復(fù)合動(dòng)力超長(zhǎng)續(xù)航無人艇系統(tǒng),通過增加相應(yīng)模塊可升級(jí)為海上搜救無人船、長(zhǎng)航程無人巡邏艇等;姜權(quán)權(quán)等[13]研發(fā)出采用風(fēng)光波3 類自然能復(fù)合驅(qū)動(dòng)模式的海洋機(jī)器人“馭浪者”號(hào)(natural energy drive unmanned surface vehicle,NSV),且該機(jī)器人自持力不小于90 d、載荷能力不小于50 W。與國內(nèi)外現(xiàn)有的風(fēng)力、純光伏、波浪、溫差等自然能驅(qū)動(dòng)型機(jī)器人相比,“馭浪者”的航速更穩(wěn)定、可控,能量有冗余、更穩(wěn)健。
搭載風(fēng)能捕獲設(shè)備的海洋機(jī)器人更應(yīng)注重風(fēng)能捕獲模型的建立和自主航行中的路徑規(guī)劃問題,國內(nèi)外學(xué)者針對(duì)此問題進(jìn)行了研究。YOU 等[14]結(jié)合帆的受力模型和船舶操縱性數(shù)學(xué)建模小組(ship manoeuvring mathematical model group,MMG)模型,建立了運(yùn)動(dòng)模型,為無人帆船的運(yùn)動(dòng)控制、路徑規(guī)劃奠定了數(shù)學(xué)基礎(chǔ)。羅瀟[15]分析了風(fēng)帆的空氣動(dòng)力特性原理,通過引入搶風(fēng)因子,實(shí)現(xiàn)了逆風(fēng)工況下的船舶“之”字型路徑換向決策,并且解決了圓弧形帆船迎風(fēng)換舷時(shí)出現(xiàn)的反向回轉(zhuǎn)問題。馬冰彥[16]以航速預(yù)測(cè)程序(velocity prediction program,VPP)為基礎(chǔ)進(jìn)行了不同面積、不同攻角的翼帆面對(duì)不同風(fēng)速、風(fēng)向時(shí)的航行特性分析。MOUSAZADEH 等[17]建立了MORVARID 在風(fēng)浪流干擾下的動(dòng)力學(xué)模型,規(guī)劃了考慮風(fēng)、浪、流的航行路線。PARAVISI 等[18]通過仿真試驗(yàn)?zāi)M了機(jī)器人穿越橋梁的風(fēng)場(chǎng)模型,可用于執(zhí)行橋梁檢查任務(wù)。張海妮[19]通過計(jì)算流體力學(xué)技術(shù)(computational fluid dynamics,CFD)仿真計(jì)算路徑規(guī)劃中的阻力性能參數(shù),并在考慮海洋風(fēng)浪流環(huán)境、船舶運(yùn)動(dòng)性能的情況下進(jìn)行驗(yàn)證,基本實(shí)現(xiàn)了順風(fēng)航行,可以用于掃海作業(yè)中區(qū)域間移動(dòng)的路徑規(guī)劃。
NIU 等[20]通過考慮風(fēng)和流對(duì)比了胡蘿卜跟蹤、非線性制導(dǎo)律、純跟蹤和視線法(pure pursuit and line-of-sight,PLOS)、矢量場(chǎng)等4 種路徑跟蹤算法,仿真結(jié)果可用于幫助確定USV 為了有效處理不同任務(wù)而需要執(zhí)行的路徑跟隨算法。NIU等[21]又根據(jù)海流數(shù)據(jù)結(jié)合Voronoi圖、可視圖和Dijkstra搜索算法規(guī)劃出無碰撞的節(jié)能路徑??祲?mèng)萁[22]在采用傳統(tǒng)的A*算法進(jìn)行計(jì)算的基礎(chǔ)上,針對(duì)A*算法在長(zhǎng)途規(guī)劃中耗時(shí)長(zhǎng)的問題提出了算法簡(jiǎn)單且耗時(shí)較短的局部最優(yōu)法。杜明樹等[23]針對(duì)A*算法在短途規(guī)劃中無法應(yīng)對(duì)未知天氣預(yù)報(bào)和風(fēng)速風(fēng)向變化較頻繁等問題提出速度最優(yōu)法。DOS SANTOS 等[24]指出帆船除了在高度非線性和惡劣的海洋環(huán)境中工作以外,還需要依靠不可預(yù)測(cè)的風(fēng)力來推進(jìn)航行,為了解決這種問題,提出了一種由底層航向控制器和考慮風(fēng)向的短途路徑規(guī)劃器組成的導(dǎo)航系統(tǒng),該系統(tǒng)可以使帆船到達(dá)其工作環(huán)境中的任何所需目標(biāo)點(diǎn)。SILVA等[25]提出了適用于無人帆船的全局路徑規(guī)劃方法,基于獎(jiǎng)勵(lì)矩陣和根據(jù)風(fēng)向變化的一組動(dòng)作,采用強(qiáng)化學(xué)習(xí)方法,避免無人帆船陷入無法獲得速度的逆風(fēng)死區(qū),使無人帆船能夠長(zhǎng)時(shí)間航行,保證了無人帆船的安全性和魯棒性。
上述文獻(xiàn)對(duì)多種類型的風(fēng)帆進(jìn)行了力學(xué)分析,對(duì)不同艇體在風(fēng)環(huán)境中的運(yùn)動(dòng)響應(yīng)進(jìn)行了動(dòng)力學(xué)建模,為利用風(fēng)帆推進(jìn)的海洋機(jī)器人研究奠定了基礎(chǔ)。張海妮[19]在仿真試驗(yàn)中采取的是單一風(fēng)向,算法缺少復(fù)雜風(fēng)場(chǎng)環(huán)境的驗(yàn)證;康夢(mèng)萁[22]在仿真試驗(yàn)中采用均勻風(fēng)場(chǎng),對(duì)風(fēng)向和風(fēng)速的設(shè)置過于簡(jiǎn)單,并且算法在長(zhǎng)途規(guī)劃中的適用前提是環(huán)境中的風(fēng)向和風(fēng)速不能變化過快;羅瀟[15]進(jìn)行了外場(chǎng)試驗(yàn),但試驗(yàn)選擇在風(fēng)向風(fēng)速較為穩(wěn)定的湖中,與隨機(jī)性較大的海洋環(huán)境尚存在一定的差距。以上文獻(xiàn)仿真試驗(yàn)中風(fēng)場(chǎng)的建模都沒有貼近真實(shí)的海洋環(huán)境,此處,“馭浪者”號(hào)NSV采用升力型風(fēng)力發(fā)電機(jī),與單純采用風(fēng)帆推進(jìn)的機(jī)器人不同,其風(fēng)力發(fā)電過程中航行阻力小,航向操縱更具靈活性,拓展區(qū)域更廣,并能針對(duì)特殊區(qū)域進(jìn)行精細(xì)化觀測(cè)[26]。因此,需要針對(duì)海上風(fēng)力發(fā)電機(jī)的能源捕獲、機(jī)器人長(zhǎng)航時(shí)的路徑規(guī)劃策略進(jìn)行進(jìn)一步研究。
本文以“馭浪者”號(hào)NSV 為研究對(duì)象,針對(duì)“馭浪者”在海洋風(fēng)場(chǎng)中的路徑規(guī)劃問題進(jìn)行探討。首先介紹地理環(huán)境和海洋風(fēng)場(chǎng)環(huán)境的建模方法,提出海洋環(huán)境能量擴(kuò)展樹的概念并結(jié)合NSV風(fēng)能捕獲模型構(gòu)建海洋環(huán)境能量集合;然后,通過分析NSV 風(fēng)能捕獲特性,提出適合NSV 海洋風(fēng)場(chǎng)中的路徑規(guī)劃方法Wind_A*算法;最后,通過2種特殊風(fēng)場(chǎng)環(huán)境和1種真實(shí)風(fēng)場(chǎng)環(huán)境對(duì)Wind_A*算法與傳統(tǒng)A*算法進(jìn)行仿真對(duì)比試驗(yàn),驗(yàn)證所提算法的有效性。
在機(jī)器人學(xué)中,地圖的表示方法被分成4 類,分別為特征地圖、拓?fù)涞貓D、柵格地圖和直接表征法。柵格地圖是機(jī)器人對(duì)環(huán)境描述最常見的方式,即將環(huán)境劃分成一系列柵格,其中每一柵格給定一個(gè)可能值,表示該柵格被占據(jù)的概率。它最早由ELFES[27]提出,在火星探測(cè)車上得到運(yùn)用,其本質(zhì)是一張位圖圖片,但其中每個(gè)“像素”表示實(shí)際環(huán)境中存在障礙物的概率,它最接近人類認(rèn)知的地圖。本文采用柵格地圖構(gòu)建全球真實(shí)海洋風(fēng)場(chǎng)環(huán)境。
海洋和陸地的建模通過提取WGS-84世界大地坐標(biāo)系中海岸線坐標(biāo)對(duì)可航區(qū)域和禁航區(qū)域的劃分。海洋風(fēng)場(chǎng)的數(shù)據(jù)信息來源于全球海洋資料同化系統(tǒng)(global ocean data assimilation system,GODAS),該系統(tǒng)由國家環(huán)境預(yù)報(bào)中心(national centers for environmental prediction,NCEP)構(gòu)建;NCEP 隸屬于美國聯(lián)邦政府的海洋大氣總署(national oceanic and atmospheric administration,NOAA),是美國國家級(jí)的氣象業(yè)務(wù)主管機(jī)構(gòu)。GODAS 依賴于全球海洋觀測(cè)系統(tǒng)的連續(xù)實(shí)時(shí)數(shù)據(jù)。該項(xiàng)目將提供常規(guī)的海洋監(jiān)測(cè)產(chǎn)品,并由氣候預(yù)測(cè)中心(climate prediction center,CPC) 與NOAA 全球海洋監(jiān)測(cè)與觀測(cè)(global ocean monitoring and observation,GOMO)合作實(shí)施。該系統(tǒng)通過采集散布在世界各地海洋中的傳感器監(jiān)測(cè)數(shù)據(jù),來實(shí)現(xiàn)對(duì)海洋環(huán)境的系統(tǒng)監(jiān)測(cè),數(shù)據(jù)真實(shí),可靠性強(qiáng)。根據(jù)陸地和海洋的坐標(biāo)數(shù)據(jù),調(diào)用GODAS數(shù)據(jù)構(gòu)建了圖1所示的可視化模型。
圖1 北太平洋風(fēng)場(chǎng)模型[28]Fig.1 Model of north pacific wind field[28]
常規(guī)海洋機(jī)器人通常僅需考慮路徑的消耗,就能完成規(guī)劃路徑的搜索;NSV 具有多種海洋能量捕獲設(shè)備,在考慮路徑長(zhǎng)度的同時(shí)還需兼顧能量的捕獲。本文僅針對(duì)風(fēng)能捕獲設(shè)備的能量捕獲提出路徑規(guī)劃指導(dǎo),忽略其他設(shè)備的能量捕獲影響。
圖2所示為海洋環(huán)境能量擴(kuò)展樹概念圖。由圖2可見:NSV不同路徑與樹的不同枝丫類似,該柵格內(nèi)的風(fēng)能由NSV 的航行方向決定,與果子結(jié)在枝丫上類似,不同的枝杈上結(jié)有不同能量的果實(shí)。NSV 的目的就是從樹的某處到另一處,盡可能沿著樹枝在兼顧路程的基礎(chǔ)上盡可能采擷到高能量的果實(shí),即實(shí)現(xiàn)能量捕獲最優(yōu)。
圖2 海洋環(huán)境能量擴(kuò)展樹概念圖Fig.2 Concept map of marine environmental energyexpansion tree
NSV 在跨越到鄰近的柵格時(shí)將面臨不同的方向,每個(gè)柵格內(nèi)的環(huán)境風(fēng)向也不同。對(duì)于自然能驅(qū)動(dòng)機(jī)器人而言,步入不同的柵格就意味著按不同的行進(jìn)方向運(yùn)動(dòng)。每個(gè)柵格不同的行進(jìn)方向的實(shí)時(shí)風(fēng)能捕獲效果都不同。
風(fēng)力發(fā)電機(jī)搭載在NSV 甲板上方,當(dāng)NSV 航行時(shí),風(fēng)力發(fā)電機(jī)的發(fā)電效果實(shí)際受視風(fēng)速度影響,視風(fēng)速度由船風(fēng)速度和真風(fēng)速度共同決定,如圖3所示。船風(fēng)速度vwind_s的方向與NSV 航向相反,大小與航速相等,真風(fēng)速度vwind_t是海風(fēng)相對(duì)大地坐標(biāo)系的矢量表示,視風(fēng)速度vwind_a為真風(fēng)速度和船風(fēng)速度的合成速度矢量,其計(jì)算方法見下式:
圖3 視風(fēng)示意圖Fig.3 Schematic diagram of apparent wind
因此,即使在海風(fēng)恒定的環(huán)境中,風(fēng)能的捕獲量受NSV的航向和航速影響。
本文將NSV的移動(dòng)方向分為如圖4所示的8個(gè)方向,根據(jù)風(fēng)力發(fā)電機(jī)的風(fēng)速?功率關(guān)系計(jì)算出不同方向的潛在能量,從而完成海洋風(fēng)場(chǎng)環(huán)境的能量樹建模。
圖4 NSV的可行航向Fig.4 Feasible course of NSV
自然能驅(qū)動(dòng)機(jī)器人所搭載的風(fēng)能捕獲系統(tǒng),采用風(fēng)力發(fā)電機(jī)利用風(fēng)力帶動(dòng)風(fēng)車葉片旋轉(zhuǎn),再通過增速機(jī)提升旋轉(zhuǎn)速度,來促使發(fā)電機(jī)發(fā)電,再經(jīng)由NSV 專用的能源管理設(shè)備將電能存儲(chǔ)在蓄電池中,作為NSV 的能源補(bǔ)給。風(fēng)力發(fā)電機(jī)的發(fā)電功率與風(fēng)速的關(guān)系通過風(fēng)洞強(qiáng)制測(cè)試試驗(yàn)可獲得,如圖5所示。由圖5可知:NSV艇載風(fēng)力發(fā)電機(jī)的發(fā)電功率曲線走勢(shì)近似呈線性變化,將其進(jìn)行線性擬合可得
圖5 風(fēng)力發(fā)電機(jī)測(cè)試曲線和擬合曲線Fig.5 Wind turbine test curve and fitting curve
式中:PWind_Turbines為風(fēng)力發(fā)電機(jī)在海洋風(fēng)場(chǎng)環(huán)境中的發(fā)電功率;ω0為擬合函數(shù)常數(shù)項(xiàng);ω1為擬合函數(shù)一次項(xiàng)系數(shù)。
將風(fēng)能捕獲系統(tǒng)裝載在NSV上,隨風(fēng)速增大,NSV 將捕獲更多能量,但同時(shí)也將NSV 面臨更大的風(fēng)阻,通過CFD 技術(shù)計(jì)算NSV 在不同風(fēng)速下的縱向受力,得
式中:Rwind為NSV 縱向受到的風(fēng)作用力;θ∈(0,π),為視風(fēng)速度和船首的夾角。
NSV 為了保持巡航航速,推進(jìn)器需提高一定推力來克服風(fēng)阻的干擾,推進(jìn)器在不同推力下的功率可通過推力試驗(yàn)獲得,并進(jìn)行多項(xiàng)式擬合得
式中:x為推力;fFP(x)為推進(jìn)器功率。
Pthruster_w為NSV 在風(fēng)中保持巡航速度的輸出功率??紤]風(fēng)阻增大對(duì)NSV推進(jìn)功率的影響,有
式中:Rship為NSV在無風(fēng)環(huán)境中保持巡航速度的靜水阻力。
因此,風(fēng)能捕獲的能量輸入功率為
式中:Psum(wind_input)為風(fēng)能捕獲系統(tǒng)針對(duì)整個(gè)NSV系統(tǒng)的能量總輸入功率;Pthruster為在無風(fēng)環(huán)境中保持巡航速度的輸出功率;τ為電能存儲(chǔ)轉(zhuǎn)化系數(shù)。
A*算法由HART 等[29]提出,該算法兼顧了Dijkstra 算法和廣度優(yōu)先算法的優(yōu)點(diǎn),既能保證搜索到最優(yōu)路徑,又能通過啟發(fā)式的搜索,降低搜索空間,縮短計(jì)算時(shí)間,廣泛應(yīng)用于機(jī)器人在柵格化的地圖中的路徑規(guī)劃。
典型的A*算法一般在路徑規(guī)劃過程中設(shè)計(jì)2個(gè)集合,其中,一個(gè)為Open 集合,用于存放已經(jīng)求取估值但仍未被擴(kuò)展的節(jié)點(diǎn),另一個(gè)為Closed集合,存放已被擴(kuò)展的無須關(guān)注的點(diǎn)。A*算法通過估價(jià)函數(shù)f(n)來確定搜索的方向和下一個(gè)節(jié)點(diǎn)的位置,一般情況下根據(jù)機(jī)器人類型或任務(wù)需求,機(jī)器人的搜索方向分為N,S,W 和E 共4 個(gè)方向或N,NE,E,SE,S,SW,W 和NW 共8 個(gè)方向,當(dāng)前節(jié)點(diǎn)n到下個(gè)節(jié)點(diǎn)n'的路徑需要根據(jù)估價(jià)函數(shù)f(n)分別計(jì)算節(jié)點(diǎn)x周圍節(jié)點(diǎn)代價(jià)的最小值來確定。A*算法從起點(diǎn)開始搜索,直到目標(biāo)點(diǎn)落入Closed 集,然后將Closed 集合中所有的節(jié)點(diǎn)連線,該連線即為機(jī)器人任務(wù)的規(guī)劃路徑。A*算法的估價(jià)函數(shù)為
式中:g(n)為機(jī)器人從起始點(diǎn)到當(dāng)前節(jié)點(diǎn)的實(shí)際代價(jià);h(n)為當(dāng)前節(jié)點(diǎn)距離目標(biāo)節(jié)點(diǎn)的估計(jì)代價(jià),也稱為啟發(fā)代價(jià)。本文根據(jù)NSV 的航行特點(diǎn)和風(fēng)能捕獲需求,基于A*算法,提出Wind_A*算法,該算法通過計(jì)算NSV 從起始點(diǎn)到當(dāng)前節(jié)點(diǎn)間風(fēng)能捕獲系統(tǒng)輸入和推進(jìn)系統(tǒng)、電控系統(tǒng)輸出的差值能量作為NSV 系統(tǒng)的總消耗能量,通過當(dāng)前節(jié)點(diǎn)和目標(biāo)點(diǎn)的啟發(fā)能量來控制路徑的搜索方向,從而得到考慮風(fēng)能捕獲的NSV長(zhǎng)航時(shí)路徑。
1.4.1 考慮風(fēng)能捕獲的能源消耗函數(shù)
本文著重關(guān)注風(fēng)能捕獲,沒有考慮其他海洋環(huán)境(光、波浪、流等)的影響,NSV在海洋風(fēng)場(chǎng)環(huán)境中能源的輸出為保證各傳感器、控制系統(tǒng)和推進(jìn)器正常工作的能量消耗;能源的輸入為風(fēng)能捕獲系統(tǒng)產(chǎn)生的電能,因此,NSV 在海洋風(fēng)場(chǎng)中的能量消耗函數(shù)gw(n)為
式中:ge_cost(n)為NSV各傳感器和控制系統(tǒng)等電子元器件消耗的能量;gt_cost(n)為推進(jìn)器消耗的能量;gwind(n)為NSV風(fēng)能捕獲系統(tǒng)的能量輸入。
NSV 的巡航速度是固定的,NSV 在每個(gè)柵格的可航行方向?yàn)? 個(gè)方向,假設(shè)NSV 在柵格內(nèi)朝N,S,W 和E 方向的航行時(shí)間為dt;朝NE,SE,SW 和NW 方向的航行時(shí)間為則NSV 在每個(gè)柵格內(nèi)消耗的能量為(Pthruster+Pe)?dt(其中Pe為電子元器件的消耗功率)。NSV 在每個(gè)柵格內(nèi)的能量輸入為[τPWind_Turbines-(Pthruster_w-Pthruster)]?dt。綜上所述,NSV在風(fēng)場(chǎng)環(huán)境下的能源消耗函數(shù)為
式中:Ethruster為NSV在每個(gè)柵格內(nèi)的推進(jìn)器能量消耗;Ewind_input為NSV在每個(gè)柵格內(nèi)的風(fēng)場(chǎng)能量輸入。
1.4.2 Wind_A*的能耗啟發(fā)函數(shù)
h(n)是估價(jià)函數(shù)中的啟發(fā)項(xiàng),這是A*算法相較于Dijkstra 算法的優(yōu)勢(shì)所在,啟發(fā)函數(shù)在路徑搜索過程中能有效地抑制無用空間的搜索,達(dá)到減小搜索空間,使算法快速收斂。本文采用曼哈頓距離的思想構(gòu)建啟發(fā)函數(shù),它計(jì)算的是能量擴(kuò)展空間中NSV 當(dāng)前位置到目標(biāo)位置之間南北方向和東西方向潛在能量之和,這個(gè)能量是模糊的,旨在提高算法的搜索速度,即
式中:n(x)和n(y)為當(dāng)前節(jié)點(diǎn)的坐標(biāo);G(x)和G(y)為目標(biāo)節(jié)點(diǎn)的坐標(biāo);D為啟發(fā)系數(shù),將啟發(fā)距離轉(zhuǎn)化成啟發(fā)能量,用來配合消耗函數(shù)更好地對(duì)搜索節(jié)點(diǎn)進(jìn)行估價(jià)。Wind_A*算法的流程圖[30]如圖6所示,其中c(ni,ni+1)表示相鄰節(jié)點(diǎn)間NSV的推進(jìn)器等設(shè)備的能量消耗減去風(fēng)能捕獲設(shè)備捕獲到的能量,即柵格間的能量總消耗。
圖6 Wind_A*算法流程圖Fig.6 Flow chart of Wind_A*algorithm
仿真試驗(yàn)中軟件平臺(tái)為Windows,硬件平臺(tái)的處理器為Inter Core i7-4710HQ(主頻2.5 GHz)、運(yùn)行內(nèi)存16 GB。根據(jù)1.3節(jié)的分析,可知當(dāng)NSV 的巡航速度為1.5 m/s 時(shí),巡航功率為600 W,分別針對(duì)簡(jiǎn)單變化風(fēng)場(chǎng)、螺旋變化風(fēng)場(chǎng)和真實(shí)風(fēng)場(chǎng)進(jìn)行仿真試驗(yàn)驗(yàn)證。
簡(jiǎn)單變化風(fēng)場(chǎng)仿真試驗(yàn)建立在網(wǎng)格分辨率為100×100 的柵格地圖上,NSV 的起始點(diǎn)位置為(5,50) m,目標(biāo)點(diǎn)位置為(95,50) m,網(wǎng)格的單位間距為1 852 m。為了測(cè)試Wind_A*算法的有效性,將柵格地圖上的表面風(fēng)場(chǎng)設(shè)置為左半部分南風(fēng),右半部分北風(fēng),風(fēng)速均為12 m/s,其中,圖7和圖8所示分別為傳統(tǒng)A*算法和Wind_A*算法的路徑規(guī)劃圖,表1所示為仿真能耗。圖7和圖8中,紅色區(qū)域?yàn)樘剿鲄^(qū)域,綠色箭頭表示風(fēng)的方向和速度,黑色線為路徑。
圖7 簡(jiǎn)單變化風(fēng)場(chǎng)中傳統(tǒng)A*算法規(guī)劃路徑Fig.7 Planning path of traditional A*algorithm in simple change wind field
圖8 簡(jiǎn)單變化風(fēng)場(chǎng)中Wind_A*算法規(guī)劃路徑Fig.8 Planning path of wind_A*algorithm in simple change wind field
從圖8可以看出:面對(duì)南向來風(fēng),NSV為了捕獲更多的風(fēng)能選擇向右偏轉(zhuǎn),當(dāng)風(fēng)向轉(zhuǎn)為北風(fēng)時(shí),NSV又向左偏轉(zhuǎn),向著目標(biāo)點(diǎn)駛?cè)?。從?可以看出:與傳統(tǒng)A*算法相比,Wind_A*算法需要探索更多的空間,這是由于柵格地圖中存在更高能量的潛在路徑需要探索,即存在更低能耗的路徑。雖然,Wind_A*算法規(guī)劃出的路徑更長(zhǎng),但在此恒定風(fēng)場(chǎng)環(huán)境中可減少能耗9.93%。
表1 簡(jiǎn)單變化風(fēng)場(chǎng)中算法仿真對(duì)比結(jié)果Table 1 Comparison results of algorithm simulation in simple change wind field
螺旋變化風(fēng)場(chǎng)仿真試驗(yàn)建立在網(wǎng)格分辨率為100×100 的柵格地圖上,NSV 的起始點(diǎn)位置為(5,50) m,目標(biāo)點(diǎn)位置為(95,50) m,網(wǎng)格的單位間距為1 852 m,柵格地圖上的表面風(fēng)場(chǎng)設(shè)置為逆時(shí)針旋轉(zhuǎn)的風(fēng)場(chǎng),風(fēng)眼位置在(50,50)m附近,最大風(fēng)速可達(dá)14 m/s,其中,圖9和圖10所示分別為傳統(tǒng)A*算法和Wind_A*算法的路徑規(guī)劃圖,表2所示為仿真能耗,圖9和圖10中,紅色區(qū)域?yàn)樘剿鲄^(qū)域,黃色箭頭表示風(fēng)的方向和速度,箭頭越長(zhǎng),表示風(fēng)速越大。
表2 螺旋變化風(fēng)場(chǎng)中算法仿真對(duì)比結(jié)果Table 2 Comparison results of algorithm simulation in spiral wind field
由圖9可知:風(fēng)眼位置風(fēng)速最高,以風(fēng)眼為中心周圍風(fēng)速隨距風(fēng)眼的距離增加,風(fēng)速逐漸減小。圖9和圖7所示路徑一樣,由于采用傳統(tǒng)A*算法,環(huán)境風(fēng)場(chǎng)的變化并沒有影響規(guī)劃的路徑。圖10中NSV的路徑可根據(jù)風(fēng)眼的位置分為3個(gè)階段。
圖10 螺旋變化風(fēng)場(chǎng)中Wind_A*算法規(guī)劃路徑Fig.10 Planning path of wind_A*algorithm in spiral wind field
第一階段:靠近風(fēng)眼,由于起始點(diǎn)距離風(fēng)眼較遠(yuǎn),風(fēng)速較小,NSV的Wind_A*規(guī)劃路徑與圖9的初期路徑相同。
第二階段:駛進(jìn)風(fēng)眼,由于風(fēng)眼附近的高風(fēng)速,導(dǎo)致NSV 為了捕獲更多的風(fēng)能,在權(quán)衡路程消耗的基礎(chǔ)上圍繞風(fēng)眼航行1周才駛離風(fēng)眼區(qū)域。
第三階段:遠(yuǎn)離風(fēng)眼,隨風(fēng)速降低,附近其他方向的捕獲能量減少,NSV 的Wind_A*規(guī)劃路徑與圖9的末期路徑相同。
圖9 螺旋變化風(fēng)場(chǎng)中傳統(tǒng)A*算法規(guī)劃路徑Fig.9 Planning path of traditional A*algorithm in spiral wind field
在螺旋變化的風(fēng)場(chǎng)環(huán)境中,Wind_A*算法規(guī)劃出的路徑比傳統(tǒng)A*算法規(guī)劃出的路徑減少能耗9.27%。假設(shè)NSV 結(jié)構(gòu)設(shè)計(jì)具備臺(tái)風(fēng)中航行能力,通過螺旋變化風(fēng)場(chǎng)仿真試驗(yàn)可知,NSV 在有效捕獲風(fēng)能的情況下,還能環(huán)繞風(fēng)眼中心航行,為臺(tái)風(fēng)、熱帶低壓氣旋中心的氣象數(shù)據(jù)觀測(cè)任務(wù)提供了一種技術(shù)手段。
真實(shí)風(fēng)場(chǎng)環(huán)境仿真試驗(yàn)建立在0°緯線至北緯30°、東經(jīng)90°至東經(jīng)135°的柵格地理圖中,這片區(qū)域的環(huán)境具有典型性,包括島嶼、海峽等復(fù)雜地形元素和氣旋、季風(fēng)等多種氣象要素。NSV 的起始點(diǎn)位置為27.5°N/122.4°E,目標(biāo)點(diǎn)位置為8.8°N/94.1°E,網(wǎng)格的單位間距為11 112 m。
為了驗(yàn)證Wind_A*算法在真實(shí)風(fēng)場(chǎng)環(huán)境中的有效性,通過提取NOAA 的GODAS 數(shù)據(jù),假設(shè)NSV 所到之處的風(fēng)場(chǎng)環(huán)境都是已知的,且僅考慮風(fēng)場(chǎng)的空間變化,忽略其時(shí)變性,構(gòu)建了如圖11(b)所示風(fēng)場(chǎng)模型。圖11和圖12所示分別為傳統(tǒng)A*算法和Wind_A*算法的路徑規(guī)劃圖,圖11(b)和圖12(b)中采用氣象圖中的風(fēng)矢表示風(fēng)的大小和方向。風(fēng)矢由風(fēng)向桿和風(fēng)羽2部分組成,風(fēng)向桿指出風(fēng)的來向,風(fēng)羽分別用長(zhǎng)劃線、短劃線、與風(fēng)三角組合的方式表示風(fēng)速。表3所示為真實(shí)風(fēng)場(chǎng)中不同算法的能耗對(duì)比。
表3 真實(shí)風(fēng)場(chǎng)中算法仿真對(duì)比結(jié)果Table 3 Comparison results of algorithm simulation in real wind field
從圖11和圖12可以看出:在真實(shí)的風(fēng)場(chǎng)環(huán)境中,由于大尺度中的季風(fēng)環(huán)流方向和NSV 的計(jì)劃航向有契合的部分,考慮風(fēng)的Wind_A*算法比傳統(tǒng)A*算法的探索空間更少。在北緯12°以北區(qū)域,由于風(fēng)速較小,傳統(tǒng)A*算法和Wind_A*算法規(guī)劃出的路徑幾乎一致,在北緯12°以南區(qū)域,風(fēng)速開始增大,Wind_A*算法規(guī)劃出的路徑使NSV 向東南方向偏轉(zhuǎn),以獲得更多的風(fēng)能;進(jìn)入馬六甲海峽后,受地形的限制,2 種方法規(guī)劃出的路徑一致。在真實(shí)的風(fēng)場(chǎng)環(huán)境中,Wind_A*算法規(guī)劃出的路徑比傳統(tǒng)A*算法規(guī)劃出的路徑減少能量8.54%。
Wind_A*算法搜空間通常較傳統(tǒng)A*算法更加廣闊,如圖7~10 所示。但由圖11和圖12可知,Wind_A*算法探索空間明顯減小,其根本原因是傳統(tǒng)A*計(jì)算消耗函數(shù)時(shí),考慮的僅為歐式距離,該項(xiàng)是標(biāo)量項(xiàng);Wind_A*算法包含了風(fēng)能捕獲系統(tǒng)的輸入能量,該系統(tǒng)項(xiàng)的主要影響因素是視風(fēng)速度,視風(fēng)速度是由真風(fēng)速度和船風(fēng)速度共同決定的矢量,當(dāng)視風(fēng)速度方向指向目標(biāo)點(diǎn)時(shí),風(fēng)能捕獲系統(tǒng)的輸入能量在消耗函數(shù)中能起到加速搜索的效果。
圖11 真實(shí)風(fēng)場(chǎng)中傳統(tǒng)A*算法規(guī)劃路徑Fig.11 Traditional A*algorithm planning path in real wind field
圖12 真實(shí)風(fēng)場(chǎng)中Wind_A*算法規(guī)劃路徑Fig.12 Wind_A*algorithm planning path in real wind field
綜合上述仿真對(duì)比試驗(yàn)可知,Wind_A*算法可在真實(shí)的海洋風(fēng)場(chǎng)環(huán)境中規(guī)劃出無碰撞的安全路徑,并且在充分考慮風(fēng)能捕獲和自身航行能量消耗的基礎(chǔ)上對(duì)航線進(jìn)行有效修正。與傳統(tǒng)A*算法相比,Wind_A*算法雖然在某些工況中探索區(qū)域較大,但該算法總能規(guī)劃出比傳統(tǒng)A*算法能耗更小的路徑,所提算法能充分應(yīng)用風(fēng)能捕獲設(shè)備,進(jìn)而有效提升NSV的續(xù)航力。
1)無論是簡(jiǎn)單變化風(fēng)場(chǎng)、螺旋風(fēng)場(chǎng)還是真實(shí)的海洋風(fēng)場(chǎng)環(huán)境,Wind_A*算法都能規(guī)劃出比傳統(tǒng)A*算法更節(jié)能的航線,3種風(fēng)場(chǎng)環(huán)境能耗分別減少9.93%,9.27%和8.54%。所提算法規(guī)劃出的路徑能有效增加NSV 對(duì)風(fēng)能的捕獲量,從而提高NSV的續(xù)航力。
2)Wind_A*算法的評(píng)價(jià)函數(shù)需要通過設(shè)置合適的啟發(fā)系數(shù)才能完成路徑搜索,該啟發(fā)函數(shù)仍需完善;此外,NSV 可搭載多種能源捕獲設(shè)備,考慮多設(shè)備綜合捕獲能源對(duì)航線規(guī)劃的耦合影響也需進(jìn)一步研究。