簡(jiǎn)傲,閔華松,黃文暉
(武漢科技大學(xué)機(jī)器人與智能系統(tǒng)研究院,湖北武漢 430081)
移動(dòng)機(jī)器人是當(dāng)今機(jī)器人領(lǐng)域應(yīng)用開發(fā)的熱點(diǎn)。在移動(dòng)機(jī)器人應(yīng)用開發(fā)過(guò)程中,會(huì)遇到一個(gè)關(guān)鍵性的問(wèn)題,即定位和控制問(wèn)題,具體表現(xiàn)為移動(dòng)機(jī)器人在全局坐標(biāo)系下的位姿矯正問(wèn)題。移動(dòng)機(jī)器人在復(fù)雜多變環(huán)境中如何獲得自身位置和姿態(tài),以及通過(guò)怎樣的方式到達(dá)目標(biāo)位置是定位問(wèn)題的關(guān)鍵。解決這樣的問(wèn)題常常需要用到多種類型的傳感器進(jìn)行信息融合,并設(shè)計(jì)適當(dāng)?shù)目刂扑惴?。移?dòng)機(jī)器人系統(tǒng)是一個(gè)非常復(fù)雜的系統(tǒng),它需要融合對(duì)環(huán)境的感知能力、決策能力、自主規(guī)劃能力以及控制與執(zhí)行能力,具備相當(dāng)高的智能性和自主性。
全向移動(dòng)機(jī)器人是目前移動(dòng)機(jī)器人中比較熱門的課題,相比擁有常規(guī)輪子結(jié)構(gòu)的移動(dòng)機(jī)器人,它具備更優(yōu)良的機(jī)動(dòng)性,能夠在狹窄空間內(nèi)轉(zhuǎn)彎以及向任何方向移動(dòng),這類機(jī)器人通常用于家庭、車間、醫(yī)療服務(wù)等。盡管全向移動(dòng)機(jī)器人具有更好的機(jī)動(dòng)性,但由于復(fù)雜的機(jī)械結(jié)構(gòu)和特殊的輪子屬性,使得全向移動(dòng)機(jī)器人的控制變得極為復(fù)雜。全向移動(dòng)機(jī)器人的位姿控制難度較大,所以市場(chǎng)上的全向移動(dòng)機(jī)器人的精度普遍不高。對(duì)于如何提高全向移動(dòng)機(jī)器人的定位精度,使它能夠?yàn)楹罄m(xù)的導(dǎo)航和精準(zhǔn)作業(yè)提供保障,一直是各大高校和科研機(jī)構(gòu)討論和研究的熱門課題。
移動(dòng)機(jī)器人的定位精度必然受到兩類誤差的影響,即系統(tǒng)誤差和非系統(tǒng)誤差,且無(wú)法避免。系統(tǒng)誤差是由控制模型和機(jī)械裝配的不準(zhǔn)確而產(chǎn)生的,例如機(jī)械器件的裝配誤差、車輪直徑不相等、輪距的不確定性、控制參數(shù)的不確定性等;非系統(tǒng)誤差則是由車輪打滑或者地面不平整等原因造成的。系統(tǒng)誤差是移動(dòng)機(jī)器人本身的屬性,在長(zhǎng)時(shí)間內(nèi)幾乎保持不變,而非系統(tǒng)誤差可表示成車輪與地面之間關(guān)系的函數(shù)。因此,利用有效的傳感器信息,對(duì)機(jī)器人的位置和姿態(tài)進(jìn)行校準(zhǔn)是有必要的。
在移動(dòng)機(jī)器人經(jīng)過(guò)規(guī)劃導(dǎo)航到達(dá)目標(biāo)點(diǎn)后,為使其在目標(biāo)位置能夠正常地進(jìn)行工作任務(wù),需要保證它在目標(biāo)點(diǎn)的位姿精度能適應(yīng)正常工作的要求。但是,目前的規(guī)劃導(dǎo)航算法由于受系統(tǒng)誤差和非系統(tǒng)誤差的影響,會(huì)導(dǎo)致機(jī)器人在到達(dá)目標(biāo)點(diǎn)的位姿偏差較大,需要經(jīng)過(guò)校正算法來(lái)提高機(jī)器人到達(dá)目標(biāo)點(diǎn)時(shí)的位姿精度,其中比較有效的方法是里程計(jì)校正法。
國(guó)內(nèi)外關(guān)于移動(dòng)機(jī)器人里程計(jì)校正方法的研究較多,較為經(jīng)典的校正方法是1996年密歇根大學(xué)提出的針對(duì)兩輪差速驅(qū)動(dòng)機(jī)器人的里程計(jì)誤差校正方法UMBmark。該方法指出了誤差來(lái)源為輪子直徑不等、輪子間距離存在不確定性,定量分析了系統(tǒng)誤差的大小。文獻(xiàn)[11]中將全向移動(dòng)機(jī)器人的運(yùn)動(dòng)分為以下3種:純旋轉(zhuǎn)、直線運(yùn)動(dòng)、繞非零半徑點(diǎn)旋轉(zhuǎn),使得機(jī)器人不僅能夠跟蹤所需方向也能跟蹤既定的軌跡,在引入瞬時(shí)曲率中心的坐標(biāo)和瞬時(shí)旋轉(zhuǎn)半徑后,建立更為精準(zhǔn)的運(yùn)動(dòng)學(xué)模型,確定了機(jī)器人調(diào)速范圍,設(shè)計(jì)出合適的模糊控制器。文獻(xiàn)[12]中提出了通過(guò)機(jī)載慣性傳感器來(lái)獲取機(jī)器人姿態(tài),用機(jī)器人姿態(tài)角的偏移來(lái)推導(dǎo)校正方程,不需要做近似計(jì)算。文獻(xiàn)[13]中認(rèn)為全向移動(dòng)機(jī)器人的運(yùn)動(dòng)誤差來(lái)源于運(yùn)動(dòng)學(xué)模型的不準(zhǔn)確,即全向輪有內(nèi)外圈,在機(jī)器人的運(yùn)動(dòng)過(guò)程中,內(nèi)外圈交替地與地面接觸,所以機(jī)器人中心到輪子的距離并不是一個(gè)固定值;為解決這一問(wèn)題,對(duì)機(jī)器人的運(yùn)動(dòng)學(xué)模型進(jìn)行改進(jìn),提高全向移動(dòng)機(jī)器人的定位精度。文獻(xiàn)[14]中提出了一種單目相機(jī)與增量型編碼器相結(jié)合的視覺里程計(jì),利用圖像特征獲取機(jī)器人的相對(duì)位姿并與編碼器測(cè)得的機(jī)器人轉(zhuǎn)向角結(jié)合,實(shí)現(xiàn)對(duì)車輛姿態(tài)和路標(biāo)位置的實(shí)時(shí)估計(jì)。文獻(xiàn)[15]中針對(duì)視覺里程計(jì)(VO)因累積誤差導(dǎo)致機(jī)器人位姿估計(jì)存在偏差,設(shè)計(jì)了一種基于擴(kuò)展卡爾曼濾波的位姿估計(jì)模型,利用慣性測(cè)量單元(IMU)結(jié)合重力加速度方向作為垂直方向參考,對(duì)視覺里程計(jì)航向、俯仰和側(cè)傾3個(gè)方向姿態(tài)估計(jì)進(jìn)行解耦,修正姿態(tài)估計(jì)的累積誤差。文獻(xiàn)[16]中針對(duì)里程計(jì)在定位過(guò)程中存在累積誤差的問(wèn)題,建立了一種通用的移動(dòng)機(jī)器人里程計(jì)誤差模型,通過(guò)處理激光雷達(dá)反饋數(shù)據(jù)對(duì)里程計(jì)誤差進(jìn)行實(shí)時(shí)反饋補(bǔ)償。三輪全向移動(dòng)機(jī)器人的動(dòng)力學(xué)分析有助于提高里程精度,合理的動(dòng)力分配和控制器設(shè)計(jì)能夠大幅度提高機(jī)器人的里程計(jì)精度。文獻(xiàn)[19]中利用牛頓歐拉法和簡(jiǎn)化的直流電機(jī)模型,在Simulink中建立一種簡(jiǎn)化的三輪全向移動(dòng)機(jī)器人的動(dòng)力學(xué)控制器,實(shí)現(xiàn)了存在摩擦情況下的速度閉環(huán)控制。
針對(duì)機(jī)器人里程誤差的校正,比較成熟的方法是通過(guò)工程手段反復(fù)測(cè)量機(jī)器人的軌跡信息,然后根據(jù)里程誤差為機(jī)器人的運(yùn)動(dòng)學(xué)模型添加校正系數(shù),從而達(dá)到修正里程誤差的目的。但是這種離線校正手段建立在地面平整且輪子與地面的摩擦始終不變的情況下,不具備魯棒性和普適性,不同的工作環(huán)境需再次進(jìn)行大量的實(shí)驗(yàn),以得到校正系數(shù),且無(wú)法應(yīng)對(duì)地面環(huán)境的變化。針對(duì)離線校正方法的不足,本文作者采用擴(kuò)展卡爾曼濾波算法與動(dòng)力學(xué)分析相結(jié)合的方法,設(shè)計(jì)一種適用于三輪全向移動(dòng)機(jī)器人在線里程計(jì)校正系統(tǒng),通過(guò)仿真實(shí)驗(yàn)驗(yàn)證其有效性,并在實(shí)際平臺(tái)上取得了預(yù)期實(shí)驗(yàn)效果。
機(jī)器人的運(yùn)動(dòng)學(xué)特性是對(duì)機(jī)械系統(tǒng)工作原理的本質(zhì)表述。而移動(dòng)機(jī)器人運(yùn)動(dòng)學(xué)模型是機(jī)器人運(yùn)動(dòng)控制的基礎(chǔ),通過(guò)解析運(yùn)動(dòng)學(xué)方程,可以將機(jī)器人中心點(diǎn)的位移轉(zhuǎn)化為每個(gè)全向輪上各自的轉(zhuǎn)動(dòng),從而得到機(jī)器人的位姿、速度以及單個(gè)全向輪轉(zhuǎn)速之間的關(guān)系,有利于分析和解決問(wèn)題。文中的三輪全向輪底盤如圖1所示。
圖1 三輪全向輪底盤模型
圖1中機(jī)身坐標(biāo)系的原點(diǎn)與底盤幾何中心重合,在機(jī)器人自身坐標(biāo)系下,建立三輪全向移動(dòng)機(jī)器人運(yùn)動(dòng)學(xué)方程。其中,、、分別表示3個(gè)全向輪的線速度,m/s;、、表示輪子的角速度,rad/s;為輪子中心到機(jī)器人中心的距離,m;為機(jī)器人整體的前向速度,m/s;為機(jī)器人整體的法向速度,m/s;為底盤的旋轉(zhuǎn)角速度,rad/s。速度分解如公式(1)所示:
(1)
通過(guò)矩陣的逆變換可以求得機(jī)器人中心點(diǎn)的速度與全向輪線速度之間的關(guān)系,如公式(2)所示:
(2)
(3)
=()·
(4)
圖2 三輪全向輪坐標(biāo)變換
得到運(yùn)動(dòng)學(xué)方程后,可以由上位機(jī)發(fā)布機(jī)器人的速度指令=[′,′,′],然后根據(jù)運(yùn)動(dòng)學(xué)方程轉(zhuǎn)換為全向輪附著電機(jī)所需要的PWM占空比,從而控制三輪全向移動(dòng)機(jī)器人的運(yùn)動(dòng)。
運(yùn)動(dòng)學(xué)能夠?qū)崿F(xiàn)機(jī)器人整體速度和輪子速度之間的轉(zhuǎn)換,通過(guò)運(yùn)動(dòng)學(xué)逆解,上位機(jī)能夠及時(shí)發(fā)布控制指令使其運(yùn)動(dòng)到目標(biāo)位置。然而,機(jī)器人受到自身和環(huán)境因素的影響,基于運(yùn)動(dòng)學(xué)的控制器并不能滿足系統(tǒng)高精度定位的要求,所以需要對(duì)機(jī)器人的動(dòng)力學(xué)進(jìn)行建模。
機(jī)器人靠電機(jī)提供驅(qū)動(dòng)力,全向機(jī)器人存在前向、法向的線加速度以及旋轉(zhuǎn)的角加速度,由此可得三輪全向輪底盤的受力分析如公式(5)所示:
(5)
式中:為車體的質(zhì)量,kg;為底盤整體的慣性力矩常數(shù),kg·m;為底盤前向的滑動(dòng)摩擦力,N;為底盤法向的滑動(dòng)摩擦力,N;為底盤滑動(dòng)摩擦力矩,N·m;為底盤前向的靜摩擦力,N;n為底盤法向的靜摩擦力,N;為底盤靜摩擦力矩,N·m。
滑動(dòng)摩擦力與機(jī)器人的速度成正比,所以有:
=·n=n·=·
式中:、n分別是、方向上的滑動(dòng)摩擦系數(shù),N·s/m;是關(guān)于的滑動(dòng)摩擦系數(shù),N·m·s/rad。
靜摩擦力與接觸面材質(zhì)以及壓力有關(guān),可表示為
=·sign()n=n·sign()
=·sign()=·sign()
式中:、n分別是、方向上的靜摩擦力,N;是關(guān)于的靜摩擦力矩,N·m。
底盤整體受到的牽引力由電機(jī)提供,圖1中已給出受力分析,進(jìn)行矢量分解后如公式(6)所示:
(6)
輪子受到的牽引力以及牽引力矩如公式(7)所示:
(7)
為了更為便利地建模,需要對(duì)電機(jī)模型進(jìn)行簡(jiǎn)化:
(8)
其中:為輪子半徑,m;為減速比;為電機(jī)的轉(zhuǎn)矩常數(shù),N·m/A;為電機(jī)電流,A;為電機(jī)內(nèi)部電阻,Ω。由此可以得到電機(jī)驅(qū)動(dòng)力(N)與電壓(V)以及轉(zhuǎn)速(m/s)之間的表達(dá)式如公式(9)所示:
(9)
聯(lián)立公式(5)—(9),可以用狀態(tài)空間的形式來(lái)表示三輪全向輪底盤的動(dòng)力學(xué)模型,如公式(10)所示。其中,()=[,,]、()=[,,],為。
(10)
有了三輪全向輪底盤的動(dòng)力學(xué)模型,可以更為精確地控制機(jī)器人。全向輪與地面的摩擦因數(shù)低,機(jī)器人自身慣量大,運(yùn)動(dòng)過(guò)程中容易發(fā)生偏移,且偏移誤差會(huì)不斷累積,如果將加速度控制在一定的范圍內(nèi),能有效減小控制難度。
傳感器精度大多會(huì)受到自身刷新頻率和環(huán)境因素的影響,導(dǎo)致測(cè)量結(jié)果發(fā)生漂移,且誤差會(huì)隨著時(shí)間的推移累積,所以精確的測(cè)量需要利用合適的濾波器對(duì)數(shù)據(jù)進(jìn)行處理??柭鼮V波(Kalman Filter,KF)的核心思想是將測(cè)量更新與預(yù)測(cè)更新結(jié)合起來(lái),得到最佳的狀態(tài)估計(jì)值。擴(kuò)展卡爾曼濾波(Extended Kalman Filter ,EKF)和KF不同,EKF能夠處理非線性系統(tǒng)。兩者都需要建立系統(tǒng)的狀態(tài)方程和觀測(cè)方程,如公式(11)所示:
(11)
將KF的狀態(tài)估計(jì)分為兩個(gè)步驟,即狀態(tài)預(yù)測(cè)和狀態(tài)更新。其中,狀態(tài)預(yù)測(cè)主要是針對(duì)狀態(tài)向量和系統(tǒng)誤差,如公式(12)所示:
(12)
式中:為系統(tǒng)狀態(tài)量對(duì)應(yīng)的協(xié)方差;為系統(tǒng)過(guò)程的協(xié)方差矩陣。而狀態(tài)更新主要分為以下3個(gè)方面。
更新KF增益:
=|-1(+)
其中:為觀測(cè)噪聲的協(xié)方差矩陣。
由測(cè)量值更新系統(tǒng)狀態(tài)估計(jì):
|-1=-1|-1+(--1|-1)
更新誤差協(xié)方差:
|-1=(1-)-1|-1
使用KF來(lái)進(jìn)行傳感器融合是一種比較常用的手段,其觀測(cè)方程有多個(gè),即有多個(gè)傳感器,由不同傳感器的測(cè)量值來(lái)估計(jì)系統(tǒng)的狀態(tài)向量。其觀測(cè)方程可表示成公式(13)的形式。
(13)
圖3 三輪全向移動(dòng)機(jī)器人狀態(tài)更新
文中通過(guò)擴(kuò)展卡爾曼濾波算法將編碼器和IMU的數(shù)據(jù)進(jìn)行融合,得到三輪全向移動(dòng)機(jī)器人的里程信息,如圖4所示,以便設(shè)計(jì)合適的控制算法來(lái)校正機(jī)器人的里程誤差。
圖4 獲取機(jī)器人位姿信息
選取適當(dāng)?shù)淖兞孔鳛镋KF的系統(tǒng)狀態(tài),三輪全向移動(dòng)機(jī)器人運(yùn)動(dòng)在二維平面上,選擇=[,,,,,]作為系統(tǒng)變量。如圖5所示,、表示機(jī)器人在平面上的坐標(biāo),表示平面上相對(duì)于初始位姿的角度,、表示平面上沿、方向的速度,表示機(jī)器人自身的旋轉(zhuǎn)角速度。
圖5 機(jī)器人運(yùn)動(dòng)狀態(tài)
單獨(dú)用編碼器充當(dāng)移動(dòng)機(jī)器人的里程計(jì)來(lái)反饋機(jī)器人的位姿效果不夠好,因?yàn)闄C(jī)器人的系統(tǒng)誤差和非系統(tǒng)誤差在實(shí)際運(yùn)動(dòng)過(guò)程中無(wú)法避免,打滑等情況會(huì)造成編碼器推算的姿態(tài)誤差累積,而加入IMU和編碼器的信息融合后測(cè)量得到的姿態(tài)信息能有效減少誤差。
(14)
(15)
=,表示系統(tǒng)狀態(tài)的不確定度的協(xié)方差矩陣。里程計(jì)提供的位置信息的準(zhǔn)確度高于速度信息,所以>>。編碼器的測(cè)量誤差需要傳感器廠家提供。
(16)
()=[,,]=
(17)
IMU的EKF狀態(tài)更新的主要方程如下:
本文作者通過(guò)EKF與三輪全向移動(dòng)機(jī)器人動(dòng)力學(xué)結(jié)合的方法來(lái)校正機(jī)器人的里程誤差。首先是獲取機(jī)器人在運(yùn)動(dòng)過(guò)程中在全局坐標(biāo)系下的位姿和姿態(tài),這里只需要通過(guò)EKF對(duì)編碼器和IMU數(shù)據(jù)作處理就可以得到位姿信息以及速度信息,將位置和速度信息與參考值作比較,設(shè)計(jì)位姿控制器和速度控制器。文中為PID控制器,根據(jù)誤差值并結(jié)合前面的受力分析,對(duì)機(jī)器人作新的動(dòng)力分配,減小誤差值。算法原理如圖7所示。
圖6 三輪全向移動(dòng)機(jī)器人里程誤差
圖7 校正算法原理
三輪全向輪底盤的特殊機(jī)械結(jié)構(gòu),使它在平面內(nèi)擁有3個(gè)自由度,機(jī)器人可以在不改變自身姿態(tài)的情況下朝平面任意方向運(yùn)動(dòng)。導(dǎo)入移動(dòng)底盤模型后,可以在V-REP中構(gòu)造全向輪的仿真模型,并添加約束。
全向輪的運(yùn)動(dòng)學(xué)本質(zhì)上是在靠輪轂外圍安裝一周與輪轂軸線呈一定角度的無(wú)動(dòng)力輥?zhàn)幼鳛檩喬?,該輥?zhàn)硬粌H可繞輪轂軸公轉(zhuǎn),也能在地面摩擦力作用下繞各自的支撐芯軸自轉(zhuǎn)。兩種運(yùn)動(dòng)的合成使得接觸地面的輥?zhàn)又行暮纤俣扰c輪轂軸有一定的夾角,通過(guò)調(diào)節(jié)輪轂速度可改變輥?zhàn)又行暮纤俣鹊拇笮『头较颉?/p>
在V-REP中,復(fù)雜的機(jī)械結(jié)構(gòu)會(huì)使得仿真不夠流暢,控制難度增大,所以對(duì)全向輪模型進(jìn)行簡(jiǎn)化。由于全向輪與底盤的接觸是一個(gè)點(diǎn),這個(gè)點(diǎn)既可以平動(dòng)也可以滑動(dòng),所以將全向輪簡(jiǎn)化成兩個(gè)材料不同的球體和2個(gè)電機(jī)關(guān)節(jié)。電機(jī)互成90°,一個(gè)使能作為驅(qū)動(dòng)輪,一個(gè)不使能作為滑動(dòng)輪,如圖8所示。
圖8 全向輪簡(jiǎn)化模型
在V-REP中搭建的三輪全向輪底盤仿真模型,與實(shí)物的屬性保持一致。仿真下能直觀地模擬三輪全向移動(dòng)機(jī)器人的運(yùn)動(dòng)過(guò)程,在模型中添加多種傳感器信息,能夠及時(shí)地反饋機(jī)器人的里程信息,分析算法的有效性,如圖9所示。
圖9 三輪全向移動(dòng)機(jī)器人V-REP仿真
本文作者利用V-REP與ROS進(jìn)行聯(lián)合仿真,能夠利用上一章節(jié)提出的算法計(jì)算機(jī)器人自身在全局坐標(biāo)系下的位姿,并結(jié)合動(dòng)力學(xué)作動(dòng)力分配,以及時(shí)地修正里程誤差,最后在ROS中發(fā)布校正后的機(jī)器人坐標(biāo)。
移動(dòng)機(jī)器人的運(yùn)動(dòng)可以分為直線運(yùn)動(dòng)和弧線運(yùn)動(dòng),所以移動(dòng)機(jī)器人的里程誤差校正,一般是讓機(jī)器人作正方形軌跡和圓弧軌跡運(yùn)動(dòng)。與傳統(tǒng)的差速機(jī)器人不同,三輪全向移動(dòng)機(jī)器人在平面內(nèi)具有3個(gè)自由度,進(jìn)行正方形軌跡運(yùn)動(dòng)的時(shí)候,在轉(zhuǎn)角處可以在不改變自身姿態(tài)的情況下作橫向直線運(yùn)動(dòng)。
為驗(yàn)證算法的優(yōu)越性和有效性,仿真中在機(jī)器人的前進(jìn)路徑上設(shè)置微小的不平物。
本文作者提出的在線校正方法基本不受地面環(huán)境的影響。文獻(xiàn)[20]中的離線校正方法會(huì)嚴(yán)重偏離期望軌跡,由于無(wú)法很好地感知機(jī)器人自身位姿信息,不能及時(shí)調(diào)整自身姿態(tài),以對(duì)軌跡作校正。為判定算法,設(shè)計(jì)評(píng)價(jià)指標(biāo),進(jìn)行仿真實(shí)驗(yàn),結(jié)果如圖11所示。仿真結(jié)果證實(shí)了該方法的魯棒性和普適性。
圖10 對(duì)比實(shí)驗(yàn)效果
圖11 仿真實(shí)驗(yàn)效果
正方形軌跡可以反映機(jī)器人直線運(yùn)動(dòng)過(guò)程中橫向和縱向的誤差校正效果,圓弧軌跡能反映機(jī)器人姿態(tài)誤差校正效果。仿真中,機(jī)器人作正方形運(yùn)動(dòng),橫向和縱向的誤差都?xì)w類為徑向誤差,誤差改善率為。徑向誤差的定義如公式(18)所示:
(18)
式中:為實(shí)驗(yàn)次數(shù)。可通過(guò)比較誤差改善率來(lái)判斷校正方法的有效性,其定義如公式(19)所示:
(19)
其中:和分別表示校正前和校正后徑向誤差的平均值。
機(jī)器人沿著圓形軌跡運(yùn)動(dòng),為得到姿態(tài)誤差的改善效果,可以用期望圓弧半徑、校正前的平均圓弧半徑和校正后的平均圓弧半徑,來(lái)評(píng)價(jià)姿態(tài)誤差改善率。則可以表示為
(20)
從仿真結(jié)果看,機(jī)器人的位置誤差和姿態(tài)誤差均得到了改善,采集仿真數(shù)據(jù)求取平均值可得為68.14%、為72.33%,驗(yàn)證了算法的有效性。
以實(shí)驗(yàn)室搭建的實(shí)物機(jī)器人為基礎(chǔ),搭建了模型并進(jìn)行實(shí)驗(yàn)。實(shí)物部分參數(shù)如表1所示。
表1 全向移動(dòng)機(jī)器人部分參數(shù)
全向輪底盤的3個(gè)電機(jī)互成120°進(jìn)行安裝,將全向輪底盤分為3個(gè)關(guān)鍵模塊:電源轉(zhuǎn)換模塊、驅(qū)動(dòng)模塊、控制模塊。電源轉(zhuǎn)換模塊實(shí)現(xiàn)電壓的轉(zhuǎn)換,驅(qū)動(dòng)模塊控制電機(jī)的運(yùn)作,控制模塊發(fā)布運(yùn)動(dòng)指令和傳感器信息采集,實(shí)物如圖12所示。
實(shí)物實(shí)驗(yàn)分為徑向誤差改善實(shí)驗(yàn)以及弧度誤差改善實(shí)驗(yàn)。徑向誤差實(shí)驗(yàn)步驟如下:
步驟(1),如圖6所示,設(shè)置控制程序,使機(jī)器人從原點(diǎn)運(yùn)動(dòng)到,機(jī)器人運(yùn)動(dòng)速度為0.2 m/s、運(yùn)動(dòng)距離為40 cm;
步驟(2),機(jī)器人停止移動(dòng)后,測(cè)量機(jī)器人相對(duì)于參考坐標(biāo)系的絕對(duì)位置并記錄;
步驟(3),重復(fù)10次步驟(1)、(2),根據(jù)公式(18),求出校正前的徑向平均誤差;
步驟(4),在程序中引入文中所提的在線校正方法,調(diào)試控制器參數(shù),重復(fù)10次步驟(1)和步驟(2),求出校正后的徑向平均誤差;
步驟(5),根據(jù)公式(19)計(jì)算誤差改善率。
整合測(cè)量結(jié)果可得,校正前的徑向平均誤差為2.41 cm、校正后的徑向平均誤差為0.82 cm、徑向誤差改善率為65.98%。
圖12 三輪全向移動(dòng)機(jī)器人實(shí)物
本文作者提出了一種減少移動(dòng)機(jī)器人里程誤差的在線校正方法。相比于傳統(tǒng)的離線校正方法,該方法能夠及時(shí)地計(jì)算機(jī)器人的位姿,并根據(jù)位姿信息和速度信息及時(shí)校正機(jī)器人的里程誤差,能夠適應(yīng)地面環(huán)境多變的情況,具有普適性和魯棒性。在仿真和實(shí)際平臺(tái)上的實(shí)驗(yàn)效果證明了所提校正方法的有效性。
文中算法可以有效解決機(jī)器人自身定位精度問(wèn)題。除了自身定位外,還需要對(duì)外部環(huán)境進(jìn)行感知,使機(jī)器人獲得更強(qiáng)大的功能和更高精度的定位效果。因此,后期的工作考慮為機(jī)器人添加3D相機(jī)和激光雷達(dá)等傳感器,擴(kuò)展其外部感知能力,使它能夠適應(yīng)更多變的工作環(huán)境和更復(fù)雜的任務(wù)需求。