• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    移動機器人車輪打滑檢測與校核方法*

    2017-05-10 12:56:02趙帥鵬李泉溪
    傳感器與微系統(tǒng) 2017年5期
    關(guān)鍵詞:脈沖數(shù)驅(qū)動輪編碼器

    趙帥鵬, 李泉溪, 薛 霄, 申 芳

    (河南理工大學 計算機科學與技術(shù)學院,河南 焦作 454003)

    移動機器人車輪打滑檢測與校核方法*

    趙帥鵬, 李泉溪, 薛 霄, 申 芳

    (河南理工大學 計算機科學與技術(shù)學院,河南 焦作 454003)

    針對移動機器人車輪打滑引起的非系統(tǒng)誤差,提出了雙輪檢測結(jié)構(gòu)模型。利用檢測輪與驅(qū)動輪編碼器輸出脈沖數(shù),建立直行和不同轉(zhuǎn)向方式的車輪打滑模型并給出打滑辨識算法。利用正向校正算法或反向校正算法校正運行方向誤差與位移誤差。仿真結(jié)果表明:該結(jié)構(gòu)模型能夠累計機器人長時間運行產(chǎn)生的打滑誤差,并實時校正,反向校正算法存在極少的位移誤差,校正精度優(yōu)于正向校正算法,但正向校正算法邏輯簡單,能量消耗少。

    雙輪檢測結(jié)構(gòu); 打滑模型; 正向校正; 反向校正

    0 引 言

    軌跡推算定位算法在移動機器人定位領域被廣泛使用[1]。在沒有外界參考的情況下,該算法能夠?qū)崿F(xiàn)短時間內(nèi)的高精度定位,其缺點在于隨著工作時間增加而增加的累計誤差。針對系統(tǒng)誤差,Borenstein J和Feng L提出的UMBmark校正方法[2],使移動機器人的定位精度(相對于系統(tǒng)誤差)至少提高了1個數(shù)量級。因此,由車輪打滑引起的非系統(tǒng)誤差成為主要的誤差源[3]。

    針對車輪打滑,Ibraheem M[4]采用擴展卡爾曼濾波(EKF)將編碼器和陀螺儀結(jié)合,降低了非系統(tǒng)誤差對機器人定位的影響,提高了系統(tǒng)的穩(wěn)定性;Cho B等人[5]利用卡爾曼濾波將編碼器、電子羅盤和陀螺儀融合,有效降低了軌跡推算定位算法的累計誤差。這些方法中,電子羅盤容易受到電磁干擾,使用時受環(huán)境限制,陀螺儀存在漂移誤差,且實現(xiàn)算法復雜,對處理器性能要求高[6]。

    本文提出的雙輪檢測結(jié)構(gòu)模型能夠?qū)崟r辨別機器人運行時打滑,并計算出車輪打滑引起的方向誤差,根據(jù)誤差校正閾值,判定是否利用正向校正算法或反向校正算法校正運行誤差,該結(jié)構(gòu)模型提高了系統(tǒng)的穩(wěn)定性且有效降低了驅(qū)動輪打滑引起的累計誤差。

    1 雙輪檢測系統(tǒng)總體設計

    根據(jù)相對位移思想設計了雙輪檢測結(jié)構(gòu)模型。檢測輪與驅(qū)動輪在同一軸線上,且采用中心對稱結(jié)構(gòu)。雙輪檢測結(jié)構(gòu)模型如圖1所示。

    雙輪檢測結(jié)構(gòu)模型的控制由中央控制器實現(xiàn),中央控制器完成的主要任務有:電機轉(zhuǎn)向控制、編碼器輸出脈沖計數(shù)、打滑模型辨別、運行誤差計算。該結(jié)構(gòu)的驅(qū)動系統(tǒng)與機械設計由文獻[7]提出的設計方法實現(xiàn)。

    圖1 雙輪檢測結(jié)構(gòu)模型

    機器人在行駛過程中,如果驅(qū)動輪打滑,驅(qū)動輪編碼器輸出的脈沖數(shù)不受影響,仍然正常輸出[8],但檢測輪編碼器輸出脈沖數(shù)將與正常行駛狀態(tài)不同。

    機器人轉(zhuǎn)向時,定義逆時針方向為正方向。機器人轉(zhuǎn)向的方式有2種:方式一,機器人以雙輪檢測結(jié)構(gòu)的軸心為中心轉(zhuǎn)向,左驅(qū)動輪與右驅(qū)動輪行駛速度完全相等;方式二,機器人以雙輪檢測結(jié)構(gòu)軸線的延長線上的某點為中心轉(zhuǎn)向,左驅(qū)動輪與右驅(qū)動輪行駛速度由轉(zhuǎn)向與轉(zhuǎn)向半徑?jīng)Q定。

    2 車輪打滑模型與辨識

    機器人正常運行有4種狀態(tài):前進,后退,左轉(zhuǎn)向,右轉(zhuǎn)向[9]。機器人車輪打滑有3種狀態(tài):左驅(qū)動輪打滑,右驅(qū)動輪打滑,2個驅(qū)動輪均打滑[10]。中央控制器對打滑狀態(tài)的判斷順序為:先判斷是否存在左驅(qū)動輪打滑或右驅(qū)動輪打滑,再判斷是否存在2個驅(qū)動輪都打滑[11]。

    機器人運行時,每隔時間Δt,中央控制器計算車輪Y2與Y1的編碼器輸出脈沖數(shù)差值,其值為

    ΔQ=Q2-Q1

    (1)

    式中Q1,Q2分別指車輪Y1,Y2的編碼器輸出脈沖數(shù)。

    在直行和方式一轉(zhuǎn)向狀態(tài),若ΔQ大于0,說明左驅(qū)動輪打滑,機器人出現(xiàn)向左偏轉(zhuǎn)的運行方向誤差;ΔQ小于0,說明右驅(qū)動輪打滑,機器人出現(xiàn)向右偏轉(zhuǎn)的運行方向誤差。

    在方式二轉(zhuǎn)向狀態(tài),機器人正常行駛,編碼器輸出的脈沖數(shù)滿足

    (2)

    式中P1,P2分別指車輪X1,X2的編碼器輸出脈沖數(shù),ΔQ由式(1)計算得出,R,R1,R2分別為車輪X1,Y1,Y2與車輪X2之間的距離。

    采用方式二轉(zhuǎn)向時,機器人轉(zhuǎn)向過程中因驅(qū)動輪打滑造成運行方向誤差,記檢測輪Y2在打滑過程中輸出的誤差脈沖數(shù)為X,X的計算表達為

    (3)

    若因驅(qū)動輪打滑,機器人出現(xiàn)向右偏轉(zhuǎn)的運行方向誤差,在直行、轉(zhuǎn)向方式一和轉(zhuǎn)向方式二狀態(tài),判斷是否存在2個驅(qū)動輪都打滑的判定式分別為

    (4)

    (5)

    (6)

    式中 X由式(3)求出,R1,R2分別為車輪X1,Y1與車軸中點之間的距離。

    若機器人運行時,由驅(qū)動輪打滑引起向右偏轉(zhuǎn)的運行方向誤差,判定式(4)、式(5)、式(6)成立,則機器人在直行、轉(zhuǎn)向方式一和轉(zhuǎn)向方式二狀態(tài),不存在2個驅(qū)動輪均打滑的狀態(tài)。

    根據(jù)判定式(4)、式(5)、式(6),可得到驅(qū)動輪打滑引起機器人運行方向向左偏轉(zhuǎn)時,判斷直行、轉(zhuǎn)向方式一和轉(zhuǎn)向方式二狀態(tài)是否存在2個驅(qū)動輪都打滑的判定式。

    3 方向誤差計算與校正

    機器人運行時,在t1,t2,t3,…,tn時刻,中央控制器根據(jù)車輪X1,X2,Y1,Y2的編碼器輸出脈沖數(shù)計算機器人的行駛誤差,在每個采樣周期,如果根據(jù)打滑模型,得出機器人存在運行方向誤差,則機器人行駛誤差計算表達式為

    (7)

    式中 ΔQk由式(1)求出。

    根據(jù)式(7),可得機器人在運行過程中的累計誤差為

    (8)

    式中 f(k)由式(7)求出。

    根據(jù)式(8),可得機器人運行過程中的累計修正誤差為

    (9)

    機器人在直行和轉(zhuǎn)向方式一,在2個驅(qū)動輪均打滑的模型中,不同的方向誤差狀態(tài)不同,機器人左驅(qū)動輪和右驅(qū)動輪在行駛方向的位移誤差計算表達式為

    (10)

    機器人在轉(zhuǎn)向方式二,2個驅(qū)動輪均打滑的模型中,不同的方向誤差狀態(tài),左驅(qū)動輪位移誤差計算表達式為

    (11)

    式中ΔNx2由式(12)求出。

    機器人在轉(zhuǎn)向方式二,2個驅(qū)動輪均打滑的模型中,不同的方向誤差狀態(tài),右驅(qū)動輪位移誤差計算表達式為

    (12)

    式中 ΔNx1由式(11)求出。

    記誤差校正閾值為Nd。若ΔN≥|Nd|,中央控制器控制驅(qū)動輪,對移動機器人的累計修正誤差S進行校正。若機器人左右驅(qū)動輪在行駛方向的累計誤差量均大于誤差校正閾值Nd,則對該誤差進行校正。

    正向校正算法為:若機器人行駛的累計誤差ΔN≥Nd,正向驅(qū)動左驅(qū)動輪X1,校正量為S;若累計誤差ΔN≤(-Nd),正向驅(qū)動右驅(qū)動輪X2,校正量為S。正向校正算法分為2個階段,第一階段為校正方向誤差;第二階段為校正2個驅(qū)動輪均打滑引起的行駛方向位移誤差。

    反向校正算法為:若機器人行駛的累計誤差ΔN≥Nd,反向驅(qū)動右驅(qū)動輪X2,校正量為S;若累計誤差ΔN≤(-Nd),反向驅(qū)動左驅(qū)動輪X1,校正量為S。反向校正算法分為3個階段:第1階段為校正方向誤差;第2階段為校正行駛方向的位移誤差;第3階段為校正2個驅(qū)動輪均打滑引起的行駛方向位移誤差。

    4 仿真驗證

    4.1 仿真參數(shù)

    主要參數(shù)如下:車輪半徑r=3.5 cm;車輪每轉(zhuǎn)1周編碼器輸出脈沖數(shù)i=900;車輪X1與X2之間的距離R=40 cm;車輪Y1與X2之間的距離RY2=30 cm;車輪Y2與X2之間的距離RY2=10 cm;采樣周期Δt=0.2 s;誤差校正閾值Nd=9;機器人在直線和轉(zhuǎn)向方式一,左右驅(qū)動輪的行駛速度為22 cm/s;機器人在轉(zhuǎn)向方式二,左右驅(qū)動輪的行駛速度根據(jù)轉(zhuǎn)向半徑設定。

    4.2 仿真結(jié)果與分析

    在Matlab環(huán)境下對機器人的運行與控制仿真,機器人總共運行14.4 s,對72個時間點的運行狀態(tài)進行記錄并分析計算。機器人運行過程中,在每個采樣周期,每個車輪的編碼器輸出脈沖數(shù)如圖2所示,(a),(b),(c),(d)分別為車輪X1,Y1,Y2,X2的編碼器輸出脈沖數(shù)。(a)與(d)中,正值表示驅(qū)動輪正向驅(qū)動,負值表示驅(qū)動輪反向驅(qū)動。

    圖2 車輪編碼器輸出脈沖數(shù)

    對圖2所示采樣結(jié)果分析:圖2中出現(xiàn)的誤差,其來源主要有3個:1)編碼器采樣精度誤差;2)驅(qū)動輪打滑;3)地面不平坦造成的非點源輪與地面接觸。其中,由編碼器采樣精度引起的誤差屬于系統(tǒng)誤差,本文按照打滑誤差進行處理。

    根據(jù)驅(qū)動輪X1,X2的編碼器輸出脈沖數(shù),得出預設行駛軌跡,如圖3所示。

    圖3 預設行駛軌跡

    對圖3所示軌跡分析:機器人在2.4,11.8s時,通過轉(zhuǎn)向方式一逆時針轉(zhuǎn)向,轉(zhuǎn)向角度為90°;在4.6,8.2s時,機器人通過轉(zhuǎn)向式二順時針轉(zhuǎn)向,轉(zhuǎn)向半徑為20cm,轉(zhuǎn)向角度為90°,左驅(qū)動輪行駛速度為22cm/s,右驅(qū)動輪行駛速度為0cm/s。

    機器人運行過程中,如果對驅(qū)動輪打滑引起的運行方向誤差不進行校正,根據(jù)圖2所示的驅(qū)動輪X1,X2與檢測輪Y1,Y2的編碼器輸出脈沖數(shù),出未校正行駛軌跡,如圖4所示。

    圖4 未校正行駛軌跡

    將圖3所示的預設行駛軌跡與圖4所示的未校正行駛軌跡對比分析:機器人運行時,如果不對機器人驅(qū)動輪打滑引起的運行方向誤差進行校正,機器人行駛軌跡將嚴重偏離預設行駛軌跡。

    根據(jù)正向校正算法對驅(qū)動輪打滑引起的方向誤差校正,校正后的行使軌跡,如圖5所示。

    圖5 正向校正行駛軌跡

    將圖3所示的預設行駛軌跡與圖5所示的正向校正行駛軌跡對比分析:采用正向校正算法對方向誤差校正后,產(chǎn)生了機器人移動中心偏移誤差,但機器人行駛軌跡與預設行駛軌跡基本一致。經(jīng)分析,若機器人左驅(qū)動輪打滑,則機器人移動中心偏移誤差向左輪內(nèi)側(cè)偏移,若右驅(qū)動輪打滑,則機器人移動中心偏移誤差向右輪內(nèi)側(cè)偏移,機器人移動中心偏移誤差大小為

    (13)

    式中r為車輪半徑,i為車輪每轉(zhuǎn)一周編碼器輸出脈沖數(shù)。

    根據(jù)反向校正算法對驅(qū)動輪打滑引起的方向誤差校正,校正后的行使軌跡如圖6所示。

    圖6 反向校正軌跡

    將圖3所示的預設行駛軌跡與圖6所示的反向校正行駛軌跡對比分析:采用反向校正算法對方向誤差校正后,機器人行駛軌跡與預設行駛軌跡相比,存在的誤差極小。誤差產(chǎn)生的原因為:機器人運行時,累計誤差ΔN未超出誤差校正閾值Nd,系統(tǒng)不能對該誤差進行校正,如果機器人在該狀態(tài)下長時間運行,機器人移動中心會有一定的偏移誤差。針對本文的仿真參數(shù),如果機器人在累計誤差ΔN=7的狀態(tài)下運行20 s,移動中心的偏移誤差為1.88 cm。

    正向校正算法與反向校正算法相比,反向校正算法需要變換兩次電機轉(zhuǎn)向,從而對機器人運行誤差進行校正,而正向校正算法無需調(diào)節(jié)電機轉(zhuǎn)向,其校正邏輯比反向校正算法簡單,能量消耗少,但是,從仿真結(jié)果分析,反向校正算法的校正精度優(yōu)于正向校正算法。

    5 結(jié) 論

    利用該模型能夠判斷機器人在直行和不同轉(zhuǎn)向方式下是否發(fā)生驅(qū)動輪打滑,實時計算方向誤差量并校正。通過仿真證明:該系統(tǒng)能夠?qū)C器人長時間運行產(chǎn)生的打滑誤差進行累計,自動辨識打滑模型并根據(jù)不同的校正算法進行誤差校正,實現(xiàn)高精度的驅(qū)動輪打滑檢測和路徑跟蹤控制。本文未能得出系統(tǒng)在實際復雜環(huán)境中運行的最佳誤差校正閾值,使系統(tǒng)的魯棒性達到最優(yōu),該問題留待以后做進一步研究。

    [1] 高云峰,周 倫,呂明睿,等.自主移動機器人室內(nèi)定位方法研究綜述[J].傳感器與微系統(tǒng),2013,32(12):1-5.

    [2] Borenstein J,Feng L,Wehe P D K,et al.UMBmark—A method for measuring,comparing,and correcting dead-reckoning errors in mobile robots[M].Ann Arbor,USA:University of Michigan,1994.

    [3] Endo D,Okada Y,Nagatani K,et al.Path following control for tracked vehicles based on slip-compensating odometry[C]∥2007 IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2007,IEEE,2007:2871-2876.

    [4] Ibraheem M.Gyroscope-enhanced dead reckoning localization system for an intelligent walker[C]∥International Conference on Information,Networking and Automation,2010:67-72.

    [5] Cho B S,Moon W S,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 & Technology,2011,25(11):2907-2917.

    [6] 王真星.嵌入式產(chǎn)品分析與設計[M].北京:電子工業(yè)出版社,2013.

    [7] 胡 桐.四輪獨立驅(qū)動和轉(zhuǎn)向移動機器人的設計與控制[D].合肥:合肥工業(yè)大學,2015.

    [8] Nagatani K,Endo D,Yoshida K.Improvement of The odometry accuracy of a crawler vehicle with consideration of slippage[C]∥2007 IEEE International Conference on Robotics and Automation,2007:2752-2757.

    [9] 吳 耀,王田苗,王曉剛,等.基于自適應卡爾曼濾波的側(cè)滑移動機器人運動模型估計[J].電子與信息學報,2015,37(12):3016-3024.

    [10] 王衛(wèi)華,熊有倫,孫容磊.一種移動機器人輪子打滑的實驗校核方法[J].機器人,2005,27(3):197-202.

    [11] 李泉溪,趙帥鵬,武文琪.掃地機器人車輪打滑檢測與修正研究[J].制造業(yè)自動化,2015,37(11):12-18.

    Method for detecting and checking wheel slipping of mobile robot*

    ZHAO Shuai-peng, LI Quan-xi , XUE Xiao, SHEN Fang

    (College of Computer Science and Technology,Henan Polytechnic University,Jiaozuo 454003,China)

    Aiming at non-system error caused by wheel slipping of mobile robot,propose double wheel detection structure model.Based on number of output pulses of encoder of driving wheel and testing wheel,the wheel slipping model for straight line and different steering mode is established and the slipping identification algorithm are given.The operation direction error and displacement error are corrected by the forward correction algorithm or the reverse correction algorithm.The simulation results show that the structure model can be used to accumulate the slipping errors caused by long time operation of the robot,and real-time correction.There is little displacement error in the reverse correction algorithm.The correction precision is superior to the forward correction algorithm,but the forward correction algorithm is simple,and the energy consumption is low.

    double wheel detection structure; slipping model; forward correction; reverse correction

    10.13873/J.1000—9787(2017)05—0059—04

    2016—05—10

    國家自然科學基金資助項目(61175066,60905041);河南省高??萍紕?chuàng)新人才資助項目(2012HASTIT013);河南省高校重點科研項目應用研究計劃資助項目(2011GGJS—056)

    TP 301

    A

    1000—9787(2017)05—0059—04

    趙帥鵬(1990-),男,碩士研究生,主要研究方向為嵌入式系統(tǒng)、計算機控制技術(shù)。

    猜你喜歡
    脈沖數(shù)驅(qū)動輪編碼器
    基于正交試驗的整車驅(qū)動輪滾動阻力因素分析
    電驅(qū)動輪輪轂設計及有限元分析
    管外爬行機器人驅(qū)動輪動力特性與模態(tài)分析
    某型組合導航系統(tǒng)故障分析及預防
    高精度電子體溫計設計與實現(xiàn)
    一種新型掘進機行走驅(qū)動輪設計方案
    檢定電能表的圈數(shù)設定問題探討
    基于FPGA的同步機軸角編碼器
    基于PRBS檢測的8B/IOB編碼器設計
    JESD204B接口協(xié)議中的8B10B編碼器設計
    電子器件(2015年5期)2015-12-29 08:42:24
    乐业县| 册亨县| 界首市| 安化县| 皮山县| 左云县| 正定县| 四子王旗| 乌兰察布市| 荔浦县| 安平县| 阳原县| 孟连| 高雄市| 抚宁县| 博爱县| 大埔区| 南江县| 临安市| 汕头市| 淳化县| 西畴县| 临泉县| 利川市| 泽库县| 景洪市| 玉环县| 萍乡市| 堆龙德庆县| 霍城县| 汝州市| 茂名市| 资中县| 建水县| 潼南县| 偏关县| 禹城市| 武清区| 桐柏县| 嘉义县| 青冈县|