《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于UWB的智能跟隨車(chē)導(dǎo)航定位算法研究
基于UWB的智能跟隨車(chē)導(dǎo)航定位算法研究
2019年電子技術(shù)應(yīng)用第3期
胡海兵1,2,張文達(dá)1,2,鄭希鵬1,2,曾貴苓3
1.合肥工業(yè)大學(xué) 光電技術(shù)研究院 特種顯示技術(shù)國(guó)家工程實(shí)驗(yàn)室,安徽 合肥230009; 2.合肥工業(yè)大學(xué) 光電技術(shù)研究院 現(xiàn)代顯示技術(shù)省部共建國(guó)家重點(diǎn)實(shí)驗(yàn)室,安徽 合肥230009; 3.蕪湖職業(yè)技術(shù)學(xué)院 電氣工程學(xué)院,安徽 蕪湖241006
摘要: 針對(duì)目前市場(chǎng)上現(xiàn)有智能跟隨車(chē)定位精度不足,提出一種基于UWB信號(hào)的定位算法。在智能跟隨車(chē)的上方安置兩個(gè)固定基站,手持標(biāo)簽到兩個(gè)基站的距離數(shù)據(jù)經(jīng)過(guò)卡爾曼濾波算法的處理,利用三角函數(shù)進(jìn)行計(jì)算,得出標(biāo)簽到兩個(gè)基站中點(diǎn)的距離和偏移角度,將距離和角度數(shù)據(jù)傳送給電機(jī)控制模塊,通過(guò)PID控制算法調(diào)節(jié)PWM值,從而控制電機(jī)的轉(zhuǎn)速和轉(zhuǎn)向。實(shí)驗(yàn)表明,該方法能夠?qū)崿F(xiàn)標(biāo)簽定位的距離誤差小于9 cm,角度誤差小于10°,使智能跟隨車(chē)的定位更為精準(zhǔn)。
中圖分類(lèi)號(hào): TP23
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.183260
中文引用格式: 胡海兵,張文達(dá),鄭希鵬,等. 基于UWB的智能跟隨車(chē)導(dǎo)航定位算法研究[J].電子技術(shù)應(yīng)用,2019,45(3):80-83,87.
英文引用格式: Hu Haibing,Zhang Wenda,Zheng Xipeng,et al. Research on navigation and positioning algorithm for intelligent following vehicle based on UWB[J]. Application of Electronic Technique,2019,45(3):80-83,87.
Research on navigation and positioning algorithm for intelligent following vehicle based on UWB
Hu Haibing1,2,Zhang Wenda1,2,Zheng Xipeng1,2,Zeng Guiling3
1.National Engineering Laboratory of Special Display Technology,Academy of Photoelectric Technology, Hefei University of Technology,Hefei 230009,China; 2.National Key Laboratory of Advanced Display Technology,Academy of Photoelectric Technology, Hefei University of Technology,Hefei 230009,China; 3.School of Electrical Engineering,Wuhu Institute of Technology,Wuhu 241006,China
Abstract: The accuracy of intelligent vehicle positioning in the current market cannot satisfy customers′ needs. The positioning algorithm based on Ultra Wideband(UWB) was proposed in order to solve the problem. Two fixed anchors were placed on the intelligent positioning vehicle. The data of distance from the tag to the two anchors was caculated by Kalman filter algorithm. The trigonometric function was used to get the distance from the tag to the middle point of the two anchors and the offset angle. Then the distance and angle data were transmitted to the motor control module, which adjusted Pulse Width Modulation(PWM) value through Proportion Integration Differentiation(PID) algorithm to control the speed and directions of the motor. Experimental results show that the distance deviation is less than 9 cm and the angle deviation is less than 10 degrees by this method, which proves that intelligent vehicle positioning is more accurate than before.
Key words : intelligent following vehicle;Kalman filter;PID control;positioning algorithm

0 引言

    隨著科學(xué)技術(shù)突飛猛進(jìn)的發(fā)展,人們開(kāi)始解放雙手,更加注重設(shè)備的智能化和信息化。行李箱雖有輪子輔助可以替人們省力,但也已經(jīng)不能滿足人們對(duì)智能化生活的更高需求,而智能跟隨車(chē)使箱體具有自動(dòng)跟隨的功能,可以極大地減輕人們的負(fù)擔(dān)。目前雖已出現(xiàn)一些智能跟隨車(chē)的控制方法[1-4]和定位方法[5-9],但由于控制系統(tǒng)和定位精度的局限,基本都面臨跟隨效果不理想、功能單一等問(wèn)題。

    本設(shè)計(jì)提供了一種智能跟隨裝置,具有更好的控制方法及定位算法,使智能跟隨車(chē)可以更加安全有效地跟隨主人,不會(huì)出現(xiàn)丟失目標(biāo)或者路徑紊亂的情況。本設(shè)計(jì)提出了一種定位算法,在智能跟隨車(chē)上方的兩角分別固定一個(gè)基站,人手持移動(dòng)標(biāo)簽在兩基站的前方,先由到達(dá)時(shí)間算法(Time Of Arrival,TOA)[10]得出標(biāo)簽到兩個(gè)基站的距離,數(shù)據(jù)經(jīng)過(guò)卡爾曼濾波處理,再利用三角函數(shù)進(jìn)行相關(guān)計(jì)算,以兩個(gè)基站的中點(diǎn)為基準(zhǔn)點(diǎn),兩個(gè)基站所在直線為基準(zhǔn)線,得到手持標(biāo)簽到基準(zhǔn)點(diǎn)的距離以及偏離基準(zhǔn)線的角度,再將所得的距離和角度測(cè)量值與實(shí)際值相比較并分析誤差,預(yù)期結(jié)果為:距離誤差不超過(guò)10 cm,角度誤差不超過(guò)10°。

1 系統(tǒng)總體設(shè)計(jì)

    實(shí)驗(yàn)初期進(jìn)行了一系列的方案選擇,有單藍(lán)牙方案、單紅外方案、單433 MHz無(wú)線方案和單超聲波方案,均被驗(yàn)證效果不理想。最終采用了無(wú)線和藍(lán)牙結(jié)合的方案。

    系統(tǒng)總體設(shè)計(jì)及工作原理為:由手環(huán)發(fā)射信號(hào),射頻模塊接收此信號(hào),用低通濾波算法濾除噪聲和不可靠信號(hào),完成數(shù)據(jù)預(yù)處理工作。圖1所示為智能跟隨車(chē)初步定位示意圖,預(yù)處理信號(hào)通過(guò)TOA算法可以確定手環(huán)到兩射頻模塊的距離,兩射頻模塊之間的距離固定,利用海倫公式和三角形面積相等原理,即得到手環(huán)與兩基站所在直線的垂直距離h,并由高度補(bǔ)償傳感器得到手環(huán)與射頻模塊的垂直誤差X,由勾股定理即可算出手環(huán)與智能跟隨車(chē)水平方向的直線距離L。至此完成對(duì)智能跟隨車(chē)的初步定位工作,整個(gè)過(guò)程中用低通濾波算法和卡爾曼濾波算法對(duì)數(shù)據(jù)融合,以盡可能減小誤差。

jsj2-t1.gif

    初步定位信息結(jié)合九軸平衡傳感模塊和深度傳感器不斷反饋數(shù)據(jù)誤差,經(jīng)離散化比例積分微分(Proportion Integration Differentiation,PID)算法[11]處理間隔為50 ms的數(shù)據(jù),使智能跟隨車(chē)始終處于穩(wěn)定狀態(tài),完成跟隨車(chē)的精確定位。精確定位的信息結(jié)合避障模塊、重力傳感器的反饋信息在控制單元STM32模糊PID算法的控制下,對(duì)手環(huán)實(shí)際位置和智能跟隨車(chē)的實(shí)際路況信息進(jìn)行融合、濾波以及規(guī)則分析,完成最優(yōu)路徑規(guī)劃,此處采用的路徑規(guī)劃算法是最優(yōu)解求解過(guò)程的粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)[12]。

    各模塊信息最后也都要進(jìn)行低通濾波和卡爾曼濾波處理,防止數(shù)據(jù)丟失,保證各模塊的數(shù)據(jù)信息能夠同步交給控制模塊處理。控制模塊根據(jù)各模塊反饋的數(shù)據(jù)信息來(lái)合理分配兩電機(jī)的脈沖寬度調(diào)制值(Pulse Width Modulation,PWM),以不斷地實(shí)時(shí)控制電機(jī)的行進(jìn)方向和速度,最終實(shí)現(xiàn)跟隨車(chē)安全高效的跟隨功能。

2 硬件設(shè)計(jì)

    智能跟隨車(chē)的目標(biāo)物為具有信號(hào)收發(fā)功能的手環(huán)。智能跟隨車(chē)具有控制單元、避障模塊、兩個(gè)射頻模塊、高度補(bǔ)償傳感器、重力傳感器、深度傳感器、平衡模塊和驅(qū)動(dòng)模塊。車(chē)底盤(pán)的四角共設(shè)有4個(gè)避障模塊,前后兩端共設(shè)有2個(gè)深度傳感器,底盤(pán)的前端設(shè)有2個(gè)射頻模塊和1個(gè)高度傳感器,底盤(pán)的后端設(shè)有1個(gè)平衡模塊。其他部件也都設(shè)置在底盤(pán)上。硬件總體結(jié)構(gòu)如圖2所示。

jsj2-t2.gif

2.1 射頻模塊

    兩個(gè)射頻模塊采用的是UWB Mini 3s模塊,以STM32F103T8U6為主控芯片,外圍電路包括DWM1000模塊、電源模塊、LED指示模塊和復(fù)位電路等。該模塊基站標(biāo)簽為一體,通過(guò)撥碼開(kāi)關(guān)切換基站和標(biāo)簽功能。其作用是接收手環(huán)發(fā)來(lái)的信息,并傳送給控制模塊。

2.2 高度補(bǔ)償傳感器

    高度補(bǔ)償傳感器用于確定手環(huán)與智能跟隨車(chē)之間的垂直距離,將所收集到的信息反饋到控制模塊。其作用是優(yōu)化箱子的位置信息,使定位更加準(zhǔn)確。

2.3 重力傳感器

    重力傳感器用來(lái)測(cè)量智能跟隨車(chē)所裝行李的重量。當(dāng)智能跟隨車(chē)內(nèi)裝載有不同重量的行李時(shí),相應(yīng)調(diào)節(jié)電機(jī)轉(zhuǎn)速,保證跟隨車(chē)在裝不同重量的行李下都可以跟上手環(huán)持有者的速度。

3 軟件設(shè)計(jì)

3.1 主程序設(shè)計(jì)

    智能跟隨車(chē)上電后,首先進(jìn)行系統(tǒng)的初始化,包括時(shí)鐘配置、定時(shí)器初始化以及調(diào)試程序時(shí)所需串口的初始化。接著進(jìn)行DWM1000模塊初始化。初始化工作完成后,判斷基站是否收到了標(biāo)簽發(fā)送的中斷信號(hào),若是,則基站將信息傳給單片機(jī)計(jì)算出所需的距離和角度數(shù)據(jù),經(jīng)由PID控制算法調(diào)節(jié)電機(jī)驅(qū)動(dòng)模塊的PWM值,從而控制電機(jī)的轉(zhuǎn)速和轉(zhuǎn)向;否則返回繼續(xù)進(jìn)行該判斷。本設(shè)計(jì)中智能跟隨車(chē)的軟件設(shè)計(jì)流程如圖3所示。

jsj2-t3.gif

3.2 定位原理與算法描述

    本節(jié)算法設(shè)計(jì)的目的為計(jì)算出手持標(biāo)簽到兩個(gè)基站中點(diǎn)的距離,以及偏離兩基站所在直線的角度,并通過(guò)串口輸出在顯示屏上,便于觀測(cè)和記錄。具體算法描述如下:圖4所示為實(shí)驗(yàn)定位算法原理圖,圖中點(diǎn)A為手持標(biāo)簽,點(diǎn)B和點(diǎn)C為智能跟隨車(chē)上的兩個(gè)固定基站,且兩基站之間距離固定為33 cm,點(diǎn)D為兩個(gè)基站的中點(diǎn),線段jsj2-t3-x1.gif邊上的高。手持標(biāo)簽A到兩個(gè)基站B和C的距離通過(guò)TOA方法得到。

jsj2-t4.gif

    海倫公式為:

jsj2-gs1-2.gif

3.3 卡爾曼濾波程序設(shè)計(jì)

    卡爾曼濾波是一種利用線性系統(tǒng)狀態(tài)方程;通過(guò)系統(tǒng)輸入輸出觀測(cè)數(shù)據(jù)對(duì)系統(tǒng)狀態(tài)進(jìn)行最優(yōu)估計(jì)的算法。由于觀測(cè)數(shù)據(jù)中包括系統(tǒng)中的噪聲和干擾的影響,因此也可看作是濾波過(guò)程。首先引入一個(gè)線性隨機(jī)微分方程:

jsj2-gs3-5.gif

4 測(cè)試數(shù)據(jù)及誤差分析

4.1 實(shí)驗(yàn)設(shè)計(jì)

    為了測(cè)試本設(shè)計(jì)中智能跟隨車(chē)的定位精度,設(shè)計(jì)了如下實(shí)驗(yàn),實(shí)驗(yàn)示意圖如圖5所示。圖中右側(cè)智能跟隨車(chē)為俯視圖,其中A和B為智能跟隨車(chē)上方兩腳固定的兩個(gè)基站,C為可移動(dòng)的手持標(biāo)簽,D為A、B兩個(gè)基站的中點(diǎn)。

jsj2-t5.gif

    在本實(shí)驗(yàn)設(shè)計(jì)中,共選取了9個(gè)點(diǎn)進(jìn)行測(cè)試,在圖5中分別編號(hào)為1~9。其中點(diǎn)1~3的實(shí)際距離均為50 cm,實(shí)際角度分別為45°、60°和90°;點(diǎn)4~6的實(shí)際距離均為100 cm,實(shí)際角度分別為45°、60°和90°;點(diǎn)7~9的實(shí)際距離均為150 cm,實(shí)際角度分別為45°、60°和90°。

    利用3.2中所介紹的算法,可以求解出圖中jsj2-t5-x1.gif的距離以及∠CDB的角度,并通過(guò)串口輸出顯示出來(lái)。在實(shí)驗(yàn)中對(duì)每個(gè)點(diǎn)均選取100組連續(xù)的測(cè)試數(shù)據(jù),并對(duì)所有數(shù)據(jù)取幾何平均值作為每個(gè)點(diǎn)的測(cè)量值,以避免均值受極端值的較大影響。最后,將測(cè)量值與實(shí)際值進(jìn)行對(duì)比,分析誤差。

4.2 測(cè)量數(shù)據(jù)

    經(jīng)過(guò)實(shí)驗(yàn),測(cè)出實(shí)驗(yàn)數(shù)據(jù)并在極坐標(biāo)中畫(huà)出每個(gè)點(diǎn)對(duì)應(yīng)的距離和角度,得到如圖6所示的測(cè)量數(shù)據(jù)點(diǎn)圖。

jsj2-t6.gif

    圖6中點(diǎn)1~3為實(shí)際距離50 cm,實(shí)際角度分別是45°、60°和90°對(duì)應(yīng)點(diǎn)的測(cè)量值;點(diǎn)4~6為實(shí)際距離100 cm,實(shí)際角度分別是45°、60°和90°對(duì)應(yīng)點(diǎn)的測(cè)量值;點(diǎn)7~9為實(shí)際距離150 cm,實(shí)際角度分別為45°、60°和90°對(duì)應(yīng)點(diǎn)的測(cè)量值。

    將每個(gè)點(diǎn)測(cè)量值的距離和角度分別與實(shí)際值的距離和角度作差,得到各個(gè)點(diǎn)對(duì)應(yīng)的距離誤差和角度誤差數(shù)據(jù),并繪制得到如圖7所示的距離誤差數(shù)據(jù)圖和如圖8所示的角度誤差數(shù)據(jù)圖。

jsj2-t7.gif

jsj2-t8.gif

4.3 誤差分析

    由圖7和圖8可得,本實(shí)驗(yàn)中距離的誤差在-2 cm~+9 cm之間,角度的誤差在-8°~+10°之間,滿足設(shè)計(jì)和定位的需求。

    從實(shí)驗(yàn)的過(guò)程來(lái)看,實(shí)驗(yàn)數(shù)據(jù)誤差的來(lái)源可能有:

    (1)手持標(biāo)簽不穩(wěn)定。由于實(shí)驗(yàn)過(guò)程中可移動(dòng)標(biāo)簽由人手持,在實(shí)驗(yàn)中可能會(huì)有輕微的不穩(wěn)定,會(huì)導(dǎo)致數(shù)據(jù)有偏差。

    (2)實(shí)際距離和角度標(biāo)定的誤差。兩個(gè)基站的距離和九個(gè)測(cè)試點(diǎn)在實(shí)際操作中要用卷尺測(cè)距進(jìn)行定點(diǎn),在此過(guò)程中可能會(huì)有測(cè)量誤差存在。

    (3)手持標(biāo)簽和基站所在平面不水平。當(dāng)手持標(biāo)簽與基站所在平面不水平時(shí),標(biāo)簽到基站的距離會(huì)比實(shí)際值偏大,導(dǎo)致距離測(cè)量值偏大,角度測(cè)量值也會(huì)偏大。

    (4)數(shù)據(jù)位數(shù)的丟失。由于在軟件部分程序的計(jì)算中,數(shù)據(jù)的小數(shù)部分在運(yùn)算中會(huì)被截?cái)?,并不能得到精確的數(shù)據(jù),也會(huì)導(dǎo)致數(shù)據(jù)的誤差。

5 結(jié)束語(yǔ)

    本文設(shè)計(jì)了一種可以有效融合各個(gè)功能模塊,集定位、避障、平衡、跟隨、網(wǎng)絡(luò)于一體的安全、可靠、高效的智能跟隨裝置、控制方法及定位方法,通過(guò)實(shí)驗(yàn)驗(yàn)證,本設(shè)計(jì)中智能跟隨車(chē)定位的距離誤差不超過(guò)9 cm,角度誤差不超過(guò)10°,滿足設(shè)計(jì)需求。在后續(xù)的實(shí)驗(yàn)設(shè)計(jì)中,會(huì)繼續(xù)優(yōu)化軟件部分的設(shè)計(jì),使實(shí)驗(yàn)誤差進(jìn)一步縮小。本設(shè)計(jì)系統(tǒng)相比于現(xiàn)有技術(shù)的控制和定位方法,可以使智能跟隨車(chē)更加安全有效地跟隨主人,不會(huì)出現(xiàn)丟失目標(biāo)或者路徑紊亂的情況,在市場(chǎng)上也有廣泛的應(yīng)用價(jià)值,對(duì)國(guó)內(nèi)智能跟隨領(lǐng)域的成長(zhǎng)與進(jìn)步也具有重要的意義。

參考文獻(xiàn)

[1] 丁柏文,金琦淳,任俊,等.基于IAP15F2K61S2單片機(jī)的紅外與無(wú)線搬運(yùn)小車(chē)[J].儀表技術(shù)與傳感器,2017(10):110-114.

[2] 王志鎧.基于UWB無(wú)線定位技術(shù)的AGV室內(nèi)導(dǎo)航與控制技術(shù)研究[D].成都:電子科技大學(xué),2018.

[3] 趙昊寧,聶憲波,關(guān)立強(qiáng),等.自動(dòng)跟隨運(yùn)輸系統(tǒng)設(shè)計(jì)[J].自動(dòng)化應(yīng)用,2015(12):69-71.

[4] 劉磊,孫曉菲,張煜.基于STM32的可遙控智能跟隨小車(chē)設(shè)計(jì)[J].電子測(cè)量技術(shù),2015(6):31-33.

[5] 王飛.基于UWB的室內(nèi)移動(dòng)機(jī)器人導(dǎo)航定位技術(shù)的研究[D].哈爾濱:哈爾濱工程大學(xué),2017.

[6] 賀晶晶,姜平,馮曉榮.基于UWB的無(wú)人運(yùn)輸車(chē)的導(dǎo)航定位算法研究[J].電子測(cè)量與儀器學(xué)報(bào),2016,30(11):1743-1749.

[7] 蔡磊,周亭亭,郭云鵬,等.基于超聲波定位的智能跟隨小車(chē)[J].電子測(cè)量技術(shù),2013,36(11):76-79.

[8] 盧靖宇,余文濤,趙新,等.基于超寬帶的移動(dòng)機(jī)器人室內(nèi)定位系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2017,43(5):25-28.

[9] IBRAHEEM M.Gyroscope-enhanced dead reckoning localization system for an intelligent Walker[C].2010 International Conference on Information Networking and Automation(ICINA).IEEE,2010:67-72.

[10] 李俊杰,王世練,路軍,等.基于TOA的中心車(chē)輛定位系統(tǒng)的算法研究[J].通信技術(shù),2001(5):23-25.

[11] 薛輝,王叢嶺.基于單片機(jī)采用PID算法的電機(jī)運(yùn)行控制系統(tǒng)設(shè)計(jì)[J].機(jī)床電器,2006,33(1):51-52.

[12] 李炳宇,蕭蘊(yùn)詩(shī),汪鐳.PSO算法在工程優(yōu)化問(wèn)題中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2004,40(18):74-76.



作者信息:

胡海兵1,2,張文達(dá)1,2,鄭希鵬1,2,曾貴苓3

(1.合肥工業(yè)大學(xué) 光電技術(shù)研究院 特種顯示技術(shù)國(guó)家工程實(shí)驗(yàn)室,安徽 合肥230009;

2.合肥工業(yè)大學(xué) 光電技術(shù)研究院 現(xiàn)代顯示技術(shù)省部共建國(guó)家重點(diǎn)實(shí)驗(yàn)室,安徽 合肥230009;

3.蕪湖職業(yè)技術(shù)學(xué)院 電氣工程學(xué)院,安徽 蕪湖241006)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。