基于seeroavoved法則的蜂窩協(xié)同避障模型_第1頁
基于seeroavoved法則的蜂窩協(xié)同避障模型_第2頁
基于seeroavoved法則的蜂窩協(xié)同避障模型_第3頁
基于seeroavoved法則的蜂窩協(xié)同避障模型_第4頁
基于seeroavoved法則的蜂窩協(xié)同避障模型_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

基于seeroavoved法則的蜂窩協(xié)同避障模型

0研究問題的提出作為微電氣、通信和傳感器技術(shù)的結(jié)合,wsa傳感器網(wǎng)絡(luò)已成為計算機和通信領(lǐng)域的研究熱點。傳統(tǒng)的無線傳感器網(wǎng)絡(luò)主要采用固定的傳感節(jié)點收集數(shù)據(jù),無法滿足未來微型、高移動的應(yīng)用需求,也無法滿足某些需要移動節(jié)點的應(yīng)用,比如監(jiān)測野生動物的活動、追蹤病人的心跳情況等,節(jié)點總是處于不斷的運動中。因而通過增設(shè)一些功能更為強大且可移動的節(jié)點構(gòu)成的移動傳感網(wǎng)絡(luò)已成為當(dāng)前研究領(lǐng)域的一個熱點,并有著廣闊的應(yīng)用前景?;谝苿觽鞲衅骶W(wǎng)絡(luò)中節(jié)點的移動性,使其在目標(biāo)跟蹤方面得到廣泛應(yīng)用。在軍事、環(huán)境、醫(yī)療衛(wèi)生、智能家庭等方面有很大的潛在應(yīng)用價值,尤其在無人監(jiān)測或環(huán)境惡劣情況下的事件跟蹤中顯示了很大的優(yōu)勢。同時,在商業(yè)方面也呈現(xiàn)稱出很好的應(yīng)用前景,如辦公建筑的環(huán)境控制、汽車防盜等。用移動傳感器來跟蹤監(jiān)測移動目標(biāo)節(jié)點的一個主要難題在于這些用于跟蹤監(jiān)測的傳感器必須在移動監(jiān)測過程中無碰撞,這就要求我們采用群體協(xié)同控制方法。蜂擁控制方法是目前最熱點的協(xié)同跟蹤方法之一,蜂擁是如下的一種現(xiàn)象:眾多傳感器節(jié)點群體移動并相互通信的同時還確保無沖突、速度匹配以及向中心匯聚。然而在未知環(huán)境目標(biāo)跟蹤過程中,遇到一些不明障礙物是不可避免的,如何準(zhǔn)確高效地避開障礙物同時也成了跟蹤問題的一個關(guān)鍵所在。然而,在移動傳感器節(jié)點跟蹤的實際應(yīng)用中,節(jié)點所處的工作環(huán)境中,有時障礙物的形狀大小不一,不僅存在凸形障礙物,凹形障礙物也隨處可遇。由于凹形障礙存在各種巢穴,在目標(biāo)跟蹤過程中,移動節(jié)點群很容易陷入凹形巢穴,這樣嚴(yán)重影響跟蹤效率,甚至無法繼續(xù)保持跟蹤而脫離目標(biāo)。針對上述問題,本文從凹形障礙物的特點出發(fā),對避障中使用到的SteertoAvoid法則做出改進,提出一種新的避障模型。該模型在SteertoAvoid的避障過程中使節(jié)點能自行判斷自己所處的凹形障礙環(huán)境,取消目標(biāo)對節(jié)點群的引力,然后沿著障礙的邊緣不斷搜索,最終找到凹形障礙的出口,最后再恢復(fù)節(jié)點群朝向目標(biāo)的引力,使其適應(yīng)于凹形障礙的環(huán)境中。1基于虛擬者的避障控制在移動傳感器網(wǎng)絡(luò)目標(biāo)跟蹤問題的研究中,一個重要的研究內(nèi)容是如何讓群體達(dá)到協(xié)同,即在跟蹤過程中使節(jié)點間既不碰撞又不分離,且速度處于匹配狀態(tài)。在這個方面,蜂擁控制模型一直是研究的熱點,它具有眾多傳感器在一起移動并相互通信的同時且無沖突、速度匹配以及向中心匯聚的優(yōu)點。近年來,群體蜂擁控制理論在國內(nèi)外得到了廣泛研究。1986年,Reynolds提出了一個在三維空間上用計算機來模擬群體行為的模型——Reynolds模型,該模型包括基本規(guī)則:1)分離,與鄰域內(nèi)的節(jié)點避免相撞;2)聚合,與鄰域內(nèi)的節(jié)點保持緊湊;3)速度匹配,與鄰域內(nèi)的節(jié)點速度保持一致?;赗eynolds模型,Tanner等考慮了一組具有雙積分特性的群體系統(tǒng),實現(xiàn)了Reynolds模型中的三種行為規(guī)則。在文獻(xiàn)中主要考慮個體的鄰域始終保持不變的情況。文獻(xiàn)中則討論了個體的鄰域隨時間變化的狀況,也就是只有在個體一定范圍內(nèi)的節(jié)點才能對個體有作用,個體的輸入控制由這個鄰域內(nèi)的節(jié)點所決定。文獻(xiàn)的主要工作是將前面的結(jié)果推廣到有多個靜態(tài)障礙物的環(huán)境中。群體在到達(dá)目標(biāo)點的過程中協(xié)同避開障礙,并在某些情況下分成多個子組,到了目的點之后又重新聚合。文獻(xiàn)在Tanner模型的基礎(chǔ)上進一步加入了“虛擬領(lǐng)導(dǎo)者”的概念,可以將虛擬領(lǐng)導(dǎo)者看成一個新的控制輸入,它使群體能達(dá)到虛擬領(lǐng)導(dǎo)者所決定的速度,虛擬領(lǐng)導(dǎo)者也能夠避免群體的分裂。雖然蜂擁控制模型完成了群體的協(xié)同跟蹤,但群體在目標(biāo)跟蹤過程中需要避開障礙物,所選的避障方法直接影響了群體在空間中運動的好壞。目前較受關(guān)注的避障方法是虛擬力避障方法,其主要思想是當(dāng)節(jié)點運動過程中在自己的感應(yīng)范圍內(nèi)感應(yīng)到障礙時,作用一個與自己到障礙點方向相反的力于節(jié)點上,使得節(jié)點無法靠近障礙物。這個力當(dāng)節(jié)點靠近障礙時趨向于無窮大,這保證了節(jié)點不會和障礙物發(fā)生碰撞。虛擬力的模型建立非常方便,但由于虛擬力與個體自身的力所抵消,這只能達(dá)到減速的目的,而沒有采取積極措施進行轉(zhuǎn)向判斷,避障效率較低且可能陷入死局。與虛擬力避障法相比,Reynolds提到了SteertoAvoid的避障方法更具優(yōu)勢,這個避障方法有如下特點:1)個體只考慮在他前進方向上正對著的障礙物。2)在個體自身的坐標(biāo)系工作,檢測出障礙物離個體最近的邊緣。3)得出障礙邊緣的切線方向,作為個體轉(zhuǎn)向的依據(jù)。SteertoAvoid避障方法讓個體沿著障礙物的邊緣運動,能讓物體避開障礙物的效率得到很大的提高。以上簡單介紹了蜂擁控制模型和避障方法,那么針對在跟蹤過程中避開凹形障礙物的方法,相關(guān)學(xué)者也作了一些研究,目前主要方法有人工勢場法。勢場法是一種常見的機器人路徑規(guī)劃方法,其計算簡單、易于實現(xiàn),因而得到了廣泛的應(yīng)用。該方法通過在運動空間中引入一種虛擬受力場控制機器人的運動:目標(biāo)點產(chǎn)生引力勢場,障礙物則產(chǎn)生斥力勢場,在合勢場的作用下,若節(jié)點沿著勢場的負(fù)梯度方向運動,將進入凹形障礙物內(nèi)部,從而困于局部極小點而無法到達(dá)目標(biāo)。針對上述存在的缺陷,人們在尋找沒有局部極小點的勢場方面,做了很多有益的嘗試:文獻(xiàn)提出了基于導(dǎo)航的人工勢場中關(guān)于局部最小恢復(fù)的虛擬障礙概念,它把基于勢場的方法與虛擬障礙概念結(jié)合起來,在具有凹形障礙的環(huán)境下,有效地克服了局部極小等問題;但由于研究工作不足,設(shè)置虛擬障礙物大都是啟發(fā)式的,缺乏嚴(yán)格的分析,算法驗證也往往只基于仿真結(jié)果。文獻(xiàn)提出了進化人工勢場法,它把遺傳算法與人工勢場法結(jié)合,推導(dǎo)出具有可調(diào)參數(shù)的最優(yōu)勢場函數(shù),但由于計算量過大,導(dǎo)致不適合于實時應(yīng)用。另外,在人工勢場法基礎(chǔ)上加入如最佳優(yōu)先、模擬退火、隨即搜索等搜索策略,尋找勢場值比當(dāng)前局部極小點更低的逃離點,然后繼續(xù)沿著勢場負(fù)梯度方法運動直到到達(dá)目標(biāo)點或下一個局部極小點;但在缺少啟發(fā)信息的情況下,搜索方法的效率可能很低。因此,在凹形障礙環(huán)境中應(yīng)用人工勢場法進行避障時,常常以失敗告終。目前對協(xié)同避障模型只是局限于障礙物為凸形的情況,但是在實際的情況中,障礙物的形狀是無法預(yù)知的,現(xiàn)有協(xié)同避障模型雖然在凸形障礙物環(huán)境下有著較好的避障效率,但SteertoAvoid的判斷是指向目標(biāo)的,在這個封閉的空間里,節(jié)點群會做出多次SteertoAvoid轉(zhuǎn)向判斷。再加上目標(biāo)對節(jié)點的引力,節(jié)點群的平均速率將會不斷下降,導(dǎo)致了節(jié)點群陷入了無法繞出障礙的僵局。針對基于凹形障礙物跟蹤避障,在Tanner蜂擁模型與SteertoAvoid法則基礎(chǔ)上進行改進,提出了一個基于凹形障礙物的協(xié)同避障方法。在此方法中,將協(xié)同避障模型引入凹形障礙的環(huán)境中,對現(xiàn)有的模型做出適當(dāng)?shù)母倪M,在SteertoAvoid的避障過程中取消目標(biāo)對節(jié)點群的引力,讓節(jié)點群在進入凹形后能自行地做出判斷并沿著障礙物的邊緣不斷搜索路徑,最終找到凹形障礙的出口,最后再恢復(fù)節(jié)點群朝向目標(biāo)的引力,保持繼續(xù)跟蹤。2合作避障法的改進模型2.1節(jié)點群的變化和速度匹配在一個平面內(nèi)有N個自治系統(tǒng),每個自治系統(tǒng)沒有大小(看成點)且質(zhì)量為1。每個自治系統(tǒng)都裝有傳感器,所以可以把每個自治系統(tǒng)看成一個傳感器節(jié)點,感應(yīng)其他自治系統(tǒng)在平面中的位置、速度等信息,并假設(shè)感應(yīng)角度為360°,感應(yīng)范圍為圓形。節(jié)點i的運動滿足下面的兩個方程:{?ri=vi?vi=ui(1){ri?=vivi?=ui(1)其中,i=1,2,…,N。ri=(xi,yi)T是節(jié)點i的位置向量,vi=(˙xi,˙yi)Τvi=(x˙i,y˙i)T是節(jié)點i的速度向量,且節(jié)點i的速度與全局水平坐標(biāo)軸的夾角定義為tanθi=˙xi/˙yi?ui=(¨xi,¨yi)Τ是節(jié)點的控制輸入(加速度)。rij=ri-rj定義為節(jié)點i與節(jié)點j之間的距離??梢园芽刂戚斎攵x為:ui=αi+βi+γi(2)其中:αi是速度匹配項,來實現(xiàn)Reynolds模型中的速度匹配的目標(biāo);βi是協(xié)同項,主要完成節(jié)點之間的碰撞避免和聚集,實現(xiàn)了Reynolds模型中的前兩個目標(biāo);γi是虛擬領(lǐng)導(dǎo)項,在運動的過程中能夠產(chǎn)生一個遠(yuǎn)離障礙的斥力,避免節(jié)點與障礙之間的碰撞,同時使節(jié)點朝著預(yù)先給定的終點rd=(xd,yd)T運動。筆者曾對協(xié)同避障模型做了研究,改進了Tanner的協(xié)同避障模型。文獻(xiàn)中只研究了障礙物是靜止正方形的情況,文獻(xiàn)將協(xié)同避障的模型推廣到了移動障礙物的環(huán)境下。但是在實際的情況中,障礙物的形狀是無法預(yù)知的,改進的模型雖然在凸形的靜止或移動的障礙物環(huán)境下有著較好的避障效率,但在凹形障礙的環(huán)境下卻會陷入僵局,節(jié)點群會卡在凹形障礙中。本文將協(xié)同避障模型引入凹形障礙的環(huán)境中,對現(xiàn)有的模型做出適當(dāng)?shù)母倪M,讓節(jié)點群在進入凹形后能自行地做出判斷并沿著障礙物的邊緣不斷搜索路徑,最終繞出障礙到達(dá)目標(biāo)。2.2節(jié)點的虛擬領(lǐng)導(dǎo)控制鄰域(感應(yīng)范圍):由于節(jié)點只能和自己鄰近的節(jié)點通信,控制輸入也主要通過這些信息獲得。令Ni為節(jié)點i的鄰域中的節(jié)點集(不包括i本身)。Ni?{j︱‖rij‖≤R}?{1,2,…,N}(3)其中R是節(jié)點的感應(yīng)半徑。由于節(jié)點是運動的,每個節(jié)點之間的距離是不斷變化的,這導(dǎo)致了每個節(jié)點的鄰域也是不斷變化的。速度匹配項αi:目標(biāo)是使節(jié)點i與鄰域內(nèi)其他節(jié)點的速度不斷接近,直到所有節(jié)點速度相等。節(jié)點i和其鄰域內(nèi)所有速度向量相減,然后將這些差值疊加,得到一個綜合的控制輸入:αi=-∑j?Νi(vi-vj)(4)協(xié)同項βi:該控制輸入的作用是使節(jié)點間距離太近時避免碰撞(斥力),節(jié)點間距離太遠(yuǎn)時又相互吸引(引力),超出感應(yīng)半徑R后不存在任何力的作用。鄰域內(nèi)的所有節(jié)點對節(jié)點i造成的控制輸入的總和構(gòu)成了控制輸入βi。令i的鄰域內(nèi)的j節(jié)點對i節(jié)點造成的避障聚合控制輸入為Vij??啥xVij為:Vij={(rij-r)n,0<∥rij∥≤R0,∥rij∥>R(5)其中n=1,3,5,…,2k+1。在這一項的作用下,節(jié)點和節(jié)點間的距離會趨向于一個穩(wěn)定值r。n為一個正的奇數(shù),可以根據(jù)實際情況來設(shè)置。則可以得到協(xié)同項βi為:βi=-Ν∑j=1,j≠iVij(6)虛擬領(lǐng)導(dǎo)項γi:該項保證節(jié)點在避開障礙的情況下同時朝著預(yù)先給定的目標(biāo)點運動。對于節(jié)點的運動分情況討論:當(dāng)節(jié)點在自己的感應(yīng)范圍內(nèi)檢測不到障礙物時,該項提供一個恒定的朝向目標(biāo)的引力Ui=Ud,使節(jié)點能夠朝著目標(biāo)運動。但是節(jié)點的速度不能無限地增加,會增加碰撞障礙的幾率。當(dāng)節(jié)點速度到達(dá)某個最大值時vmax,取消這一項的作用,當(dāng)節(jié)點離目標(biāo)非常近后‖rid‖<rmin,也取消這個引力,讓節(jié)點能在目標(biāo)處停下來;當(dāng)在感應(yīng)范圍內(nèi)檢測到障礙物時,先取消這個引力,取障礙物離節(jié)點最近的一點ro,施加一個與節(jié)點連線方向上的斥力Ui:Ui=-Uo/(‖rio‖)m(7)其中:Uo為一個恒值,m是一個正整數(shù)(按實際情況設(shè)置)。當(dāng)節(jié)點與障礙離得非常近時,該項提供一個非常大的斥力,則節(jié)點的虛擬領(lǐng)導(dǎo)控制輸入γi=Ui。綜上所述,節(jié)點i總的控制輸入ui可以確定為:ui={-∑j?Νi(vi-vj)-∑j?ΝiVij-Ui-kvi,∥rid∥<rmin-∑j?Νi(vi-vj)-∑j?ΝiVij-Ui,其他(8)其中:當(dāng)節(jié)點與目標(biāo)點的距離小于一個定值以后,可以看作節(jié)點已經(jīng)到達(dá)目標(biāo),這時節(jié)點的速度應(yīng)該下降,最終能在目標(biāo)旁停止下來。所以當(dāng)‖rid‖<rmin時,為ui添加阻尼項-kvi。Tanner的模型雖然實現(xiàn)了Reynolds的蜂擁控制模型,但是其在避障上的缺陷還比較大,需要引入一種有效的避障方法。SteertoAvoid的避障方法能讓節(jié)點在遇到障礙后沿著障礙的切線方向運動,明顯提高了避障的效率。將SteertoAvoid算法運用到避障中,在傳感器節(jié)點檢測到障礙的同時,計算節(jié)點速度方向直線與障礙邊緣的交點的切線,作為節(jié)點轉(zhuǎn)向的依據(jù)。切線是有兩個方向的,必須要選擇其中一個方向來轉(zhuǎn)向??梢韵热我膺x擇一個方向,角度記為σi(角度的大小都是相對于水平方向的)。將節(jié)點與目標(biāo)點相連接,這條直線的角度記為ξi,這條直線勢必與該切線相交。ξi=arctan((yi-yd)/(xi-xd))(9)由于切線方向為轉(zhuǎn)向后的速度方向,在選擇節(jié)點的轉(zhuǎn)向的方向時,需要選擇能盡快到達(dá)目標(biāo)的方向。若當(dāng)前選擇的方向σi假定為轉(zhuǎn)向后的速度方向,將該速度投影到節(jié)點i與目標(biāo)的連線上,可以得到一個朝向目標(biāo)的速度分量。將以上兩條直線的角度相減,若得到的結(jié)果小于等于π/2時,該投影的速度分量是指向目標(biāo)的,也就是速度方向是趨向于接近目標(biāo)的,所以取σi為轉(zhuǎn)向方向。如果兩個角度相減得結(jié)果為鈍角,則將σi減去π,然后將其作為轉(zhuǎn)向角度。最后得到的轉(zhuǎn)向角記為φi。如圖2所示。φi的選擇可以描述為:φi={σi,|σi-ξi|≤π/2σi-π,其他(10)在遇到障礙物的情況下,速度要能很快地改變?yōu)榍芯€方向,否則可能因為速度太大而撞上障礙。所以,在障礙物下的SteertoAvoid避障方法的速度改變應(yīng)該是瞬時的,速度方向瞬間從θi改變?yōu)棣読??梢园裇teertoAvoid引入節(jié)點的跟蹤過程中。在沒有檢測到障礙物的情況下,現(xiàn)在的模型只單獨使用一個朝向目標(biāo)的控制輸入來吸引節(jié)點朝目標(biāo)運動,速度方向的變化非常緩慢,使得追蹤目標(biāo)的效率明顯下降。這里,將SteertoAvoid的避障方法同樣引入節(jié)點的跟蹤過程中,使得節(jié)點能夠更快,走更優(yōu)化路徑到達(dá)目標(biāo)點。當(dāng)節(jié)點在感應(yīng)范圍內(nèi)檢測不到障礙時(障礙的最近點在感應(yīng)范圍之外),節(jié)點會以自身與目標(biāo)點的連線方向作為轉(zhuǎn)向的方向。記為ηi。在跟蹤目標(biāo)的SteertoAvoid中,速度應(yīng)該平滑地改變。這里定義一個恒定的角速度ω,速度方向以角速ω從θi平滑地轉(zhuǎn)變?yōu)棣莍。這一個轉(zhuǎn)向法則和虛擬領(lǐng)導(dǎo)控制項共同作用于節(jié)點,使得節(jié)點能更優(yōu)化地朝著目標(biāo)運動。將SteertoAvoid的法則加入?yún)f(xié)同避障模型中,使得節(jié)點群在避開障礙和追蹤節(jié)點中的效率明顯提高。另外,在避障的過程中,可能會有某些節(jié)點自身沒有檢測到障礙物,此時該節(jié)點的轉(zhuǎn)向角度為null,但其鄰域內(nèi)已經(jīng)有節(jié)點做出了轉(zhuǎn)向的決定,那么該節(jié)點可以根據(jù)鄰域內(nèi)其他節(jié)點的轉(zhuǎn)向角做出轉(zhuǎn)向的決定。這可以在沒有遇到障礙前就做出轉(zhuǎn)向的決定,進一步提高了群體轉(zhuǎn)向的效率。節(jié)點在做出轉(zhuǎn)向的決定前,首先要看自己是否能檢測到障礙物,如果能檢測到障礙物并能根據(jù)SteertoAvoid避障方法來計算出轉(zhuǎn)向角,則忽略鄰域內(nèi)其他節(jié)點的轉(zhuǎn)向。若節(jié)點不能檢測到障礙物,則檢查鄰域內(nèi)所有節(jié)點的轉(zhuǎn)向角,并求出所有轉(zhuǎn)向角的平均角度,將該角度作為節(jié)點的轉(zhuǎn)向角。可以描述為:φi=∑j∈Νiφj/n;j∈Ni,φi=null,φj≠null(11)其中鄰域內(nèi)有n個節(jié)點的轉(zhuǎn)向角度不為null?,F(xiàn)有的模型在改進Tanner的協(xié)同避障模型的基礎(chǔ)上加入SteertoAvoid的避障和追蹤目標(biāo)點的法則,能夠避開環(huán)境中的凸形障礙物,且保證了一個較高的避障效率。但是在實際環(huán)境中,傳感器節(jié)點群的運動環(huán)境總是很復(fù)雜的,不僅僅存在著靜止或者移動的凸形障礙,同樣存在著各種凹形障礙?,F(xiàn)有的模型在遇到凹形障礙時,由于節(jié)點群感應(yīng)范圍的限制,一開始并不能檢測出凹形障礙并做出轉(zhuǎn)向判斷。以下的改進從凹形障礙物的特點出發(fā),在SteertoAvoid的避障過程中取消目標(biāo)對節(jié)點群的引力,然后沿著障礙的邊緣不斷搜索,最終找到凹形障礙的出口,最后再恢復(fù)節(jié)點群朝向目標(biāo)的引力。如同2.2節(jié)中提到的,節(jié)點群是沒辦法在走入凹形障礙之前做出轉(zhuǎn)向判斷的。如圖4所示,在節(jié)點群看來,前方并沒有任何障礙,節(jié)點群會不知情地走入凹形障礙之中。在檢測到障礙之后,節(jié)點仍然使用SteertoAvoid避障法則來避開障礙,根據(jù)前面的模型,SteertoAvoid的判斷是指向目標(biāo)的,在這個封閉的空間里,節(jié)點群會做出多次SteertoAvoid轉(zhuǎn)向判斷。再加上目標(biāo)對節(jié)點的引力,節(jié)點群的平均速率將會不斷下降,導(dǎo)致了節(jié)點群陷入了無法繞出障礙的僵局。針對這種缺陷,我們要對前文提出來的模型加以改進。當(dāng)節(jié)點群遇到一個障礙物時,局部的信息并不能讓節(jié)點群做出最優(yōu)的判斷。不論是凹形還是凸形的障礙,第一次的SteertoAvoid避障判斷對于節(jié)點群來講,都是一樣的。對于凸形的障礙,朝向目標(biāo)的牽引力在SteertoAvoid避障的過程中能使節(jié)點緊貼在障礙旁邊而不至于被障礙彈開(彈開后,節(jié)點群檢測不到障礙物,運動會恢復(fù)到導(dǎo)向的SteertoAvoid);對于凹形障礙,朝向目標(biāo)的牽引力會干擾節(jié)點群之后的路徑搜索。所以,在節(jié)點SteertoAvoid避障的過程中,取消這個對目標(biāo)的吸引力。為了保證節(jié)點群不會被障礙彈開,增加一個朝向障礙的引力Ui′:Ui′={Uo′∥rio∥,0<∥rio∥≤R0,∥rio∥>R(12)其中:Uo′是一個定值,根據(jù)實際情況設(shè)置。rio是障礙O上離節(jié)點i最近的點距離,這一項和式(7)共同作用在節(jié)點避障的過程中,保證了節(jié)點能夠沿著障礙的邊緣運動,并能在感應(yīng)范圍中檢測到障礙物。雖然節(jié)點群能組成一個較大的感應(yīng)范圍,但是畢竟節(jié)點群也只能接收到障礙物的局部信息。所以,在SteertoAvoid判斷之后,要能使節(jié)點沿著障礙的邊緣尋找路徑,而不被目標(biāo)影響。上文在SteertoAvoid避障判斷的過程中,節(jié)點首先計算出切線的兩個方向,然后按照與節(jié)點目標(biāo)連線較小的夾角較小的方向來進行轉(zhuǎn)向,這種方法在凸形障礙的環(huán)境下有著較好的避障效果。但是,當(dāng)節(jié)點群進入凹形障礙以后,仍然使用這種指向目標(biāo)優(yōu)先的方法就會使節(jié)點陷入凹形之中無法脫身。這里對避障中使用到的SteertoAvoid法則做出改進,使其適應(yīng)于凹形障礙的環(huán)境中,沿著障礙的邊緣搜索,并最終繞出障礙。在SteertoAvoid避障法則得到兩個切線的角度時(式(10)中為σi與σi-π),此時要選擇一個切線方向來避開障礙,根據(jù)節(jié)點能夠感應(yīng)到的障礙的局部信息,可以分為以下3種情況。1條線是否與感應(yīng)范圍內(nèi)的障礙有點基本概念由于切線在感應(yīng)范圍的邊緣,無法方便節(jié)點得到局部信息,這里將切線平移到節(jié)點i和切點o的中點處,來檢測這條線是否與感應(yīng)范圍內(nèi)的障礙有交點。如圖5所示,由于節(jié)點在此時沒有辦法判斷這個障礙物是否為凹形,仍然使用式(10)的優(yōu)先目標(biāo)方向的SteertoAvoid避障法則??梢杂檬?13)得到這條切線l的方程,其中yo、xo是速度方向與障礙的切點坐標(biāo):Y-(yi-yo)2=σi(X-(xi-xo)2)(13)2不走重復(fù)路徑如圖6所示,節(jié)點就能夠判斷自己是處在了凹形障礙之中了。為了不走重復(fù)路徑,并讓節(jié)點繼續(xù)沿著障礙邊緣的搜索,忽略節(jié)點指向目標(biāo)的SteertoAvoid判斷。這里切線l與感應(yīng)范圍內(nèi)的障礙邊緣只有一個交點,選擇前方?jīng)]有障礙物的切線方向轉(zhuǎn)向。3節(jié)點的指向目標(biāo)引力如圖7所示,不論節(jié)點選擇哪個方向都不能繞開障礙。同樣忽略指向目標(biāo)的SteertoAvoid判斷。這里切線l與感應(yīng)范圍內(nèi)的障礙物邊緣有兩個交點。此時將節(jié)點的速度反向,使節(jié)點退出凹形障礙。最終的轉(zhuǎn)向方向φi可以描述為:φi={σi,切線l僅在σi-π方向與障礙邊緣相交或切線l與障礙邊緣無交點且|σi-ξi|≤π/2σi-π,切線l僅在σi方向與障礙邊緣相交或切線l與障礙邊緣無交點且|σi-ξi|>π/2θi-π,切線l與障礙邊緣有兩個交點(14)其中θi是節(jié)點在SteertoAvoid前的速度方向。在最后確定了節(jié)點的轉(zhuǎn)向角度后,可以根據(jù)式(15)將速度向量改變?yōu)?{vx=cosφi√(v2x+v2y)vy=sinφi√(v2x+v2y)(15)通過以上的方法,節(jié)點能通過改進的SteertoAvoid避障方法不斷沿著凹形障礙的邊緣來搜索出路。而相互作用的障礙物的斥力和引力能讓節(jié)點貼著障礙的邊緣運動。當(dāng)節(jié)點走出了凹形障礙時(節(jié)點檢測不到障礙物),為了不讓節(jié)點再次陷入凹形障礙,記錄離開障礙前最后一刻的Ui′的大小和方向,讓其再作用一個Δt的時間,使節(jié)點徹底走出障礙,Δt與節(jié)點的速度有關(guān),可以描述為:Δti=T/|vi|(16)其中T為定值,根據(jù)實際情況設(shè)置。當(dāng)節(jié)點速度快時,Ui′維持較短的時間;當(dāng)節(jié)點速度慢,Ui′維持較長的時間。在最終繞開凹形障礙后(Δt時間后),恢復(fù)節(jié)點的朝向目標(biāo)的引力,使用導(dǎo)向中的SteertoAvoid法則繼續(xù)追蹤目標(biāo)。通過以上的模型,傳感器節(jié)點群能夠組成一個穩(wěn)定的群體朝著目標(biāo)運動。運動中有一個持續(xù)朝著目標(biāo)的引力,同時使用了轉(zhuǎn)向中的SteertoAvoid來導(dǎo)航節(jié)點群。運動中碰到障礙物時,取消朝向目標(biāo)的引力,通過SteertoAvoid避障方法讓節(jié)點沿著障礙物切線的方向運動,提高避障效率。而當(dāng)切線方向也檢測到障礙時,節(jié)點就能判斷自己已經(jīng)陷入了凹形障礙,節(jié)點能將自己的速度調(diào)整到一個合理的方向上,沿著障礙的邊緣搜索出口,并最終繞出凹形的障礙。3節(jié)點群目標(biāo)的距離變化第2章描述了針對凹形障礙的協(xié)同避障模型,仿真實驗將對該模型在凹形障礙下的應(yīng)用進行模擬,驗證模型的有效性和穩(wěn)定性。并對Tanner的蜂擁控制模型和筆者曾提出的協(xié)同避障模型進行對比分析。仿真的檢測范圍為橫軸1800、縱軸900的長方形區(qū)域。在橫軸0到100,縱軸450到550的范圍內(nèi)初始10個傳感器節(jié)點。所有節(jié)點的初始速度大小方向為任意值,初始控制輸入為零。環(huán)境中設(shè)置一個凹形的線形障礙,由三根線段(x=1000,300≤y≤700;y=300,600≤x≤1000;y=700,600≤x≤1000)組成。目標(biāo)點的坐標(biāo)為[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]。環(huán)境中的傳感器節(jié)點群會協(xié)同地朝著目標(biāo)前進,并嘗試避開環(huán)境中的凹形障礙物。本文用以下的幾個指標(biāo)來衡量協(xié)同避障模型在凹形障礙環(huán)境下的優(yōu)劣:1)是否可以繞出凹形障礙:所使用的模型必須要能繞出凹形障礙,從而達(dá)到目標(biāo)追蹤的目的。2)節(jié)點群的平均速率變化曲線:速率變化曲線清晰地記錄了節(jié)點群在運動過程中的速率變化情況,可以用來衡量模型的避障效率。3)到達(dá)目標(biāo)所需的時間:若點群最終能夠到達(dá)目標(biāo),所用時間較短的模型較優(yōu)。4)節(jié)點與目標(biāo)的平均距離變化:該曲線能夠判斷節(jié)點群是否朝向目標(biāo)運動,最終是否能夠到達(dá)目標(biāo)。在使用Tanner的蜂擁控制模型來避開凹形障礙時,可以得到如圖8所示的仿真圖像。從圖8可以看到,Tanner的蜂擁控制模型在節(jié)點群碰到障礙時只給節(jié)點施加了一個斥力,使節(jié)點群從障礙旁彈開。節(jié)點群在凹形障礙內(nèi)經(jīng)過了右邊緣和下邊緣的兩次反彈,最后離開了凹形障礙。彈開后使節(jié)點速度方向再次朝向目標(biāo)點是需要一個過程的,而且很可能再次進入凹形障礙中,這樣使節(jié)點群的目標(biāo)追蹤陷入了死循環(huán),永遠(yuǎn)無法到達(dá)目標(biāo)點。節(jié)點群在運動中的速率變化如圖9所示,圖中橫軸表示的是節(jié)點運動的時間,縱軸表示的是10個節(jié)點的平均速率??梢钥吹皆谡系K彈開節(jié)點的過程中的速率損耗較大,而使速度方向再次朝向目標(biāo)也需要大幅度地減速,在150s后節(jié)點群仍然沒有到達(dá)目標(biāo)。筆者曾經(jīng)對Tanner的模型做出了改進,加入了SteertoAvoid轉(zhuǎn)向判斷,且能在凸型障礙中保證較高的避障效率。將該模型應(yīng)用到凹形障礙的環(huán)境中,可以得到的仿真圖像如圖10所示。從SteertoAvoid的模型得出,所有轉(zhuǎn)向的判斷都是優(yōu)先于目標(biāo)的點方向的。進入障礙后,節(jié)點群會做出多次轉(zhuǎn)向判斷,但是每一次的判斷都不能讓節(jié)點群繞開障礙,節(jié)點最終陷入了僵局。節(jié)點群在運動中的速率變化如圖11所示,可以看到節(jié)點群在障礙中不斷地做出轉(zhuǎn)向判斷,卻無法繞出凹形障

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論