李衛(wèi)鵬,買買提明·艾尼,加合甫·阿汗 ,古麗巴哈爾·托乎提
(1.新疆大學機械工程學院,新疆烏魯木齊 830000;2.烏魯木齊佰博機電科技有限公司,新疆烏魯木齊 830002)
近年來,避障測距系統(tǒng)在機器人、AGV小車、無人機、無人駕駛等方面得到廣泛應用。常見的避障測距方式有激光雷達測距、紅外光電傳感器、視覺傳感器以及超聲波測距等。機器人在未知環(huán)境中的導航需要使用許多不同類型的傳感器,以向機器人運動控制器提供有關速度、位置、障礙物距離和方向等數(shù)據(jù)。使用激光雷達進行距離和障礙物檢測已經(jīng)進行了相當多的研究,而車載攝像頭用來檢測圖像中的障礙物。光學傳感器對光敏感,攝像頭往往很昂貴。一種替代方法是使用超聲波傳感器,該傳感器適用于3~400 cm的近距離檢測,并且每秒可提供多個距離測量,而成本低,可用于農業(yè)作業(yè)機器人。
超聲波測距方面有很多研究。文獻[2]中提出了一種基于STM32的RS485總線多路超聲波測距系統(tǒng),與傳統(tǒng)超聲波測距系統(tǒng)相比,該系統(tǒng)簡化了控制系統(tǒng)的硬件和軟件資源,可用于移動機器人和智能汽車的避障系統(tǒng)中,但并未通過實驗來驗證可行性。文獻[3]中提出了一種基于CAN總線控制超聲波測距系統(tǒng),簡化了移動機器人系統(tǒng)控制核心的工作,但并未解決多超聲波傳感器的抗干擾問題。文獻[4]中提出了一種利用內部溫度傳感器和ADC檢測回波的方法,避免了外部溫度計和回波比較電路,簡化了外圍硬件,測量精度高;但實驗中只是用不同大小的紙張來代替障礙物,沒有真正在實際場景下進行實驗。
本文作者針對以上遺留問題,首先搭建了搭載超聲波測距系統(tǒng)的移動機器人小車,在不同車速下計入不同期望停車距離,在室內場景下進行了超聲波識別障礙后急速停車試驗測試。在整理試驗結果的基礎上建立了行車速度與識別障礙停車距離的理論模型,然后按理論模型的算法控制移動機器人小車,最后再通過試驗測試完善并驗證了本文作者提出的理論模型的有效性,為移動機器人急速停車避障提供了安全的理論模型和算法。
本文作者使用的超聲波測距系統(tǒng)主要由微控制器STM32F103ZET6、HC-SR04超聲波模塊、輪轂驅動器、輪轂電機和電源等組成。其中,STM32F103具有144個IO引腳資源、64 kB SRAM、512 kB FLASH等,在性能上完全優(yōu)于同價位的51系列單片機。HC-SR04超聲波模塊具有成本低、測量精度高等優(yōu)點,被廣泛應用于機器人避障系統(tǒng)中。當超聲波傳感器檢測到障礙物時,把檢測距離值返回給單片機,單片機通過處理距離值后發(fā)送控制指令給輪轂電機,從而控制機器人繼續(xù)前進還是保持停止狀態(tài)。機器人總體設計框架如圖1所示。
圖1 機器人總體設計框圖
超聲波測距方法主要包括渡越時間檢測等,主要有收發(fā)一體和收發(fā)分離兩種。此系統(tǒng)采用了收發(fā)分離方式。采用收發(fā)分路模式進行超聲波測距,不僅避免了收發(fā)一體式超聲波測距系統(tǒng)由于發(fā)射脈沖的余振而造成的檢測盲區(qū)的存在,而且增大了檢測距離,提高了測距精度。
超聲波測距的基本原理是超聲波測距傳感器根據(jù)微處理器輸出的觸發(fā)脈沖發(fā)射超聲波并檢測反射波。該超聲波的發(fā)射和探測之間的時間作為脈沖寬度數(shù)據(jù)輸出到微處理器,并根據(jù)聲速和時間差計算到障礙物的距離。假設是超聲波發(fā)射器到障礙物的距離,超聲波發(fā)射和接收到的聲脈沖信號之間的時間差為,空氣中的傳播速度為,測量距離公式如下:
=·2
(1)
由于聲波在空氣中傳播的速度與溫度有關,在精度要求比較高的條件下需要做溫度補償,而溫度是利用單片機自帶的溫度傳感器反饋的。聲波在空氣中傳播的速度與溫度關系如下:
=3314+0607
(2)
式中:為測量時的環(huán)境溫度;為超聲波在空氣介質中的傳播速度。超聲波測距示意圖如圖2所示。
圖2 超聲波測距示意
本文作者自主設計了移動機器人小車。移動機器人小車長為0.9 m、寬為0.5 m、高為0.43 m,質量約為55 kg,承載能力為2 000 N。車架所用材料為1.5 mm厚方鋼,采用橡膠輪胎內置電機的方式提供動力輸出,選用48 V鋰電池提供動力來源。電機控制輸出模式為RS485輸出。傳感器采用市面上常見的HC-SR04超聲波傳感器,采用了定時器中斷計數(shù)方式來計算超聲波發(fā)射與接收的時間差。圖3為文中使用的移動機器人小車。
圖3 移動機器人小車
(3)
(4)
由式(3)(4)可得出
(5)
其中:
(6)
(7)
圖4 機器人運動學分析
在室內5 m長的過道內進行移動機器人小車避障測距實驗。因為超聲波對平面有較強的反射能力,因此將墻壁作為此次實驗用的障礙物。超聲波傳感器安裝在車架的最前端,車輪相對于車架最前端突出5 cm,即車輪與墻面撞擊時,傳感器與墻面的距離為5 cm附近。實驗中用卷尺作為測量工具,在地面上分別測取25~125 cm之間每隔10 cm處的距離值作為超聲波測距的墻面識別設定值。在每一設定值下分別對5組不同車速進行實驗,每一組進行5次測距求平均值。考慮到移動機器人小車自身容易跑偏、車輪與地面打滑等問題,將起步距離均設定為3.3 m處。
3.2.1 測試結果與誤差分析
圖5為在不同識別距離下實際停車距離與行車速度關系??梢钥闯?超聲波測距預置值不同時,移動機器人小車急速停車位置到墻面的間距也不同,移動機器人小車速度越高急速停車位置到墻面的間距也越小。當超聲波測距預置值設定為25 cm時,車速為0.36 km/h時,實際停車位置與墻面的距離為23.3 cm,而車速為2.1 km/h時,實際停車位置與墻面的距離為5.4 cm。同樣,當超聲波測距預置值設定為125 cm時,車速為0.36 km/h時,實際停車位置與墻面的距離為123.9 cm,而車速為6.46 km/h時,實際停車位置與墻面的距離為5.5 cm。這說明,移動機器人小車速度對停車特性的影響很大。從誤差分析上看,當電機轉速為5 r/min,即車速為0.4 km/h時,實際停車距離與設定停車距離最大誤差不超過1.34 cm。這是因為當車速比較低的情況下,雖然超聲波檢測距離需要一定的時間等待回響信號到來,但是這個時間大約為20 μs,在車速較低時可以忽略。這與在停止狀態(tài)下的測距結果基本一致。為了清晰地看出誤差變化情況,在停車距離與行車速度關系曲線上作出誤差線。從誤差線上可以看出:當車速小于1 km/h時,最大誤差不超過1.80 cm;當車速大于2 km/h時,誤差稍微變大。這主要是因為小車的起步距離較長時小車容易跑偏,從而造成了傳感器測距的不準確。影響測量的主要誤差來源有兩方面:(1)車輪與地面打滑、小車自身慣性、小車偏離運動中心線以及人為測量的誤差等;(2)超聲波傳感器自身測距需要一定的時間來計算回響信號。從圖5中還可以看出:隨著車速越來越大,每一組實驗中實際停車位置越來越靠近墻壁,直到小車撞到墻上。
圖5 不同識別距離下實際停車距離與行車速度關系
3.2.2 結果分析
運用插值法,計算出在不同識別距離下停車位置分別為20、30、50、60、80、100 cm處的行車速度。可以得到:保證在20 cm處停車的最小速度應為0.94 km/h,最大速度應為5.89 km/h;保證在100 cm處停車的最小速度應為0.86 km/h,最大速度應為2.43 km/h;其他停車位置處的車速以此類推。當行駛速度增大時,要保證能在給定的位置下停車時的識別距離也隨之增大,在不同停車位置下,識別距離與行車速度之間的變化趨勢大致相近。通過多項式回歸分析,可以得出識別距離與行車速度滿足如下關系:
=++
(8)
其中:為行車速度,km/h;是超聲波預置值的識別距離,cm。系數(shù)、和可通過試驗測試獲取的數(shù)據(jù)進行回歸分析確定。
本文作者對試驗測試的6種不同停車識別距離與行車速度關系進行了多項式回歸分析,如圖5所示。然后如表1所示,通過平均、和值后,確定了系數(shù)=2.4和系數(shù)=5.4。而′是與小車與障礙物之間的停車距離預置值相關的值,并用=′+來描述。由于為預置值,所以確定值就行。通過計算確定=-2 cm,如表1所示。把以上試驗結果確定的參數(shù)、和值代入到式(8)可得到計入小車車速、與障礙物之間的停車預置值相關的超聲波識別距離之間的關系式(9):
=24+54+′-2
(9)
式中:為小車行駛速度;為超聲波識別距離。
表1 試驗測試分析獲取的系數(shù)
取∈[0.5,6] km/h,根據(jù)公式(8),計算出,∈[21.3,216.8] cm,如圖6所示??梢钥闯?6種情況下保證在給定停車位置時,理論識別距離曲線與實際識別距離曲線吻合度較高。為了說明理論分析的準確性,下面對理論分析進行實驗驗證。
圖6 不同停車距離下識別距離與行車速度關系
為了進一步驗證公式(9)在機器人實際運動情況下的適用性,在Keil5軟件中編寫程序,算法流程如圖7所示。為了進一步驗證常數(shù)′值對停車距離的影響,分別在20、50、80 cm不同位置下進行實驗測試,分別取常數(shù)′-2 cm,′-5 cm,′-8 cm三種不同值,式中′為小車與障礙物之間的停車距離預置值相關的值,結果如圖8所示??梢钥闯觯寒斎 ?5 cm、′-8 cm時,實際停車距離都出現(xiàn)了小于期望停車距離的情況,并且停車位置波動比較大;而取′-2 cm時,雖然實際停車距離略大于期望停車距離,但從實際角度出發(fā),在期望停車距離之外可以停車,保證了行駛的安全性,取′-2 cm時更加符合實際需要,并且最大測量誤差不超過2.9 cm。從而驗證了此算法模型在機器人小車上的可行性。
圖7 自動變速測距避障流程
圖8 不同C′值時行車速度與停車距離之間的關系
根據(jù)此算法編寫程序,并且將代碼燒錄到單片機中進一步驗證。結果表明:識別避障距離是一個動態(tài)變化的值,車速增大識別距離增大,車速減小識別距離減小。當車速為0時,=′-2 cm,即識別距離等于期望停車距離減2 cm。此算法模型不僅解決了小車在高速運行時無法在給定的位置處及時避障停車的問題,而且進一步提高了機器人小車行駛的安全性。
提出了一種基于 STM32 的機器人小車在不同車速下的超聲波測距方案,其結構簡單,在實驗室已進行測試。所作工作包括:
(1)完成了移動機器人小車的搭建并進行了運動學建模分析;
(2)根據(jù)多次的實驗測試結果,得到了超聲波識別距離與行車速度的關系并根據(jù)多項式回歸分析確定了系數(shù)、值;
(3)對提出的動態(tài)測距停止避障算法模型在STM32單片機中編程驗證,得出了當取′-2 cm時此算法模型更加精確并符合期望值的結論。