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