邵明啟, 郭 嶸, 鄭 明
(北京航空航天大學(xué)a.自動化科學(xué)與電氣工程學(xué)院;b.儀器科學(xué)與光電工程學(xué)院;c.物理學(xué)院,北京100191)
現(xiàn)代建筑鋼筋混凝土的結(jié)構(gòu)對衛(wèi)星信號的屏蔽以及現(xiàn)代社會室內(nèi)環(huán)境的高復(fù)雜度使得傳統(tǒng)的衛(wèi)星定位無法在室內(nèi)發(fā)揮作用,室內(nèi)定位的高需求催生了許多室內(nèi)定位的解決方案,如RFID[1]、WiFi[2]、藍(lán)牙[3]、可見光[4]、超寬帶[5]、ZigBee和超聲波等。
但目前現(xiàn)有的室內(nèi)定位方案都有其缺點(diǎn):如WiFi定位采取的位置指紋法,需要在室內(nèi)的每個(gè)地方采集WiFi信號特征,并且需要在多個(gè)節(jié)點(diǎn)來完成,另外WiFi信號很容易受到其他信號的干擾,并且體積較大,部署成本高[6];藍(lán)牙定位也同樣具有易受干擾,信號穩(wěn)定性差的缺點(diǎn)[7];而對于目前精度較高的超寬帶技術(shù),也存在著定位基站多、定位成本高的問題[8]。本文設(shè)計(jì)的超聲波室內(nèi)定位系統(tǒng),則在結(jié)構(gòu)相對簡單的情況下實(shí)現(xiàn)對室內(nèi)的高精度定位需求。
陸藺[9]結(jié)合蒙特卡羅算法設(shè)計(jì)了一套超聲波定位系統(tǒng),并開發(fā)了定位跟蹤操控界面軟件,進(jìn)行實(shí)時(shí)監(jiān)測。市場上也有不少的超聲波定位產(chǎn)品,能夠?qū)崿F(xiàn)實(shí)時(shí)定位,并且精度也達(dá)到了厘米級。但目前的這些超聲波定位系統(tǒng)有一個(gè)共同點(diǎn),由于超聲波發(fā)射波束的限制,只能朝向特定的方向發(fā)射聲波,定位時(shí)需要安裝多個(gè)方向的發(fā)射器[10]。
本系統(tǒng)采用帶有反射錐的超聲波發(fā)射(接收)器[11],將束狀的超聲波折射到全平面范圍內(nèi),不需要向各個(gè)方向都安裝發(fā)射(接收)器。另外,與傳統(tǒng)的反射錐定位裝置相比,集成度更高,占用空間小;在二維定位中,通過采用轉(zhuǎn)機(jī)模擬人的雙耳進(jìn)行定位[12-13],將坐標(biāo)的測量分解成了對極角和極徑的測量,降低了定位精度與測距精度的相關(guān)程度,減小了定位誤差;在三維定位中,通過多次旋轉(zhuǎn)模擬盡可能多的基站,為Chan算法提供冗余方程,從而提高定位精度。
與TDOA三邊定位算法[14]不同,本系統(tǒng)利用雙耳效應(yīng)原理,通過測量極角和極徑得到物體的坐標(biāo),其工作原理如圖1 所示。圖中:S即為被定位的聲源;A、B、C分別為初始狀態(tài)時(shí)的3 個(gè)接收器,S 位于A、B 接收器之間,并且S到A的距離SA大于S到B的距離SB,整個(gè)接收裝置在電動機(jī)的帶動下逆時(shí)針轉(zhuǎn)動θ°,A、B、C接收器分別轉(zhuǎn)到了A′、B′、C′的位置,此時(shí)S與A′、B′之間的距離應(yīng)相等,上述過程就是利用雙耳效應(yīng)定位的過程。在實(shí)際工作過程中,很難做到SA′與SB′嚴(yán)格相等,可以設(shè)置ε 為一很小的正數(shù),當(dāng)| SA′ - SB′| <ε時(shí),即可認(rèn)為SA′ = SB′,本文中ε取0.5 cm。θ為接收裝置轉(zhuǎn)過的角度;R為接收裝置的半徑。

圖1 二維定位原理示意圖
下面給出在SA′ = SB′條件下聲源S 的坐標(biāo)表達(dá)式,其中∠A、∠B、∠C分別為接收器A、B、C在初始狀態(tài)時(shí)極角,如圖2 所示,∠A = 90°,∠B = 210°,∠C = 330°。

圖2 接收器的初始角度
在△ABC中確定的坐標(biāo)系下,將△ABC 繞外接圓圓心旋轉(zhuǎn)θ°到△A′B′C′,此時(shí)聲源S 正對△A′B′C′,即S位于A′B′的垂直平分線上(見圖1),通過幾何關(guān)系可得到S點(diǎn)的極角為

最終可得到聲源S 在二維平面內(nèi)的坐標(biāo)為(ρcos ∠S,ρsin ∠S)。

圖3 推導(dǎo)極徑表達(dá)式原理圖
三維定位原理與二維定位原理不同。三維定位主要使用Chan算法[]。Chan 算法是一種具有解析表達(dá)式解的非遞歸方程組解法,算法計(jì)算量小,在噪聲服從高斯分布的環(huán)境下定位精度高。當(dāng)基站的數(shù)量大于3時(shí),得到的非線性方程組要多于未知變量的個(gè)數(shù),Chan算法能夠充分利用冗余數(shù)據(jù),獲得更好的位置估計(jì)值。
在三維定位時(shí),通過控制步進(jìn)電動機(jī)旋轉(zhuǎn)固定的角度,獲得多個(gè)基站數(shù)據(jù),進(jìn)而利用Chan 算法計(jì)算出聲源的三維坐標(biāo)。
2.1.1 基于反射錐發(fā)射接收裝置
接收裝置由固定在半球形球殼上的3 個(gè)帶反射錐的超聲波接收器和1 個(gè)步進(jìn)電動機(jī)組成,球殼的半徑為6 cm。其中3 個(gè)接收器呈120°均勻?qū)ΨQ分布在球殼上,球殼底部固連1 個(gè)步進(jìn)電動機(jī),使得球殼及其上的3 個(gè)接收裝置能夠在水平面內(nèi)旋轉(zhuǎn),如圖4(a)所示。發(fā)射裝置由反射錐、換能器、變壓器、無線模塊組成,如圖4(b)所示。

圖4 (a)半球殼體接收裝置,(b)帶有反射錐和無線模塊的超聲波發(fā)射裝置
2.1.2 步進(jìn)電動機(jī)控制
步進(jìn)電動機(jī)帶動接收裝置轉(zhuǎn)動,并且直接作為轉(zhuǎn)角的測量元件,因此需要對步進(jìn)電動機(jī)進(jìn)行精確控制。本系統(tǒng)使用DM542 步進(jìn)電機(jī)驅(qū)動板,如圖5 所示。該驅(qū)動板可控制步進(jìn)電動機(jī)400 ~25 000 步轉(zhuǎn)1 周。目前使用的是400 步/ r,即精度為0.45°/步。

圖5 步進(jìn)電動機(jī)和其驅(qū)動板
2.2.1 二維定位工作流程
系統(tǒng)二維定位流程如圖6 所示。PC 端周期發(fā)送測距指令,利用超聲波裝置測得距離信息,而后PC 端將測得的距離信息通過串口傳遞給控制電動機(jī)的Arduino單片機(jī),單片機(jī)根據(jù)測距信息決定順時(shí)針還是逆時(shí)針旋轉(zhuǎn),同時(shí)單片機(jī)將轉(zhuǎn)過的角度回傳給PC 端,這樣保證了步進(jìn)電動機(jī)旋轉(zhuǎn)具有實(shí)時(shí)性。當(dāng)與發(fā)射點(diǎn)距離最近的兩個(gè)接收點(diǎn)的距離小于某個(gè)閾值時(shí),即| SA′ - SB′| <ε時(shí),步進(jìn)電動機(jī)可以及時(shí)停下,得到準(zhǔn)確的θ值,最終得到發(fā)射點(diǎn)的二維坐標(biāo)。

圖6 二維定位程序流程示意圖
2.2.2 三維定位工作流程
三維定位與二維定位存在一定的區(qū)別。三維坐標(biāo)的定位算法是Chan算法,通過電動機(jī)旋轉(zhuǎn),模擬出多個(gè)基站,模擬出的基站越多,定位精度越高。系統(tǒng)在三維定位時(shí)的工作流程如圖7 所示。PC 端發(fā)送測距指令,單次測距完成后控制步進(jìn)電動機(jī)旋轉(zhuǎn)一定角度,繼續(xù)測距,重復(fù)3 次,將測得的3 組距離信息和單片機(jī)得到的角度信息代入Chan算法解得坐標(biāo)。

圖7 三維定位程序流程示意圖
測量時(shí)將發(fā)射器放在任意位置,測得數(shù)據(jù)如表1所示,其中真實(shí)坐標(biāo)由固定式測距量具得到。

表1 二維定位數(shù)據(jù)
從圖8 可以看出,轉(zhuǎn)動式的二維定位方法誤差均在2 cm之內(nèi),多數(shù)點(diǎn)的誤差都在1 cm 之內(nèi)。該定位系統(tǒng)在進(jìn)行二維定位時(shí),將極角和極徑兩個(gè)參數(shù)分開測量,利用步進(jìn)電機(jī)對角度的精確控制,從而減小了極角與測距的相關(guān)程度,解算坐標(biāo)時(shí)不會將測距的誤差放大,使得定位解算出的坐標(biāo)的精度基本取決于傳感器測距的精度。

圖8 二維定位誤差
接收裝置的安裝和放置與二維定位中的相同,發(fā)射器的3 個(gè)坐標(biāo)也同樣由固定式測距量具進(jìn)行測量,接收裝置旋轉(zhuǎn)2 次,一共獲得9 個(gè)不同基站到聲源的距離數(shù)據(jù),代入Chan算法解算,數(shù)據(jù)如表2 所示。

表2 三維定位數(shù)據(jù)
對表中的x,y,z 軸數(shù)據(jù)的誤差分別進(jìn)行分析,誤差分布如圖9 所示。
三維定位各坐標(biāo)的誤差均在5 cm之內(nèi),平均誤差約為3 cm,比二維定位的誤差略大。三維定位中的誤差主要是由于反射錐自身的結(jié)構(gòu)限制,反射錐在平面內(nèi)表現(xiàn)很好,但在三維空間中存在很大的測量盲區(qū),從而導(dǎo)致測距不準(zhǔn)確。可以采用體積更小的反射錐或球狀壓電陶瓷換能器[16]以減少空間中的盲區(qū)。

圖9 三維定位誤差
本文在反射錐型超聲波測距裝置的基礎(chǔ)上設(shè)計(jì)了一種基于“雙耳效應(yīng)”的轉(zhuǎn)動式反射錐定位系統(tǒng),從理論上對該系統(tǒng)進(jìn)行了分析,并通過實(shí)驗(yàn)驗(yàn)證了該系統(tǒng)的可行性,定位誤差在允許范圍內(nèi),該定位系統(tǒng)可應(yīng)用在常見的室內(nèi)定位場景中,例如用于室內(nèi)循跡小車的定位,工廠生產(chǎn)車間貨物的定位等場景。該定位系統(tǒng)的設(shè)計(jì)對室內(nèi)定位領(lǐng)域有實(shí)際參考意義。