張勝賓+趙祚喜
摘 要: 測(cè)程法是使用最廣泛的移動(dòng)機(jī)器人自主定位方法,具有短時(shí)定位精度較高,成本低廉的特點(diǎn),缺點(diǎn)是無(wú)界的誤差累積。在光滑規(guī)則的地面上運(yùn)動(dòng)時(shí),系統(tǒng)誤差是測(cè)程法的主要來(lái)源。為了提高移動(dòng)機(jī)器人自主定位的精度,國(guó)內(nèi)外專家嘗試了多種改進(jìn)方法,其中,UMBmark 校核算法是使用最廣泛的方法之一。概述了UMBmark 校核方法“雙向正方形路徑試驗(yàn)”及其簡(jiǎn)化模型,利用Pioneer3?AT差動(dòng)輪式移動(dòng)機(jī)器人完成了UMBmark校核試驗(yàn)。結(jié)果表明,UMBmark校核算法使得Pioneer3?AT機(jī)器人自主定位的精度和穩(wěn)定性均有較大提高。
關(guān)鍵詞: 移動(dòng)機(jī)器人; 定位; 測(cè)程法; UMBmark算法; 系統(tǒng)誤差; 校核試驗(yàn)
中圖分類號(hào): TN911.1?34; TP242.6 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2018)03?0080?04
Abstract: The odometry as one of the most widely?used autonomous positioning methods of mobile robot has the characteristics of high short?time location accuracy and low cost, but has unbounded error accumulation. The system error is the foundation of the odometry method when the robot is moving on a smooth and regular ground. In order to improve the accuracy of mobile robot′s autonomous location, multiple improved methods have been tried by the experts in China and other countries, in which the UMBmark calibration algorithm is one of the most widely?used methods. The UMBmark calibration method for bidirectional square path test and its simplified model are summarized. The Pioneer3?AT differential wheeled mobile robot is used to complete the UMBmark check test. The test results show that the UMBmark calibration algorithm can improve the positioning accuracy and stability of Pioneer3?AT robot greatly.
Keywords: mobile robot; location; odometry; UMBmark algorithm; system error; calibration test
0 引 言
準(zhǔn)確、可靠的位置信息是移動(dòng)機(jī)器人導(dǎo)航的基本前提,是研究的關(guān)鍵問題之一[1]。定位是確定機(jī)器人在工作環(huán)境中相對(duì)于全局坐標(biāo)的位姿[2]。現(xiàn)有的移動(dòng)機(jī)器人自主定位方法有多種分類方法,最常見的一種是把定位分為相對(duì)定位和絕對(duì)定位[3]。
相對(duì)定位是通過測(cè)量機(jī)器人相對(duì)于初始位置的距離和方向來(lái)確定機(jī)器人的當(dāng)前位置,包括慣性導(dǎo)航和測(cè)程法[4]。測(cè)程法不需要外部傳感器信息,而是通過自身的傳感器如光電編碼器、陀螺儀等實(shí)現(xiàn)機(jī)器人自定位,具有短時(shí)間定位精度較高,成本低廉的特點(diǎn),使用普遍。它的缺點(diǎn)在于無(wú)界的誤差累積[3]。測(cè)程法的誤差包括系統(tǒng)誤差與非系統(tǒng)誤差, 系統(tǒng)誤差與機(jī)器人當(dāng)前的外界環(huán)境無(wú)關(guān),取決于機(jī)器人設(shè)計(jì)的合理性及制造精度等因素,因此其對(duì)機(jī)器人自主定位誤差的影響是重要的誤差來(lái)源[5?6]。
在光滑規(guī)則的室內(nèi)地面上運(yùn)動(dòng)時(shí),系統(tǒng)誤差是機(jī)器人自主定位的主要來(lái)源。為了提高移動(dòng)機(jī)器人自主定位的精度,國(guó)內(nèi)外專家嘗試了多種改進(jìn)方法, 其中UMBmark校核算法是使用最廣泛的方法之一[7]。
本文概述了UMBmark校核方法“雙向正方形路徑試驗(yàn)”及其簡(jiǎn)化模型,然后利用Pioneer3?AT差動(dòng)輪式移動(dòng)機(jī)器人完成UMBmark校核試驗(yàn)。通過與校核前位置誤差相比,試驗(yàn)結(jié)果驗(yàn)證了UMBmark校核方法在提高移動(dòng)機(jī)器人自主定位精度方面的有效性。
1 UMBmark校核算法
1.1 UMBmark校核算法簡(jiǎn)介
密歇根大學(xué)機(jī)器人試驗(yàn)室的Borenstein等人認(rèn)為,“不相等的輪直徑”和“輪距的不確定”是導(dǎo)致測(cè)程法系統(tǒng)誤差的主要因素[5,8],其基本思想是通過建立測(cè)程法系統(tǒng)誤差簡(jiǎn)化模型,通過“雙向正方形路徑試驗(yàn)”(即UMBmark試驗(yàn))測(cè)量位置誤差,得到“不相等的輪直徑”和“輪距的不確定”兩個(gè)因素導(dǎo)致的系統(tǒng)誤差,然后通過調(diào)校車輪直徑和輪距參數(shù)來(lái)消除其影響,從而提高里程計(jì)的定位精度。UMBmark校核算法不需要復(fù)雜的設(shè)備且容易實(shí)現(xiàn)。
1.2 UMBmark試驗(yàn)方法
UMBmark校核算法用表示由于左、右輪不相等的直徑而導(dǎo)致的系統(tǒng)誤差,定義為:
式中指機(jī)器人左、右驅(qū)動(dòng)輪的實(shí)際直徑。
用表示由于實(shí)際輪距和標(biāo)稱輪距不相等而導(dǎo)致的系統(tǒng)誤差,定義為:
式中指機(jī)器人的實(shí)際輪距和標(biāo)稱輪距。
為了使和導(dǎo)致的系統(tǒng)誤差不相互抵消,UMBmark校核算法引入了 “雙向正方形路徑試驗(yàn)”(即UMBmark試驗(yàn)),UMBmark試驗(yàn)要求差分移動(dòng)機(jī)器人在順時(shí)針和逆時(shí)針方向進(jìn)行正方形路徑試驗(yàn)[8],試驗(yàn)方法如下:endprint
步驟一:開始試驗(yàn)前,測(cè)量機(jī)器人在工作環(huán)境中的絕對(duì)位置信息,編程實(shí)現(xiàn)機(jī)器人走4 m×4 m的正方形路徑;
步驟二:使機(jī)器人在順時(shí)針方向沿著4 m×4 m的正方形行走,并實(shí)現(xiàn):
① 機(jī)器人每直線行走4 m后停止;
② 在正方形路徑的拐彎處完成90°的定點(diǎn)旋轉(zhuǎn);
③ 為防止輪子打滑,要求機(jī)器人緩慢移動(dòng);
④ 機(jī)器人回到初始位置時(shí)測(cè)量其此時(shí)的絕對(duì)位置信息;
⑤ 計(jì)算機(jī)器人的位置誤差;
步驟三:重復(fù)步驟二,獲得另外4次順時(shí)針運(yùn)動(dòng)的位置誤差;
步驟四:在逆時(shí)針運(yùn)動(dòng)時(shí)重復(fù)步驟二,獲得逆時(shí)針運(yùn)動(dòng)的5次位置誤差。
1.3 UMBmark校核算法的簡(jiǎn)化模型
Borenstein等人給出了TypeA和TypeB兩類方向誤差,分別用和表示[8?9] 。其中TypeA誤差指機(jī)器人沿著順時(shí)針和逆時(shí)針方向完成正方形路徑試驗(yàn)時(shí)減少(或增大)機(jī)器人旋轉(zhuǎn)角度總量的方向誤差;TypeB誤差指機(jī)器人在一個(gè)方向運(yùn)動(dòng)時(shí)減少(或者增大)機(jī)器人旋轉(zhuǎn)角度總量而在另一個(gè)方向運(yùn)動(dòng)時(shí)增大(或者減少)機(jī)器人旋轉(zhuǎn)角度總量的方向誤差。
基于TypeA誤差和TypeB誤差定義,UMBmark校核算法建立了測(cè)程法系統(tǒng)誤差的簡(jiǎn)化模型。假定:
1) “不相等的輪直徑”和“輪距的不確定”是測(cè)程法系統(tǒng)誤差的主要來(lái)源;
2) “輪距的不確定”僅對(duì)機(jī)器人旋轉(zhuǎn)運(yùn)動(dòng)造成誤差,而對(duì)直線運(yùn)動(dòng)無(wú)影響;
3) “不相等的輪直徑”僅對(duì)機(jī)器人的直線運(yùn)動(dòng)造成誤差,而對(duì)旋轉(zhuǎn)運(yùn)動(dòng)無(wú)影響;
4) “輪距的不確定”只造成TypeA誤差,而不造成TypeB誤差;
5) “不相等的輪直徑”只造成TypeB誤差,而不造成TypeA誤差。
UMBmark校核算法給出了下面一系列的方程,利用下列方程可以求解得到差分移動(dòng)機(jī)器人的系統(tǒng)參數(shù)()及對(duì)應(yīng)的校核系數(shù)()。
式中:為TypeA的方向誤差;為TypeB的方向誤差;為UMBmark試驗(yàn)中順時(shí)針方向移動(dòng)時(shí)的位置誤差重心;為UMBmark試驗(yàn)中逆時(shí)針方向移動(dòng)時(shí)的位置誤差重心;為UMBmark試驗(yàn)中正方形路徑邊長(zhǎng);為弧線的曲率半徑;為機(jī)器人實(shí)際左輪直徑;為機(jī)器人實(shí)際右輪直徑;為由于不相等的輪直徑而導(dǎo)致的系統(tǒng)誤差;為由于輪距的不確定而導(dǎo)致的系統(tǒng)誤差;為左編碼器換算系數(shù);為右編碼器換算系數(shù);為機(jī)器人輪距;為機(jī)器人實(shí)際輪距;為機(jī)器人標(biāo)稱輪距。
基于上述方程組可以求出和根據(jù)UMBmark校核算法建立的簡(jiǎn)化模型可知,通過對(duì)輪直徑和輪距的補(bǔ)償,就可以提高移動(dòng)機(jī)器人測(cè)程法的定位精度。
2 試驗(yàn)設(shè)備與方法
2.1 試驗(yàn)設(shè)備
以美國(guó)Adept Mobile Robots公司的Pioneer 3?AT 移動(dòng)機(jī)器人作為UMBmark校核算法的試驗(yàn)平臺(tái),如圖1所示。Pioneer 3?AT為差動(dòng)驅(qū)動(dòng)式移動(dòng)機(jī)器人,為客戶端?服務(wù)器控制結(jié)構(gòu),自帶的機(jī)載計(jì)算機(jī)或外接計(jì)算機(jī)可作為上位機(jī)控制下位機(jī)。采用四輪驅(qū)動(dòng),每個(gè)輪子都同一個(gè)驅(qū)動(dòng)電機(jī)和光電編碼器相連。電機(jī)用于驅(qū)動(dòng)輪子,光電編碼器隨輪子同步旋轉(zhuǎn),左側(cè)兩輪和右側(cè)兩輪分別采用同步帶相連[10]。Pioneer3?AT采用ADXRS300低成本的陀螺儀來(lái)測(cè)量機(jī)器人的航向角度,然后利用卡爾曼濾波將陀螺儀與編碼器測(cè)得的機(jī)器人航向角進(jìn)行濾波融合,來(lái)修正輪子打滑等導(dǎo)致的編碼器測(cè)角誤差,提高定位精度[10]。
2.2 UMBmark試驗(yàn)過程
按照UMBmark試驗(yàn)步驟,首先在試驗(yàn)室地面確定一個(gè)4 m×4 m的正方形,如圖2所示,并確定機(jī)器人的起始位置。然后編程實(shí)現(xiàn)機(jī)器人沿正方形順時(shí)針和逆時(shí)針行走,機(jī)器人停止后測(cè)量其與起始位置的軸向和縱向誤差,得到一組誤差數(shù)據(jù)。重復(fù)完成5次順時(shí)針方向和5次逆時(shí)針方向4 m×4 m的正方形行走,得到10次機(jī)器人位置誤差分布圖,如圖3所示。
機(jī)器人順時(shí)針和逆時(shí)針的UMBmark試驗(yàn),得到的10組里程計(jì)誤差分布在一個(gè)特定的區(qū)域,為了更準(zhǔn)確地表示系統(tǒng)誤差,用該特定區(qū)域的重心來(lái)表示里程計(jì)在順時(shí)針方向和逆時(shí)針方向的系統(tǒng)誤差。
利用式(9)得到10組里程計(jì)位置和方向誤差。
式中:表示得到的里程計(jì)位置和方向誤差;表示機(jī)器人的實(shí)際位置和方向;表示里程計(jì)得到的機(jī)器人沿位置和方向。
利用式(10)得到機(jī)器人沿順時(shí)針或逆時(shí)針的誤差分布區(qū)域的重心坐標(biāo):
式中分別表示順時(shí)針/逆時(shí)針誤差分布區(qū)域的重心坐標(biāo)。
利用式(11)得到機(jī)器人沿順時(shí)針/逆時(shí)針誤差分布區(qū)域的絕對(duì)誤差:
式中分別表示順時(shí)針或逆時(shí)針得到的誤差分布區(qū)域的絕對(duì)誤差。
利用式(12)得到機(jī)器人里程計(jì)的系統(tǒng)誤差:
3 試驗(yàn)結(jié)果與分析
表1所示為校準(zhǔn)前機(jī)器人的里程計(jì)定位誤差,表2所示為UMBmark校準(zhǔn)后機(jī)器人里程計(jì)定位誤差。圖4顯示了未校核機(jī)器人的試驗(yàn)結(jié)果及利用UMBmark校核后所獲得的試驗(yàn)結(jié)果。
從圖4可以看出,校核前,Pioneer3?AT順時(shí)針行走時(shí),里程計(jì)誤差分布區(qū)域的絕對(duì)誤差為176 mm,校核后為116 mm,UMBmark校核算法使得機(jī)器人里程計(jì)定位誤差精度提高了34%;校核前,Pioneer3?AT逆時(shí)針行走時(shí),里程計(jì)誤差分布區(qū)域的絕對(duì)誤差為336 mm,校核后為291 mm,UMBmark校核算法使得機(jī)器人里程計(jì)定位誤差精度提高了14%;UMBmark校核算法利用表示里程計(jì)的系統(tǒng)誤差的大小,從圖4可以看出,Pioneer3?AT校核前為336 mm,經(jīng)過UMBmark算法校核后為291 mm,試驗(yàn)結(jié)果表明 UMBmark校核算法使得機(jī)器人里程計(jì)總體定位誤差精度提高了14%。endprint
從圖4還可以看出,校核前,Pioneer3?AT機(jī)器人順時(shí)針和逆時(shí)針行走時(shí)的誤差分布均較分散,里程計(jì)定位精度穩(wěn)定性較差;經(jīng)過UMBmark算法校核后,誤差分布相比校核前均較集中,定位精度穩(wěn)定性有了較大提高。
4 結(jié) 論
本文概述了UMBmark校核方法“雙向正方形路徑試驗(yàn)”及其簡(jiǎn)化模型,然后利用Pioneer3?AT差動(dòng)輪式移動(dòng)機(jī)器人完成了UMBmark校核試驗(yàn)。試驗(yàn)結(jié)果表明,UMBmark校核算法使得Pioneer3?AT機(jī)器人里程計(jì)順時(shí)針行走時(shí)定位誤差精度提高了34%,逆時(shí)針行走時(shí)定位誤差精度提高了14%。順時(shí)針和逆時(shí)針行走時(shí)多次試驗(yàn)的誤差分布相比校核前均較集中,定位精度穩(wěn)定性有了較大提高。
參考文獻(xiàn)
[1] SIEGWART R, NOURBAKHSH I R. Introduction to autonomous mobile robots [M]. London: The MIT Press, 2004: 83?87.
[2] LU F, MILIOS E. Robot pose estimation in unknown environments by Mathing 2D rang scans [J]. Intelligent robot systems, 1997(18): 249?275.
[3] 宗光華,鄧魯華,王巍.一種魯棒的室外移動(dòng)機(jī)器人定位方法[J].北京航空航天大學(xué)學(xué)報(bào),2007,33(4):454?458.
ZONG Guanghua, DENG Luhua, WANG Wei. Robust localization algorithms for outdoor mobile robot [J]. Journal of Beijing University of Aeronautics and Astronautics, 2007, 33(4): 454?458.
[4] 李群明,熊蓉,褚健.室內(nèi)自主移動(dòng)機(jī)器人定位方法研究綜述[J].機(jī)器人,2003,25(6):560?567.
LI Qunming, XIONG Rong, CHU Jian. Localization approaches for indoor autonomous mobile robots: a review [J]. Robot, 2003, 25(6): 560?567.
[5] 王衛(wèi)華.移動(dòng)機(jī)器人定位技術(shù)研究[D].武漢:華中科技大學(xué),2005.
WANG Weihua. Research on localization technology for mobile robots [D]. Wuhan: Huazhong University of Science & Techno?logy, 2005.
[6] 陶敏,陳新,孫振平.移動(dòng)機(jī)器人定位技術(shù)[J].火力與指揮控制,2010,35(7):169?172.
TAO Min, CHEN Xin, SUN Zhenping. Positioning techniques of mobile robot [J]. Fire control & command control, 2010, 35(7): 169?172.
[7] CHONG K S, KLEEMAN L. Accurate odometry and error mo?deling for a mobile robot [C]// Proceedings of 1997 IEEE International Conference on Robotics and Automation. Albuquerque: IEEE, 1997: 2783?2788.
[8] BORENSTEIN J, FENG L. Measurement and correction of systematic odometry errors in mobile robots [J]. IEEE transactions on robotics and automation, 1996, 12(6): 869?880.
[9] 王衛(wèi)華,熊有倫,孫容磊.測(cè)程法系統(tǒng)誤差的測(cè)量與校核[J].機(jī)器人,2004,26(5):444?460.
WANG Weihua, XIONG Youlun, SUN Ronglei. Measurement and calibration of systematic errors of odometry [J]. Robot, 2004, 26(5): 444?460.
[10] 張勝賓,趙祚喜.基于卡爾曼濾波的輪式移動(dòng)機(jī)器人定位實(shí)驗(yàn)研究[J].機(jī)電工程技術(shù),2010,39(2):44?45.
ZHANG Shengbin, ZHAO Zuoxi. Kalman filter?based research on mobile robot localization experiment [J]. Mechanical & electrical engineering technology, 2010, 39(2): 44?45.endprint