劉超越,王 冠,夏紅偉,馬廣程,馬廣生,王常虹
(哈爾濱工業(yè)大學(xué),哈爾濱 150080)
傳統(tǒng)定位和跟蹤應(yīng)用如雷達(dá)和全球定位系統(tǒng)(Global Positioning System,GPS),受到天氣和地域的限制,無(wú)法適應(yīng)水下、室內(nèi)和地下等應(yīng)用場(chǎng)合。因此,利用其他的信號(hào)源進(jìn)行定位的研究應(yīng)運(yùn)而生。
在一些特殊的應(yīng)用領(lǐng)域,基于磁信標(biāo)定位方法具有其他定位導(dǎo)航方式無(wú)法取代的重要地位。低頻準(zhǔn)靜態(tài)磁場(chǎng)可穿透土壤、巖石、海水、建筑物和許多其他類(lèi)型的介質(zhì),不受惡劣的天氣條件或晝夜變化的直接影響,在許多室內(nèi)和室外的應(yīng)用十分方便。準(zhǔn)靜態(tài)磁場(chǎng)的應(yīng)用包括定位、通信、磁場(chǎng)監(jiān)測(cè)、地震預(yù)測(cè)研究等等。特別是相對(duì)于傳統(tǒng)定位和跟蹤應(yīng)用需要視線(xiàn)來(lái)進(jìn)行有效的操作,如聲納和雷達(dá)。而低頻磁信標(biāo)定位則不需要視線(xiàn)來(lái)進(jìn)行操作,所以在許多室內(nèi)和室外的應(yīng)用十分方便。例如許多救援行動(dòng)同樣應(yīng)用了低頻磁場(chǎng),對(duì)被困礦工進(jìn)行定位。在上述的應(yīng)用中需要多點(diǎn)測(cè)量,在某些情況下是無(wú)法實(shí)現(xiàn)的。它們可以被歸類(lèi)為地下位置的定位方法。
2010年,美國(guó) Dr. Clay Davis 等仿照 GPS 定位原理,利用3個(gè)以上的磁信標(biāo),通過(guò)計(jì)算目標(biāo)點(diǎn)與3個(gè)磁信號(hào)源的相對(duì)位置關(guān)系,根據(jù)提前布置的信號(hào)源位置,得到目標(biāo)的絕對(duì)位置坐標(biāo),并利用卡爾曼濾波技術(shù)進(jìn)行優(yōu)化。這種方法提供了一種新的利用交變磁場(chǎng)定位的思路,但其研究中沒(méi)有給出具體解算步驟以及誤差方程[1]。
M Diaz-Aguiló等研制了一種利用4個(gè)磁線(xiàn)圈構(gòu)成磁信標(biāo)定位的系統(tǒng),應(yīng)用神經(jīng)網(wǎng)絡(luò)算法,對(duì)所測(cè)量的磁場(chǎng)大小進(jìn)行一定時(shí)間的訓(xùn)練,最后通過(guò)估計(jì)得出最終目標(biāo)位置[2-3]。
這些方法已經(jīng)通過(guò)大量的計(jì)算機(jī)模擬測(cè)試,定位結(jié)果十分精確。仿真結(jié)果可以預(yù)測(cè)定位精度信標(biāo)偏差、傳感器偏差、接收機(jī)仰角、測(cè)量噪聲等。開(kāi)發(fā)了一套系統(tǒng)原型,包括磁信標(biāo)和要被定位的接收機(jī)。在實(shí)際條件下進(jìn)行實(shí)驗(yàn),驗(yàn)證了仿真結(jié)果,并保證了模型的有效性。所提出的方法因精確的結(jié)果和簡(jiǎn)單的實(shí)現(xiàn)對(duì)許多實(shí)時(shí)領(lǐng)域的應(yīng)用具有很強(qiáng)的吸引力。
目前,無(wú)論是航空領(lǐng)域、軍事領(lǐng)域還是民生方面,利用低頻交變磁信號(hào)建立磁信標(biāo)進(jìn)行定位的方法都存在著廣泛的應(yīng)用前景,因此基于磁信標(biāo)定位定向系統(tǒng)逐漸受到更多研究者的重視。
本文提出的基于螢火蟲(chóng)算法的磁信標(biāo)自主定位方法就是一種基于低頻準(zhǔn)靜態(tài)磁場(chǎng)的定位方法。通過(guò)應(yīng)用螢火蟲(chóng)算法對(duì)標(biāo)準(zhǔn)磁場(chǎng)信息進(jìn)行匹配,進(jìn)而得到相關(guān)的位置信息。
磁信標(biāo)定位是基于畢奧-薩伐爾定律,該定律揭示了空間位置、電流大小和磁場(chǎng)強(qiáng)度之間的關(guān)系。下面先給出畢奧-薩伐爾定律的基本內(nèi)容。
畢奧-薩伐爾定律:載流導(dǎo)線(xiàn)上的電流元Idl在真空中某點(diǎn)P的磁感度dB的大小與電流元Idl的大小成正比,與電流元Idl和從電流元到P點(diǎn)的位矢r之間的夾角θ的正弦成正比,與位矢r的大小的平方成反比。
畢奧-薩伐爾定律揭示了磁場(chǎng)與空間位置的關(guān)系,因此利用這一定律,可以通過(guò)測(cè)量磁場(chǎng)的大小確定空間的位置。
分別將2個(gè)通入不同頻率正弦電流的磁信標(biāo)放置在原點(diǎn)和(0,-R)處,信標(biāo)的空間分布如圖1所示。
每個(gè)磁信標(biāo)的磁矩方向平行x軸,這樣在二維平面內(nèi)將會(huì)產(chǎn)生一個(gè)磁場(chǎng),該磁場(chǎng)由2個(gè)線(xiàn)圈產(chǎn)生的獨(dú)立磁場(chǎng)矢量和組成。每個(gè)線(xiàn)圈在此時(shí)產(chǎn)生的磁場(chǎng)強(qiáng)度公式如下:
(1)
(2)
H=H1+H2
(3)
其中,M為每個(gè)線(xiàn)圈的磁矩大小,r1為磁通門(mén)傳感器距離信標(biāo)1的距離,r2為磁通門(mén)傳感器距離信標(biāo)2的距離。由于線(xiàn)圈的磁矩是平行x軸的,故可以將矢量式轉(zhuǎn)換成標(biāo)量式。
信標(biāo)1和信標(biāo)2在空間中均根據(jù)式(1)產(chǎn)生相應(yīng)的磁場(chǎng),兩者的磁場(chǎng)強(qiáng)度相互疊加就可以得到總的磁場(chǎng)強(qiáng)度。此時(shí),每一個(gè)空間位置都對(duì)應(yīng)了一個(gè)相應(yīng)的磁場(chǎng)強(qiáng)度。
根據(jù)上式確定的標(biāo)準(zhǔn)磁場(chǎng)信息的兩軸分量與磁通門(mén)傳感器測(cè)量到的磁場(chǎng)強(qiáng)度信息進(jìn)行匹配,就可以確定磁通門(mén)傳感器的位置信息。
螢火蟲(chóng)算法(Firefly Algorithm)源于模擬自然界螢火蟲(chóng)在晚上的群聚活動(dòng)的自然現(xiàn)象而提出。一般來(lái)說(shuō),熒光素越亮的螢火蟲(chóng)其號(hào)召力也就越強(qiáng),最終會(huì)出現(xiàn)很多螢火蟲(chóng)聚集在一些熒光素較亮的螢火蟲(chóng)周?chē)T谌斯の灮鹣x(chóng)群優(yōu)化算法中,每只螢火蟲(chóng)被視為解空間的一個(gè)解,螢火蟲(chóng)種群作為初始解隨機(jī)地分布在搜索空間中,然后根據(jù)自然界螢火蟲(chóng)的移動(dòng)方式進(jìn)行解空間中每只螢火蟲(chóng)的移動(dòng)。通過(guò)每一代的移動(dòng),最終使得螢火蟲(chóng)聚集到較好的螢火蟲(chóng)周?chē)?,也就是找到多個(gè)極值點(diǎn),從而達(dá)到種群尋優(yōu)的目的。
由上文可知,光強(qiáng)度與2個(gè)量有著密切的關(guān)系:距離與介質(zhì)對(duì)光的吸收系數(shù)。為了表示螢火蟲(chóng)之間的吸引力,需要定義螢火蟲(chóng)的相對(duì)亮度與絕對(duì)亮度的概念。
絕對(duì)亮度:對(duì)于螢火蟲(chóng)i,初始光強(qiáng)度(r=0處的光強(qiáng)度)定義為螢火蟲(chóng)i的絕對(duì)亮度,記作Ii。
相對(duì)亮度:螢火蟲(chóng)i在螢火蟲(chóng)j位置上的光強(qiáng)度定義為螢火蟲(chóng)i對(duì)j的相對(duì)亮度,記作Iij。
螢火蟲(chóng)算法的中心思想在于螢火蟲(chóng)被吸引向其所處的種群中的亮度大于它的螢火蟲(chóng)移動(dòng),并根據(jù)螢火蟲(chóng)算法的位置更新公式進(jìn)行位置更新,直到達(dá)到設(shè)定的尋優(yōu)精度或者達(dá)到指定迭代次數(shù)。
將螢火蟲(chóng)算法與實(shí)際螢火蟲(chóng)運(yùn)動(dòng)規(guī)律連接起來(lái)的橋梁是:將待優(yōu)化函數(shù)在特定點(diǎn)的函數(shù)值抽象為螢火蟲(chóng)在該點(diǎn)的絕對(duì)亮度。假設(shè)待優(yōu)化函數(shù)是n維的,且在其解空間共有a只螢火蟲(chóng),則每個(gè)螢火蟲(chóng)的位置對(duì)應(yīng)一個(gè)由n個(gè)自變量組成的向量xi=(xi1,xi2,xi3,…,xin),i=1,2,…,a,該向量代指解空間中一個(gè)潛在解,將向量中的值對(duì)應(yīng)代入待優(yōu)化函數(shù),則得到每個(gè)螢火蟲(chóng)的絕對(duì)亮度。絕對(duì)亮度的大小就可以代指目標(biāo)函數(shù)在該點(diǎn)處的優(yōu)劣,亮度大就代表螢火蟲(chóng)所代表的潛在解好。即
Ii=f(xi)
(4)
螢火蟲(chóng)亮度i的亮度隨著距離以及空氣吸收率變化,定義螢火蟲(chóng)i對(duì)于螢火蟲(chóng)j的相對(duì)亮度為
(5)
其中,Ii為螢火蟲(chóng)i的絕對(duì)亮度,γ為光吸收系數(shù),是一個(gè)常數(shù);rij定義為螢火蟲(chóng)i與螢火蟲(chóng)j的笛卡爾距離,它是n維的。
兩螢火蟲(chóng)之間的吸引力大小是由螢火蟲(chóng)j對(duì)螢火蟲(chóng)i的相對(duì)亮度決定的,相對(duì)亮度越大,吸引力越大。
吸引力:類(lèi)比螢火蟲(chóng)之間的相對(duì)亮度定義,螢火蟲(chóng)之間的吸引力為
(6)
其中,β0為位于光源處的最大吸引力因子,螢火蟲(chóng)i的吸引力,即螢火蟲(chóng)i的最大吸引力。
位置更新:由于被螢火蟲(chóng)j吸引,螢火蟲(chóng)i改變自己的位置向j靠近,i位置更新公式為
(7)
其中,t為算法迭代次數(shù);ε1是由高斯分布、均勻分布得到的隨機(jī)數(shù),α為隨機(jī)項(xiàng)系數(shù)。由式(7)可知,螢火蟲(chóng)位置更新由三部分組成:螢火蟲(chóng)上一時(shí)刻位置、螢火蟲(chóng)之間由于相互吸引產(chǎn)生的運(yùn)動(dòng)以及帶有特定參數(shù)的隨機(jī)項(xiàng)。
基于螢火蟲(chóng)算法的磁信標(biāo)自主定位方法的基本原理是建立標(biāo)準(zhǔn)磁場(chǎng)信息,與通過(guò)磁通門(mén)傳感器測(cè)量到的磁場(chǎng)強(qiáng)度信息進(jìn)行匹配,得到位置信息。具體流程如下:
螢火蟲(chóng)算法是求解函數(shù)最大值的方法,故應(yīng)用時(shí)首先建立目標(biāo)函數(shù)。在磁定位中所建立目標(biāo)函數(shù)如下:
e(i,j)=∑|Bη(measured)-B(i,j)|
(8)
其中,Bη(measured)為測(cè)量信息,在編程測(cè)試時(shí)以一輸入常量代替。B(i,j)為所建立的標(biāo)定函數(shù),輸入(i,j)為位置信息,返回值為(i,j)處的磁場(chǎng)強(qiáng)度。
B(i,j)的求解是通過(guò)式(1)計(jì)算,將位置信息存儲(chǔ)在一個(gè)數(shù)組或者矩陣之中,再將其代入到公式中,得到磁場(chǎng)的x分量及y分量,而e(i,j)在這里取的是分量的二范數(shù)的平方。這樣就得到了所要求得的標(biāo)定函數(shù)e(i,j)。通過(guò)求取e(i,j)的最小值就可以得到位置信息。
螢火蟲(chóng)算法是求最大值的智能優(yōu)化算法,故e(i,j)應(yīng)轉(zhuǎn)換為e-1(i,j),從而將求解最小值的問(wèn)題轉(zhuǎn)換為最大值的問(wèn)題。通過(guò)求解e-1(i,j)的最大值,就可以得到待求的位置信息。
螢火蟲(chóng)算法的具體實(shí)施過(guò)程為:首先在解空間中隨機(jī)分布一定數(shù)量的螢火蟲(chóng);根據(jù)螢火蟲(chóng)所處位置坐標(biāo)計(jì)算待優(yōu)化函數(shù)的函數(shù)值,即絕對(duì)亮度;根據(jù)吸引力定義計(jì)算螢火蟲(chóng)之間的吸引力;根據(jù)位置更新進(jìn)行螢火蟲(chóng)位置的刷新。循環(huán)往復(fù),經(jīng)過(guò)有限次迭代之后,螢火蟲(chóng)聚在一起,得到待優(yōu)化函數(shù)全局最優(yōu)解,實(shí)現(xiàn)過(guò)程流程圖如圖2所示。
在應(yīng)用螢火蟲(chóng)算法過(guò)程中,上述公式中的幾個(gè)參數(shù)會(huì)對(duì)算法快速性以及全局搜索的局部挖掘能力存在較大影響,每個(gè)參數(shù)對(duì)于算法的性能具有特定的影響,所以在本節(jié)中將簡(jiǎn)要介紹每種參數(shù)的改變會(huì)對(duì)算法結(jié)果產(chǎn)生怎樣的影響。
(1)光吸收系數(shù)對(duì)算法性能的影響
當(dāng)光吸收系數(shù)γ增大時(shí),由于其衰減作用,會(huì)使距離對(duì)于相對(duì)亮度大小的影響程度提高。整個(gè)算法在運(yùn)行過(guò)程中,由于臨近的螢火蟲(chóng)吸引力要遠(yuǎn)強(qiáng)于距離遠(yuǎn)的螢火蟲(chóng),所以整個(gè)種群會(huì)分割成多個(gè)子種群,每個(gè)種群中的螢火蟲(chóng)都朝向自己種群中的局部最優(yōu)解移動(dòng),如此可以保證在最后得到全局最優(yōu)解之前盡可能多地搜索到局部最優(yōu)解。
因此,選擇合適的光吸收系數(shù)可以有效提高效率,并且能夠做到平衡算法的全局探測(cè)與局部挖掘的能力。
(2)最大吸引力對(duì)算法性能的影響
最大吸引力指的是螢火蟲(chóng)在光源處的吸引力,由于該參數(shù)的大小選擇對(duì)于整個(gè)種群中所有螢火蟲(chóng)影響相同,相當(dāng)于同時(shí)乘以一個(gè)比例系數(shù),所以其對(duì)整個(gè)算法影響非常小。在實(shí)際實(shí)踐中通常選β0=1。
(3)隨機(jī)項(xiàng)系數(shù)對(duì)算法性能的影響
隨機(jī)項(xiàng)算法對(duì)于算法的快速性也具有很大影響,如果隨機(jī)項(xiàng)系數(shù)過(guò)大,則會(huì)導(dǎo)致新產(chǎn)生的解與上一步得到的解之間相差過(guò)大,使得算法隨機(jī)性太強(qiáng),破壞算法的規(guī)律性;但是同時(shí)也能增加算法的全局探測(cè)能力,能夠使算法進(jìn)入新的可行解區(qū)域。如果隨機(jī)項(xiàng)系數(shù)太小,則算法對(duì)于最優(yōu)解的搜索能力變?nèi)?,螢火蟲(chóng)會(huì)緩慢向最優(yōu)解移動(dòng),導(dǎo)致算法效率降低。
在算法初期,隨機(jī)項(xiàng)系數(shù)應(yīng)該較大,用于搜索更多可行域并加快算法速度,而算法后期應(yīng)該適當(dāng)降低隨機(jī)項(xiàng)系數(shù),以防止由于隨機(jī)項(xiàng)過(guò)大導(dǎo)致丟失最優(yōu)解的情況。
本節(jié)通過(guò)仿真驗(yàn)證上述算法的有效性。以實(shí)際位置(8m,12m)為例,將螢火蟲(chóng)算法應(yīng)用于磁信標(biāo)定位時(shí),首先確定目標(biāo)函數(shù),利用Matlab軟件,建立標(biāo)準(zhǔn)磁場(chǎng)信息并利用螢火蟲(chóng)算法找到標(biāo)準(zhǔn)磁場(chǎng)的最大值,從而確定位置信息。
標(biāo)準(zhǔn)函數(shù)的圖像如圖3所示。
由圖3可知,該函數(shù)的最大值有一個(gè),但是峰值極高,在進(jìn)行螢火蟲(chóng)算法時(shí)需要較多的迭代次數(shù),可以得到一個(gè)較好的最大值。但是在實(shí)際應(yīng)用中不能進(jìn)行多次迭代,因?yàn)樗钑r(shí)間過(guò)長(zhǎng),不能實(shí)現(xiàn)實(shí)時(shí)的定位與跟蹤,若僅僅是對(duì)靜態(tài)目標(biāo)進(jìn)行定位則可以適當(dāng)提高迭代次數(shù)。
所以為了準(zhǔn)確確定目標(biāo)所在位置,算法在主體進(jìn)行螢火蟲(chóng)算法的同時(shí),無(wú)需設(shè)置太多的迭代次數(shù),在迭代次數(shù)較小時(shí)會(huì)有多個(gè)收斂結(jié)果,通過(guò)對(duì)這些收斂結(jié)果進(jìn)行遍歷驗(yàn)證,得到諸多最小值的點(diǎn),找到收斂的點(diǎn)中效果最好的點(diǎn)。這樣,函數(shù)的時(shí)間特性與準(zhǔn)確性可以同時(shí)得到滿(mǎn)足。
函數(shù)的等高圖會(huì)出現(xiàn)尖峰,所以將函數(shù)的等高圖放大,如圖4所示。
由函數(shù)的等高線(xiàn)可見(jiàn),該函數(shù)的最大值的尖峰很高,螢火蟲(chóng)算法的收斂結(jié)果將會(huì)有限,不會(huì)得到特別完美的運(yùn)行結(jié)果。
函數(shù)的螢火蟲(chóng)算法迭代結(jié)果如圖5所示。
通過(guò)圖5可以看出,螢火蟲(chóng)算法最終收斂到幾個(gè)點(diǎn)上,通過(guò)對(duì)上述100個(gè)螢火蟲(chóng)的橫縱坐標(biāo)進(jìn)行優(yōu)化,就可以得到正確的目標(biāo)位置。這里選擇函數(shù)圖像中聚集最多的2個(gè)點(diǎn),通過(guò)將這2個(gè)點(diǎn)代入目標(biāo)函數(shù)值,找到這2個(gè)中較大的那個(gè)作為最優(yōu)點(diǎn),這樣就可以輸出正確的位置。
最終函數(shù)運(yùn)行時(shí)間為5.6s,算法輸出的位置信息是(7.82,11.80)m。取不同位置進(jìn)行多次仿真,并將結(jié)果匯總?cè)绫?所示。
表1 螢火蟲(chóng)定位算法仿真結(jié)果
1)研究了基于螢火蟲(chóng)算法的低頻磁信標(biāo)定位算法。
2)給出了磁信標(biāo)定位的原理。
3)介紹了螢火蟲(chóng)算法的仿生學(xué)原理及其數(shù)學(xué)模型的建立過(guò)程與物理意義。
4)對(duì)于螢火蟲(chóng)算法中3個(gè)主要參數(shù):光吸收系數(shù)γ、最大吸引力因子β0和隨機(jī)項(xiàng)系數(shù)α的選取原則以及其如何影響算法性能進(jìn)行了分析研究。
5)通過(guò)數(shù)學(xué)仿真驗(yàn)證了提出算法的有效性。