任澤影 高熙 呂毅飛 柴文章 陳曉范
摘要:該系統(tǒng)是基于單片機(jī)的超聲波測(cè)距系統(tǒng),它根據(jù)超聲波在空氣中傳播的反射原理,以超聲波傳感器為檢測(cè)部件, 應(yīng)用超聲波在空氣中傳播的時(shí)間差來(lái)測(cè)量距離。另有語(yǔ)音播報(bào)功能等。主要由測(cè)距系統(tǒng)和語(yǔ)音播報(bào)系統(tǒng),識(shí)別系統(tǒng),報(bào)警系統(tǒng),自動(dòng)化控制,五個(gè)主要模塊構(gòu)成。語(yǔ)音系統(tǒng)發(fā)出警示音,提醒使用者前方障礙物需躲避等等。使盲人在看不見的情況下,能夠識(shí)別前方的障礙物正常的行走,從而起到保護(hù)盲人安全的作用。
關(guān)鍵詞:智能避障;超聲波測(cè)距;數(shù)據(jù)處理
中圖分類號(hào):TP3 ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)31-0246-02
1緒論
1.1導(dǎo)盲器來(lái)源
殘疾人是社會(huì)中主要的弱勢(shì)群體,他們要面對(duì)更多的困難和壓力。近些年來(lái),社會(huì)和政府越來(lái)越關(guān)注弱勢(shì)群體,給予盲人的關(guān)懷也越來(lái)越多。
1.2 導(dǎo)盲器目的和意義
盲人導(dǎo)盲預(yù)警系統(tǒng)的運(yùn)用可極大地減輕盲人的行走不便與安全隱患,降低且避免因盲人不辨障礙而導(dǎo)致的事故的發(fā)生,同時(shí)對(duì)提高人體智能化設(shè)計(jì)起到重要的意義。
平衡車的設(shè)計(jì),實(shí)現(xiàn)平衡車的無(wú)人運(yùn)行;掃地機(jī)的設(shè)計(jì),路線的優(yōu)化,促進(jìn)了智能家居向普通家庭的步入,提升了普通百姓的生活質(zhì)量。
2 智能導(dǎo)盲設(shè)計(jì)
為了方便實(shí)現(xiàn)導(dǎo)盲功能,本團(tuán)隊(duì)將導(dǎo)盲系統(tǒng)和小車組裝,以實(shí)現(xiàn)小車的無(wú)人行走來(lái)設(shè)計(jì)導(dǎo)盲功能。后續(xù)還會(huì)組裝在人的身體和衣服等。
2.1系統(tǒng)軟件設(shè)計(jì)思路
樹莓派用的python,所以我們也使用python。
使用超聲波測(cè)距傳感器,單片機(jī)在接收到傳感器的信息后,將傳感器的信號(hào)轉(zhuǎn)換為距離信息,通過(guò)語(yǔ)音播報(bào)提示,小車接收信息后,實(shí)現(xiàn)避障功能(盲人聽到語(yǔ)音播報(bào)以后,以實(shí)現(xiàn)拐彎動(dòng)作)。
2.2 算法分析
要想從A點(diǎn)傳遞到B點(diǎn),主要就是搞定單片機(jī)的運(yùn)算功能。本團(tuán)隊(duì)特別模擬了兩個(gè)單位(目前只做平面處理,上下樓梯與消耗的電能成正比,usb攝像頭對(duì)圖像的識(shí)別能力不夠,不能明顯識(shí)別樓梯的步數(shù),所以目前不考慮)。假設(shè)借鑒了行車記錄儀來(lái)做處理,假設(shè)從A點(diǎn)到B點(diǎn),先要直走50m,在左轉(zhuǎn)彎行走150m,在右轉(zhuǎn)彎行走10m。通過(guò)行車記錄儀做距離處理,一走到50m,就立馬語(yǔ)音播報(bào),進(jìn)行轉(zhuǎn)彎。后續(xù)還會(huì)使用GPS來(lái)做定點(diǎn)處理,無(wú)論走的哪里去,都能找到回家的路。行車記錄儀對(duì)數(shù)據(jù)的處理能力更精確,樹莓派自帶計(jì)時(shí)功能因?yàn)樵O(shè)計(jì)到各種延時(shí)模塊,會(huì)導(dǎo)致計(jì)時(shí)的難度大大提升。行車記錄儀記錄數(shù)據(jù),動(dòng)的時(shí)候計(jì)時(shí),不動(dòng)的時(shí)候停止計(jì)時(shí),轉(zhuǎn)彎的時(shí)候重新計(jì)時(shí),兩組進(jìn)程分開,誤差更小。但是對(duì)于盲人而言,不需要科學(xué)上那么嚴(yán)密的計(jì)算,所以后續(xù)中程序的運(yùn)行偏差會(huì)很大。
儲(chǔ)存功能的實(shí)現(xiàn),可以將A移動(dòng)B的所有數(shù)據(jù)進(jìn)行封裝,存儲(chǔ)在文件中。
2.3 轉(zhuǎn)彎算法分析
由于本人的學(xué)識(shí)能力有限,我們只考慮左轉(zhuǎn)彎,右轉(zhuǎn)彎。假設(shè)將左轉(zhuǎn)彎設(shè)為1,右轉(zhuǎn)彎設(shè)為0,時(shí)間加單位s,這樣讀數(shù)據(jù)的時(shí)候就不容易報(bào)錯(cuò)。
3 小車的組裝和硬件的介紹
按照樹莓派小車的設(shè)計(jì),在淘寶上買好各種組件,組裝成小車。
3.1攝像頭的安裝
小車前部安裝一個(gè)USB攝像頭,攝像頭可以做一些數(shù)據(jù)的模糊分析,主要道路的選擇,以及用于識(shí)別馬路紅綠燈,危險(xiǎn)路段的路標(biāo)。
USB攝像機(jī)是采用USB接口的安防攝像機(jī),即插即用,傻瓜式操作,無(wú)須采集卡,無(wú)須電源,免拆機(jī)箱、支持筆記本電腦。選取品怡(Bejoy)USB語(yǔ)音通話補(bǔ)光燈攝像頭臺(tái)式機(jī)筆記本電腦攝像頭,價(jià)格29元適合USB供電。
3.2語(yǔ)音播報(bào)模塊
這里需要給樹莓派安裝播放器,本人選擇的是MPV播放器,安裝命令,sudo apt-get install mpv ;測(cè)試是否安裝成功,可以在命令行中測(cè)試 mpv./song.mp3 是否播放正常。
借鑒csdn的樹莓派智能家居-天氣預(yù)報(bào)和實(shí)時(shí)溫濕度監(jiān)控。
由于樹莓派自帶播放器不好用,固還需要購(gòu)買蜂鳴器。蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電。
3.3超聲波測(cè)距模塊
本次設(shè)計(jì)選擇HC-SR04作為放大器。超聲測(cè)距部分是利用超聲波在空氣中傳播時(shí)遇到障礙物返回的特點(diǎn)來(lái)實(shí)現(xiàn)測(cè)量距離的目的。根據(jù)超聲波從發(fā)射到接收到回波的時(shí)間以及此時(shí)的聲速就可以計(jì)算出障礙物的距離。由于超聲在空氣中傳播有衰減,加上環(huán)境以及電路本身的噪聲干擾,測(cè)量距離有一定的上限,超過(guò)上限距離的障礙物的回波將無(wú)法檢測(cè)到;同時(shí)由于發(fā)射超聲波對(duì)接收超探頭的影響,測(cè)量距離存在下限,低于下限距離的障礙物回波將無(wú)法與干擾信號(hào)區(qū)別開。系統(tǒng)測(cè)量的就是介于上限與下限距離范圍的障礙物信息。當(dāng)檢測(cè)到障礙物時(shí),系統(tǒng)會(huì)通過(guò)語(yǔ)音模塊發(fā)出告警信號(hào)。
3.4報(bào)警器模塊
報(bào)警模塊主要是當(dāng)樹莓派檢查到危險(xiǎn)情況的時(shí)候,中斷執(zhí)行語(yǔ)音播報(bào)模塊。還有就是使用者自己想通過(guò)按鈕去中斷執(zhí)行別的程序。按鈕觸動(dòng)開關(guān)引起的報(bào)警因?yàn)樵跍y(cè)試中毫無(wú)意義,反而還會(huì)增加程序的量,固暫不考慮。
3.5 定時(shí)模塊
linux系統(tǒng)里支持定時(shí)任務(wù),所以crontab -e 命令可以滿足我們的要求。定時(shí)器主要用于計(jì)時(shí),從a到b需要多少秒,將這些數(shù)據(jù)儲(chǔ)存在文件中。
4 實(shí)現(xiàn)操作
4.1 語(yǔ)音播報(bào)的實(shí)現(xiàn)
樹莓派使用ilangbd庫(kù)進(jìn)行python進(jìn)行中文文本轉(zhuǎn)語(yǔ)音。
安裝代碼請(qǐng)參考csdn中使用ilangbd庫(kù)進(jìn)行python進(jìn)行中文文本轉(zhuǎn)語(yǔ)音。
4.2 Usb攝像頭識(shí)別功能
識(shí)別功能主要就是cv2和dlib。為了能夠更好地實(shí)現(xiàn)此工程,導(dǎo)入樹莓派的鏡像可以直接使用別人安裝好了的。
為了研究方便,本實(shí)驗(yàn)借鑒人臉識(shí)別的操作。如下所示:
│├──data_dlib#Dlib的模型
││├──dlib_face_recognition_resnet_model_v1.dat
││├──shape_predictor_5_face_landmarks.dat
││└──shape_predictor_68_face_landmarks.dat
│├──data_faces_from_camera#從usb攝像頭捕獲的面部圖像
││├──圖像_1
│││├──img_face_1.jpg
│││└──img_face_2.jpg
││└──圖像_2
││└──img_face_1.jpg
││└──img_face_2.jpg
圖像最好是越多越好,我們?yōu)榱藢?shí)現(xiàn)報(bào)警,只做了紅綠燈的識(shí)別,和一個(gè)危險(xiǎn)路標(biāo)的識(shí)別。
│└──features_all.csv#CSV,用于保存已知圖片的所有特征
提前可以將馬路燈,危險(xiǎn)路標(biāo)錄進(jìn)去,方便以后做特征處理。
4.3識(shí)別路線功能和報(bào)警功能
識(shí)別路線等同于人臉識(shí)別模塊
├──簡(jiǎn)介#一些readme.rst文件
│├──Dlib_Face_recognition_by_coneypo.pptx
│├──face_reco_single_person_customize_name.png
│├──face_reco_single_person.png
│├──face_reco_two_people_in_database.png
│├──face_reco_two_people.png
│├──get_face_from_camera_out_of_range.png
│├──get_face_from_camera.png
│└──overview.png
├──README.rst
└──requirements.txt
報(bào)警功能就是當(dāng)檢查照片特征等于危險(xiǎn)地帶照片的特征時(shí)候,語(yǔ)音播報(bào)提示使用者,達(dá)到報(bào)警功能。
還請(qǐng)注意,此模型文件設(shè)計(jì)用于dlib的HOG人臉檢測(cè)器。也就是說(shuō),它期望面部檢測(cè)器的邊界框以某種方式對(duì)齊,即dlib的HOG面部檢測(cè)器的對(duì)齊方式。當(dāng)與會(huì)產(chǎn)生不同對(duì)齊框的面部檢測(cè)器一起使用時(shí),效果會(huì)不佳。
4.4文件的存儲(chǔ)功能
將小車加速度設(shè)置為定值,當(dāng)速度到達(dá)一定值是時(shí)候,速度成為等值;減速相同,所以小車的v-t圖像成等腰梯形。
假設(shè)要運(yùn)動(dòng)的直線路程為100m,中間速度為10m/s,加速度為10,可計(jì)算出等腰梯形的兩個(gè)三角形面積為10,所以中間用時(shí)為9s。
實(shí)際生活中,由于舵機(jī)不是靠恒加速度上去的,但是原理一樣。我們可以測(cè)量他達(dá)到恒速度所用的時(shí)間和位移,所以知道他恒速度需要走多長(zhǎng)。將這類值儲(chǔ)存在文件中,等待程序的讀取。
4.5 小車行動(dòng)模塊
# 左轉(zhuǎn)函數(shù)
def left():
GPIO.output(IN1,F(xiàn)alse)
GPIO.output(IN2,F(xiàn)alse)
GPIO.output(IN3,GPIO.HIGH)
GPIO.output(IN4,GPIO.LOW)
# 右轉(zhuǎn)
def right():
GPIO.output(IN1,GPIO.HIGH)
GPIO.output(IN2,GPIO.LOW)
GPIO.output(IN3,F(xiàn)alse)
GPIO.output(IN4,F(xiàn)alse)
# 前進(jìn)
def go():
GPIO.output(IN1,GPIO.HIGH)
GPIO.output(IN2,GPIO.LOW)
GPIO.output(IN3,GPIO.HIGH)
GPIO.output(IN4,GPIO.LOW)
# 停止
def stop():
GPIO.output(IN1,GPIO.LOW)
GPIO.output(IN2,GPIO.LOW)
GPIO.output(IN3,GPIO.LOW)
GPIO.output(IN4,GPIO.LOW)
5 總結(jié)和不足
本文兩個(gè)方面,圖像的模糊識(shí)別和處理和單片機(jī)小車的路程規(guī)劃,在小車(人)的行駛中,又涉及語(yǔ)音提示避障(對(duì)于人而言)、小車自動(dòng)避障。而強(qiáng)大的導(dǎo)盲器可作用于各種領(lǐng)域,航天方面,導(dǎo)盲器可實(shí)現(xiàn)實(shí)現(xiàn)遠(yuǎn)程操作,探索路線,傳輸視頻畫面;運(yùn)輸方面,小車可以運(yùn)輸快遞等等。 此次設(shè)計(jì)的導(dǎo)盲器為老人提供了科學(xué)、有效的獨(dú)立幫助,為老人提供了摸索路線的依據(jù),是一個(gè)非常有實(shí)用價(jià)值的創(chuàng)意。
科學(xué)計(jì)算的精確度要求高,可實(shí)際生活中,路面不可能一直是平的,當(dāng)小車行駛在凹凸地段,v-t圖像必將產(chǎn)生波動(dòng)變化,小車轉(zhuǎn)彎的度數(shù)也沒(méi)做處理。Usb傳遞的圖像識(shí)別能力不強(qiáng),超聲波測(cè)距容易受到干擾,還有各種隱患問(wèn)題都沒(méi)處理。
參考文獻(xiàn):
[1] 鮑捷,陳洪斌,歐仁俠.基于單片機(jī)的新型導(dǎo)盲器的設(shè)計(jì)與應(yīng)用研究[J].電子制作,2017.
[2] 鮮大武.觸摸式取暖器的設(shè)計(jì)[J].中國(guó)新技術(shù)新產(chǎn)品,2011(11).
[3] 蔣胤冰,朱智,李漫漫,等.基于STC89C52單片機(jī)的智能嬰兒床設(shè)計(jì)[J].江蘇科技信息,2018.
[4] 李筱雅 ,高寒 ,張璐璐,等.基于單片機(jī)的超聲波導(dǎo)盲系統(tǒng)[J].電子世界,2016.
【通聯(lián)編輯:朱寶貴】