吳晗林,高興華,劉曉飛,陳園林
(1.北華大學(xué)機(jī)械工程學(xué)院,吉林 吉林 132021;2.北京欣奕華數(shù)字科技有限公司,北京 100176)
機(jī)器人自主導(dǎo)航基于全球定位系統(tǒng)(GPS)及慣性導(dǎo)航、視覺感知等技術(shù),因此,需要實(shí)時(shí)獲取、處理和分析大量傳感器數(shù)據(jù)[1-2],并快速反饋,以支持機(jī)器人做出準(zhǔn)確決策、調(diào)整導(dǎo)航路徑[3]。為了實(shí)現(xiàn)數(shù)據(jù)的高效處理,需要采用高性能硬件設(shè)備、先進(jìn)算法和復(fù)雜的系統(tǒng)集成[4],而較高的系統(tǒng)成本限制了野外機(jī)器人在大規(guī)模工程實(shí)際中的應(yīng)用、推廣。
插值算法是一種通過已知數(shù)據(jù)點(diǎn)估算未知位置的數(shù)據(jù)處理技術(shù),在數(shù)據(jù)填補(bǔ)、軌跡預(yù)測等領(lǐng)域受到關(guān)注[5-6]。其中,Neville插值法[7-9]是一種無須事先假設(shè)插值函數(shù)的多項(xiàng)式插值算法,在處理GPS信息等不均勻數(shù)據(jù)時(shí)具有獨(dú)特優(yōu)勢。王曉明等[10]提出利用高次與低次Neville插值組合進(jìn)行GPS插值,改善高階次插值導(dǎo)致邊緣區(qū)域插值精度出現(xiàn)的抖動(dòng);常遠(yuǎn)等[11]提出將滑動(dòng)插值融合到Neville插值中進(jìn)行GPS插值,根據(jù)時(shí)刻移動(dòng)插值區(qū)域,復(fù)用插值結(jié)果,提高計(jì)算效率。以往研究實(shí)現(xiàn)了復(fù)雜算法優(yōu)化,但需要大量計(jì)算資源,導(dǎo)致計(jì)算成本高昂。本文針對野外機(jī)器人在密林等野外環(huán)境中的實(shí)際應(yīng)用情況,提出一種融合機(jī)器人狀態(tài)的計(jì)算輕量化插值算法,以達(dá)到節(jié)約成本、提升可靠性和效率的目的。
GPS是一類基于軌道衛(wèi)星的無線電定位系統(tǒng),由空間、地面控制和用戶3部分構(gòu)成[12],見圖1??臻g部分由一組人造衛(wèi)星組成,用于發(fā)送位置和時(shí)間信號;用戶部分是接收和處理衛(wèi)星信號的終端設(shè)備,通過解算信號確定自身位置。接收機(jī)天線見圖2。
圖2 接收機(jī)天線Fig.2 Receiver antenna
定位過程:衛(wèi)星1、2、3、4將各自位置信息P1、P2、P3、P4及時(shí)間戳發(fā)送到GPS接收機(jī),將接收時(shí)間與數(shù)據(jù)包時(shí)間戳做差,獲取位置信息傳播的時(shí)間Ti,d1、d2、d3、d4為P1、P2、P3、P4到接收機(jī)的距離。由于數(shù)據(jù)包采用無線電波傳輸,傳輸速度c為3.0×108m/s,因此,數(shù)據(jù)傳輸模型可表示為
di=c×Ti,i=1,2,3,4 。
由于無線電波速度c的權(quán)重較高且與時(shí)間相關(guān),故該定位過程對時(shí)間精度要求極高;信號在傳播過程中可能會發(fā)生多次反射,使到達(dá)時(shí)間失真,即產(chǎn)生多路徑效應(yīng),從而導(dǎo)致時(shí)間誤差[13-14]。
插值是為了解決GPS定位過程中由于信號傳輸時(shí)延、遮擋等原因引起的數(shù)據(jù)不均勻、缺失和誤差問題。通過在已知數(shù)據(jù)點(diǎn)間進(jìn)行估計(jì)和填補(bǔ),生成連續(xù)且平滑的位置信息,使得位置估計(jì)結(jié)果更加精確[15-16]。由于野外機(jī)器人定位須具備實(shí)時(shí)性等技術(shù)要求,由此,本研究采用Neville算法進(jìn)行插值,此算法具有插值精度較高、計(jì)算效率高等優(yōu)點(diǎn)。
Neville算法是一種用于插值多項(xiàng)式的算法,通過基于已知數(shù)據(jù)點(diǎn)的數(shù)值來估算處于兩個(gè)已知數(shù)據(jù)點(diǎn)之間的未知數(shù)據(jù)點(diǎn)的值[17]。已知若干數(shù)據(jù)點(diǎn)a,則存在且僅存在1個(gè)次數(shù)≤a-1的多項(xiàng)式,且通過已知數(shù)據(jù)點(diǎn)。首先要確定插值數(shù)據(jù)點(diǎn)的個(gè)數(shù)n:
式中:(x0,y0)、(x1,y1)為需要插值的相鄰數(shù)據(jù)點(diǎn)坐標(biāo)。可解得一點(diǎn)(x0,1,y0,1)在(x0,y0)、(x1,y1)之間:
將插值點(diǎn)(x0,1,y0,1)與已知點(diǎn)(x0,y0)、(x1,y1)繼續(xù)插值解得
(1)
(2)
化簡式(1)和(2)得
通過迭代可得遞歸解
(3)
依據(jù)式(3)可得所需的n個(gè)插值點(diǎn)。
Neville插值算法可通過多次應(yīng)用進(jìn)一步提高插值結(jié)果的精度。對一組初始數(shù)據(jù)進(jìn)行插值后,在該數(shù)據(jù)的特定區(qū)域內(nèi),再次運(yùn)用插值算法,這樣逐步逼近目標(biāo)函數(shù),可以得到更精細(xì)的插值結(jié)果,能夠提高數(shù)據(jù)的精度和準(zhǔn)確性。
為了研究Neville插值算法的效果及進(jìn)行計(jì)算輕量化改進(jìn),搭建移動(dòng)機(jī)器人平臺進(jìn)行野外試驗(yàn)。采用北天BT-300S模塊作為平臺的GPS接收器(圖3),其具有多GNSS支持、高靈敏度、低功耗、小型化等特點(diǎn),并且支持多種參考坐標(biāo)系。搭建的野外移動(dòng)機(jī)器人平臺見圖4。使用低壓處理器工控機(jī)作為計(jì)算單元,以速度作為可調(diào)參數(shù)進(jìn)行試驗(yàn)。
圖3 北天BT-300S模塊Fig.3 Beitian BT-300S module
圖4 野外移動(dòng)機(jī)器人平臺 Fig.4 Field mobile robot platform
為了更好地對比試驗(yàn)結(jié)果,分別在速度為0.6、1.2、2.0 m/s下進(jìn)行試驗(yàn)。試驗(yàn)區(qū)域見圖5,面積為145 m×95 m,A點(diǎn)坐標(biāo)為(126.564 693,43.920 621 8),B點(diǎn)坐標(biāo)為(126.565 027,43.920 520 6),C點(diǎn)坐標(biāo)為(126.564 964,43.920 539 6),D點(diǎn)坐標(biāo)為(126.564 964 9,43.920 539 6),機(jī)器人每次都經(jīng)過的對比點(diǎn)S的坐標(biāo)為(126.564 698,43.920 635 9)。在圖5紅線框區(qū)域模擬野外工況開展試驗(yàn)。從相同點(diǎn)出發(fā),每次移動(dòng)軌跡盡可能相同并進(jìn)行GPS數(shù)據(jù)接收,獲取原始數(shù)據(jù)后進(jìn)行處理,將經(jīng)緯度變換為直觀距離坐標(biāo)[18]。使用MATLAB進(jìn)行誤差分析并繪制圖像。
圖5 定位數(shù)據(jù)試驗(yàn)區(qū)域 Fig.5 Locate the data experiment area
當(dāng)機(jī)器人平臺行走速度為0.6 m/s時(shí),獲取的GPS原始數(shù)據(jù)、插值后的GPS數(shù)據(jù)與機(jī)器人相應(yīng)的實(shí)際運(yùn)動(dòng)路線見圖6,三插值時(shí)3種速度下的數(shù)據(jù)散點(diǎn)圖、對比點(diǎn)S與相應(yīng)實(shí)際運(yùn)動(dòng)路線見圖7。
圖6 速度為0.6 m/s時(shí)的數(shù)據(jù)效果Fig.6 Data renderings at a speed of 0.6 m/s
圖7 不同速度三插值數(shù)據(jù)效果Fig.7 Effect of three interpolated data at different speeds
由圖7可知:隨著插值處理次數(shù)的增加,總數(shù)據(jù)點(diǎn)增加,定位精度也相應(yīng)提高;當(dāng)移動(dòng)速度變大時(shí),原始點(diǎn)減少,精度有所下降。繼續(xù)對原始數(shù)據(jù)進(jìn)行插值,在S處對誤差與實(shí)際軌跡進(jìn)行分析,結(jié)果見表1。
表1 數(shù)據(jù)處理誤差
由表1可知:在2.0 m/s速度下,三插值處理效果較原始數(shù)據(jù)誤差減少58.14%,即定位精度提升58.14%;隨著插值處理次數(shù)的增多數(shù)據(jù)點(diǎn)增多,定位精度也相應(yīng)提高;當(dāng)機(jī)器人平臺移動(dòng)速度增大時(shí),數(shù)據(jù)點(diǎn)變得稀疏,精度有所下降;隨著插值處理次數(shù)的增加,數(shù)據(jù)量倍增,會導(dǎo)致平臺計(jì)算壓力陡增,影響到其他計(jì)算工作。
傳統(tǒng)多次Neville插值算法在野外機(jī)器人定位中存在高成本、弱適應(yīng)、低效率等問題:固定插值次數(shù)難以適應(yīng)不同環(huán)境和場景需求,往往導(dǎo)致定位精度不足或計(jì)算開銷過大;在復(fù)雜環(huán)境、高負(fù)載狀態(tài)下計(jì)算速度過慢,影響實(shí)時(shí)性和響應(yīng)性;當(dāng)速度較快、姿態(tài)變化較大時(shí),固定的數(shù)據(jù)填補(bǔ)不能滿足精度要求。
為解決上述問題,本文提出一種自適應(yīng)插值改進(jìn)算法:當(dāng)系統(tǒng)負(fù)載變高,環(huán)境變得平坦、開闊、障礙物較少,速度較慢和姿態(tài)變化較小時(shí),降低插值次數(shù),以減少計(jì)算開銷并提高系統(tǒng)實(shí)時(shí)性;相反地,當(dāng)系統(tǒng)負(fù)載較低,環(huán)境復(fù)雜性增加、存在障礙物,速度較快和姿態(tài)變化較大時(shí),適度增加插值次數(shù),以提高定位精度。通過動(dòng)態(tài)調(diào)整插值次數(shù),能夠靈活適應(yīng)不同情況,提高系統(tǒng)效率和性能。改進(jìn)后的插值流程見圖8。重復(fù)開展野外試驗(yàn),結(jié)果顯示:當(dāng)速度為0.6 m/s和1.2 m/s時(shí),插值精度不變;當(dāng)速度為2.0 m/s時(shí),插值精度較三次Neville插值提升了21.56%。
圖8 插值流程Fig.8 Interpolation flow
從精度看,當(dāng)傳統(tǒng)算法部署在較低成本野外移動(dòng)機(jī)器人上時(shí),面對復(fù)雜野外場景,無法提供穩(wěn)定的精度提升;根據(jù)機(jī)器人狀態(tài)信息動(dòng)態(tài)調(diào)整插值次數(shù),可以提供應(yīng)對復(fù)雜環(huán)境的動(dòng)態(tài)精度提升。
從計(jì)算效率看,傳統(tǒng)算法在高負(fù)載或簡單環(huán)境下會產(chǎn)生不必要的計(jì)算開銷,降低了系統(tǒng)的實(shí)時(shí)性;根據(jù)實(shí)時(shí)系統(tǒng)負(fù)載和環(huán)境情況動(dòng)態(tài)調(diào)整插值次數(shù),可以提高系統(tǒng)的計(jì)算效率和響應(yīng)速度,使得機(jī)器人能夠更快速、準(zhǔn)確地響應(yīng)環(huán)境變化,而不要求在野外移動(dòng)機(jī)器人上持續(xù)堆疊計(jì)算單元。
本文通過多次Neville插值增補(bǔ)GPS數(shù)據(jù),并開展了野外試驗(yàn)。結(jié)果顯示:增加插值次數(shù)能夠提升定位效果,在模擬野外工況下,三次Neville插值可使定位精度提高58.14%。同時(shí),需要在插值次數(shù)和計(jì)算負(fù)擔(dān)之間進(jìn)行取舍,高次插值對精度提升存在邊際效應(yīng),且計(jì)算開銷較大;低次插值會出現(xiàn)適應(yīng)性低、效率低等問題。本文提出的自適應(yīng)插值改進(jìn)算法,依據(jù)系統(tǒng)狀態(tài)動(dòng)態(tài)調(diào)整插值次數(shù),可以節(jié)約成本、提升適應(yīng)性和優(yōu)化性能,為野外移動(dòng)機(jī)器人定位提供一種有效的工程應(yīng)用方案。未來可以進(jìn)一步探索該方法的應(yīng)用范圍和優(yōu)化策略,以推動(dòng)野外機(jī)器人在實(shí)際工程中的應(yīng)用。