張勝賓+趙祚喜
摘 要: 測程法是使用最廣泛的移動機器人自主定位方法,具有短時定位精度較高,成本低廉的特點,缺點是無界的誤差累積。在光滑規則的地面上運動時,系統誤差是測程法的主要來源。為了提高移動機器人自主定位的精度,國內外專家嘗試了多種改進方法,其中,UMBmark 校核算法是使用最廣泛的方法之一。概述了UMBmark 校核方法“雙向正方形路徑試驗”及其簡化模型,利用Pioneer3?AT差動輪式移動機器人完成了UMBmark校核試驗。結果表明,UMBmark校核算法使得Pioneer3?AT機器人自主定位的精度和穩定性均有較大提高。
關鍵詞: 移動機器人; 定位; 測程法; UMBmark算法; 系統誤差; 校核試驗
中圖分類號: TN911.1?34; TP242.6 文獻標識碼: A 文章編號: 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 引 言
準確、可靠的位置信息是移動機器人導航的基本前提,是研究的關鍵問題之一[1]。定位是確定機器人在工作環境中相對于全局坐標的位姿[2]。現有的移動機器人自主定位方法有多種分類方法,最常見的一種是把定位分為相對定位和絕對定位[3]。
相對定位是通過測量機器人相對于初始位置的距離和方向來確定機器人的當前位置,包括慣性導航和測程法[4]。測程法不需要外部傳感器信息,而是通過自身的傳感器如光電編碼器、陀螺儀等實現機器人自定位,具有短時間定位精度較高,成本低廉的特點,使用普遍。它的缺點在于無界的誤差累積[3]。測程法的誤差包括系統誤差與非系統誤差, 系統誤差與機器人當前的外界環境無關,取決于機器人設計的合理性及制造精度等因素,因此其對機器人自主定位誤差的影響是重要的誤差來源[5?6]。
在光滑規則的室內地面上運動時,系統誤差是機器人自主定位的主要來源。為了提高移動機器人自主定位的精度,國內外專家嘗試了多種改進方法, 其中UMBmark校核算法是使用最廣泛的方法之一[7]。
本文概述了UMBmark校核方法“雙向正方形路徑試驗”及其簡化模型,然后利用Pioneer3?AT差動輪式移動機器人完成UMBmark校核試驗。通過與校核前位置誤差相比,試驗結果驗證了UMBmark校核方法在提高移動機器人自主定位精度方面的有效性。
1 UMBmark校核算法
1.1 UMBmark校核算法簡介
密歇根大學機器人試驗室的Borenstein等人認為,“不相等的輪直徑”和“輪距的不確定”是導致測程法系統誤差的主要因素[5,8],其基本思想是通過建立測程法系統誤差簡化模型,通過“雙向正方形路徑試驗”(即UMBmark試驗)測量位置誤差,得到“不相等的輪直徑”和“輪距的不確定”兩個因素導致的系統誤差,然后通過調校車輪直徑和輪距參數來消除其影響,從而提高里程計的定位精度。UMBmark校核算法不需要復雜的設備且容易實現。
1.2 UMBmark試驗方法
UMBmark校核算法用表示由于左、右輪不相等的直徑而導致的系統誤差,定義為:
式中指機器人左、右驅動輪的實際直徑。
用表示由于實際輪距和標稱輪距不相等而導致的系統誤差,定義為:
式中指機器人的實際輪距和標稱輪距。
為了使和導致的系統誤差不相互抵消,UMBmark校核算法引入了 “雙向正方形路徑試驗”(即UMBmark試驗),UMBmark試驗要求差分移動機器人在順時針和逆時針方向進行正方形路徑試驗[8],試驗方法如下:endprint
步驟一:開始試驗前,測量機器人在工作環境中的絕對位置信息,編程實現機器人走4 m×4 m的正方形路徑;
步驟二:使機器人在順時針方向沿著4 m×4 m的正方形行走,并實現:
① 機器人每直線行走4 m后停止;
② 在正方形路徑的拐彎處完成90°的定點旋轉;
③ 為防止輪子打滑,要求機器人緩慢移動;
④ 機器人回到初始位置時測量其此時的絕對位置信息;
⑤ 計算機器人的位置誤差;
步驟三:重復步驟二,獲得另外4次順時針運動的位置誤差;
步驟四:在逆時針運動時重復步驟二,獲得逆時針運動的5次位置誤差。
1.3 UMBmark校核算法的簡化模型
Borenstein等人給出了TypeA和TypeB兩類方向誤差,分別用和表示[8?9] 。其中TypeA誤差指機器人沿著順時針和逆時針方向完成正方形路徑試驗時減少(或增大)機器人旋轉角度總量的方向誤差;TypeB誤差指機器人在一個方向運動時減少(或者增大)機器人旋轉角度總量而在另一個方向運動時增大(或者減少)機器人旋轉角度總量的方向誤差。
基于TypeA誤差和TypeB誤差定義,UMBmark校核算法建立了測程法系統誤差的簡化模型。假定:
1) “不相等的輪直徑”和“輪距的不確定”是測程法系統誤差的主要來源;
2) “輪距的不確定”僅對機器人旋轉運動造成誤差,而對直線運動無影響;
3) “不相等的輪直徑”僅對機器人的直線運動造成誤差,而對旋轉運動無影響;
4) “輪距的不確定”只造成TypeA誤差,而不造成TypeB誤差;
5) “不相等的輪直徑”只造成TypeB誤差,而不造成TypeA誤差。
UMBmark校核算法給出了下面一系列的方程,利用下列方程可以求解得到差分移動機器人的系統參數()及對應的校核系數()。
式中:為TypeA的方向誤差;為TypeB的方向誤差;為UMBmark試驗中順時針方向移動時的位置誤差重心;為UMBmark試驗中逆時針方向移動時的位置誤差重心;為UMBmark試驗中正方形路徑邊長;為弧線的曲率半徑;為機器人實際左輪直徑;為機器人實際右輪直徑;為由于不相等的輪直徑而導致的系統誤差;為由于輪距的不確定而導致的系統誤差;為左編碼器換算系數;為右編碼器換算系數;為機器人輪距;為機器人實際輪距;為機器人標稱輪距。
基于上述方程組可以求出和根據UMBmark校核算法建立的簡化模型可知,通過對輪直徑和輪距的補償,就可以提高移動機器人測程法的定位精度。
2 試驗設備與方法
2.1 試驗設備
以美國Adept Mobile Robots公司的Pioneer 3?AT 移動機器人作為UMBmark校核算法的試驗平臺,如圖1所示。Pioneer 3?AT為差動驅動式移動機器人,為客戶端?服務器控制結構,自帶的機載計算機或外接計算機可作為上位機控制下位機。采用四輪驅動,每個輪子都同一個驅動電機和光電編碼器相連。電機用于驅動輪子,光電編碼器隨輪子同步旋轉,左側兩輪和右側兩輪分別采用同步帶相連[10]。Pioneer3?AT采用ADXRS300低成本的陀螺儀來測量機器人的航向角度,然后利用卡爾曼濾波將陀螺儀與編碼器測得的機器人航向角進行濾波融合,來修正輪子打滑等導致的編碼器測角誤差,提高定位精度[10]。
2.2 UMBmark試驗過程
按照UMBmark試驗步驟,首先在試驗室地面確定一個4 m×4 m的正方形,如圖2所示,并確定機器人的起始位置。然后編程實現機器人沿正方形順時針和逆時針行走,機器人停止后測量其與起始位置的軸向和縱向誤差,得到一組誤差數據。重復完成5次順時針方向和5次逆時針方向4 m×4 m的正方形行走,得到10次機器人位置誤差分布圖,如圖3所示。
機器人順時針和逆時針的UMBmark試驗,得到的10組里程計誤差分布在一個特定的區域,為了更準確地表示系統誤差,用該特定區域的重心來表示里程計在順時針方向和逆時針方向的系統誤差。
利用式(9)得到10組里程計位置和方向誤差。
式中:表示得到的里程計位置和方向誤差;表示機器人的實際位置和方向;表示里程計得到的機器人沿位置和方向。
利用式(10)得到機器人沿順時針或逆時針的誤差分布區域的重心坐標:
式中分別表示順時針/逆時針誤差分布區域的重心坐標。
利用式(11)得到機器人沿順時針/逆時針誤差分布區域的絕對誤差:
式中分別表示順時針或逆時針得到的誤差分布區域的絕對誤差。
利用式(12)得到機器人里程計的系統誤差:
3 試驗結果與分析
表1所示為校準前機器人的里程計定位誤差,表2所示為UMBmark校準后機器人里程計定位誤差。圖4顯示了未校核機器人的試驗結果及利用UMBmark校核后所獲得的試驗結果。
從圖4可以看出,校核前,Pioneer3?AT順時針行走時,里程計誤差分布區域的絕對誤差為176 mm,校核后為116 mm,UMBmark校核算法使得機器人里程計定位誤差精度提高了34%;校核前,Pioneer3?AT逆時針行走時,里程計誤差分布區域的絕對誤差為336 mm,校核后為291 mm,UMBmark校核算法使得機器人里程計定位誤差精度提高了14%;UMBmark校核算法利用表示里程計的系統誤差的大小,從圖4可以看出,Pioneer3?AT校核前為336 mm,經過UMBmark算法校核后為291 mm,試驗結果表明 UMBmark校核算法使得機器人里程計總體定位誤差精度提高了14%。endprint
從圖4還可以看出,校核前,Pioneer3?AT機器人順時針和逆時針行走時的誤差分布均較分散,里程計定位精度穩定性較差;經過UMBmark算法校核后,誤差分布相比校核前均較集中,定位精度穩定性有了較大提高。
4 結 論
本文概述了UMBmark校核方法“雙向正方形路徑試驗”及其簡化模型,然后利用Pioneer3?AT差動輪式移動機器人完成了UMBmark校核試驗。試驗結果表明,UMBmark校核算法使得Pioneer3?AT機器人里程計順時針行走時定位誤差精度提高了34%,逆時針行走時定位誤差精度提高了14%。順時針和逆時針行走時多次試驗的誤差分布相比校核前均較集中,定位精度穩定性有了較大提高。
參考文獻
[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] 宗光華,鄧魯華,王巍.一種魯棒的室外移動機器人定位方法[J].北京航空航天大學學報,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] 李群明,熊蓉,褚健.室內自主移動機器人定位方法研究綜述[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] 王衛華.移動機器人定位技術研究[D].武漢:華中科技大學,2005.
WANG Weihua. Research on localization technology for mobile robots [D]. Wuhan: Huazhong University of Science & Techno?logy, 2005.
[6] 陶敏,陳新,孫振平.移動機器人定位技術[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] 王衛華,熊有倫,孫容磊.測程法系統誤差的測量與校核[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] 張勝賓,趙祚喜.基于卡爾曼濾波的輪式移動機器人定位實驗研究[J].機電工程技術,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