李 罡,劉 庶,張慧杰,趙夢冉
(白城師范學院 機械與控制工程學院,吉林 白城 137000)
智能探險車的研究、開發和應用涉及傳感技術、電子技術、機械技術和智能控制技術等.智能探險車可以按照預先設定的程序,在某一環境中自主運行,可應用于科學勘探等領域,無需人為操控便可達到預期目標,將會是今后社會發展需求的一個新方向.智能機器人能夠做很多事情,凡不適合由人直接完成的任務,均可由機器人來代替,并且不受溫度、濕度等條件影響.尤其是在一些危險或惡劣的環境條件下工作,人類無法介入特殊情況下的任務,智能探險車就可以發揮它的作用.但目前這些方面的開發利用還不夠完善,仍有許多地方等待著去開發研究.智能探險車作為一種應用型人工智能產品,它的開發前景非常巨大,相當于一個平臺,可以在它的基礎上搭載任何想要實現的功能.因此,設計一款多功能的、適應各種地形、各種場合的智能探險車,無論對于軍事領域、科研領域還是生活領域都具有非比尋常的意義[1].
智能探險車的主要功能是輔助進行掃雷、探測、偵察,并具有GPS導航功能,能夠根據設定的路線進行勘測,同時能夠自動規避障礙物.智能探險車采用了多種類型傳感器,通過STM32 單片機進行控制,硬件系統主要包括主控模塊、驅動模塊和傳感器檢測部分等.本設計的研究內容是在目前智能小車基礎上進行改進和完善,讓它能夠應用在多個領域,使探險車的工作效率更高,安全性更加有保障,完成掃雷、探測、偵察等一系列危險的工作任務[2].本設計的智能探險車系統結構框圖如圖1所示.

圖1 智能探險車系統結構框圖
采用STM32F407單片機作為主控系統,STM32是32位微控制器,內部時鐘系統強大,外部中斷和定時器豐富便于控制,相比51 系列單片機,其運行速度更快,外設更加強大.能夠實現對各個元器件的精準控制和接收處理器件反饋的外界信息,這對智能探險車的正常運行起著關鍵作用,因為智能探險車要實時精準監測外界環境,從而進行相應的動作應答[3].
系統驅動部分采用TB6612FNG電機驅動模塊來驅動電機.該電機驅動模塊可以同時對兩個直流電機進行雙向控制,有較強的輸出能力,在運行性能和能耗方面也有一定優勢,具有集成度高、體積小、高效率和高性能的特點.本探險車采用四輪驅動,保證了足夠的動力,通過調節輸入TB6612FNG 的PWM信號進行直流電機的調速,從而實現探險車基本的直行、轉彎、后退運動功能[4].
避障模塊采用US-100 超聲波測距模塊進行測距避障.該避障模塊可自行設置探險車的避障距離,探險車與障礙物之間距離小于避障距離時進行避障,并具有GPIO、串口等多種通訊方式,集成看門狗功能,性能穩定、工作可靠.給輸入/輸出口TRIG至少一個10 μs的高電平信號,模塊會自動發送8個40 kHz的方波,自動檢測是否有信號返回,然后輸入/輸出口ECHO 會輸出一個高電平,高電平持續的時間就是超聲波從發射到返回的時間.從而利用如下公式計算出與障礙物的距離:

其中:d 表示探險車與障礙物的距離;t 表示高電平時間;v 表示聲速(v 的取值為340 m/s).根據測出與障礙物的距離,實現單片機對探險車運動的控制及避障.
智能探險車需要具有自主導航功能,能夠根據設定的路線進行勘測,通過GPS 導航,可以實現在地圖中放置坐標點建立小車行駛路徑,小車啟動GPS智能導航后,根據地圖中建立的行駛路線自動導航行駛.因此,選用ATK1218-BD GPS 北斗雙模定位模塊定位更快、更精準,該模塊自帶備用電池,可保存星歷數據,掉電后重新上電,可在幾秒內恢復定位[5].
探險車可實時觀測周圍環境,向監控終端回傳圖像信息.因此,采用市面所售的無線迷你型攝像機,體積小,安裝簡單,通過手機可實時觀察未知的環境進行安全探測.同時,不需要網絡也可實時拍攝,解決了戶外探險無網絡的難題.其帶有夜視功能,當探險車進入未知洞穴也能夠清晰觀測內部環境.將攝像頭安裝在自由度為2 的舵機臂上,彌補了攝像頭只能180°攝像的不足,通過遙控進行舵機的轉動,實現360°無死角觀察.
顯示模塊采用IIC通訊OLED液晶屏模塊,功能強大,能夠顯示探險車的行車信息,引腳少,便于布線.
現有的一些智能車作業工作范圍有限,往往只能在一些坡度較小、地勢平緩的地帶進行作業,遇到山高坡陡、險峻的地勢就只能由人來完成.為了能更好地適應多種地形,在車身上安裝了機械裝置,能夠翻越陡坡,越過窄溝,彌補以往智能小車只能在比較平坦地勢作業的不足.機械裝置由機械臂構成,能夠模擬人手臂攀爬的動作在一些復雜地形上進行工作[6].
本系統通過撥碼開關來選擇運行程序.當撥到開關1運行GPS自主導航行駛功能,按照規劃好的路線行駛,在地圖中放置坐標點建立小車行駛路徑,小車啟動GPS 智能導航后,根據地圖中建立的行駛路線自動導航行駛,若沿途遇到障礙物,小車會自動規避障礙物,然后繼續按建立的路徑行駛.當撥到開關2可手動遙控行駛[7].系統主程序流程圖如圖2所示.

圖2 主程序流程圖
US-100 超聲波測距模塊價格低廉,并且能夠較準確測量與障礙物之間的距離,避障程序模塊采用的US-100超聲波測距模塊,可根據聲波測距原理來實現避障,其工作流程圖如圖3所示.

圖3 超聲波避障子程序流程圖
基于STM32設計的智能探險車采用了多種模塊,在制作智能探險車初期是對每個模塊進行單獨調試.只有在確保每個模塊都能正常工作并完成指定任務的前提下,才能進行總體設計與聯調.每個模塊都需要軟件和硬件的互連,以確保模塊的正常運行并執行分配給它的功能.主要包括硬件部分調試、軟件部分調試和整機調試等幾個方面[8].
3.1.1 硬件焊接
單片機的硬件焊接相對來說比較簡單,但在焊接過程中的一點小失誤就可能造成系統無法正常工作,給后面的調試檢測環節帶來不便,而且還要注意焊點之間不能相連,否則可能導致硬件被燒壞.
3.1.2 硬件調試
首先實現的是要讓小車能夠正常行駛,然后逐個調試其他器件,確保功能都可以實現.讓探險車通過GPS 自動導航規劃路線是一個難點,往往不能按照指定的路線行駛,坐標易偏移,可以通過數據源轉換,更換精度更高的GPS模塊來解決問題.
軟件部分調試主要完成了對超聲波模塊輸入/輸出信號的處理計算進行避障,對小車進行調速,GPS的路徑規劃,經過不斷的程序測試達到良好的調試效果.
智能探險車聯調是一個繁雜的過程,為更接近于室外探險環境,需要在室內鋪設復雜地形.由于地面環境復雜,探險車在行駛過程中時常會出現上不去陡坡、GPS信號丟失等問題.因此,需要不斷進行程序優化,不斷改變相應的硬件及軟件,使硬件和軟件可以很好地配合,經過多次實驗測試才使得探險車在場地內正常行駛,最終實現相應的功能.設計并組裝完成后的智能探險車實物如圖4所示.

圖4 智能探險車實物圖
經過設計與調試,本智能探險車最終實現四個功能:(1)可以遙控探險車行駛,人為遙控想要到達的指定地點進行工作;(2)當探險車遇到障礙物后可以自動轉向,然后按照規劃好的路徑行駛;(3)探險車遇到陡坡時可通過機械臂越過;(4)通過GPS導航,可以實現在地圖中放置坐標點建立小車行駛路徑,小車啟動GPS智能導航后,根據地圖中建立的行駛路線自動導航行駛.
智能探險車采用光、電、無線通信等技術進行綜合設計,采用多種類型的傳感器,通過STM32 單片機進行控制,實現了智能探險功能.智能探險車工作效率高、安全性能好,能夠應用于多個領域,可以完成掃雷、探測和偵察等一系列危險的工作任務.