王厚英,李福武,張清辰,嚴(yán)杰新
(北海職業(yè)學(xué)院,廣西 北海 536000)
隨著交通事故的逐年增多,汽車安全設(shè)計窮出不盡,其中,汽車安全智能輔助系統(tǒng)等技術(shù)為保障駕乘人員安全方面有重大突破,如:Eye Car 技術(shù)、CamCar技術(shù)、SensorCar 技術(shù)、預(yù)防駕駛疲勞、防碰撞安全系統(tǒng)等[1]。這些智能輔助系統(tǒng)等技術(shù)的出現(xiàn)為的是保護(hù)駕乘人員的人身安全以及財產(chǎn)安全。此技術(shù)主要通過運用多種不同性能傳感器對外界環(huán)境精確獲取信息,如利用高清攝像頭減少車輛盲區(qū);利用超聲波傳感器獲取實時車距;利用重力傳感器在緊急剎車時彈出安全氣囊保證駕乘人員的人身安全等。因此,通過現(xiàn)代科技技術(shù)設(shè)計一款不管是在強光還是黑暗等惡劣環(huán)境下都能準(zhǔn)確無誤測量障礙物距離[1],幫助司機獲取準(zhǔn)確的安全距離的汽車是現(xiàn)代社會生活的必需品。至此,該智能汽車的錐形誕生了。該智能汽車的尋跡解決了導(dǎo)航失靈問題,解決了夜間識錯誤司機忘路的情況。另外,避障則可在緊急情況下自動開啟,從而趨使車安全的避開障礙,避免了撞車的危險。智能車的跟隨功能則可以解決跟車危險的問題。同時,遙控清障則在一些災(zāi)難正在發(fā)生中的危險地帶也可以實現(xiàn)遙控清障。由此,該多智能的小車將會成為一些未來汽車的發(fā)展方向,為未來的智能工程車提供了一些可參考的實驗價值。
雖然本設(shè)計是以機器人形式小車來模擬汽車進(jìn)行,但等到其技術(shù)發(fā)展成熟后,其智能設(shè)備便會再應(yīng)用到真車中,從而使汽車更安全可靠。
本設(shè)計系統(tǒng)由主控模塊、尋跡模塊、避障模塊、跟隨模塊及遙控模塊扥組成。該小車使用Arduino UNO主板為控制主板[2],Atmega328P 為主控芯片[2],以兩路紅外傳感器完成尋跡功能;使用舵機和超聲波傳感器完成避障功能[3];使用超聲波傳感器和HC-05 藍(lán)牙模塊實現(xiàn)手機APP 測距功能;以兩路紅外傳感器和超聲波傳感器完成智能跟隨功能[4];同時通過紅外遙控器或者手機APP 完成四個舵機機械臂清障或者搬運物體功能[5]。
本設(shè)計以Arduino 單片機為控制核心,運用Arduino 與智能終端設(shè)備連接,既可作智能系統(tǒng)的控制中心,還可與智能終端設(shè)備實現(xiàn)交互控制;利用穩(wěn)壓模塊把電源穩(wěn)定到5 V 直接給Arduino 的5 V 供電,即使用VCC 供電法;選用了L293D 驅(qū)動芯片滿足于直流電機或者進(jìn)步電機的需要,該芯片可設(shè)置電壓5 ~36 V,電流可以達(dá)到600 mA;采用了HC-SR04超聲波傳感器模塊,該模塊可以把測距距離精確到2cm 到4m[1],很好完成避障和測距工作,同時用識別范圍為2 ~30 cm 的紅外傳感器聯(lián)合超聲波傳感器當(dāng)作跟隨識別用;然而選用了紅外尋跡傳感器可以識別范圍1 ~25 mm 作尋跡功能;本設(shè)計信息的交互選用了紅外遙控和藍(lán)牙二種,紅外為輔,可以對機器人進(jìn)行模式選用以及小車運動及機械臂的控制,用藍(lán)牙為主,在紅外遙控的基礎(chǔ)上可以接收所傳輸?shù)臄?shù)據(jù),如測距顯示、所選模式顯示等。
Arduino 單片機屬于AVR 單片機,使用C 語言作編程語言。此外,Arduino 優(yōu)點有把一些簡單的參數(shù)模塊化,使其開發(fā)難度大大降低,并支持Windows、Mac OS、Linux、甚至還有的用安卓系統(tǒng),由此通過連接手機開發(fā),可見Arduino 跨平臺能力強[5]。Arduino 擁有6路直接使用PWM 輸出的數(shù)字I/O 口,并且Arduino 支持SPI 通信,便于系統(tǒng)的通信;還有Arduino 具備模擬I/O 口D18、D19,可以使用I2C 總線連接OLED 顯示屏的SDA 和SCL;Arduino 板還可以進(jìn)行異步全雙工通信,大大促進(jìn)系統(tǒng)數(shù)據(jù)傳輸?shù)乃俣燃疤峁┝朔奖恪?/p>
本設(shè)計運用AppInventor 開發(fā)了一款藍(lán)牙遙控APP,該AppInventor 支持在線編譯,編譯完成即可以直接直接打包APK,通過掃碼下載到手機里面安裝即可。根據(jù)本設(shè)計所需要的功能做了如圖1 所示的手機藍(lán)牙APP,該APP 可以通過發(fā)送指令控制智能小車,也可以通過按鍵來控制智能小車的運動以及速度,通過接收的數(shù)據(jù)可以監(jiān)控智能小車的實時狀況如小車運動狀態(tài)、運動模式、以及測距距離等[6]。
圖1 藍(lán)牙APP 手機展示效果圖
本設(shè)計以Atmega328P 芯片作為主控核心,可以通過紅外遙控器或手機APP,進(jìn)行功能之間的切換,從而實現(xiàn)智能尋跡避障、測距、跟隨、搬運物品[7];并且通過紅外遙控器按或手機APP 完成清障以及控制機器人各項運動功能,及在手機APP 可視測量距離。整體設(shè)計框架如圖2 所示。
圖2 系統(tǒng)總體框架
本設(shè)計是利用車底設(shè)計雙路紅外傳感器進(jìn)行尋跡,通過紅外傳感器返回的紅外線判斷值該直行還是往左,往右;避障功能則是通過超聲波傳感器與舵機組合的方式完成的,經(jīng)過超聲波傳感器測量到的時間進(jìn)行深度的判斷,具體思想是當(dāng)遇到障礙物時哪里離障礙物遠(yuǎn)就走哪;測距可以聯(lián)合超聲波避障實驗,也可以獨立實現(xiàn)測距。本設(shè)計選用獨立實現(xiàn)測距的方式,同時通過手機APP 點擊測速,小車便會把超聲波傳感器前方離障礙物的距離讀取出來并通過藍(lán)牙發(fā)送到手機APP 里面,此時通過APP 進(jìn)行監(jiān)控查看;跟隨功能就是根據(jù)跟隨的物體的距離及其移動的方向著手,利用一加二的模式精準(zhǔn)定位物體距離和方向,加上用超聲波傳感器測量物體的距離,綜合信息從而由Arduino主控制智能小車的直行運動狀態(tài)[8]。利用左右二邊紅外傳感器進(jìn)行方向判斷,當(dāng)左邊紅外傳感器接收不到所返回的紅外線時往右走,反之,智能小車往左走。小車機械手則是通過藍(lán)牙APP 或者遙控器進(jìn)行障礙物及物品的抓取、舉起、放下。
本設(shè)計除了小車本身的硬件設(shè)計外,最關(guān)鍵的設(shè)計在于遙控器的設(shè)計。紅外遙控器與藍(lán)牙遙控器二者設(shè)計運用思路大同小異,編碼理念互作參考,在此做了本設(shè)計兩種方式的遙控設(shè)計,紅外遙控器以及藍(lán)牙遙控器如圖3(a)和圖3(b)。但是考慮到使用紅外遙控器不便于使用通過PWM 調(diào)節(jié)電機速度及調(diào)節(jié)PWM值會影響紅外的信號接收,由此本設(shè)計主要以藍(lán)牙遙控器為主。
圖3 遙控設(shè)計
尋跡模式主要是通過車底的兩路尋跡傳感器完成,當(dāng)兩路紅外光線經(jīng)白色路面反射回來時,兩路紅外傳感器輸出高電平,小車調(diào)用停止模式;當(dāng)兩路紅外光線經(jīng)黑色路面吸收后,無反射的紅外光線,兩路紅外傳感器輸出高電平,小車調(diào)用停止模式;當(dāng)左邊的紅外光線經(jīng)白色路面反射回來紅外光線,右邊經(jīng)黑色路面,無反射紅外光線,則左邊尋跡傳感器輸出低電平,右邊尋跡傳感器輸出高電平,小車左轉(zhuǎn);反之,小車右轉(zhuǎn)。尋跡程序流程圖如圖4 所示。
圖4 尋跡程序流程圖
小車常遇到的障礙物類型有(a)整個環(huán)境中均沒有障礙物;(b)小車只有前方才有障礙物;(c1)小車的左邊和前方有障礙物;(c2)小車前方和右方有障礙物;(d)小車處在U 型通道里。針對這五種模式設(shè)計了如圖5 避障程序流程圖,當(dāng)輸入尋跡模式時,開始測量前方距離,如果前方距離小于15 cm,剎車,后退減速,左右測距,如果左邊距離小于15 cm 并且右邊距離也小于15 cm,旋轉(zhuǎn)調(diào)頭,否則判斷左邊是否比右邊大,如果是左轉(zhuǎn),剎車穩(wěn)定方向,否則右轉(zhuǎn),剎車穩(wěn)定方向,而其他條件下一直直行。
圖5 避障程序流程圖
設(shè)計中使用二個紅外傳感器裝在小車頭左右二邊,在其傳感器中間加上一個超聲波測距傳感器便可完成;當(dāng)左右傳感器輸出低電平時,小車超聲波傳感器測量前方距離大于9 cm 并且小于等于30 cm,小車直行;當(dāng)左邊紅外傳感器輸出高電平時,左邊的紅外傳感器輸出低電平,小車左轉(zhuǎn),反之,當(dāng)右邊紅外傳感器輸出高電平時,左邊紅外傳感器輸出低電平,小車右轉(zhuǎn),其他情況小車直行;當(dāng)小車測量前方距離大于4 cm 并且小于等于9 cm 并且左右傳感器輸出低電平時,小車停車;當(dāng)小車測量前方距離大于0 cm 并且小于等于4 cm 并且左右傳感器輸出低電平時,小車后退,其他情況下小車停車。
設(shè)計避障功能以及跟隨功能中都需要測量距量,而測量距量主要是根據(jù)聲波在空氣中的傳播速度(340 m/s),以及測量時間得到的。測量距離=(測量時間×聲波速度)/2;測量距離信息轉(zhuǎn)換后便可以直接通過串口發(fā)送到藍(lán)牙遙控器。
本設(shè)計測試以藍(lán)牙遙控為主。藍(lán)牙遙控器初始頁面如圖6(a)所示,使用藍(lán)牙遙控器之前用先點擊連接藍(lán)牙按鈕,點擊之后便會進(jìn)入藍(lán)牙選擇頁面圖6(b),使用藍(lán)牙HC-05,點擊之后便會顯示連接成功或者失敗。藍(lán)牙成功后會顯示選擇速度進(jìn)度條,初始值為1,最大值為5,如圖6(c)所示。
圖6 藍(lán)牙遙控器
該藍(lán)牙遙控器有二種方式指令的方法,一種是根據(jù)藍(lán)牙遙控器按鍵編碼發(fā)送指令,藍(lán)牙遙控器按鍵編碼表如圖6(b)所示,另一種是直接發(fā)送編碼指令。當(dāng)發(fā)送了相應(yīng)的指令過去之后,遙控器接收數(shù)據(jù)的位置會顯示所接收到的數(shù)據(jù)。運用藍(lán)牙遙控器對本設(shè)計小車進(jìn)行復(fù)位功能、尋跡功能、避障功能、跟隨功能以及測距功能等測試,測試結(jié)果表明設(shè)計已達(dá)到要求,測試部分結(jié)果表1 為記錄。
表1 測試實驗數(shù)據(jù)
本設(shè)計的智能小車實現(xiàn)了紅外與藍(lán)牙雙控,即通過紅外遙控器或者藍(lán)牙遙控器控制智能小車實現(xiàn)調(diào)速、前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、左旋轉(zhuǎn)、右旋轉(zhuǎn)、機械臂上下左右運動以及夾爪的張閉(夾爪可以抓取搬運物品)等功能。除此之外,實驗過程中,智能小車還實現(xiàn)了尋跡功能,根據(jù)黑線進(jìn)行尋跡;避障功能,可通過判斷周圍是否有障礙物進(jìn)行智能避障;跟隨功能,可跟隨前方物體進(jìn)行前進(jìn)、后退、停車、左轉(zhuǎn)、右轉(zhuǎn);測距功能等。且藍(lán)牙APP 實驗測試也成功實現(xiàn)了監(jiān)控功能。一種智能尋跡避障小車的成功設(shè)計為現(xiàn)代智能工程車的設(shè)計提供了實際性參考價值。在下一步工作中,考慮不斷完善本智能車功能,如添加視覺、語音及WiFi 功能等。