江西省減災備災中心 王 茜
機器人行走過程中需要對障礙物進行躲避。躲避的方法和策略依靠障礙物的大小、形狀、位置分布及距離參數的分析與計算。此過程是動態地、隨機地,需要實時的分析與判別,基于目標方向的導向線周邊環境的探測,移動機器人能夠在所設定的避障算法的控制下,正確的選擇方向,繞過障礙,步進到終點。在MATLAB/GUI軟件平臺上對該避障算法進行仿真實驗,結果證明了該方法的有效性。
科學技術不斷地發展和進步,伴隨著應用領域的深入和深化,研究人員大多會采用一個實驗平臺來驗證設想、思路、算法等等,由此仿真的大量出現,同時仿真也進一步推動了科學技術的進步。本文采用MATLAB/GUI編程工具對移動機器人的行走路徑進行規劃、計算、分析,并仿真,為移動機器人這一人工智能領域的主要工具進行仿真實驗,驗證規避障礙、優化路徑的規劃設計方法,對實際行業應用領域的行走機器人技術的發展有著積極的推動意義。而如今社會的物流、礦產、工業、農業、醫療衛生的生產和應急救援等方面的機器人代替人的應用是越來越多,提高了生產、救援效率,減少生產成本,降低救援危險系數,由此得出本文的路徑規劃的仿真研究。
機器人的行走或移動,首先是有一個目標方向,而且行走過程中是不停的判斷和調整方向的選擇,現實當中的機器人,在其移動的路徑上通常會有各種情況,如有各種隨機形狀或隨機性質的障礙物分布在其前進的路上,包括障礙物占領其前進引導線、障礙物在前進引導線左側、障礙物在前進引導線右側等三種情況,有時機器人在移動的過程中還要完成某種特殊的作業,因此機器人在行走時要檢測障礙的分布,避免觸碰,實時調整方向與路線,最終完成預先設計好的任務。
首先建立坐標系,以引機器人目標路線的導線方向為坐標Y軸,其前進方向為正方向,以障礙物中心且與Y軸垂直的直線為坐標X軸,其中障礙物中心點即為坐標原點。對機器人大小進行假設,寬和長改為2b和2a。設機器人初始位于A點,障礙物大小為長2d,寬2e,設機器人與障礙物最近距離為L,為防止觸碰,距離L為機器人表面到障礙物表面的最近距離。行進的機器人借助于探測器或傳感器進行檢測周圍的障礙物,當發現行進正前方有障礙物時,此時的機器人就應該考慮怎么躲避障礙,簡單方法就是通過轉彎,即左轉或右轉。這里為了簡化令機器人優先選擇左轉。接著,假設機器人在避開障礙物后位于B點位置,此時機器人因避障而左轉,調整了行進方向,原有的行進路線上的障礙變成了機器人右側的障礙,即障礙位于現機器人行進路線的右側,設距離為M。機器人繼續行進,在成功避障后需試圖回歸原引導線向終點出發。具體情況如圖1所示。

圖1 障礙物占領了引導線
障礙物超過引導線左邊的最大距離為C,機器人安全通過B點,機器人最右端與障礙物最左端的距離為M。從A點運行到B點需要偏轉角度θ1:

從A點運行到B點需要經過的路徑為W1:

機器人從A點運行到B點需要的行駛時間T1:

機器人從B運行到C需要偏轉的角度為β1:

從B點運行到C點需要經過的路徑為R1:

障礙物位于機器人前進引導線的左側,因障礙物和機器人的外觀、大小、體積等因素,機器人正常行使依然有可能觸碰障礙物,因此需要設計機器人的避障策略,障礙物在左側,因此機器人需要向右調整方向進行行進,行進后拉大與障礙物之間的距離,在保證不會觸碰之后,機器人需要回到原定的終點進行行進,即左轉回到原方向,具體位置關系與行進示意如圖2所示。

圖2 障礙物在機器人前進引導線左邊
障礙物右端與引導線的距離N,機器人從A運行到B需要偏轉的角度為θ3。據三角函數得:

機器人從A點到B點需要經過的路徑為W3:

機器人從B點運行到C點需要偏轉的角度為β3。根據三角函數,可得:

機器人從B運行到C需要經過的路徑為R3:

障礙物在機器人行進方向引導線的右邊,處理方法與第2種情況類似,此處不再贅述。
由此對機器人行進的過程進行了詳細分析,在實際應用中,因路線的精確度或平滑度的要求,可依照這種方法將障礙物與機器人二者的位置關系進一步的細分,分成5種情況、7種情況或更多。
經驗系統是基于現實世界實際的規則與實際效果的分析,歸納和推理出的一套理論,也稱專家系統,這是人工智能的主要基礎信息,并將此賦予計算機程序,解決專門的實際問題。經驗系統結構如圖3所示。系統結構由知識庫、推理機、知識獲取、領域專家、推理咨詢和專家系統用戶等幾個模塊構成,其中知識庫又包含規則庫和數據庫;推理機包括解釋程序和調度程序。

圖3 專家系統結構
機器人行走路徑規劃控制器的設計結構如圖4所示,包括行為權重控制器、趨向目標行為控制器、避障行為控制器、沿障礙物邊緣運動行為控制器等4個部分。其中由移動機器人運動的線速度(vO,vG,V A)和轉動速度(ωO,ωG,ωA)和趨向目標行為權重GW、避障行為權重OW、沿障礙物邊緣運動行為權重AW等輸入輸出變量進行加權融合,得行為融合公式:

圖4 路徑規劃控制器邏輯結構

式中,V為融合后輸出的移動機器人的線速度,W為融合后輸出的移動機器人的轉動速度。
機器人開始位于起點,準備朝終點出發,借助探測器或傳感器,檢測周圍的障礙情況,判斷前進步長內是否有障礙物,有則按前述方式分析障礙物方位、距離等信息,進行避障,無則沿導向線前進固定的步長,前進完成判斷是否到達終點,未到達終點則繼續探測、分析、避障等,繼續行走,直至到達終點。算法流程如圖5所示。

圖5 行走控制算法
仿真主程序包括機器人的運行軌跡和避障過程。行進軌跡算法流程如圖6所示;主程序的算法流程如圖7所示。

圖6 機器人行進軌跡算法流程

圖7 主函數流程
MATLAB是高級計算軟件,它提供了大量的高性能的數值計算函數和程序,極大地方便了研究人員的仿真分析,在科學計算、信息處理、控制理論等多個領域被廣泛應用。MATLAB提供極為方面的GUI應用接口,GUI圖形用戶界面由窗口、菜單欄、工具欄和左側的快捷按鈕組成,每一部分都有特定的功能,可以根據不同的需求選擇按鈕并排版。
仿真實驗采用GUI界面進行仿真信息交互。界面設計4個方面信息:(1)工作區域;(2)起始點和目標點的位置;(3)障礙物數量及形狀;(4)規劃的避障路徑。界面設計如圖8所示。

圖8 移動機器人路徑規劃界面
設計好GUI界面后,將輸入輸入信息代入程序,程序依據前述算法進行編寫,進行基于模糊控制的移動機器人路徑規劃仿真實驗,步驟如下:
(1)設置一個二維空間為機器人的工作環境,模擬一個封閉的房間地面情形。
(2)設定機器人運動的起始和目標位置坐標、地面上的障礙物個數及其形狀。
(3)機器人依據編寫好的模糊控制算法程序進行避障行進。
(4)不斷檢測是否已到達終點,是則中止,否則轉入第3步繼續行進。
仿真過程中設置起點坐標和終點坐標分別為[0,0]和[500,500],模擬封閉房間環境中的障礙物數量為10個、30個和50個,形狀分別為正方體、圓柱體或兩種隨機混合的三種情況進行仿真實驗,仿真結果如圖9、圖10、圖11所示,分別顯示出了理想航線、運動軌跡以及路徑步數等信息。

圖9 正方形障礙物數量10的仿真實驗結果

圖10 圓形障礙物數量30的仿真實驗結果

圖11 隨機障礙物數量50的仿真實驗結果
圖中,在理想路線上,明顯的分布著各種形狀、大小不一的障礙物,其中圖9和圖10中在沿著理想路線前進時,遇到不同形狀的障礙物移動機器人能夠在路徑規劃控制算法的程序控制下,正確繞過障礙物并繼續行進,直至終點;圖11中不僅能夠繞過不同形狀的障礙物,在障礙物連續分布的情況下,該算法依然能夠繞過多個障礙,在偏離理想路線上仍然能夠找出一條通往目的地的合理路線。
文中對當下非常流行的機器人行走的路徑進行規劃設計,提出遇到障礙物的躲避和繞行控制思路。進一步地設計經驗系統和路徑規劃控制器,編排避障控制算法和行走軌跡控制算法。最后借助于MATLAB/GUI仿真軟件編寫移動機器人行走避障的仿真程序,并設置不同的障礙類型和障礙數量,進行仿真實驗。實驗結果表明移動機器人能夠在各種障礙的隨機分布的環境下找出行進的規劃路線,行走至目的地,驗證了避障算法的有效性。