一種基于邊界值問題的滾動航路規(guī)劃方法
【專利摘要】本發(fā)明公開了一種基于邊界值問題的滾動航路規(guī)劃方法,屬于航路規(guī)劃領(lǐng)域,本發(fā)明首先根據(jù)進行地形網(wǎng)格建模,之后采用滾動規(guī)劃策略,將全局最優(yōu)近似分解為每個時域窗口的局部最優(yōu),在每個時域窗口內(nèi)求解邊界值問題得到局部最優(yōu)解。利用直線-視線方法設(shè)計時域窗口的子目標,并在滾動窗口內(nèi)完成了勢場更新與航路計算。本發(fā)明借鑒了滾動規(guī)劃的思想,通過求解離散條件下的邊界值問題,能夠?qū)崟r跟蹤運動目標。在滿足局部最優(yōu)性的前提下,對全局最優(yōu)進行近似,最終完成跟蹤運動目標的航路規(guī)劃任務(wù)。本發(fā)明地形建模簡單,子目標選擇計算量小,時域窗口設(shè)計合理,實現(xiàn)方便。
【專利說明】一種基于邊界值問題的滾動航路規(guī)劃方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于航路規(guī)劃領(lǐng)域,具體地說是涉及一種基于邊界值問題的滾動航路規(guī)劃 方法。
【背景技術(shù)】
[0002] 航路規(guī)劃是影響智能體自主行為的關(guān)鍵技術(shù),一直受到各方面的高度重視,經(jīng)過 幾十年的研究和發(fā)展,取得了大量研究成果,為目前智能體的大發(fā)展奠定了基礎(chǔ)。航路規(guī)劃 能力是智能體自主性和智能性的重要標志,經(jīng)過多年的研究與發(fā)展形成了眾多分支,其中 一個研究熱點就是航路的實時性和最優(yōu)性問題,這類問題屬于動態(tài)航路規(guī)劃,有的也稱為 實時規(guī)劃與重規(guī)劃。
[0003] 目前見諸文獻的航路規(guī)劃方法有:基于圖形的規(guī)劃方法、決策型搜索方法、隨機搜 索方法和人工勢場法等。以Voronoi圖法和Probabilistic Roadmap Method(PRM)法為代 表的基于圖形的方法存在組合爆炸的問題,因此不是很適合跟蹤運動目標的實時規(guī)劃。雖 然A*和D*可以通過算法的改進從而改善實時性,但是這種改進的能力也是有限的,即算法 的結(jié)構(gòu)限制了計算的效率。它們均有一定的拓撲能力,規(guī)劃出的航路具備一定最優(yōu)性,但 是很難滿足實時性要求。在隨機型搜索方法中,通過重新編碼和改進進化算子能夠使遺傳 算法能夠滿足實時規(guī)劃的要求,但是仍然需要額外的工作來解決過早收斂和試湊調(diào)參的問 題。許多研究表明,這些問題同樣存在于蟻群算法和粒子群算法。這些方法的另一個共同 特點是需要網(wǎng)格建模來描述環(huán)境,而網(wǎng)格模型設(shè)計的不合理會導(dǎo)致航路曲率較大。
[0004] 勢場法在航路的平滑性上具有很強的優(yōu)勢,因為大多數(shù)勢場法把物體的運動看成 是作用力的結(jié)果,而作用力通常是連續(xù)的,并不需要地形的網(wǎng)格化,因此避免了航路被離散 成航路點。勢場法除了航路平滑以外實時性也很高,尤其在復(fù)雜地形中表現(xiàn)明顯。模擬退 火算法和電荷法屬于傳統(tǒng)的勢場法,必須要忍受局部極小,這也是調(diào)和場類的方法存在的 共同問題。流函數(shù)法借鑒流體力學(xué)的概念建立勢場區(qū)域,并被證明能夠避免局部極小,通過 對單個障礙的流函數(shù)加權(quán)求和能夠解決障礙物接觸時的路徑規(guī)劃問題,之后該方法被進一 步擴展到了三維。雖然具有諸多優(yōu)勢,但由于流體概念的限制,流函數(shù)法存在駐點,可能引 起規(guī)劃終止。
[0005] 航路規(guī)劃方法中經(jīng)常會遇到實時性與最優(yōu)性的沖突問題,實時性體現(xiàn)了一種動態(tài) 的時變特性,因此每個時刻擁有一個最優(yōu)解,在無法預(yù)知和對這種時變特性建模的情況下, 很難求得patrol最優(yōu)解。如何能夠在存在運動目標的動態(tài)情況下,在保證實時性的前提下 兼顧最優(yōu)性,達到實時性和最優(yōu)性的折中,是設(shè)計動態(tài)航路規(guī)劃系統(tǒng)時需要面對的一個問 題。
【發(fā)明內(nèi)容】
[0006] 針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明提出一種基于邊界值問題的滾動航路規(guī)劃方 法,通過該方法能夠在跟蹤運動目標的情況下,快速的生成一條具有局部最優(yōu)特性的航路。
[0007] 本發(fā)明的技術(shù)方案為一種基于邊界值問題的滾動航路規(guī)劃方法,其首先根據(jù)進行 地形網(wǎng)格建模,之后采用滾動規(guī)劃策略,將全局最優(yōu)近似分解為每個時域窗口的局部最優(yōu), 在每個時域窗口內(nèi)求解邊界值問題得到局部最優(yōu)解;再利用直線-視線方法設(shè)計時域窗口 的子目標,并在滾動窗口內(nèi)完成了勢場更新與航路計算;具體包括如下步驟:
[0008] 步驟一:根據(jù)不同對象的物理約束,進行陷阱地形預(yù)處理;
[0009] 在航路規(guī)劃前需要根據(jù)使用對象的轉(zhuǎn)彎半徑&,針對陷阱區(qū)域進行預(yù)處理;如果 智能體無法在凹字形區(qū)域完成180°轉(zhuǎn)彎,則預(yù)處理后凹字形區(qū)域?qū)⒈惶畛?;所述轉(zhuǎn)彎半 徑為智能體的特定物理約束用數(shù)學(xué)公式的描述;
[0010] 步驟二:建立柵格化地形模型,進行柵格坐標轉(zhuǎn)換;
[0011] 將長和寬分別為length和width的實際地形進行柵格化,并在計算機中存儲為i 行j列的矩陣A ;通過柵格坐標的轉(zhuǎn)換,建立了離散后的網(wǎng)格地形與實際地形的一一對應(yīng)關(guān) 系;
[0012] 當(dāng)已知實際地形中的位置(X,y),根據(jù)式(1)計算出該位置所對應(yīng)的計算機存儲 中的元素A(i,j),
[0013]
【權(quán)利要求】
1. 一種基于邊界值問題的滾動航路規(guī)劃方法,其首先根據(jù)進行地形網(wǎng)格建模,之后采 用滾動規(guī)劃策略,將全局最優(yōu)近似分解為每個時域窗口的局部最優(yōu),在每個時域窗口內(nèi)求 解邊界值問題得到局部最優(yōu)解;再利用直線-視線方法設(shè)計時域窗口的子目標,并在滾動 窗口內(nèi)完成了勢場更新與航路計算;具體包括如下步驟: 步驟一:根據(jù)不同對象的物理約束,進行陷阱地形預(yù)處理; 在航路規(guī)劃前需要根據(jù)使用對象的轉(zhuǎn)彎半徑Ro,針對陷阱區(qū)域進行預(yù)處理;如果智能 體無法在凹字形區(qū)域完成180°轉(zhuǎn)彎,則預(yù)處理后凹字形區(qū)域?qū)⒈惶畛洌凰鲛D(zhuǎn)彎半徑為 智能體的特定物理約束用數(shù)學(xué)公式的描述; 步驟二:建立柵格化地形模型,進行柵格坐標轉(zhuǎn)換; 將長和寬分別為length和width的實際地形進行柵格化,并在計算機中存儲為i行j 列的矩陣A ;通過柵格坐標的轉(zhuǎn)換,建立了離散后的網(wǎng)格地形與實際地形的一一對應(yīng)關(guān)系; 當(dāng)已知實際地形中的位置(x,y),根據(jù)式(1)計算出該位置所對應(yīng)的計算機存儲中的 元素 A(i, j),
當(dāng)已知計算機存儲中的元素A(i,j),根據(jù)式(2)計算出該元素所對應(yīng)的實際地形中的 位置(X,y),
式中side表示網(wǎng)格單元的邊長,符號□表示元素取整操作; 步驟三:確定滾動時域窗口,求解子目標點; 3. 1滾動時域窗口的設(shè)計:子目標點在時域窗口中為一個位于窗口邊界坐標點,并將 時域窗口做以下兩步處理: 1) 將子目標點擴展為三個相鄰的坐標點,增加子目標點對智能體的吸引,提高邊界值 勢場的收斂速度; 2) 將窗口邊界人為設(shè)定成高勢場,保證邊界對智能體的排斥作用; 3. 2子目標點的計算: 1) 設(shè)在某個時刻tk,對應(yīng)的時域窗口為HWk ;在定位智能體當(dāng)前位置和確定HWk大小之 后;時域窗口一般為全局地圖大小的1/10,從全局地圖中獲得HW k內(nèi)的局部障礙信息; 2) 為當(dāng)前智能體位置,匕,為當(dāng)前目標位置,〇。_是與直線相交,并且距 離最近的一個障礙,V tl、和vbl分別為0。_的四個頂點; 3) 根據(jù)LOS(Line-Of-Sight)算法,在0。_的四個頂點中找出阻擋了直線/^的點 Vmid ; 4)根據(jù)〇。_和HWk的不同相對位置,則子目標點為直線f 或與HWk的交點 步驟四:求解時域窗口內(nèi)的邊界值問題; 地形環(huán)境已經(jīng)柵格化為矩陣A,每個柵格A (i,j)存儲著t時刻的勢場值it·,柵格單位 的變長為side ;對狄氏邊界條件的勢場進行初始化:障礙和邊界所在的柵格勢場為1,目標 點的勢場為〇 ;其他網(wǎng)格的勢場根據(jù)不同的地形情況,采用數(shù)值迭代方法求解,其采用GS方 法,首先用式(3)進行勢場更新:
其中 A; = Aj,凡=A+ij,A = /Vi./,Λ = Aj+i,A = A,/-1,v = (vx,vy),上標 t 表 示當(dāng)前時刻,t+1表示下一時刻。為了確定參數(shù)¥和ε的值域,將式(3)整理為:
其中 wx= eVx/2,wy= eVy/2;當(dāng) wx,wye [1,1]時上式滿足 pnlin彡pc彡pnlaχ,pnlin和p nlaχ 分別代表與網(wǎng)格內(nèi)的最小和最大勢場值;設(shè)障礙和目標的勢場值分別為Pmax和Pmin,則任一 網(wǎng)格的梯度下降方向?qū)⒅赶蚰繕它c并盡量遠離障礙;定義v是單位向量并且ε e (-2, 2); 步驟五:計算梯度,將最速下將方向作為前進方向,并且根據(jù)八方向法確定航路點; 勢場更新之后,按照式(5)計算每個網(wǎng)格的梯度 :
設(shè)智能體當(dāng)前所在網(wǎng)格為A(i,j),前進方向為VPi,j;以網(wǎng)格A(i,j)為中心點按照八 方向?qū)ο噜従W(wǎng)格進行分割,找出A(i,j)的梯度▽ Pu所指向的區(qū)域,則智能體下一時刻速 度的期望方向為▽ PH,j+1,下一時刻期望到達的網(wǎng)格為A(i_l,j+Ι); 步驟六:跟蹤運動目標,進行滾動規(guī)劃,完成整個航路規(guī)劃過程; 設(shè)航路規(guī)劃的開始時間為h,根據(jù)步驟三?步驟五的方法,得到、時刻的HW的航路,然 后將tQ時刻的HW中子目標點作為下一時刻h的HW中起始點,重復(fù)驟三?步驟五的方法; 通過將上一時刻時域窗口的子目標點作為下一時刻時域窗口的起點,整個過程不斷重復(fù)滾 動,智能體最終能夠完成跟蹤運動目標的航路規(guī)劃。
2.根據(jù)權(quán)利要求1所述的一種基于邊界值問題的滾動航路規(guī)劃方法,其特征在于:所 述步驟四中勢場更新采用SOR(successive overrelaxation)方法。
【文檔編號】G01C21/00GK104121903SQ201410317276
【公開日】2014年10月29日 申請日期:2014年7月4日 優(yōu)先權(quán)日:2014年7月4日
【發(fā)明者】梁宵, 陳俠, 孟光磊 申請人:沈陽航空航天大學(xué)