(北方工業(yè)大學 機械與材料工程學院,北京 100144)
移動機器人的定位存在其位姿不能直接感知問題,位姿數(shù)據(jù)只能通過數(shù)據(jù)推斷。目前的定位方法中多以概率機器人學[1]為理論基礎。概率機器人將模型與傳感器數(shù)據(jù)進行集成。因此要解決滑移轉(zhuǎn)向機器人定位問題就要確定傳感器數(shù)據(jù)問題。大多數(shù)機器人通過距離傳感器和輪速定位實現(xiàn)位置的估計,滑移轉(zhuǎn)向機器人由于其特殊的機械結構,導致其輪速定位誤差過大,在軌跡規(guī)劃及定位中存在著更多的不確定。
為了解決滑移轉(zhuǎn)向機器人的定位問題,學者們進行很多研究,一部分研究使用運動模型來估計里程計的不確定度。如文獻[2]中以機器人運動路徑近似弧線的假設,依據(jù)里程計誤差傳播規(guī)律推導了出幾種誤差之間的近似函數(shù)。文獻[3-4]中提出了基于速度瞬心的側滑移動機器人運動學模型以此來解決問題。文獻[5]中建立了輪式車輛穩(wěn)態(tài)滑移轉(zhuǎn)向的數(shù)學模型并提出了數(shù)值求解方法,最后基于某4×4全地形車,仿真分析了車速和轉(zhuǎn)向中心線移動量對其轉(zhuǎn)向性能的影響。另一部分研究從動力學的角度,建立了輪胎與地面受力分析模型,這個領域的研究在地形與運動系統(tǒng)的作用力上,模型為輪胎與牽引力之間的函數(shù)關系[6-8]。文獻[7]中論述了輪胎與路面間摩擦形成的機理,并對其影響因素進行具體分析,作為研究輪胎橫向力和縱向力的基礎。還有一些研究是針對打滑條件下的移動機器人進行數(shù)據(jù)算法控制[9-10]。文獻[9]中針對縱向滑動參數(shù)未知的輪式移動機器人的軌跡跟蹤問題, 提出一種自適應跟蹤控制策略。上面所述的方法中所建立的數(shù)學模型和力學模型,都有一定的假設條件,存在著局限性。在建模的過程中大多數(shù)將滑移、滑轉(zhuǎn)以及輪子半徑的影響作為系統(tǒng)誤差,把它的值作為噪聲考慮或者只是進行分析,在實際應用中里程計不確定度受很多因素影響,如兩輪的速度,輪子與地面的摩擦等。
本文采用以仿真實驗為主,實際情況作為對比的方式,在仿真過程中,盡可能保證與實際情況相符,考慮輪子與地面的摩擦及一些隨機誤差的影響。仿真以左右輪速為輸入,以滑移轉(zhuǎn)向機器人的質(zhì)點坐標的位姿為輸出。為了確定滑移轉(zhuǎn)向機器人在不同的輪速情況下里程計的不確定度,進行了仿真分析,并對仿真數(shù)據(jù)進行統(tǒng)計分析。同時通過KNN算法訓練,根據(jù)滑移偏差及左右兩輪的速度對地面進行識別,研究結果可以為滑移轉(zhuǎn)向機器人定位及導航提供支持。
滑移轉(zhuǎn)向機器人轉(zhuǎn)向原理為通過左右兩輪的速度不同轉(zhuǎn)向,轉(zhuǎn)向原理如圖1所示,由于滑移轉(zhuǎn)向機器人輪的方向保持不變,通過電機驅(qū)動器控制兩側的速度實現(xiàn)運動控制。當兩側驅(qū)動輪行駛速度不同,滑移轉(zhuǎn)向機器人進行轉(zhuǎn)向行駛,速度大小為兩側輪子速度矢量的合成,受小車的寬度影響。當兩側驅(qū)動輪行駛速度相同,滑移轉(zhuǎn)向機器人進行直線行駛;當左右兩側驅(qū)動輪的速度相反時,進行原地轉(zhuǎn)彎。
在研究滑移轉(zhuǎn)向機器人[11-13]的運動問題時,我們從兩個方面討論這個問題,當半徑大于輪距寬度一半時,如圖1所示。
1)大半徑(Ri>B/2)。
圖1 大半徑轉(zhuǎn)彎
圖1中:
Vi=(Vi1+Vi2)/2
(1)
由相似三角形關系可得整車繞絕對轉(zhuǎn)向中心點O點的角速度:
(2)
則由上式可得出整車理論轉(zhuǎn)向半徑為:
(3)
2)當小車半徑小于車體寬度時,如圖2所示:小半徑(0 圖2 小半徑轉(zhuǎn)彎 圖2中: Vi=(Vi1-Vi2)/2 (4) 由相似三角形關系可得整車繞絕對轉(zhuǎn)向中心點O點的角速度: (5) 則可得出整車理論轉(zhuǎn)向半徑為: (6) 在滑移轉(zhuǎn)向機器人實際轉(zhuǎn)向過程中總是伴隨著輪胎的滑動(滑轉(zhuǎn)或滑移),地面對輪胎作用驅(qū)動力時易產(chǎn)生滑轉(zhuǎn),地面對輪胎作用制動力時易產(chǎn)生滑移。通常情況下,對滑移轉(zhuǎn)向機器人來說,大半徑轉(zhuǎn)向過程中,側驅(qū)動輪作用有驅(qū)動力,產(chǎn)生滑轉(zhuǎn),內(nèi)側驅(qū)動輪作用有制動力,產(chǎn)生滑移。在小半徑轉(zhuǎn)向時,內(nèi)外側驅(qū)動輪都作用有驅(qū)動力,易產(chǎn)生滑轉(zhuǎn)現(xiàn)象。 由滑移轉(zhuǎn)向機器人的結構特點可知,在運動過程中同側車輪具有相同的理論速度,實際運動過程中,同一側車輪運動速度相等,可得出前后輪具有相同的滑動率。而實際滑動率取決于地面與輪胎摩擦系數(shù)、機構參數(shù)、速度及地面情況等?,F(xiàn)定義外內(nèi)側驅(qū)動輪平均滑動率δr、δp為: (7) 當大半徑(R>B/2)時轉(zhuǎn)向如圖3所示,外側驅(qū)動輪實際線速度為Vr1與Vr2: (8) 則滑移轉(zhuǎn)向機器人轉(zhuǎn)向過程中實際的角速度w為: (9) 實際轉(zhuǎn)角半徑R為: (10) 由上述公式可知,實際轉(zhuǎn)向半徑要大于理論轉(zhuǎn)向半徑,實際轉(zhuǎn)向角速度要小于理論轉(zhuǎn)向角速度。同理,可得出小半徑實際運動情況。 圖3 滑移滑轉(zhuǎn)對大半徑轉(zhuǎn)彎的影響 由于滑移轉(zhuǎn)向機器人在運動過程中,受到滑轉(zhuǎn)和滑移的影響,當小車逆時針轉(zhuǎn)動時,前輪的運動趨勢指向圓心,后輪運動趨勢是遠離圓心,左側輪受滑移的影響,右側輪受滑轉(zhuǎn)的影響。根據(jù)滑移滑轉(zhuǎn)情況,滑移轉(zhuǎn)向機器人大半徑轉(zhuǎn)彎運動分析結果如圖4所示。 圖4 整車運動學分析 圖中,Vr、Vp分別表示滑轉(zhuǎn)和滑移偏差,轉(zhuǎn)彎半徑變大,角速度變小,其中e值的大小可表征轉(zhuǎn)向時車輛的穩(wěn)定性,值越大說明轉(zhuǎn)向中心線偏離形心距離越大,穩(wěn)定性越差,反之越小說明轉(zhuǎn)向越穩(wěn)定。小車的整體滑移受每個輪的滑移、滑轉(zhuǎn)的影響,大小與車的結構和輪速及動摩擦因素有關,實際應用中我們選取Pioneer3-AT機器人為研究對象,選取不同地面為研究對象,搭建仿真平臺進行研究分析,具體過程如下。 在移動平臺運動過程中無法具體計算滑轉(zhuǎn)率和滑移率[14-15],它們受地面與輪胎的摩擦系數(shù)和左右兩輪的輪速影響,同時通過實驗測量工作量大,因此,我們將通過聯(lián)合仿真,確定滑移轉(zhuǎn)向機器人在不同路面的滑移偏差,以此來確定里程計的不確定度。 主要過程如下所示: 1)在Solidworks中創(chuàng)建Pioneer3-AT移動機器人簡化模型,然后導入到Admas進行運動學分析,首先添加約束及材料屬性,及驅(qū)動力,其實驗平臺結構參數(shù)如表1所示。為保證實驗結果可靠性,材料選取鋁合金材料,保證質(zhì)量相同、運動結構相同,同時添加負重使仿真模型與實驗移動機器人質(zhì)量相同,所受重力及地面接觸面積相同,保證輪子與地面相對滑移的影響。 表1 Pioneer3-AT實驗平臺結構參數(shù) 其中:M為質(zhì)量(kg);L/W/H/B為長寬高及輪距(mm)。 圖5 Admas機器人模型 2)將Adams中的模型通過機械系統(tǒng)導出,導出為Matlab系統(tǒng)模型,輸入為左右兩側的速度,輸出為車體的質(zhì)心坐標,及車體的速度。 圖6 Simulink控制系統(tǒng) 3)在Matlab中,調(diào)用Simulink模塊進行仿真,添加輸入、輸出,將運行軌跡輸出,對比軌跡誤差,記錄,合成。 橡膠輪胎和大理石路面的靜摩擦系數(shù)取0.35; 橡膠輪胎和水泥路面的動摩擦系數(shù)取0.17; 小車向前向后最大速度:0.7 m/s; 輪胎寬度:75 mm; 實驗分別,其中一側輪的速度設為:0.1 m/s, 圖7 轉(zhuǎn)彎x方向坐標 實驗設計了56組,輸入數(shù)據(jù)分別設置左右兩側電機運動的速度,得到誤差模型,通過Matlab差值進行圖像擬合,可得結果如圖8所示。 圖8 大理石路面滑動偏差 圖8所示為仿真轉(zhuǎn)一周所產(chǎn)生的相對滑移偏差,進行擬合,由圖可得出,滑移轉(zhuǎn)向機器人的滑移偏差不止與速度差有關,與轉(zhuǎn)彎半徑的大小也有關,其值為在轉(zhuǎn)彎過程中誤差累積,當左右兩輪速度差過大時,會產(chǎn)生更大的滑移滑轉(zhuǎn)不確定度。在實際應用中應避免左右兩輪速度差過大,大半徑轉(zhuǎn)彎誤差相對較小,小半徑轉(zhuǎn)彎誤差大。 關于移動機器人對不同地形條件的判別方法,已進行了非常豐富的研究[4、16],這些研究主要是通過激光雷達、視覺或振動測量實現(xiàn)地形分類。通過振動測量來實現(xiàn)地形分類,當?shù)匦蔚恼駝忧闆r差別不是很大時,很難進行分類,本文通過滑移偏差進行地面材質(zhì)進行分類,采用KNN算法,縱向摩擦系數(shù)決定車輛在剎車時的滑行距離,橫向摩擦系數(shù)影響車輛的方向控制能力,良好的橫向摩擦系數(shù)可減少彎道側滑。橫、縱摩擦系數(shù)都與地面的材質(zhì)相關。在Adams仿真中我們用動、靜摩擦因數(shù)來模擬不同路面與輪胎之間的運動參數(shù),查找資料初步確定動、靜摩擦因數(shù),通過仿真和實驗滑動偏差對比確定不同路面與滑移轉(zhuǎn)向機器人之間的動、靜摩擦因數(shù)。 圖9 路面實景 因數(shù)路面情況動摩擦因數(shù)靜摩擦因數(shù)光滑大理石0.170.35柏油路面0.620.78塑膠路面0.760.92 將不同的動/靜摩擦因數(shù)輸入分別輸入到Admas中進行試驗,左測輪速分別取0.1、0.3、0.5、0.7(m/s),右側輪速分別取0、0.2、0.4、0.6(m/s),每種地形情況獲得16組數(shù)據(jù),一共得到48組數(shù)據(jù),取42組為訓練樣本,剩余6組為測試樣本。 為了確定實驗的合理性,設計了實驗與仿真對比實驗,通過對比結果,判斷仿真的合理性。設置先鋒機器人左右兩輪的速度分別為0.3 m/s和0.5 m/s測量其軌跡,通過Linux控制移動機器人移動,根據(jù)輪跡與仿真的結果進行比較,由于我們在實驗和仿真主要考慮在在一圈范圍內(nèi),當轉(zhuǎn)彎角度在0~180°時,由下圖可觀測結果在誤差為同一側偏大0~2 mm,誤差不影響誤差模型的創(chuàng)建與路面識別方法結果,即所得結果可以為滑移轉(zhuǎn)向機器人里程計不確定度研究提供支持。 圖10 仿真與輪跡對比 使用KNN算法進行分類的過程需要訓練集和驗證集,我們將Matlab與Admas聯(lián)合仿真得到的數(shù)據(jù)存儲到Excel中,在Matlab中實現(xiàn)KNN算法訓練,然后對測試樣本進行驗證,結果如表3所示。 表3 KNN近鄰法識別率 設置實驗對照組,搭建Pioneer3-AT實驗平臺,通過ROS系統(tǒng)控制滑移轉(zhuǎn)向機器人進行給定速度移動,左右速度不同機器人會進行圓周運動,根據(jù)運動軌跡測量出圓周運動的誤差大小,根據(jù)給定的速度,確定理想狀態(tài)下的理論軌跡,通過對比得到滑移轉(zhuǎn)向機器人的滑移偏差,根據(jù)左右兩側速度和滑移偏差,通過KNN算法,識別路面情況,實際應用中多采用傳感器進行測量分析,能夠達到實時分析運動環(huán)境,同時實際運動過程中也無法通過軌跡對比來確定不確定度誤差,因此我們將激光雷達與慣性測量元件的數(shù)據(jù)通過卡爾曼濾波進行融合與里程計比較得到滑移偏差,識別率如表3所示。 圖11 KNN算法數(shù)據(jù) 滑動偏差的大小即為不確定度。卡爾曼濾波原理通過多傳感器進行移動機器人定位,通過多個傳感器定位數(shù)據(jù)及不確定度,計算它們的協(xié)方差,來確定機器人的位置。實驗中設一周的滑移偏差為△δ;轉(zhuǎn)彎時轉(zhuǎn)角為△θ,則轉(zhuǎn)彎后的角度位置誤差△ε: (11) 將實驗結果進行擬合,得出不確定度,由圖可知,隨著速度的增加產(chǎn)生的滑動可能性越大,大半徑轉(zhuǎn)彎比小半徑轉(zhuǎn)彎的滑動偏差要小。通過編碼器數(shù)值,對滑動偏差進行分析,可以幫助機器人確定在定位中的不確定度,通過多傳感器如激光雷達、編碼器、慣性測量元件等,根據(jù)卡爾曼濾波理論,對先鋒機器人進行定位,進而使定位結果更合理。通過KNN算法進行路面識別,離線數(shù)據(jù)進行在線預測誤差范圍。 通過實驗仿真我們得到了里程計在滑移轉(zhuǎn)向機器人運動中的不確定度誤差模型,并得出當左右兩輪相對速度過大時產(chǎn)生的誤差比較大。在導航時,為保證導航的定位精度,我們應該避免左右兩輪相對速度差過大。在實際應用過程中,通過慣性測量元件及激光雷達與里程計得到的位置數(shù)據(jù)進行比較,可以得出當前路面狀況與里程計不確定度的離線數(shù)據(jù),為滑移轉(zhuǎn)向機器人定位導航提供依據(jù)。1.2 實際運動過程轉(zhuǎn)向原理
1.3 滑移轉(zhuǎn)向機器人整車運動分析
2 仿真平臺的搭建
3 基于KNN算法的路面識別方法
4 實驗結果驗證
4.1 不確定模型結果分析
4.2 路面識別方法驗證
5 結論