傳感器是人工智能研究中非常重要的一環(huán),要想要讓機器更加智能,就需要用傳感器來賦予它們像人一樣的各種感官。文章結(jié)合了紅外線傳感器測距較短、精度較高,超聲波傳感器測距較長、精度較低的特點,設(shè)計了一款以 STM32 單片機為核心,將紅外線傳感器 GP2Y0A02YK0F 與超聲波傳感器 HC-SR04 融合的新型測距系統(tǒng),并優(yōu)化了測距算法。通過實驗表明,該系統(tǒng)可以彌補單一傳感器測距性能的不足,提高了測距精度,具有結(jié)構(gòu)簡單、成本低及使用方便等優(yōu)點。將該新型測距系統(tǒng)應用到智能無人小車的控制系統(tǒng)中,可提升小車的避障性能,效果顯著。
0 引言
紅外線傳感器測量數(shù)據(jù)精度高但是測量距離較短,而超聲波傳感器的測量距離長但精度較低 [1], 所以本文選用在性能上互補的超聲波傳感器和紅外線傳感器融合使用,結(jié)合兩種傳感器的優(yōu)缺點,將二者測得的數(shù)據(jù)進行算法融合,在一段較長的測距范圍內(nèi)得到更精確的測量數(shù)據(jù)。新的測距系統(tǒng)可以應用于多種場合,具有結(jié)構(gòu)簡單、成本低等優(yōu)點,在無人車、機器人等領(lǐng)域有廣泛的應用價值 [2-3]。
1 新型測距系統(tǒng)總體設(shè)計
設(shè)計方案:分別使用紅外線和超聲波傳感器測量一組距離數(shù)據(jù),將兩組數(shù)據(jù)傳輸?shù)娇刂葡到y(tǒng),利用融合算法計算出第 3 組數(shù)據(jù),并利用實驗值修正算法參數(shù)。將修正后的第 3 組數(shù)據(jù)作為最終測距值,測量范圍為 20 ~ 150cm。將數(shù)據(jù)傳輸?shù)娇刂贫诉M行監(jiān)測,接收部分在接收到數(shù)據(jù)后,同時進行數(shù)據(jù)處理,最終形成可視化輸出 [4]。
本系統(tǒng)主要由3個部分組成,分別是使用STM32F103ZET6 單片機進行數(shù)據(jù)處理的控制部分、使用 HC-SR04 超聲波傳感器和 GP2Y0A02YK0F 紅外線傳感器進行初次測距的測距部分以及使用 HC-05藍牙模塊連接主機與控制系統(tǒng)的信號傳輸部分。主機在接收到信號后,進行數(shù)據(jù)記錄與監(jiān)測,并利用LCD1602 顯示屏顯示數(shù)據(jù)。具體的測距系統(tǒng)方案。
2 系統(tǒng)硬件設(shè)計
2.1 控制部分
本文選用 STM32F103ZET6 芯片作為微處理器,該芯片成本低、功耗低,但是運算功能強大、功能眾多,可以根據(jù)不同的優(yōu)先級先后執(zhí)行中斷程序,能夠滿足本系統(tǒng)的需求。
2.2 測距部分
超聲波在傳播過程中遇到介質(zhì)會被反射,利用超聲波的這一特性便可以進行超聲波測距。
設(shè)計選用 HC-SR04 超聲波傳感器模塊作為超聲波測距部分,此模塊性能穩(wěn)定,測量范圍為 2~ 400cm,測量距離大、盲區(qū)小,擁有高達 0.3cm 的測距精度。將超聲波傳感器發(fā)射端對著被測對象發(fā)射,超聲波傳感器的接收端接收到反射回的超聲波后,根據(jù)發(fā)射和接收的時間差就可以計算超聲波的傳播距離。
紅外線測距部分選用夏普 gp2y 系列的紅外線傳感器,夏普的紅外線測距傳感器采用三角測量原理。三角測量是一種間接測量目標距離的方法,又叫三邊量測法。設(shè)計將目標定為一個三角形的第 3 個點,當確定了一條邊長和發(fā)射光線、反射光線的兩個角度后,可以由此計算出與目標的距離。紅外線傳感器測量原理,如圖 2 所示。利用數(shù)學的幾何知識,傳感器到物體的距離 D,可以由如下公式求得:
式(1)中, D 是待測距離,L 是 CCD 檢器接收到信號后的偏移值, X 是發(fā)射器與接收器中心之間的距離, f 是受光透鏡焦距。
在型號的選擇上,綜合考慮了超聲波傳感器的測距范圍與設(shè)計目標,本系統(tǒng)最終選擇使用GP2Y0A02YK0F 紅外線傳感器。這款紅外線測距傳感器測量精度高,測量范圍在 20 ~ 150cm。
2.3 信號傳輸部分
信號傳輸部分選用 HC-05 藍牙模塊。HC-05 藍牙模塊有 6 個引腳,除了接正極與接地的引腳以及用于檢測藍牙模塊連接狀態(tài)的 LED 引腳外,還有 TXD和 RXD 引腳以及 KEY 引腳。HC-05 支持使用標準AT 命令,在設(shè)備啟動時進入特殊命令模式,然后再進入數(shù)據(jù)模式,這樣就可以與其他設(shè)備進行無線通信,通信距離可以達到 10m。控制端通過 HC-05 藍牙模塊接收小車傳來的紅外線測距數(shù)據(jù)、超聲波測距數(shù)據(jù)以及經(jīng)過數(shù)據(jù)處理后的最終數(shù)據(jù),對結(jié)果進行記錄與監(jiān)測。
LCD1602 液晶顯示器是一種字符顯示器,在顯示時,有兩行內(nèi)容,每行有 16 個字符的顯示器,總共擁有 16 個引腳。LCD1602 主要顯示經(jīng)過系統(tǒng)數(shù)據(jù)處理后的最終數(shù)據(jù),也就是測得的小車與前放障礙物之間的距離。
2.4 無人車實驗平臺
為了驗證測距系統(tǒng)的有效性,將系統(tǒng)搭載在四輪式智能無人車實驗平臺上。由于超聲波測距傳感器的有效距離小于紅外線測距傳感器的有效距離,所以系統(tǒng)的最小探測距離為 2cm,在傳感器安裝時,要確保發(fā)射端與小車最前端的距離大于 2cm。
3 測距算法設(shè)計
根據(jù)設(shè)計目標,要使系統(tǒng)完成在 20 ~ 150cm 的高精度測量,應首先由超聲波測距傳感器和紅外線測距傳感器進行一次測量,然后將數(shù)據(jù)傳輸?shù)娇刂葡到y(tǒng)中進行處理,通過大量實驗建立的數(shù)據(jù)模型來得到最接近實際距離的參數(shù),最后輸出測量距離。
3.1 超聲波測距
HC-SR04采用IO口TRIG觸發(fā)測距,提供一個10us以上的高電平脈沖觸發(fā)信號,模塊內(nèi)部將會發(fā)送8個40kHz周期電平并檢測回波。當檢測到信號返回時,輸出回響信號;仨懶盘柕拿}沖寬度與測量距離成正比;仨懶盘柕拿}沖寬度為高電平持續(xù)時間, T 是高電平持續(xù)時間。表達式如下:
式(2)中, V 是聲音的速度,具體為 340m/s,T 高電平持續(xù)時間,也就是超聲波從發(fā)射到返回的時間。
如果發(fā)射信號的周期太短,那么發(fā)射信號會對回響信號產(chǎn)生影響,因此設(shè)置脈沖觸發(fā)信號的發(fā)射周期為 100ms。
3.2 紅外線測距
紅外線模塊在使用中通常會受被測物體的材質(zhì)、溫度、物體表面粗糙度、被測物體的光學顏色等的因素影響。但是在本系統(tǒng)中,被測物體的因素對傳感器測量精度的影響會因為紅外線傳感器的不同而大大降低。傳感器輸出的電壓值與被測距離之間存在映射關(guān)系,通過測量電壓值就可以得到所測的距離。夏普的gp2y 系列紅外線傳感器每個型號的輸出曲線都不同。GP2Y0A02YK0F 傳感器特性曲線如圖 3 所示,這是制造商給出的 0A02 型號傳感器的參考特性曲線。從圖 3中可以看到,該傳感器存在的最小探測距離為 20cm。
圖 3 GP2Y0A02YK0F 傳感器特性曲線
3.3 算法設(shè)計
在得到紅外線測量的數(shù)據(jù) L 1 和超聲波測量的數(shù)據(jù) L 2 后,與實際距離進行比對,得到參數(shù) k 1 和 k 2,采用平均算法,修正距離值:
在不同的溫度、亮度、被測物體表面粗糙度和被測物體表面顏色的不同情況下, k 1 和 k 2 均會改變,所以再取平均值為:
此時,得到一個 k 1 和 k 2 的數(shù)值。
同時考慮到本系統(tǒng)所選用的超聲波測距傳感器的有效距離略大于紅外線測距傳感器的有效距離。因此,當接收到超聲波傳感器的數(shù)據(jù)時再進行一次判斷,得到的結(jié)果小于 20cm 或大于 150cm 時,直接以超聲波傳感器的數(shù)據(jù)為最終數(shù)據(jù)。當數(shù)據(jù)范圍在 20 ~ 150cm 時,結(jié)合兩個傳感器的數(shù)據(jù),利用式
(3)計算得出最終數(shù)據(jù)。本系統(tǒng)設(shè)計的重點在于測量 20 ~ 150cm 內(nèi)的數(shù)據(jù)。測距系統(tǒng)流程。
注:k1=0.568;k2=0.422 平均相對誤差 =0.1154%
表 1 在可測量范圍內(nèi)的實驗測量數(shù)據(jù)
4 實驗數(shù)據(jù)及分析
為驗證該測距系統(tǒng)的效果,本文進行一系列測試,選取了 10 組測試數(shù)據(jù),L1 為超聲波測距傳感器數(shù)據(jù),L2 為紅外線測距傳感器數(shù)據(jù),L3 為經(jīng)過控制系統(tǒng)處理的最終數(shù)據(jù),也就是測量得到的最終數(shù)據(jù)。在可測量范圍內(nèi)的實驗測量數(shù)據(jù),如表 1 所示。
通過表 1 可以發(fā)現(xiàn),利用超聲波傳感器和紅外線傳感器的融合測距,在測量范圍內(nèi)的平均相對誤差小于 0.3%,滿足檢測系統(tǒng)的精度要求,說明該測距系統(tǒng)方案可行。
因超聲波測距與紅外線測距均會受到外界因素的影響,若要進一步提高測量精度,可設(shè)置不同環(huán)境下的 k1、k2 值。通過藍牙控制,使系統(tǒng)在不同情況使用不同的 k1、k2 值。
5 結(jié)語
本文設(shè)計了一種基于紅外線和超聲波傳感器的新型測距系統(tǒng)。該系統(tǒng)結(jié)構(gòu)具有簡單、成本低及精度高的優(yōu)點,融合了紅外線和超聲波傳感器的特點,改進了測距算法,從而提高了測量精度,并擁有較大的測量范圍。將該系統(tǒng)應用在智能無人車中,能提升無人車的避障性能,同時也為基于多傳感器的測距系統(tǒng)設(shè)計提供了一種新思路。
參考文獻
[1]曹湘斌 , 頡炯 . 基于多傳感器數(shù)據(jù)融合的機器人測距系統(tǒng)設(shè)計 [J]. 電氣傳動自動化 ,2020,42(6):16-18.
[2]白冰峰 , 溫秀蘭 , 張中輝 . 基于超聲波和紅外線傳感器的 IN-RT 移動機器人的避障算法研究 [J]. 南京工程學院學報 ( 自然科學版 ),2016,14(1):53-55.
[3]張磊 , 周建全 , 鞠文杰 ,等. 基于超聲波與紅外線技術(shù)的測距系統(tǒng)的研究與應用[J].電氣自動化 ,2021,43(3):99-101.
[4]洪一民 , 錢慶豐 , 章志飛 . 基于 STM32 的智能小車循跡避障測距的設(shè)計 [J]. 物聯(lián)網(wǎng)技術(shù) ,2022,12(1):12-13,17.
班寧產(chǎn)品匯總