汪媛
(武昌首義學院,湖北武漢 430064)
近幾年人工智能技術飛速進步,智能避障技術也得到快速發展,在各領域的避障技術中,人們意識到智能避障技術不僅要滿足障礙物的躲避,重點應在于避障后能否實現智能路徑規劃,而傳統的超聲波避障和紅外避障方案,由于傳感器的距離缺陷和軟件控制單一,使得二者在實際避障產品開發中應用范圍有限[1]。因此,研制能實現智能路徑規劃的避障控制系統具有重大的現實意義與工程應用價值。
SLAM(Simultaneous Localization and Mapping)模型是一種針對全局環境下的自主移動方案,該模型所解決的正是產品從一個位置開始,在運動的過程中利用自身攜帶的傳感器感知周圍環境并同時確定自己位姿的過程,而SLAM模型的應用主要是基于ROS(機器人操作系統)來進行搭建的和開發的[2]。
對于避障的需求中,環境模型無需細化描述,可以采用模糊思想將掃描環境數據統一作為障礙物處理。本設計智能避障方案的小車,在小車周圍環境中的草木,被激光雷達掃描出距離點,然后在ROS 中編寫程序將激光點信息與小車質點信息對比,將環境掃描點統一模糊輸出為X、Y坐標值,根據坐標值建立實際環境框架[3]。具體程序描述思想為:邊界={掃描點};障礙物={邊界,指定路徑行駛掃描點}。
在行駛的過程中,通過變換的數據值,寫入數組集合中。當然在識別環境和規定目的地后,路徑其實是動態的,因為靜態的路徑會使得移動性障礙無法躲避,掃描環境的誤差無法彌補[4]。所以在程序上定義兩個集合,一個作為選取量,另一個將選取量的輸入再次對應環境路徑,掃描建立環境的程序處理框圖如圖1所示。

圖1 掃描環境程序處理流程
智能避障控制系統要達到的目標是構建地圖、路經規劃、自動導航、室內定位及動態避障。智能避障控制系統的硬件中應具備激光掃描模塊用于環境構建,攝像頭用于輔助路徑規劃[5]。本系統以玩具小車的機械模型來模擬智能避障控制系統,具體零部件和模型包括:激光雷達、攝像頭、樹莓派4B、32G SD 卡、電機輪組2套、電池一個、充電器一個、底盤驅動板一塊、USB數據線2根、轉向舵機一個及金屬轉向結構一個。由于雷達要測量環境數據,所以置于小車平臺上部,并且無遮擋。
小車的主要硬件電路包含激光雷達掃描部分、單片機處理部分、電機驅動部分及電壓驅動部分,圖2是整個智能避障小車的硬件結構圖。本設計采用激光雷達掃描模塊,同時進行地圖構建達到最佳路徑規劃的目的。激光掃描模塊通過對小車周圍環境進行描繪,將描繪的數據傳輸數據到STM32 單片機,經過程序數據記錄按照目的回傳數據和地圖數據計算最佳路徑,并傳輸給電機驅動模塊,使得小車按照規劃路徑行駛。

圖2 智能避障系統硬件結構圖
利用和搭造SLAM 的模型,需要一個特定的操作環境,這個環境必須或最低要有兩個模塊,就是測量環境范圍,障礙物范圍的測量模塊,以及行走計數的記程模塊[6]。本系統選用HiBot機器人平臺。HiBot平臺幾乎包含所有SLAM框架的實驗配置。其次,HiBot具有高精度的定位性能,這個性能重點是判斷小車在陌生環境中只依靠自己的行走摸索確定自己位置狀態的一種位置確定能力[7]。小車搭載的這一平臺性能精度很高,而且還可以利用模糊控制理論對其程序處理優化。
避障測量集中為三個方式激光、圖像深度算法處理及超聲波。超聲波發展時間相對成熟,但是激光測距近幾年比較熱門由于其精度準、范圍遠[8]。本系統設計的智能避障控制系統使用激光測距方法進行距離測量,可以很容易實現較高的測量精度并應用于SLAM 模型中。采用的laser 測距范圍為12cm-350cm,測距分辨率1°,測距精度2cm,雖然這款雷達的配置相對較低,但對于室內SLAM 方案的實驗已經足夠。
由于智能避障控制系統不僅要實現避障,重點應實現行進過程中的路徑規劃,所以本系統的設計思路是先確定主程序,然后根據實際硬件接口控制及功能,編寫控制子程序,最后將子程序嵌入主函數,形成完整的智能避障控制系統程序框架,系統總體設計框架如圖3所示。

圖3 系統總體設計框架
系統分為上位層、控制層、下位層三個大的程序分類。激光雷達的掃描不同于超聲波,紅外等避障,模塊可以直接連接stm32,并在程序中設置I/O檢測電平信號,然后控制電機驅動。激光雷達掃描到的環境數據要進行保存,路徑規劃信息也需要在終端上處理,所以硬件采用樹莓派4B 可以很好地解決這一問題。在程序設計上,將樹莓派的信息保存處理定為上位層,單片機的控制驅動各個模塊定為控制層,編碼電機定為下位層,具體控制程序構架如圖4所示。

圖4 具體程序框架圖
選取室內和室外進行環境地圖構建,實驗結果顯示智能避障小車將自身周圍環境的物體都模糊為紅色掃描點,這個結果符合預期的模糊控制理論下的SLAM避障模型設計。模糊處理后的環境為小車提供了可行性移動范圍即紅色掃描環境下的灰色區域,這表明將環境變量模糊化處理并建立SLAM智能避障模型的方案是可行的。通過實驗也發現了該方案需要改進的地方,掃描的僅為二維空間面,智能避障方案是在二維環境下研究與設計的,在實際中小車在非水平地面上行駛,車下是盲區地帶。
在實際環境構建成功后,最關鍵的是自主避障的運行。運行試驗依然是上述場景,分別觀測調試小車是否可以到達目的地,行進過程是否正確及時躲避障礙物并按較佳路徑運行,在實驗中,可以發現避障小車在接收到目的地方向信息后,開始按目標方向行駛,并且在行駛過程中依然在不斷掃描環境,依照自身位置改變和實時環境地圖的建立及時改變行走路徑,不僅達到躲避障礙物的效果同時也依照最佳路徑在行駛。證明了基于模糊控制思想下的SLAM避障模型向目標地運行的過程中,可以準確識別并躲避障礙物,本系統設計方案是可行的。
本系統設計的智能避障控制系統,相比傳統的紅外避障、超聲波避障而言,在避障的要求下更加智能化,從整體運行角度出發進行路徑規劃,除了能避開障礙物,更突出路徑規劃的最優化。硬件系統傳感器采用激光雷達避障技術,處理器使用STM32 單片機,軟件系統程序用C 語言編寫,SLAM 程序設計基于模糊控制理論編寫構架。借鑒ROS機器人的概念,利用激光雷達模塊的全局掃描地圖構建與定位移動而達到路徑規劃的避障效果,在現實生活中,有著非常可觀的量產化意義。