摘要:根據模糊邏輯的特點,利用非線性函數對傳統的模糊控制算法的隸屬度函數進行了改進。通過MATLAB給出的仿真證明,在采用多傳感器避障過程中,機器人不僅能成功避開障礙物達到目標所在位置,并且非線性函數隸屬度函數優于傳統隸屬度函數。新算法使機器人的行進更加平滑、穩定且具有較高的實時性。
關鍵詞:移動機器人; 避障; 模糊控制; MATLAB
中圖分類號:TP24文獻標志碼:A
文章編號:1001-3695(2007)11-0088-02
路徑規劃與導航是移動機器人的核心技術,也是其智能性的體現。其中是否能實時、靈活地躲避障礙物是衡量移動機器人性能的一條關鍵指標,也是導航需要完成的重要任務之一。對于移動機器人來說,在移動過程中是否能快速、準確地對周圍環境作出反應,比如避開前進中的障礙物并且不間斷地移動到目的地,是非常重要的。移動機器人的避障策略方法有很多。從文獻的數量上看,主要還是人工勢場法和柵格法較多。值得注意的是在同時具有靜態和運動物體的動態環境中,避障的實時性往往很差,主要是處理速度往往跟不上。其他算法還有回歸預測法、神經網絡法、遺傳算法等。
機器人運動的環境非常復雜,一般情況下障礙物的位置是未知的,因此很難建立精確的數學模型來預測環境信息。采用模糊控制算法非常適合移動機器人的避障。本文采用非線性函數作為模糊控制系統隸屬度函數不僅符合模糊邏輯的特點,也符合機器人避障的要求。同時采用多個傳感器算法既可以克服超聲傳感器的幻影干擾,實現機器人的安全避障,也可以提高避障的實時性和準確性。
1傳感器的選擇和位置排列
超聲波傳感器是靠發射某種頻率的聲波信號,利用物體界面上超聲反射、散射檢測物體的存在與否。超聲波傳感器由于信息處理簡單、快速并且價格低,被廣泛用在機器人測距、定位及環境建模等任務中。
為防止超聲波幻影的干擾,本實驗采用九個傳感器,每個傳感器間隔10°探測范圍為前方80°。為了避免模糊規則庫的過于龐大以及許多復雜無用的模糊控制規則使用,同時為了大大降低了避障算法所需的計算量,將這些傳感器每三個分為一組,共分三組,稱為左方、前方、右方傳感器組。每個傳感器組選取其中最小的一個數值作為輸入。
2模糊推理系統
2.1模糊推理系統的組成
模糊控制器(結構見圖1)主要由模糊化、模糊推理、清晰化和知識庫(規則庫)四部分組成。
由于模糊控制器是采用數字計算機來實現的,它應該具備下列三個主要功能:
a)將系統的偏差從數字量轉換為模糊量;
b)對模糊量由給定的規則進行模糊推理;
c)將推理結果的模糊輸出量轉換為實際系統能夠接收的精確數字量或模擬量。
在本文中,模糊控制器的輸入是超聲傳感器的距離信號,輸出是機器人的轉向角度和移動速度。根據一定控制策略,建立輸入/輸出的模糊語言集合和模糊控制規則。具體的移動機器人的避障模糊控制系統如圖2所示。
2.2隸屬度函數的選擇
目前,大多數模糊控制[2]均采用線性函數作為隸屬度函數。雖然線性函數有計算簡單、數據處理速度快的優點,但筆者對此卻不是很認同。因為模糊邏輯是柔性的,建立在自然語言的基礎上對數據的精確性要求不高,這與線性函數有很大差別。例如線性函數認為“1”和“2”的差別與“2”和“3”的差別是相同的,但很多實際情況卻不是這樣。本文采取的隸書度函數并不是像三角形隸屬度函數這樣的線性函數,而是非線性的高斯形(gaussmf)、S形(smf)和Z形(zmf)隸屬度函數。非線性隸屬度函數不僅更加符合模糊控制的要求,而且使輸入與輸出的曲面映射更加平滑,有利于輸出的精確和穩定。
2.3模糊控制器的輸入
模糊控制器共有三個輸入,分別是左方(left)、前方(mid)、右方(right)障礙物信息,范圍為[0,1],其模糊變量為近(near)、中(mid)、遠(far)。輸入隸屬度函數如圖3所示。
3仿真結果
為了驗證算法本文運用MATLAB中simulink進行了編程仿真。
3.1仿真可行性
仿真結果如圖6所示。
(a)(b)圖6機器人避障的仿真結果
圖中點距大說明機器人速度快,點距小說明機器人速度慢。此外在仿真過程中還加入了自動導航系統,即當機器人傳感器檢測不到任何障礙物時或機器人不躲避障礙物時,會自動向目標方向前進。仿真結果證明本算法能使機器人順利、安全地進行避障。
3.2算法對比仿真
本文將非線性隸屬度函數和傳統的線性隸屬度函數的模糊控制算法進行了實驗比較。仿真結果如圖7所示。
從仿真路徑圖來看,線性隸屬度函數(圖7(a))在很長一段距離內,點距一直比非線性隸屬度函數(b)小,而且路線不平滑。這說明在這段路程里,前者一直處于避障狀態,機器人行進速度很慢。而后者能快速平穩地通過障礙區。從仿真數據圖來看,前者第一次輸出轉向角達到0.7,隨后的轉向也達到了0.4,整個過程輸出很不穩定,收斂效果很差,達到平穩耗時3.6 s。而后者第一次輸出轉向角只有0.6,隨后的轉向最大值不足0.2,整個過程輸出相對穩定,收斂速度快,達到平穩僅耗時1.9 s。
(a) 線性隸屬度函數路徑(b) 非線性隸屬度函數路徑
t/s(c) 線性隸屬度函數的輸出轉向角t/s(d) 非線性隸屬度函數的輸出轉向角
圖7兩種算法的仿真結果比較
從仿真結果看,線性隸屬度函數雖然有計算簡單、數據處理快等優點,但從細節來看,尤其是在連續避障過程中,避障效果不僅明顯沒有非線性隸屬度函數好,速度反而更慢。
4結束語
從仿真結果可以看出,機器人在避障過程中有時不能找到行進間的捷徑而走了遠路。這主要是由于機器人的傳感器不足,信息量不夠全面造成的。但如果增加信息輸入就會使模糊規則庫急速增長,會帶來規則庫編寫困難、數據計算量大,處理速度慢等缺點。隨著多傳感器的信息融合以及神經網絡等理論的引入,為這一問題的解決提供了思路和方法。
參考文獻:
[1]FUJIMORI A, NIKIFORUK P N, GUPTA M. Adaptive navigation of mobile robots with obstacle avoidance [J]. IEEE Trans on Robo ̄tics and Automation, 1997,13(4):596-601.
[2]BORENSTEIN J, KOVEN Y. Realtime obstacle avoidance for fast mobile robots [J]. IEEE Trans on SMC, 1989,19(5):1179-1186.
[3]PRATIHAR D K. Fuzzy genetic algorithms and timeoptimal obstaclefree path generation for mobile robots [J]. Computer Science, 1999,26(9):30-34.
[4]MBEDE J B, HUANG Xinhan. Fuzzy motion planning among dynamic obstacles using artificial potential fields for robot manipulators [J]. Robotics and Autonomous Systems, 2000,32(1):61-72.
[5]陳華志,謝存禧.移動機器人避障模糊控制[J]. 機床與液壓,2004,11:77-78.
[6]吳海彬,朱世強,馬翔.自主吸塵機器人在非結構性環境下的避障與路徑規劃研究[J]. 機器人,2000,22(7):627-630.
[7]江貴龍,金祥克,胡旭東.基于模糊算法的移動機器人導航[J]. 機電工程,2006,23(2):53-57.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”