張安峰 吳濤 楊叢叢
摘 ?要: 移動機器人自主導航過程中,為機器人提供精確地位置信息十分重要,只有機器人有了精確地位置信息才能準確地導航到目標點。由于單純的慣性和里程測量系統(tǒng)的相對定位方式都不能消除長時間的累計定位誤差,因此需要一種絕對位置信息加以輔助修正累計誤差。二維碼是一種很好的可以存儲絕對位置信息的方式,且信息獲取簡單易用,本文提出了一種將矩陣二維碼作為絕對位置標簽輔助修正里程和慣性測量系統(tǒng)導航過程中產(chǎn)生的累計誤差的導航定位方法。通過實驗對比驗證了該方法的有效性。
關鍵詞: 移動機器人;二維碼;自主導航;定位
中圖分類號: TP242.6 ? ?文獻標識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.06.042
本文著錄格式:張安峰,吳濤,楊叢叢. 移動機器人自主導航矩陣二維碼輔助定位研究[J]. 軟件,2019,40(6):180184
【Abstract】: In the autonomous navigation process of mobile robots, it is very important to provide accurate position information for the robot. Only the robot has accurate position information to accurately navigate to the target point. Since the simple positioning of the inertia and the odometer measurement system cannot eliminate the long-term cumulative positioning error, an absolute position information is needed to assist the correction of the accumulated error. The QR code is a good way to store absolute position information, and the information acquisition is simple and easy to use. This paper proposes a navigation and positioning method that uses the matrix QR code as an absolute position label to correct the cumulative error generated in the navigation process of the mileage and inertial measurement system. The effectiveness of the method is verified by experimental comparison.
【Key words】: Mobile robot; Two-dimensional code; Autonomous navigation; Positioning
0 ?引言
現(xiàn)代科技技術發(fā)展迅速,各類傳感器產(chǎn)品技術穩(wěn)定且精度不斷提高,致使一些依賴各類傳感器的新興技術發(fā)展迅速。其中移動機器人就是一個典型的代表,近幾年,成為了國內(nèi)外及各大高校的研究熱點。其中主要包括SLAM(同時定位與建圖)、自主導航、定位等[1]。不同環(huán)境機器人的定位方法分為相對定位和絕對定位,相對定位主要通過里程測量和慣性導航技術[2],主要傳感器為慣性測量(IMU)傳感器和電機編碼器等。室外機器人的絕對定位主要通過GPS輔助機器人定位[3],而對于室內(nèi)機器人,則需要借助絕對位置傳感器如RFID、RSSI、UWB、WIFI、激光、視覺等技術來輔助機器人獲得絕對位姿,這類傳感器不僅僅應用于機器人[4-6],在其他室內(nèi)定位方面也同樣適用[7-9]。
現(xiàn)如今,標簽式輔助定位非常流行,因為相比于前面提到的室內(nèi)絕對定位方式,標簽式輔助定位其信息獲取較為簡單,且成本低。最為流行的是二維碼標簽,他可以存儲我們需要的機器人的絕對位姿。二維碼技術現(xiàn)在已經(jīng)應用于我們生活的方方面面,但對于工程上應用現(xiàn)在還是處于研發(fā)階段。現(xiàn)在主要研究的方面有二維碼輔助定位[10,11]、二維碼追蹤[12]、二維碼目標搜索識別[13]等領域。Alves P, Costelha H, Neves C[14]等人將環(huán)境中天花板上的燈具作為標簽,不需要人為改變環(huán)境,應用起來較為容易,但是對于燈具的識別過程中其穩(wěn)定性相對于二維碼標簽較差。Rusdinar A, Kim S[15]定義了人工地標,通過對自然特征進行實時的圖像處理從而達到自主導航定位目的。
本文的研究是在里程和慣性測量系統(tǒng)的相對定位基礎上通過矩陣二維碼輔助修正相對定位累計誤差的導航方法。Cho B S, Moon W[2]等人通過結(jié)合慣性導航和里程測量系統(tǒng)設計了一種卡爾曼濾波器進行數(shù)據(jù)融合從而獲得相對于任意單系統(tǒng)更精確的位置信息。但是此方法仍然無法消除長時間累計誤差。Zhang H, Zhang C[10]等人通過將二維碼整齊排列粘貼在天花板上,在機器人上配備一個指向天花板的工業(yè)攝像頭,讀取二維碼位置信息從而估計出機器人的姿態(tài),但是該方法對環(huán)境光的要求較高,當環(huán)境突然發(fā)生變化或在黑夜環(huán)境中,該方法將會失效。Chiou Y S, Tsai F[11]等人提出了一種慣性測量單元(IMU)與二維碼相結(jié)合的定位方案,該方法有效降低了慣性測量單元定位累計誤差,由于慣性測量單元加速度計是通過雙重積分獲取位姿信息,所以其相對定位精度效果沒有里程測量單元精確,但里程測量單元又受物理條件影響較大。因此本文做了只使用里程測量單元、同時使用里程測量、慣性導航單元和使用二維碼輔助里程測量、慣性導航單元自主導航定位三種情況的對比試驗,驗證了二維碼輔助里程測量慣性導航單元自主導航定位的有效性。
1 ?系統(tǒng)結(jié)構
本文采用的實驗平臺是用輕鋁型材搭建的簡易兩輪差速移動機器人,如圖1所示。本實驗平臺配備有帶增量式編碼器的伺服電機,通過編碼器可以獲得車輪的里程測量信息從而提供機器人的位置信息;4軸慣性測量元件(IMU)包含3軸加速度計和Z軸陀螺儀,因為本實驗針對平面環(huán)境的機器人運動,因此主要位姿包括(x、y、yaw)x、y位置以及偏航角(yaw)姿態(tài),所以選用的是4軸慣性測量元件,主要提供機器人的姿態(tài)信息;P+F公司的二維碼視覺讀碼器,如圖2所示,該讀碼器可以實時讀取矩陣二維碼中的信息,而且?guī)в休o助光源,避免了光照條件和黑夜環(huán)境的不適用性,其中讀碼器可以獲得矩陣二維碼標簽值和二維碼讀頭相對于二維碼中心點的位置偏差及角度信息,這正是我們所需要的絕對位姿信息。
本實驗平臺的的整個軟件開發(fā)環(huán)境都是在裝有Ubuntu16.04的電腦上實現(xiàn)的,是基于ROS系統(tǒng)開發(fā)的。其中涉及到RS232、RS485、CAN等串口網(wǎng)絡通訊方式,4軸慣性測量單元(IMU)采用的是RS232通訊方式,二維碼讀碼器采用的是RS485通訊方式,伺服電機則采用USB轉(zhuǎn)CAN的通訊方式。實驗中的矩陣二維碼標簽如圖3所示,每一個矩陣二維碼都存儲了不同的標簽值,對于位姿信息,每一個二維碼都可以得到相對于二維碼中心點的偏移距離以及相對于X軸的旋轉(zhuǎn)方向。根據(jù)以上信息,確定機器人的整體系統(tǒng)控制架構如圖4所示。將二維碼的絕對數(shù)據(jù)分別與編碼器里程測量數(shù)據(jù)和慣性導航測量數(shù)據(jù)進行融合得到機器人的準確位姿,從而控制左右輪轉(zhuǎn)速,實現(xiàn)精確的自主導航。
2 ?機器人模型
兩輪差速移動機器人底盤主要由兩個驅(qū)動輪和兩到四個輔助支撐萬向輪組成,驅(qū)動輪分別位于底盤的兩側(cè),兩驅(qū)動輪分別裝有一個帶編碼器的伺服電機和相匹配的驅(qū)動器,相互獨立控制速度,通過對速度的控制,實現(xiàn)移動機器人底盤的直行和轉(zhuǎn)彎。常見的兩輪差速移動機器人模型如圖5所示,從圖一可以看出本實驗搭建的機器人模型為B型。包括兩個驅(qū)動輪和兩個支撐萬向輪。
3 ?數(shù)據(jù)融合過程
在使用編碼器的里程測量系統(tǒng)和慣性傳感器測量系統(tǒng)中都存在相對累計誤差,但誤差來源不同,對于電機編碼器的里程測量單元,由于其計算過程中將小車的曲線運動比喻為短時間的直線運動來求解,因此存在計算上的累計誤差,同時物理模型并非理想化模型,因此也存在一定的結(jié)構性系統(tǒng)誤差,對于慣性測量單元,其主要累計誤差來源于積分過程,通過積分獲得慣性測量單元的角度信息,其積分過程中常數(shù)的不確定性便是累積誤差的主要來源。由于以上不可避免的累計誤差在自主導航中對定位的影響將會不斷擴大,使其不能長時間滿足要求,所以本文采取了矩陣二維碼輔助修正自主導航中的累計誤差,可以長時間滿足其定位要求。
實驗中因為每一個二維碼都可以儲存不同的信息,我們所使用的二維碼具有不同的標簽值,通過程序為每一標簽二維碼定義其中心位置的絕對位置信息,通過激光測距儀將二維碼準確地布置到程序所定義的現(xiàn)實環(huán)境中的絕對位置。如圖7所示,每兩個二維碼間隔一米。
本次數(shù)據(jù)融合過程,沒有用到卡爾曼濾波器,僅使用簡單的數(shù)據(jù)結(jié)構替換方法同樣達到了較好的魯棒性,降低了對計算機性能的要求。
4 ?實驗驗證
本次實驗我們借助ROS系統(tǒng)中的可視化RVIZ工具來實時顯示機器人的軌跡信息,首先在僅使用里程測量單元的情況下,我們將機器人里程測量位置信息(紅線)實時顯示出來如圖8所示,由圖我們可以看出,在僅使用單里程測量單元的情況下,其機器人位姿累計誤差較大,在經(jīng)過第一個轉(zhuǎn)角之后其方位角就出現(xiàn)了較嚴重的偏差,之后誤差將持續(xù)累計,因此不能夠滿足定位要求及魯棒性。
其次我們使用了里程測量單元和慣性導航單元,根據(jù)數(shù)據(jù)融合過程中加入陀螺儀數(shù)據(jù)的方法,得到如圖9所示結(jié)果,陀螺儀的角度信息對里程測量單元的方位角起到了修正作用,當里程測量單元的軌跡如圖中紅線所示時,機器人在真實實驗環(huán)境中的位置與藍線基本重合,因此通過里程測量單元與慣性導航單元融合,對機器人導航過程中定位起到了較好的效果,但是長時間仍然會有不確定的累計誤差。
最后我們在里程測量單元和慣性導航單元中引入矩陣二維碼輔助修正累計誤差,使其魯棒性更佳,最終實驗結(jié)果如圖10所示,機器人真實軌跡如圖中藍線所示,圖中方框所標記處為機器人每個轉(zhuǎn)角處,矩陣二維碼對其方位角起到了絕對的修正作用。驗證了該方法的有效性。
5 ?結(jié)論
針對本次實驗,其中還有很多需要改進的地方,由于每一種傳感器都存在噪聲,因此應該對每一傳感器都應該進行高斯濾波處理,在今后的實驗中可以通過擴展卡爾曼濾波對其數(shù)據(jù)進行融合處理,對比其實驗效果。通過以上的三組實驗,我們發(fā)現(xiàn),在緊靠一種傳感器的情況下,機器人自主導航很難達到預期效果,多傳感器間的數(shù)據(jù)融合將是未來機器人自主導航中的主要發(fā)展方向。其中主要包括激光雷達、超聲波、視覺、二維碼、里程計、GPS等傳感器。未來或許會出現(xiàn)更加精確地定位傳感器技術,并且如今計算機的計算通訊能力也在不斷提高,我相信未來的機器人自主導航技術定會有質(zhì)的飛躍。
參考文獻
[1] Thrun S, Burgard W, Fox D. Probabilistic robotics[M]. MIT press, 2005.
[2] Cho B S, Moon W, Seo W J, et al. A dead reckoning localization system for mobile robots using inertial sensors and wheel revolution encoding[J]. Journal of mechanical science and technology, 2011, 25(11): 2907-2917.
[3] Moore T, Stouch D. A generalized extended kalman filter implementation for the robot operating system[M]//Intelligent Autonomous Systems 13. Springer, Cham, 2016: 335-348.
[4] Royer E, Lhuillier M, Dhome M, et al. Monocular vision for mobile robot localization and autonomous navigation[J]. International Journal of Computer Vision, 2007, 74(3): 237-260.
[5] Choi B S, Lee J W, Lee J J, et al. A hierarchical algorithm for indoor mobile robot localization using RFID sensor fusion[J]. IEEE Transactions on industrial electronics, 2011, 58(6): 2226-2235.
[6] Biswas J, Veloso M. Depth camera based indoor mobile robot localization and navigation[C]//2012 IEEE International Conference on Robotics and Automation. IEEE, 2012: 1697-1702.
[7] Rantakokko J , Rydell J , St?mback, Peter, et al. Accurate and reliable soldier and first responder indoor positioning : multisensor systems and cooperative localization[J]. IEEE Wireless Communications, 2011, 18(2):10-18.
[8] Alghamdi S, Van Schyndel R, Alahmadi A. Indoor navigational aid using active RFID and QR-code for sighted and blind people[C]//2013 IEEE Eighth International Conference on Intelligent Sensors, Sensor Networks and Information Processing. IEEE, 2013: 18-22.
[9] Yang C, Shao H R. WiFi-based indoor positioning[J]. IEEE Communications Magazine, 2015, 53(3): 150-157.
[10] Zhang H, Zhang C, Yang W, et al. Localization and navigation using QR code for mobile robot in indoor environment[C]// 2015 IEEE International Conference on Robotics and Biomimetics (ROBIO). IEEE, 2015: 2501-2506.
[11] Chiou Y S, Tsai F, Yeh S C, et al. An IMU-based positioning system using QR-code assisting for indoor navigation[M]// Computer Science and its Applications. Springer, Dordrecht, 2012: 655-665.
[12] Anezaki T, Eimon K, Tansuriyavong S, et al. Development of a human-tracking robot using QR code recognition[C]//2011 17th Korea-Japan Joint Workshop on Frontiers of Computer Vision (FCV). IEEE, 2011: 1-6.
[13] Xue Y, Tian G, Li R, et al. A new object search and recognition method based on artificial object mark in complex indoor environment[C]//2010 8th World Congress on Intelligent Control and Automation. IEEE, 2010: 6648-6653.
[14] Alves P, Costelha H, Neves C. Localization and navigation of a mobile robot in an office-like environment[C]//2013 13th International Conference on Autonomous Robot Systems. IEEE, 2013: 1-6.
[15] Rusdinar A, Kim S. Vision-Based Indoor Localization Using Artificial Landmarks and Natural Features on the Ceiling with Optical Flow and a Kalman Filter[J]. International Journal of Fuzzy Logic and Intelligent Systems, 2013, 13(2): 133-139.