李文進,高洪雨,韓曉萍
(1.國網(wǎng)技術(shù)學(xué)院,山東 泰安 271000;2.山東大學(xué) 電氣工程學(xué)院,山東 濟南 250061)
我國電力無人直升機巡線時,利用裝載檢測設(shè)備的直升機對高壓輸電線路上的發(fā)熱故障隱患和外部缺陷進行檢測,以提高巡線的工作效率.由于巡線任務(wù)多在植被茂盛的山林地區(qū)進行,樹閃故障成為限制無人直升機巡線廣泛應(yīng)用的最大限制因素.為了實現(xiàn)巡線過程中的有效避障,直升機的航路規(guī)劃顯得尤為重要.當(dāng)選擇規(guī)避策略時,三維空間規(guī)劃可簡化為水平航路規(guī)劃.根據(jù)具體使用環(huán)境和要求不同,已提出梯度法、遺傳算法(GA)、模擬退火算法(SA)、蟻群算法(AS)、人工勢場法[1]等多種方法,其中人工勢場法是一種虛擬力法,具有反應(yīng)速度快、計算量小和實時性等優(yōu)點[2],其快捷的環(huán)境描述形式在實時避障和平滑軌跡控制等方面得到廣泛應(yīng)用.
人工勢場法由Khatib于1986年提出,它是對運動環(huán)境的一種抽象描述,其基本思想是構(gòu)造由目標(biāo)點引力和障礙物的斥力共同作用的人工勢場,搜索勢函數(shù)梯度下降的方向來尋找無碰撞路徑[3].考慮到傳統(tǒng)的人工勢場沒有對規(guī)劃路線的評價指標(biāo)以及容易出現(xiàn)局部極小等自身缺陷[4],本文對其進一步優(yōu)化,并采用圓域B樣條曲線和改進人工勢場相結(jié)合的航路規(guī)劃方法.根據(jù)構(gòu)造的勢場函數(shù)特點,沿等勢線方向進行路徑搜索,在避免局部極小值問題的同時,引導(dǎo)直升機快速繞過障礙物后繼續(xù)向目標(biāo)點飛行.實驗結(jié)果表明,本文提出的方法能滿足復(fù)雜環(huán)境下的實時性要求并達到良好的航路規(guī)劃效果.
假設(shè)平面內(nèi)有n個障礙物,障礙物為任意多邊形,第j個障礙物可用區(qū)域Sj來表示:
其中該障礙物的邊界滿足:fj(x)=0,則定義函數(shù)pj(x)為
δ是一個極大的正值,稱為罰值系數(shù).則對該障礙物的外部區(qū)域fj(x)=0,并且在區(qū)域Sj的內(nèi)部pj(x)存在極大值.因此這樣的函數(shù)pj(x)滿足用于航路規(guī)劃的勢場函數(shù)的基本需求,可以很好的作為勢場函數(shù)的模型.
若把無人直升機看做一個質(zhì)點,則當(dāng)它通過含有N個障礙物的空間區(qū)域時,這N個障礙物可被表示為
則定義任意一點的斥力勢場函數(shù)P(x)為
P(x)為公式(2)定義的單個障礙物斥力勢場函數(shù)Pj(x)的累加,文獻[5]已經(jīng)證明,在非障礙物的區(qū)域內(nèi)P(x)不會出現(xiàn)局部極大值點(設(shè)為Pmax),Pmax僅可能出現(xiàn)在障礙物S區(qū)域內(nèi).
本文采用圓錐曲線函數(shù)
作為引力勢場函數(shù).其中η為小的常數(shù).xg為目標(biāo)點所在的位置,該引力勢場函數(shù)在點xg具有全局最小值.
斥力勢場函數(shù)和引力勢場函數(shù)的和提供了無人直升機飛行的空間區(qū)域勢場函數(shù),定義為U(x),則
公式(6)定義的勢場函數(shù)U(x)在無人直升機飛行的空間區(qū)域內(nèi)僅在目標(biāo)點xg處出現(xiàn)唯一的全局最小值,證明如下.
在空間區(qū)域中勢場函數(shù)U(x)的最速下降方向(負(fù)梯度方向)為
由于罰值系數(shù)δ的存在,各個障礙物的內(nèi)部是無人直升機無法到達的區(qū)域.若排除了各個障礙物內(nèi)部的所有點,在其他的區(qū)域中,公式(7)的第二項始終為零.當(dāng)且僅當(dāng)x=xg時,▽U(x)=0,即勢場函數(shù)U(x)僅在目標(biāo)點xg處存在全局最小值點.
在實際避障實驗中,由于本文把無人直升機看做一個質(zhì)點,且由公式(2)得知,直升機有可能沿著障礙物的邊界飛行而出現(xiàn)誤碰現(xiàn)象導(dǎo)致避障失敗.為了解決此問題,考慮直升機距離障礙物的安全距離Dmin,引入安全系數(shù)eλ,λ>0,相當(dāng)于把每個障礙物的邊界虛擬擴大化,從而有效地避免出現(xiàn)誤碰現(xiàn)象的發(fā)生.則最終的空間區(qū)域勢場函數(shù)U(x)為
圖1,圖2分別為空間區(qū)域存在兩個圓形障礙物時,按照公式(8)繪制的勢場及其等高線圖.可以看出任意一條勢場等高線都是以目標(biāo)點G為圓心,半徑為r的圓.下面將介紹按照勢場的下降方向進行航線路徑搜索的方法.
圖1 存在兩個圓形障礙物時的勢場
圖2 為兩圓形障礙物存在的勢場等高線圖
當(dāng)無人直升機飛行的空間區(qū)域不存在障礙物時,連接起始點S和目標(biāo)點G的線段即是最優(yōu)飛行路徑[6].路徑搜索方法是以理想線段LSG為直徑所代表的圓形區(qū)域為最大可行搜索域.圖2為存在兩個障礙物時的路徑搜索.在搜索過程中,首先均分起始點S和目標(biāo)點G間的線段LSG,并以起始點S和任意均分點之間的線段作為圓形區(qū)域的直徑,以該圓形區(qū)域為可行搜索域,搜索該區(qū)域內(nèi)的勢能最小值,記錄該值所在的位置.如果臨近搜索域所確定的臨近勢能最小值的位置發(fā)生較大變化,則記錄將要發(fā)生變化的點,并用該點代替最初的起始點S,開始新的循環(huán),具體操作如下:
(1)如圖3所示,將連接起始點S和目標(biāo)點G的直線段LSG均分為M段,則LSG上共有M+1個點(包含S和G點),設(shè)Ai為LSG上任意一點,Circle(AiG)是以Ai和G間的線段為直徑的圓形區(qū)域,則區(qū)域Circle(AiG)為全局搜索域.定義區(qū)域Circle(SAi)為第i次的搜索域.
(2)無障礙物存在時,在區(qū)域Circle(SAi)內(nèi)的勢能最小點必為點Ai.即無障礙物存在時,任一搜索域內(nèi)的勢能最小值點必然在該直線段LSG上.
(3)若存在障礙物,則障礙物附近局域勢能最小值點必然落在障礙物邊緣的空間區(qū)域上.
(4)若障礙物的頂點落在搜索區(qū)域內(nèi)時,臨近搜索域的局部勢能最小值的位置坐標(biāo)發(fā)生的變化超過規(guī)定的閾值ε時,記錄前一個最小值的位置坐標(biāo),設(shè)為As,以As為子起始點,且目標(biāo)點G不變,更新全局搜索域為Circle(AsG),重復(fù)進行該過程,找到所有的子起始點,直到局部最小值點為G點停止.如圖所示,所有的子起始點分別記為點1,2,3,4,5.
(5)連接S、一系列的子起始點(1,2,3,4,5)、G,得到的路徑就是所求搜索路徑.
圖3 航線路徑搜索方法
在圖3所示的航線路徑中,有的航線段間隔特別小(如航點3、4之間的航線段),這不利于直升機及時產(chǎn)生操作指令控制飛行姿態(tài).要求航路各點的間距滿足一定的距離限制,使直升機在每一段航路飛行時都有足夠的時間去響應(yīng)控制命令,因此對航路進行進一步的修正和調(diào)整.結(jié)合B樣條曲線具有C2連續(xù)性、局部性及B樣條曲線的曲率變化較均勻的特點[7-8],本文采用B樣條函數(shù)對航路進行曲線擬合.在擬合曲線上按照滿足航路點間距要求來修正并給定最終的航路點.
定義1對于正整數(shù)k,m(m≥k-1),T= {t0,t1,…,tm+k}為一個非遞減的參數(shù)序列,Ni,k,T(t)為定義在該參數(shù)序列T上的B樣條基函數(shù),則稱點集
為定義在參數(shù)序列T上的k階k-1次圓域B樣條曲線,其中
為圓域控制頂點.由圓域算術(shù)公式知[9],式(9)可表示為
其中c(t)= (x(t),y(t))和r(t)分別為中心B樣條曲線和半徑B樣條函數(shù).本文應(yīng)用三次圓域B樣條曲線對搜索航路進行平滑和修正.圖4所示是一條四階三次圓域B樣條曲線.
圖4 四階三次圓域B樣條曲線
以圖3為例,利用圓域B樣條曲線對該搜索航路進行修正,點1,2,3,4,5為該樣條曲線的控制頂點,則需要對點S,1,2,3,4,5,G所組成的折線LSG進行修正(修正后的路徑如圖5、圖6所示).
圖5 航路修正后的最終飛行路徑
圖6 利用圓域B樣條曲線進行軌跡平滑路徑圖
(1)設(shè)Di,i+1為相鄰兩控制頂點i,i+1間的航線段距離,D0為直升機能響應(yīng)控制命令的最短距離.D0可由直升機的一般飛行速度v0和響應(yīng)時間T0求出,D0=v0T0,若Di,i+1>D0,則該航線路徑無變化,若Di,i+1≤D0,則需對該航線段進行調(diào)整.
(2)Di,i+1≤D0時,如航線段D3,4,則沿控制頂點4延長航線段D4,5與航線段D2,3相交于點3*,記錄點3*的位置并判斷D2,3*>D0是否成立.若成立則取點3*為新的航路控制頂點,更新搜索航路為點S,1,2,3*,5,G所組成的折線段LSG*.若D2,3*≤D0,則重復(fù)該過程,找到與航線段D1,2的交點2*,并進行判斷.
(3)當(dāng)所有航線段Di,i+1修正完畢后,利用圓域B樣條曲線對修正后的航路進行軌跡曲線平滑,得到直升機飛行的最終路徑.
對于三次B樣條曲線,改動控制多邊形上一個頂點,只影響以該點為中心的鄰近總共4段曲線[10].在進行搜索航路修正的過程中,在保證其他控制頂點不變的前提下,重新修正后的航路可以與原來的部分光滑連接.因此在提高航路規(guī)劃可靠性的同時,不必進行全部航路的重新搜索,從而節(jié)省了時間.
本文構(gòu)建了新勢場函數(shù),按照勢場下降方向來搜索飛行航路,該方法簡單,計算速度快,實時性高.實驗表明采用圓域B樣條曲線修正航路較好地解決了修正部分的航路與原搜索航路的光滑連接問題,可使無人直升機滿足飛行條件的要求到達目標(biāo)點.該航路規(guī)劃方法為解決無人直升機飛行中的規(guī)避障礙物問題提供了較好的解決方案.
[1]張祺,楊宜民.基于改進人工勢場法的足球機器人避碰控制[J].機器人,2002(1):12-15.
[2]Mitchell J S B,Keirney D M.Planning strategic path through variable terrain data[C]//Proceedings of the Applications of Artificial Intelligence.USA:SPIE Press,1984:172-179.
[3]Khatib O.Real-time obstacle avoidnce for manipulators and mobile robots[J].The international Journal of Robotics Research,19865(1):90-98.
[4]黃炳強,曹廣益.基于人工勢場法的移動機器人路徑規(guī)劃研究[J].計算機工程與應(yīng)用,2006(27):26-28.
[5]Hwang Y K,Ahuja N.A potential field approach to path planning[J].IEEE Transactions on Robotics and Automation,1992,8(1):23-32.
[6]唐強,王建元,朱志強.基于粒子群優(yōu)化的三維突防航跡規(guī)劃仿真研究[J].系統(tǒng)仿真學(xué)報,2004,16(9):2033-2036.
[7]李棟,馮婷.基于B樣條的直升機航跡處理方法[J].航空計算技術(shù),2008,38(1):32-35.
[8]Boehm W.Inserting new knots into B-spline curve[J].Computer Aided Design,1980,12(4):199-201.
[9]Kevin B J,Timothy W M.Spline Based path planning for unmanned air vehicles[C]//AIAA Guidance,Navigation,and Control Conference and Exhibit.Montreal,Canada:AIAA,2001:4238.
[10]李棟,曹義華,蘇媛,等.基于改進蟻群算法的航跡規(guī)劃[J].北京航空航天大學(xué)學(xué)報,2006,32(3):258-262.