??
本文以第十五屆智能車競賽為背景,介紹了中國礦業(yè)大學(xué)的聲音信標(biāo)賽題的隊員的設(shè)計方案以及調(diào)試結(jié)果。比賽任務(wù)是在比賽場地上固定一定數(shù)量的信標(biāo)燈,響起的信標(biāo)燈會發(fā)出 250-2000Hz 頻率的 chirp 聲音信號、95MHz 的 FM 信號。參賽隊伍采用四驅(qū)的麥克納姆輪車模進行規(guī)則允許范圍內(nèi)的改裝,小車定位響起的信標(biāo)燈并進入信標(biāo)燈感應(yīng)線圈范圍內(nèi)使信標(biāo)燈切換。本賽題組成員采用了組委會推出的 H 車模,使用 Infineon 公司的 Tricore 架構(gòu)的 Aurix 系列單片機,采用了 MAX9814 麥克風(fēng)放大器模塊作為信標(biāo)燈定位的傳感器,通過硬件 FFT 加速卷積,進而把卷積結(jié)果送入神經(jīng)網(wǎng)絡(luò)得到信標(biāo)的方向。通過調(diào)試,我們實現(xiàn)了定位滅燈以及避障功能。
關(guān)鍵字:聲音信標(biāo),智能車,避障,聲音定位,神經(jīng)網(wǎng)絡(luò)
?
?
1.1 背景介紹
智能車比賽從舉辦到現(xiàn)在已經(jīng)經(jīng)歷了十五個年頭,從一開始單一的傳統(tǒng)組到現(xiàn)在形式多樣的各類組別。智能車比賽的規(guī)模也是在不斷地壯大,使越來越多學(xué)子得到充足的鍛煉,在提升自己的同時,也為國家科技的進步貢獻出了小小的一份力量。
本組為聲音信標(biāo)組,聲音信標(biāo)組在具體的比賽過程中最值得注意的也是其最大的亮點就是聲音定位的問題,在比賽中避免與另一輛車或者熄滅的信標(biāo)燈產(chǎn)生物理上面的接觸,在鋪有藍色廣告布的平整場地內(nèi)隨機安放數(shù)量為五至十五左右的信標(biāo)燈塔,車模在信標(biāo)的導(dǎo)引下做定向運動。信標(biāo)內(nèi)部安裝有喇叭,通過比賽系統(tǒng)控制信標(biāo)燈啟動或者關(guān)閉。賽題要求車??梢酝ㄟ^麥克風(fēng)傳感器、攝像頭等識別信標(biāo)進行定位,按照比賽控制系統(tǒng)的順序利用磁鐵對信標(biāo)進行滅燈處理。在決賽中,要求兩輛車模進行對抗,通過對比兩車模滅燈的數(shù)量得出勝負(fù)。
?
1.2 現(xiàn)實意義
當(dāng)然,實際的應(yīng)用背景決定了所有科研成果的有效性和實際性,科技結(jié)合實際才能發(fā)揮出它自己最大的作用。本賽題不僅趣味性強,實用價值也同樣很高?,F(xiàn)如今,視覺定位導(dǎo)航早已成熟,而聲音定位導(dǎo)航卻仍在起步階段。相比于視覺,聲音定位能夠適應(yīng)更加惡劣的環(huán)境。自動駕駛的汽車需要有自主規(guī)劃路徑以及快速安全的避障功能,汽車時代背景下,汽車事故也在日益不斷地上升,如何有效的減少甚至是消除其的發(fā)生,是對我們比賽任務(wù)的一種考驗,將其擴大,使其升華,更好地為人類服務(wù)。因此,本賽題具有很高的科研價值與實用價值。
?
2.1 機械結(jié)構(gòu)設(shè)計
我們選用的車模是 H 車模。信標(biāo)組的任務(wù)要求車模具有較好的加減速 和靈活的轉(zhuǎn)彎特性,H 車使用四個麥克納姆輪,四個 380 電機。為了獲得更好的加減速效果,我們盡量將車模質(zhì)量做輕、重心降低,在電機輸出力矩一定時,輕便的車模將獲得更高的加速度,這是我們機械設(shè)計的出發(fā)點。
?
2.1.1 麥克風(fēng)的安裝
麥克風(fēng)我們選用了 MAX9814 麥克風(fēng)放大模塊,一共安裝了四個麥克風(fēng),排列在邊長 8cm 的正方形頂點處,并用一塊簡單的電路板統(tǒng)一固定。車模運行時會有噪聲和振動,從而造成誤判,所以麥克風(fēng)與車模的連接采用非剛性連接,我們分別運用了彈簧與隔音棉來進行減震。另外,實際調(diào)試車輛時發(fā)現(xiàn)麥克風(fēng)陣列并非越大越好,經(jīng)過實驗,發(fā)現(xiàn)對于本車的定位方案,8cm 的大小足以滿足。實際安裝如圖 2.1.1,圖 2.1.2 所示。
▲ 圖 2.1.1 麥克風(fēng)安裝
▲ 圖 2.1.2 麥克風(fēng)安裝側(cè)面
2.1.2 編碼器的安裝
我們選用龍邱生產(chǎn)的 512 線 mini 增量式編碼器,該型號編碼器體積小、 質(zhì)量輕、穩(wěn)定性好、精度高,輸出型號類型為 CMOS 信號,抗干擾能力強。安裝時要仔細調(diào)節(jié)編碼器齒輪與電機齒輪的嚙合,保證阻尼適中,兩者嚙合太緊會 增加電機負(fù)載,太松又會導(dǎo)致打齒并且影響編碼器測量精度。實際安裝如圖 2.1.3 所示。
▲ 圖 2.1.3 編碼器安裝
2.1.3 電池和電路板的安裝
我們車上有三塊電路板,分別是主控板、驅(qū)動板和麥克風(fēng)固定板。電池我們采用香山紅葉 7.4V 鋰電池。為了讓雙向跑的車模獲得更好的 加速性能和轉(zhuǎn)彎性能,我們把車的重心放在中間位置,所以電池安放在車體兩側(cè);主控板和驅(qū)動板疊在一起放在底板正中間。電池和電路板安裝如圖 2.1.4,圖 2.1.5 所示。
▲ 圖 2.1.4 電池和電路板安裝
▲ 圖 2.1.5 電池的安裝
2.1.4 避障裝置 ?
車模在賽場上行駛過程中很有可能會和信標(biāo)燈或者對面車模等發(fā)生碰撞,車模在高速行駛時撞到障礙,會產(chǎn)生很大的沖擊力,很容易撞壞輪子。所以我一開始們用鋁合金制作了車前后的保護裝置,設(shè)計了幾次發(fā)現(xiàn)車輛仍會卡在信標(biāo)上。后來就選用了紅外測距傳感器模塊來進行避障。使之靠近障礙物時能夠繞行。
我們采用 4 個紅外測距模塊,當(dāng)車向目標(biāo)燈前進時,若距離達到閾值,則測距模塊檢測到避障信息,小車根據(jù)不同的情況采取斜移或者繞行的方式躲避障礙。安裝方式如圖 2.1.6 所示。
▲ 圖 2.1.6 紅外避障傳感器
2.1.5 減震措施
如果車體與麥克風(fēng)進行剛性連接,那么車體的振動傳遞到麥克風(fēng),降低了信噪比,從而造成誤判,所以我們采用彈簧來連接車體與麥克風(fēng)。具體實驗發(fā)現(xiàn)效果很好。彈簧的安裝如圖 2.1.7 所示。
▲ 圖 2.1.7 減震裝置
2.2 硬件電路設(shè)計
小車上的電路板通過電池供電,通過一系列穩(wěn)壓器分別給 MCU、電機驅(qū)動以及其他外設(shè)傳感器供電,外設(shè)傳感器又通過信號線與 MCU 進行通訊,使得 MCU 能通過通訊協(xié)議讀取數(shù)據(jù),寫入數(shù)據(jù)。小車采用了雙核方案,其中 cpu1 負(fù)責(zé)信標(biāo)燈的聲學(xué)定位,cpu0 則負(fù)責(zé)小車運動狀態(tài)的控制。元器件的選擇,合理的布局,使得電路板運行可靠、穩(wěn)定。
?
2.2.1 主控板
1. 穩(wěn)壓電路
主控板提供 5V 與 3.3V 電源,為核心板與外設(shè)供電。電源電路如圖 2.2.1 所示。5V 穩(wěn)壓電路與 3.3V 穩(wěn)壓電路如圖 2.2.2 所示。
▲ 圖 2.1.1 電源電路 -1
▲ 電源電路 -2
2. 最小系統(tǒng)設(shè)計
我們選用 TC264DA 作為我們的主控芯片。最小系統(tǒng)包括了一系列濾波電容、復(fù)位電路、兩個晶振電路以及 JTAG 仿真調(diào)試接口。最小系統(tǒng)的原理圖如圖 2.2.3 所示。主控板 PCB 如圖 2.2.4 所示。
▲ 圖 2.2.3 核心子板
▲ 圖 2.2.4 核心子板 PCB
2.2.2 電機驅(qū)動設(shè)計
從主控板傳過來的 PWM 信號首先通過 SN74LVC245 緩沖芯片,至 HIP4082 芯片。緩沖芯片的作用在于把主控引腳與驅(qū)動電路隔離開來,防止驅(qū)動板上的電壓電流造成 PWM 口電流倒灌進而燒毀引腳。從 SN74LVC245 出來的驅(qū)動信號通過 HIP4082 驅(qū)動芯片實現(xiàn)了電平的轉(zhuǎn)換,由原來的 3.3V 電平轉(zhuǎn)換成了 12V 的電平,保證了 LR7843 芯片能快速穩(wěn)定地被驅(qū)動。
為了保證驅(qū)動能通過較大電流,對主要的電機驅(qū)動回路的導(dǎo)線進行了加粗、開窗以及加錫處理。電機驅(qū)動原理圖如圖 2.2.5 所示,PCB 圖如圖 2.2.6 所示。
▲ 圖 2.2.5 電機驅(qū)動 SCH
▲ 圖 2.2.6 電機驅(qū)動 PCB
?
?
3.1 程序結(jié)構(gòu)設(shè)計
輸出期望速度傳給速度控制器,開始控制小車沿著外切信標(biāo)燈的路徑接近信標(biāo),直至將它熄滅。然后控制轉(zhuǎn)向,小車以圓弧軌跡再次尋找下一個信標(biāo)燈,同時 cpu1 以 50Hz 的頻率來判斷障礙物距離并進行避障。
?
3.1.1.cpu1 程序結(jié)構(gòu)
基本程序結(jié)構(gòu)流程圖如圖 5-1 所示。雖然采用的是雙內(nèi)核方案,可是在對小車進行控制的時候,還是 cpu1 中的處理器發(fā)出控制信號,cpu0 只起到車模速度控制的作用。在程序循環(huán)運行的首端,必須首先檢測障礙物信息。障礙物的檢測的優(yōu)先級別是最高的,因為小車的安全性需要保證,而障礙物可能會造成小車的意外車禍,嚴(yán)重的會導(dǎo)致比賽失敗。若發(fā)現(xiàn)障礙物,應(yīng)該先躲避障礙物,待遠離危險障礙物之后再執(zhí)行滅燈任務(wù)。
?
3.1.2.cpu0 程序結(jié)構(gòu)
Cpu0 的任務(wù)是接受 cpu1 的數(shù)據(jù)并輸出 pwm 給電機驅(qū)動板。同時 cpu0 也執(zhí)行了底層驅(qū)動函數(shù)。我們把麥輪的運動分解為前進、后退、左移、右移、左轉(zhuǎn)、右轉(zhuǎn)六個基礎(chǔ)運動,復(fù)雜的運動由這六個運動線性疊加而成。
?
3.2 廣義互相關(guān)
參考論文《基于麥克風(fēng)陣列的移動機器人聽覺定位方法研究》(docin.com/p-1010824793-f3.html),在現(xiàn)有平滑相關(guān)變換(SCOT)加權(quán)及互功率譜(CSP)加權(quán)的基礎(chǔ)上,融合 SCOT 及 CSP 廣義互相關(guān)方案,實現(xiàn)聲學(xué)定位導(dǎo)航。
?
3.3 神經(jīng)網(wǎng)絡(luò)
通過廣義互相關(guān),可以得到 8 個或者 16 個方向,但是由于數(shù)據(jù)的誤差及錯誤等,造成了方向的誤判,如果只是單純的用加權(quán)或者濾波來剔除異常數(shù)據(jù),會造成判斷方向的時間變長,從而使車體的實時性降低。考慮到每次進行互相關(guān)判斷方向會出 4 個或者 6 個數(shù)據(jù),其中只有一兩個數(shù)據(jù)發(fā)生錯誤,所以還是能夠從中判斷出方向的。但是一般的加權(quán)函數(shù)難以滿足需求。同時復(fù)雜的加權(quán)函數(shù)又會造成調(diào)參工作量。因此我們決定采用神經(jīng)網(wǎng)絡(luò)來訓(xùn)練,達到自動調(diào)參的目的。對于方向的判斷正確率有了很大的提升。
附錄 B 為一部分神經(jīng)網(wǎng)絡(luò)訓(xùn)練的源碼。
?
4.1 實驗與調(diào)試
在調(diào)試過程中,我們發(fā)現(xiàn)噪音和振動產(chǎn)生的影響很大,經(jīng)常導(dǎo)致小車誤判,并且隨著小車速度的提高,車輪轉(zhuǎn)速也會提高,相應(yīng)地齒輪及麥輪的噪音也會提高。因此小車速度變快也就對應(yīng)著判斷信標(biāo)方位準(zhǔn)確度的下降。我們對此的解決方案是將小車與麥克風(fēng)之間的剛性連接換成了彈簧,也就是 2.1.5 中提到的減震措施,應(yīng)用后效果很好,在小車速度提升的同時,判斷信標(biāo)方向的準(zhǔn)確度并沒有下降。至于麥輪噪聲的影響,我們考慮過用車輪罩將麥輪罩起來以達到降低噪聲的目的,但實際應(yīng)用過程中發(fā)現(xiàn)效果并沒有想象中那么好,還使小車變得更加笨重,最終并沒有采用,因此,麥輪噪音這一問題仍是我們的優(yōu)化方向之一。
而在我們最初使用神經(jīng)網(wǎng)絡(luò)自動調(diào)參時,小車運行過程中效果并沒有很好,在多次嘗試后,發(fā)現(xiàn)是程序中數(shù)據(jù)歸一化函數(shù)的問題,更正了之后速度及準(zhǔn)確度都有了很大的提升。我們最初采用的避障函數(shù)會來不及避障導(dǎo)致小車卡在信標(biāo)上或者小車一直避障,在這類問題上經(jīng)常耗費大量時間,使得成績不理想,我們發(fā)現(xiàn)這一問題后,又嘗試了很多不一樣的避障方式,最終選擇了最適合我們小車結(jié)構(gòu)的避障方案。
?
在這接近一年的比賽準(zhǔn)備中,我們憑著自己的興趣愛好,努力地學(xué)習(xí),不斷攻克一個個難關(guān)。智能小車從不能跑到能動,從無法定位到定位準(zhǔn)確,從龜速到高速,從"智障小車"到能靈敏地躲避障礙物的智能小車,我們一步一個腳印,不斷完善機械結(jié)構(gòu),硬件電路以及軟件結(jié)構(gòu)框架,嘗試多種方案以找到最優(yōu)方案,適應(yīng)不同的場地、燈序。在這個過程中,我們獲得了友誼,結(jié)識了尊敬的老師們,學(xué)習(xí)到了知識,積累了經(jīng)驗,這將會是我們大學(xué)中最珍貴的財富。
而我們在調(diào)試過程中,同樣也發(fā)現(xiàn)了一些還未解決的問題,包括麥輪噪音以及信標(biāo)的邊緣正好卡住輪子等,同時當(dāng)前彈簧減震方案并不能很好的過濾大幅振動,這是我們還需努力的地方。
總之,在接下來的時間里,我們將不斷地改進方案,完善策略,以達到更好的效果。這場競賽將會成為我們難以忘記的共同奮斗的回憶,我們也不會停下奮斗的腳步。
?
參考文獻
[1] ? 何蒙 . 基于麥克風(fēng)陣列的移動機器人聽覺定位方法研究 . 河北工業(yè)大學(xué) .2010
[2] ? 于瀚 . 寬帶信號時延估計的不補零頻域相關(guān)算法 . 聲學(xué)與電子工程 .1988
[3] ?李啟虎 . 聲納信號處理引論 . 海洋出版社 .2000
[4] ?張大煒 . 一種新的級聯(lián) FFT 算法 . 船舶科學(xué)技術(shù) .2016
[5] ?李啟虎 . 聲納信號處理引論 . 海洋出版社 .2000