張安峰 吳濤 楊叢叢
摘 ?要: 移動(dòng)機(jī)器人自主導(dǎo)航過程中,為機(jī)器人提供精確地位置信息十分重要,只有機(jī)器人有了精確地位置信息才能準(zhǔn)確地導(dǎo)航到目標(biāo)點(diǎn)。由于單純的慣性和里程測量系統(tǒng)的相對(duì)定位方式都不能消除長時(shí)間的累計(jì)定位誤差,因此需要一種絕對(duì)位置信息加以輔助修正累計(jì)誤差。二維碼是一種很好的可以存儲(chǔ)絕對(duì)位置信息的方式,且信息獲取簡單易用,本文提出了一種將矩陣二維碼作為絕對(duì)位置標(biāo)簽輔助修正里程和慣性測量系統(tǒng)導(dǎo)航過程中產(chǎn)生的累計(jì)誤差的導(dǎo)航定位方法。通過實(shí)驗(yàn)對(duì)比驗(yàn)證了該方法的有效性。
關(guān)鍵詞: 移動(dòng)機(jī)器人;二維碼;自主導(dǎo)航;定位
中圖分類號(hào): TP242.6 ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.06.042
本文著錄格式:張安峰,吳濤,楊叢叢. 移動(dòng)機(jī)器人自主導(dǎo)航矩陣二維碼輔助定位研究[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)代科技技術(shù)發(fā)展迅速,各類傳感器產(chǎn)品技術(shù)穩(wěn)定且精度不斷提高,致使一些依賴各類傳感器的新興技術(shù)發(fā)展迅速。其中移動(dòng)機(jī)器人就是一個(gè)典型的代表,近幾年,成為了國內(nèi)外及各大高校的研究熱點(diǎn)。其中主要包括SLAM(同時(shí)定位與建圖)、自主導(dǎo)航、定位等[1]。不同環(huán)境機(jī)器人的定位方法分為相對(duì)定位和絕對(duì)定位,相對(duì)定位主要通過里程測量和慣性導(dǎo)航技術(shù)[2],主要傳感器為慣性測量(IMU)傳感器和電機(jī)編碼器等。室外機(jī)器人的絕對(duì)定位主要通過GPS輔助機(jī)器人定位[3],而對(duì)于室內(nèi)機(jī)器人,則需要借助絕對(duì)位置傳感器如RFID、RSSI、UWB、WIFI、激光、視覺等技術(shù)來輔助機(jī)器人獲得絕對(duì)位姿,這類傳感器不僅僅應(yīng)用于機(jī)器人[4-6],在其他室內(nèi)定位方面也同樣適用[7-9]。
現(xiàn)如今,標(biāo)簽式輔助定位非常流行,因?yàn)橄啾扔谇懊嫣岬降氖覂?nèi)絕對(duì)定位方式,標(biāo)簽式輔助定位其信息獲取較為簡單,且成本低。最為流行的是二維碼標(biāo)簽,他可以存儲(chǔ)我們需要的機(jī)器人的絕對(duì)位姿。二維碼技術(shù)現(xiàn)在已經(jīng)應(yīng)用于我們生活的方方面面,但對(duì)于工程上應(yīng)用現(xiàn)在還是處于研發(fā)階段。現(xiàn)在主要研究的方面有二維碼輔助定位[10,11]、二維碼追蹤[12]、二維碼目標(biāo)搜索識(shí)別[13]等領(lǐng)域。Alves P, Costelha H, Neves C[14]等人將環(huán)境中天花板上的燈具作為標(biāo)簽,不需要人為改變環(huán)境,應(yīng)用起來較為容易,但是對(duì)于燈具的識(shí)別過程中其穩(wěn)定性相對(duì)于二維碼標(biāo)簽較差。Rusdinar A, Kim S[15]定義了人工地標(biāo),通過對(duì)自然特征進(jìn)行實(shí)時(shí)的圖像處理從而達(dá)到自主導(dǎo)航定位目的。
本文的研究是在里程和慣性測量系統(tǒng)的相對(duì)定位基礎(chǔ)上通過矩陣二維碼輔助修正相對(duì)定位累計(jì)誤差的導(dǎo)航方法。Cho B S, Moon W[2]等人通過結(jié)合慣性導(dǎo)航和里程測量系統(tǒng)設(shè)計(jì)了一種卡爾曼濾波器進(jìn)行數(shù)據(jù)融合從而獲得相對(duì)于任意單系統(tǒng)更精確的位置信息。但是此方法仍然無法消除長時(shí)間累計(jì)誤差。Zhang H, Zhang C[10]等人通過將二維碼整齊排列粘貼在天花板上,在機(jī)器人上配備一個(gè)指向天花板的工業(yè)攝像頭,讀取二維碼位置信息從而估計(jì)出機(jī)器人的姿態(tài),但是該方法對(duì)環(huán)境光的要求較高,當(dāng)環(huán)境突然發(fā)生變化或在黑夜環(huán)境中,該方法將會(huì)失效。Chiou Y S, Tsai F[11]等人提出了一種慣性測量單元(IMU)與二維碼相結(jié)合的定位方案,該方法有效降低了慣性測量單元定位累計(jì)誤差,由于慣性測量單元加速度計(jì)是通過雙重積分獲取位姿信息,所以其相對(duì)定位精度效果沒有里程測量單元精確,但里程測量單元又受物理?xiàng)l件影響較大。因此本文做了只使用里程測量單元、同時(shí)使用里程測量、慣性導(dǎo)航單元和使用二維碼輔助里程測量、慣性導(dǎo)航單元自主導(dǎo)航定位三種情況的對(duì)比試驗(yàn),驗(yàn)證了二維碼輔助里程測量慣性導(dǎo)航單元自主導(dǎo)航定位的有效性。
1 ?系統(tǒng)結(jié)構(gòu)
本文采用的實(shí)驗(yàn)平臺(tái)是用輕鋁型材搭建的簡易兩輪差速移動(dòng)機(jī)器人,如圖1所示。本實(shí)驗(yàn)平臺(tái)配備有帶增量式編碼器的伺服電機(jī),通過編碼器可以獲得車輪的里程測量信息從而提供機(jī)器人的位置信息;4軸慣性測量元件(IMU)包含3軸加速度計(jì)和Z軸陀螺儀,因?yàn)楸緦?shí)驗(yàn)針對(duì)平面環(huán)境的機(jī)器人運(yùn)動(dòng),因此主要位姿包括(x、y、yaw)x、y位置以及偏航角(yaw)姿態(tài),所以選用的是4軸慣性測量元件,主要提供機(jī)器人的姿態(tài)信息;P+F公司的二維碼視覺讀碼器,如圖2所示,該讀碼器可以實(shí)時(shí)讀取矩陣二維碼中的信息,而且?guī)в休o助光源,避免了光照條件和黑夜環(huán)境的不適用性,其中讀碼器可以獲得矩陣二維碼標(biāo)簽值和二維碼讀頭相對(duì)于二維碼中心點(diǎn)的位置偏差及角度信息,這正是我們所需要的絕對(duì)位姿信息。
本實(shí)驗(yàn)平臺(tái)的的整個(gè)軟件開發(fā)環(huán)境都是在裝有Ubuntu16.04的電腦上實(shí)現(xiàn)的,是基于ROS系統(tǒng)開發(fā)的。其中涉及到RS232、RS485、CAN等串口網(wǎng)絡(luò)通訊方式,4軸慣性測量單元(IMU)采用的是RS232通訊方式,二維碼讀碼器采用的是RS485通訊方式,伺服電機(jī)則采用USB轉(zhuǎn)CAN的通訊方式。實(shí)驗(yàn)中的矩陣二維碼標(biāo)簽如圖3所示,每一個(gè)矩陣二維碼都存儲(chǔ)了不同的標(biāo)簽值,對(duì)于位姿信息,每一個(gè)二維碼都可以得到相對(duì)于二維碼中心點(diǎn)的偏移距離以及相對(duì)于X軸的旋轉(zhuǎn)方向。根據(jù)以上信息,確定機(jī)器人的整體系統(tǒng)控制架構(gòu)如圖4所示。將二維碼的絕對(duì)數(shù)據(jù)分別與編碼器里程測量數(shù)據(jù)和慣性導(dǎo)航測量數(shù)據(jù)進(jìn)行融合得到機(jī)器人的準(zhǔn)確位姿,從而控制左右輪轉(zhuǎn)速,實(shí)現(xiàn)精確的自主導(dǎo)航。
2 ?機(jī)器人模型
兩輪差速移動(dòng)機(jī)器人底盤主要由兩個(gè)驅(qū)動(dòng)輪和兩到四個(gè)輔助支撐萬向輪組成,驅(qū)動(dòng)輪分別位于底盤的兩側(cè),兩驅(qū)動(dòng)輪分別裝有一個(gè)帶編碼器的伺服電機(jī)和相匹配的驅(qū)動(dòng)器,相互獨(dú)立控制速度,通過對(duì)速度的控制,實(shí)現(xiàn)移動(dòng)機(jī)器人底盤的直行和轉(zhuǎn)彎。常見的兩輪差速移動(dòng)機(jī)器人模型如圖5所示,從圖一可以看出本實(shí)驗(yàn)搭建的機(jī)器人模型為B型。包括兩個(gè)驅(qū)動(dòng)輪和兩個(gè)支撐萬向輪。
3 ?數(shù)據(jù)融合過程
在使用編碼器的里程測量系統(tǒng)和慣性傳感器測量系統(tǒng)中都存在相對(duì)累計(jì)誤差,但誤差來源不同,對(duì)于電機(jī)編碼器的里程測量單元,由于其計(jì)算過程中將小車的曲線運(yùn)動(dòng)比喻為短時(shí)間的直線運(yùn)動(dòng)來求解,因此存在計(jì)算上的累計(jì)誤差,同時(shí)物理模型并非理想化模型,因此也存在一定的結(jié)構(gòu)性系統(tǒng)誤差,對(duì)于慣性測量單元,其主要累計(jì)誤差來源于積分過程,通過積分獲得慣性測量單元的角度信息,其積分過程中常數(shù)的不確定性便是累積誤差的主要來源。由于以上不可避免的累計(jì)誤差在自主導(dǎo)航中對(duì)定位的影響將會(huì)不斷擴(kuò)大,使其不能長時(shí)間滿足要求,所以本文采取了矩陣二維碼輔助修正自主導(dǎo)航中的累計(jì)誤差,可以長時(shí)間滿足其定位要求。
實(shí)驗(yàn)中因?yàn)槊恳粋€(gè)二維碼都可以儲(chǔ)存不同的信息,我們所使用的二維碼具有不同的標(biāo)簽值,通過程序?yàn)槊恳粯?biāo)簽二維碼定義其中心位置的絕對(duì)位置信息,通過激光測距儀將二維碼準(zhǔn)確地布置到程序所定義的現(xiàn)實(shí)環(huán)境中的絕對(duì)位置。如圖7所示,每兩個(gè)二維碼間隔一米。
本次數(shù)據(jù)融合過程,沒有用到卡爾曼濾波器,僅使用簡單的數(shù)據(jù)結(jié)構(gòu)替換方法同樣達(dá)到了較好的魯棒性,降低了對(duì)計(jì)算機(jī)性能的要求。
4 ?實(shí)驗(yàn)驗(yàn)證
本次實(shí)驗(yàn)我們借助ROS系統(tǒng)中的可視化RVIZ工具來實(shí)時(shí)顯示機(jī)器人的軌跡信息,首先在僅使用里程測量單元的情況下,我們將機(jī)器人里程測量位置信息(紅線)實(shí)時(shí)顯示出來如圖8所示,由圖我們可以看出,在僅使用單里程測量單元的情況下,其機(jī)器人位姿累計(jì)誤差較大,在經(jīng)過第一個(gè)轉(zhuǎn)角之后其方位角就出現(xiàn)了較嚴(yán)重的偏差,之后誤差將持續(xù)累計(jì),因此不能夠滿足定位要求及魯棒性。
其次我們使用了里程測量單元和慣性導(dǎo)航單元,根據(jù)數(shù)據(jù)融合過程中加入陀螺儀數(shù)據(jù)的方法,得到如圖9所示結(jié)果,陀螺儀的角度信息對(duì)里程測量單元的方位角起到了修正作用,當(dāng)里程測量單元的軌跡如圖中紅線所示時(shí),機(jī)器人在真實(shí)實(shí)驗(yàn)環(huán)境中的位置與藍(lán)線基本重合,因此通過里程測量單元與慣性導(dǎo)航單元融合,對(duì)機(jī)器人導(dǎo)航過程中定位起到了較好的效果,但是長時(shí)間仍然會(huì)有不確定的累計(jì)誤差。
最后我們?cè)诶锍虦y量單元和慣性導(dǎo)航單元中引入矩陣二維碼輔助修正累計(jì)誤差,使其魯棒性更佳,最終實(shí)驗(yàn)結(jié)果如圖10所示,機(jī)器人真實(shí)軌跡如圖中藍(lán)線所示,圖中方框所標(biāo)記處為機(jī)器人每個(gè)轉(zhuǎn)角處,矩陣二維碼對(duì)其方位角起到了絕對(duì)的修正作用。驗(yàn)證了該方法的有效性。
5 ?結(jié)論
針對(duì)本次實(shí)驗(yàn),其中還有很多需要改進(jìn)的地方,由于每一種傳感器都存在噪聲,因此應(yīng)該對(duì)每一傳感器都應(yīng)該進(jìn)行高斯濾波處理,在今后的實(shí)驗(yàn)中可以通過擴(kuò)展卡爾曼濾波對(duì)其數(shù)據(jù)進(jìn)行融合處理,對(duì)比其實(shí)驗(yàn)效果。通過以上的三組實(shí)驗(yàn),我們發(fā)現(xiàn),在緊靠一種傳感器的情況下,機(jī)器人自主導(dǎo)航很難達(dá)到預(yù)期效果,多傳感器間的數(shù)據(jù)融合將是未來機(jī)器人自主導(dǎo)航中的主要發(fā)展方向。其中主要包括激光雷達(dá)、超聲波、視覺、二維碼、里程計(jì)、GPS等傳感器。未來或許會(huì)出現(xiàn)更加精確地定位傳感器技術(shù),并且如今計(jì)算機(jī)的計(jì)算通訊能力也在不斷提高,我相信未來的機(jī)器人自主導(dǎo)航技術(shù)定會(huì)有質(zhì)的飛躍。
參考文獻(xiàn)
[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.