呂淑平, 王 沖
(哈爾濱工程大學 自動化學院,哈爾濱 150001)
創(chuàng)新創(chuàng)業(yè)教育已經成為促進國家崛起、民族復興和社會不斷進步的動力,也是我國高等教育改革與發(fā)展的趨勢之一[1-2]。2015年,國務院總理李克強在政府報告中提出“大眾創(chuàng)業(yè)、萬眾創(chuàng)新”之后,國務院辦公廳印發(fā)了《關于深化高等學校創(chuàng)新創(chuàng)業(yè)教育改革的實施意見》,成為高校開展創(chuàng)新創(chuàng)業(yè)教育的行動指南[3-6]。
創(chuàng)業(yè)教育的基礎是創(chuàng)新[7],我院針對學生在創(chuàng)新初期,不知如何邁進科技創(chuàng)新大門這一普遍現象,早在2011年,面向二年級本科生就開設了“創(chuàng)新認知與實踐”必修課,將科研訓練教育納入到系統(tǒng)的學習和課程體系中。課程要求學生利用課堂時間,在老師引導下親身實踐完成一件科技作品的制作與開發(fā)。目的是使學生盡早熟悉科學研究和科技創(chuàng)新的程序和方法,為今后創(chuàng)新創(chuàng)業(yè)打下基礎[8]。課內開出實踐性項目70余項,其中智能小車類實驗項目深受學生歡迎。
本文研制的自動避障實驗小車教學系統(tǒng),以學生需求為導向,學生可以進行相關硬件制作,探索車輛自動避障策略,進行電動機控制程序、轉速采集程序以及通信程序等設計,可使學生掌握一件科技作品完整的開發(fā)過程,訓練學生創(chuàng)新實踐能力。
系統(tǒng)整體結構設計框圖如圖1所示,主要由主控模塊、電源模塊、驅動模塊、信息采集與處理模塊、無線通信模塊以及Android軟件等部分組成。考慮實際應用,避障實驗小車系統(tǒng)設計了自動和手動兩種工作模式。在自動模式下,超聲波測距傳感器“感知”周圍環(huán)境信息,當檢測到障礙物的距離小于安全距離時,能夠自主避開障礙物,并保持原來的前進方向不變;在手動模式下,通過手機APP發(fā)送指令給實驗小車,小車根據指令控制電動機動作,從而使小車完成相應的避障動作。
圖1 系統(tǒng)整體結構框圖
系統(tǒng)工作在手動模式時,手機終端通過WiFi模塊發(fā)送命令至主控模塊,主控模塊通過對指令的分析控制電動機完成相應的動作;系統(tǒng)工作在自動模式時,主控模塊通過信息采集與處理模塊判斷前方、左側和右側障礙物的距離并與安全距離進行比較,并采取相應的避障策略,最后通過PWM驅動電路驅動電動機完成相應的避障動作,實現小車自主避障。
整個系統(tǒng)硬件構成框圖如圖2所示,由單片機最小系統(tǒng)、電動機驅動電路、轉速測量電路、電動機驅動接口、速度傳感器接口以及超聲波測距傳感器接口等組成,直流電動機的型號為GM25-370直流低速大轉矩電動機[9]。
圖2 系統(tǒng)硬件構成框圖
系統(tǒng)采用ESPDuino單片機作為最小系統(tǒng),該款單片機兼有Arduino開發(fā)庫及ESP8266系列芯片WiFi功能,支持手機APP[10],開發(fā)平臺Arduino IDE界面簡潔,方便掌握和使用[11]。在本系統(tǒng)中,ESPDuino最小系統(tǒng)主要工作是通過超聲波測距傳感器“感知”周圍環(huán)境,制定相應避障策略,通過驅動電路控制兩個電動機完成避障動作。
使用的管腳資源如表1所示,選擇D12和D14端口作為產生PWM波端口,然后將產生的PWM波輸入到L293DD電動機驅動芯片的使能控制端,控制4個大功率開關管的導通與關斷,實現電動機轉速控制。
表1 ESP-13單片機管腳資源分配
直流電動機驅動電路如圖3所示,主要由電動機驅動邏輯電路、H橋驅動電路、一些外圍電路及一些保護電路組成。H橋驅動電路采用的是L293DD芯片作為驅動模塊的主要部分,L293DD具有高電壓、大電流、開關頻率較高等特點,可直接驅動感性負載[12]。
圖3 直流電動機驅動電路
其中,+3.3 V輸入用于給電動機驅動邏輯電路供電,+5 V輸入給H橋式驅動電路供電,VS為電動機的供電電壓,4個輸出端OUT1~OUT4分別接在兩直流電動機的電樞兩端,主控芯片ESP-WROOM-02產生兩路PWM信號,將該信號作為使能端控制信號送入H橋驅動電路,進而控制大功率開關管的導通與關斷,從而在H橋驅動電路輸出端產生較大的電壓,控制電動機的轉速和方向。
為使小車能夠“感知”周圍環(huán)境,采用測距范圍為2~400 cm、具有非接觸式探測功能的HC-SR04超聲波測距模塊進行測距。該模塊主要由STC11單片機、MAX232電平轉換芯片以及集成了4個運算放大器的TL074芯片等組成[13]。其中,STC11單片機、MAX232電平轉換芯片和超聲波發(fā)射探頭組成了模塊的發(fā)射部分;TL074芯片和超聲波接收探頭組成了模塊的接收部分。超聲波測距模塊實物圖如圖4所示。
圖4 超聲波測距模塊實物圖
超聲波測距傳感器的工作原理是通過內部產生一定頻率的信號,經發(fā)射探頭發(fā)射后接收探頭檢測是否有被物體反射、散射回來的信號,以此來判斷是否有障礙物及障礙物的距離。目前常用的超聲波測距方法主要有相位探測法、渡越時間探測法及聲波幅值探測法。渡越時間法是通過計算反射波與發(fā)射波之間的時間間隔來計算距離,這種方法簡單、實用,故系統(tǒng)采用該法進行測距??紤]單面測距避障精度有限,測量范圍小,系統(tǒng)采用3個超聲波測距傳感器進行測距,分別安裝在車頭中間位置、車身左右兩側靠近車尾的位置。
由于避障小車是移動目標,需要采用能夠單獨儲能的電源。系統(tǒng)選用輸出電壓為7.4 V,容量為2.2 A·h,放電倍率為20C的鋰電池作為電源供電,其實物圖如圖5所示。
圖5 鋰電池實物圖
電壓轉換過程為:7.4 V的直流電首先經過同步降壓芯片MP1482DS降為5 V的直流電,給電動機驅動芯片L293DD以及超聲波測距傳感器模塊供電。然后此5 V的直流電再經過低壓差的線性穩(wěn)壓器AS1117L-33降為3.3 V直流電,給控制芯片ESP-WROOM-02供電。電源的分配情況如圖6所示。
圖6 電源分配情況
控制系統(tǒng)軟件構成框圖如圖7所示,主要包括自動與手動選擇程序、超聲波測距程序、避障電動機驅動程序、轉速采集程序以及通信程序等,控制系統(tǒng)整體流程圖如圖8所示。
圖7 控制系統(tǒng)軟件構成
圖8 控制系統(tǒng)整體流程圖
整個控制程序分為自動模式和手動模式兩部分,通過采取硬件方式進行切換。用一個撥動開關置標志位,根據入口函數值選擇不同的處理函數。撥動函數有兩檔3個引腳,中間的引腳作為標志位的I/O口,另外兩個引腳一個接低電平(即接地),另一個接高電平,當撥動開關接通低電平時,切換到自動模式;當撥動開關接通高電平時,則切換到手動模式。手動與自動切換流程圖如圖9所示。
圖9 手動與自動選擇流程圖
超聲波測距傳感器利用超聲波遇到物體會反射的特性進行測距。其測距流程圖如圖10所示。
圖10 超聲波測距流程圖
自動避障是小車遇到障礙物后能夠自主避開,并能回到原方向上繼續(xù)運行。在小車進行自主避障過程中,為避免小車與障礙物之間發(fā)生碰撞,二者之間應留有一定距離用于小車進行避障動作,該距離被稱之為安全距離[14-15]。系統(tǒng)將障礙物分為5種情況,避障策略如表2所示。
表2 障礙物分類
注:1表示有障礙物;0表示無障礙物。
(1) Ⅰ類障礙物。實際意義上是無障礙物,小車繼續(xù)保持直行狀態(tài)即可。
(2) Ⅱ類障礙物。當超聲波測距傳感器檢測到前方有障礙物時,系統(tǒng)做出向右轉90°的避障決策。這時車身左側超聲波測距傳感器開始工作,當檢測到左側障礙物大于設定的安全距離時,小車再左轉90°,回到原方向上繼續(xù)運行。
(3) Ⅲ類障礙物。當超聲波測距傳感器檢測到前方和右側有障礙物時,系統(tǒng)做出左轉90°的避障策略。這時車身右側超聲波測距傳感器開始工作,當檢測到右側障礙物大于設定的安全距離時,小車再右轉90°,回到原方向上繼續(xù)運行。
(4) Ⅳ類障礙物。當超聲波測距傳感器檢測到前方和左側有障礙物時,系統(tǒng)做出右轉90°的避障策略。這時車身左側超聲波傳感器開始工作,當檢測到左側障礙物大于設定的安全距離時,小車再左轉90°,回到原方向上繼續(xù)運行。
(5) Ⅴ類障礙物。當小車3路超聲波測距傳感器檢測3面都有障礙物時,系統(tǒng)做出后退的避障策略。這時小車左右兩側超聲波測距傳感器開始工作,在檢測到小車兩側的距離均小于設定的安全距離時,小車一直保持后退狀態(tài)。直到大于安全距離,小車右轉90°,直行,這時車身左側超聲波測距傳感器又開始工作,當檢測到左側障礙物大于設定的安全距離時,小車再左轉90°,進而回到原方向上繼續(xù)運行。
手動模式主要是為了解決復雜環(huán)境下自動模式無法應對的情況。主控芯片搭載了ESP8266無線通信功能,自身可建立WiFi,其控制流程較為簡單。即手機端通過WiFi采用UDP協議發(fā)送命令給主控芯片,主控芯片根據指令發(fā)送信號給電動機驅動芯片,使小車做出相應動作[16]。手機APP界面如圖11所示,主要由7個功能按鍵組成,即:前進、后退、左轉、右轉、停止、加速以及減速。
圖11 手機APP界面
一個作品相當于一個小型科研項目,完成一個作品整個過程就像完成一個科研項目一樣,對學生科學研究能力起到很好的啟蒙作用。自動避障技術是車輛自動駕駛核心技術之一,本文結合創(chuàng)新課程實驗項目,以探索自動避障技術為出發(fā)點,以兩驅小車為實驗對象,以Arduino平臺為開發(fā)環(huán)境,設計了自動避障實驗小車教學系統(tǒng),學生依此系統(tǒng)進行制作與開發(fā),很好地培養(yǎng)了學生創(chuàng)新意識和創(chuàng)新實踐能力。