聲導航自行小車(chē)研究
2.1 聲源定位算法設計
如圖4所示,在小車(chē)上安裝3個(gè)等間距的端口,間距為d,且3個(gè)端口在同一直線(xiàn)上。要測量的是點(diǎn)聲源M與中心陣元曰的距離r與方位角α。本文引用地址:http://dyxdggzs.com/article/170534.htm
t12為聲源到達端口1和2的時(shí)間差;t23為聲源達到端口2、3的時(shí)間差;陣元間距為d;聲速為c。在遠場(chǎng)平面波近似條件下,由幾何關(guān)系得
利用角度估計的遠場(chǎng)條件,但仍不放棄柱面波和球面波的假設,由余弦定理和泰勒展開(kāi)得到目標距離
2.2 FPGA算法設計
FPGA根據聲接收模塊的信號,進(jìn)行時(shí)間差計算。當有一路信號有效時(shí)啟動(dòng)計數器開(kāi)始計時(shí),另外兩路信號同時(shí)有效時(shí)停止計數,且計數結果可以借助計數器的存儲功能得以存儲。所用FPGA主頻為50 MHz,時(shí)間差=計數值×0.02μs。根據兩次的時(shí)間差值,利用定位算法可以實(shí)現定位功能。此外還設置了各路鎖存信號,可以判別出聲源的左右位置。圖5為利用Quartus II所設計的FPGA簡(jiǎn)單計數的電路圖。
2.3 電機驅動(dòng)算法設計
選用雙直流電機的小車(chē)模型進(jìn)行試驗,兩個(gè)電機分別對小車(chē)左側的兩個(gè)車(chē)輪和右側的兩個(gè)車(chē)輪進(jìn)行控制。預設PWM波的頻率值為10kHz。在單片機MC9S12XS128芯片特定的應用程序CodeWarrior IDE中進(jìn)行代碼編寫(xiě)。針對不同的電機系統,需要進(jìn)行實(shí)測并判斷合適的轉向、延時(shí)時(shí)間。
3 結束語(yǔ)
采用40 kHz的信號有利于避免外界干擾,使信號的誤判率降低。系統采用FPGA與單片機結合的形式進(jìn)行聲導航,使小車(chē)能夠準確到達聲源處。電機運行環(huán)境和路面狀況不同時(shí),由r和α產(chǎn)生合適的PWM比較困難,需要不斷調試,最終找到合適的PWM。該技術(shù)方案還可推廣,搭載家用小型餐桌、兒童搖籃、電腦桌和餐廳餐車(chē)等以實(shí)現智能行走功能,為生活提供方便。
評論