劉澤偉
(廈門理工學(xué)院 現(xiàn)代工程訓(xùn)練中心,福建廈門,361000)
在智能化時(shí)代,自動駕駛、自動避障的汽車成為未來汽車行業(yè)研發(fā)的主流趨勢[1]。本項(xiàng)目基于樹莓派設(shè)計(jì)的超聲波避障小車不僅具有用途廣泛、設(shè)計(jì)簡單、設(shè)計(jì)成本低等優(yōu)點(diǎn),而且根據(jù)現(xiàn)實(shí)需求與其他模塊進(jìn)行很好地配合,市場前景廣泛。
從構(gòu)想中來看,本研究的自動避障小車首先應(yīng)具備傳感功能,這主要是由超聲波避障模塊和攝像頭模塊組成,而小車的運(yùn)動則通過電機(jī)驅(qū)動。人機(jī)交互模塊主要有藍(lán)牙模塊和手機(jī)APP模塊,通過手機(jī)APP發(fā)送指令可以實(shí)現(xiàn)小車自動避障運(yùn)動到指定地點(diǎn),這種功能可以用于自動泊車、自動避障等,可擴(kuò)展性極強(qiáng)。該小車總體結(jié)構(gòu)如圖1所示。

圖1 自動避障小車的總體框架
在本項(xiàng)目中,芯片也是自動避障小車最核心的部件,主控芯片是連接避障模塊、運(yùn)動模塊和交互模塊的橋梁,是自動避障小車能順利運(yùn)行的大腦。通過對樹莓派各個(gè)版本的參數(shù)進(jìn)行對比,樹莓派3B+采用64位1.4GHz的四核CPU,相對于原來3B版本,3B+用上了更快的千兆以太網(wǎng)。本項(xiàng)目設(shè)計(jì)需要的視頻、影像等的輸出和輸入接口樹莓派3B+上都有,而且還自帶4個(gè)USB接口方便外接相關(guān)儀器或者零部件。整體而言,樹莓派3B+是本項(xiàng)目設(shè)計(jì)中較為理想的主控芯片。
超聲波避障模塊其原理就是通過設(shè)備發(fā)射超聲波在遇到障礙物時(shí)被反射,通過發(fā)射與反射接收的時(shí)間差可以準(zhǔn)確地計(jì)算出小車與障礙物之間的距離。在本項(xiàng)目上使用超聲波避障模塊主要是相比于紅外測距模塊,超聲波避障模塊其成本更低。通過對市面上各類超聲波避障模塊地對比和選擇,最終選擇使用常州市脈諾石電子有限公司生產(chǎn)的型號為HCSR04的40kHz超聲波測距模塊,該模塊不僅采用封閉式分體防水設(shè)計(jì),可以適應(yīng)一些潮濕、惡劣的測量場合,而且價(jià)格十分低廉[2]。其超聲波避障模塊如圖2所示。

圖2 超聲波測距模塊電路圖
HC-SR04超聲波測距模塊的控制口會發(fā)一個(gè)10μs的高電平,就可以在接收口等待高電平輸出。一有輸出就可以開定時(shí)器時(shí),當(dāng)此口變?yōu)榈碗娖綍r(shí)就可以讀定時(shí)器的值,此時(shí)就為此次測距的時(shí)間,方可算出距離。如此不斷的周期測量,就可以獲得移動測量的值了,HC-SR04超聲波測距模塊可探測距離最遠(yuǎn)可達(dá)450cm,足夠支撐本項(xiàng)目的設(shè)計(jì)需求[3]。
在實(shí)際設(shè)計(jì)過程中,為了更好地節(jié)約成本,在避障小車的底盤安裝舵機(jī),舵機(jī)按照一定頻率周期性地檢測左右兩邊和前方的障礙物,并根據(jù)是三個(gè)方向的障礙物距離綜合判定進(jìn)而選擇小車運(yùn)行的路徑。其避障車算法流程為:當(dāng)前方和左右的距離均大于25cm時(shí)則小車?yán)^續(xù)保持前進(jìn);當(dāng)前方的距離小于10cm時(shí),避障車開始檢測左右兩邊的距離,當(dāng)左邊或者右邊距離均大于25cm時(shí)則隨機(jī)選擇一邊轉(zhuǎn)向,只有一側(cè)距離大于25cm時(shí)則朝著大于25cm距離的方向轉(zhuǎn)向,再向前進(jìn);當(dāng)左右和前方的距離均小于10cm時(shí),小車會向后退,然后在左右兩側(cè)大于25cm 的一側(cè)轉(zhuǎn)向。其自動避障算法流程如圖3所示。

圖3 自動避障算法流程圖
在避障小車上安裝攝像頭模塊主要是為了在自動避障小車出現(xiàn)一些系統(tǒng)錯(cuò)誤或是程序難以判斷自身行為時(shí),可以通過攝像頭拍攝照片回傳的方式來進(jìn)行通過手機(jī)APP等交互模塊來對小車進(jìn)行介入管理或是通過攝像頭模塊方便進(jìn)行視頻直播。
在本項(xiàng)目的設(shè)計(jì)中,避障小車僅需回傳圖像即可。樹莓派3B+配套的DSI排線攝像頭,使用15PIN的排線將顯示屏和攝像頭分別連接到樹莓派的DSI接口和CSI接口,為了方便組裝和使用,可以將樹莓派與DSI排線攝像頭直接固定在顯示屏的背面,方便最終的組裝,其組合如圖4所示。

圖4 樹莓派3B+與DSI排線攝像頭組合
在各種小車的電機(jī)驅(qū)動模塊中,L298N因其相對于以前的L293D而言工作電壓更高、電流更大、功率更強(qiáng),應(yīng)用域更廣,L298N內(nèi)含兩個(gè)H橋的高電壓大電流全橋式驅(qū)動器,可以驅(qū)動各類感性負(fù)載。最關(guān)鍵的是,L298N還內(nèi)置了過熱保護(hù)功能,大大降低了電機(jī)損毀的風(fēng)險(xiǎn),還能直接與主控的樹莓派3B+直接相連,融合性好,是當(dāng)前小車設(shè)計(jì)中驅(qū)動集成電路中最常用的模塊[4]。
在驅(qū)動模塊中除了L298N驅(qū)動芯片外,還包括兩個(gè)直流電機(jī),一個(gè)控制小車的前進(jìn)和后退,還有一個(gè)則連接一個(gè)萬向輪來控制小車實(shí)現(xiàn)轉(zhuǎn)向。通過L298N驅(qū)動芯片兩個(gè)H橋的高電壓大電流全橋式驅(qū)動器來驅(qū)動前面的被動萬向輪和后面的驅(qū)動輪,通過代碼的編寫即可實(shí)現(xiàn)小車的前進(jìn)后退和轉(zhuǎn)向等行動。其電機(jī)驅(qū)動原理如圖5所示。

圖5 L298N電機(jī)驅(qū)動原理
在電源方面,主要是在小車的右下方設(shè)計(jì)一個(gè)電池盒,包括兩節(jié)3.7V鋰電池。為了確保電源能提供線性直流穩(wěn)壓電源,避免因電壓不穩(wěn)定而燒壞電路或者芯片等情況發(fā)生還需要在電源輸出端安裝LM7805CT穩(wěn)壓芯片。
樹莓派3B+本身攜帶雙頻 802.11ac 無線網(wǎng)卡和藍(lán)牙 4.2模塊,因此可以直接使用手機(jī)上的藍(lán)牙來實(shí)現(xiàn)避障小車與手機(jī)或者電腦之間的交互聯(lián)系。
在本項(xiàng)目的設(shè)計(jì)中,軟件部分為上位機(jī)和下位機(jī)部分,上位機(jī)為安卓客戶端,下位機(jī)則為草莓派3B+。在軟件和避障小車打開后,草莓派3B+與安卓app都進(jìn)行初始化,當(dāng)APP上沒有發(fā)出指令時(shí),避障小車會開啟自動駕駛,小車會按照初始方向沿直線行走,并按照“優(yōu)先避障,其次循跡”的原則不斷前進(jìn)。當(dāng)APP上發(fā)出指令時(shí),這種自動行駛會關(guān)閉,然后根據(jù)APP的指令進(jìn)行前后左右的移動。
自動避障小車通過安卓系統(tǒng)上的APP實(shí)現(xiàn)對避障小車的交互,樹莓派3B+自帶藍(lán)牙4.2模塊,因此可以通過安卓手機(jī)上自帶的藍(lán)牙功能實(shí)現(xiàn)與樹莓派3B+的無線通信。APP則在Android Studio 上進(jìn)行開發(fā),主要設(shè)計(jì)控制界面,本項(xiàng)目設(shè)計(jì)的自動避障小車主要應(yīng)包含的功能有:前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止等基本功能;通過藍(lán)牙連接小車;圖像回傳;還有自動行駛模式。其APP頁面如圖6所示。

圖6 手機(jī)APP頁面
下位機(jī)樹莓派3B+則可以在樹莓派版Raspbian操作系統(tǒng)輸入各類代碼來開發(fā)相關(guān)程序,開發(fā)控制軟件主要使用Python。利用樹莓派打造的機(jī)器人主要通過GPIO接口來連接各種驅(qū)動板塊和傳感器,在樹莓派3B+程序運(yùn)行時(shí)首先進(jìn)行初始化,然后檢查相關(guān)程序和模塊是否運(yùn)行即可。
首先是在樹莓派中增加相應(yīng)的python代碼用于驅(qū)動電機(jī)和超聲波傳感器,在壁障小車中設(shè)計(jì)和兩個(gè)電機(jī),一個(gè)是控制小車前后移動,一個(gè)是控制小車進(jìn)行左右轉(zhuǎn)彎,因此需要加入相關(guān)代碼以驅(qū)動電機(jī)的控制,相關(guān)代碼如圖7所示。其次是在Python程序中修改代碼來促進(jìn)小車能夠按照指定的障礙物距離進(jìn)行一定的角度的轉(zhuǎn)移和避障。在相關(guān)程序調(diào)試好后,需要再設(shè)計(jì)一段代碼來讀取傳感器的數(shù)值,以便進(jìn)行計(jì)算并做出合理的判斷并驅(qū)使小車正確地運(yùn)行。
為了對自動避障小車的藍(lán)牙通訊距離進(jìn)行測試,通過對不同距離的小車進(jìn)行遙控,測試通信是否能正常回傳。在測試過程中,APP中的顯示屏可以實(shí)時(shí)顯示小車的運(yùn)行速度和行使距離,還能看到小車前方的圖像。其通信距離與測試結(jié)果如表1所示。

表1 藍(lán)牙通訊測試
通過藍(lán)牙通訊測試可以看出,自動避障小車在10米以內(nèi)交互情況良好。
從表2可以看出,在多個(gè)障礙物設(shè)置下,避障小車試驗(yàn)50次的成功概率都較高,盡管設(shè)置障礙物多其成功次數(shù)有減少的趨勢,但整體成功率較高,基本達(dá)成設(shè)計(jì)目標(biāo)。

表2 避障功能測試
本文基于樹莓派芯片設(shè)計(jì)了自動避障小車,實(shí)現(xiàn)了小車自動避障行駛。自動避障小車在程序的運(yùn)行下,依托超聲波避障模塊和電機(jī)驅(qū)動模塊可以實(shí)現(xiàn)自主地避障,也可以通過安卓設(shè)備對小車進(jìn)行遠(yuǎn)程操控,并可以在APP中對小車的車速、運(yùn)行距離、周邊環(huán)境等信息進(jìn)行采集。本文所研究的方法既可以適用于一些無人駕駛技術(shù)研究,也可以適用于一些遠(yuǎn)程汽車操控、自動泊車技術(shù)等方面的研究,具有較高的學(xué)術(shù)價(jià)值。