小型無(wú)人機(jī)交通輔助系統(tǒng)
開發(fā)過程中采用Parrot公司的ARDrone2代進(jìn)行測(cè)試,官方提供開發(fā)SDK便于快速驗(yàn)證算法。ARDrone2是一架四旋翼無(wú)人機(jī)。啟動(dòng)無(wú)人機(jī)后它會(huì)創(chuàng)建一個(gè)獨(dú)立的WiFi局域網(wǎng)網(wǎng)絡(luò),無(wú)人機(jī)的IP地址是192.168.1.1,接入的控制設(shè)備如手機(jī)、PC則自動(dòng)獲取IP,接著通過TCP和UDP協(xié)議控制。無(wú)人機(jī)的配置、控制指令使用UDP協(xié)議通過5556端口傳輸,每秒傳輸30次。無(wú)人機(jī)的飛行狀況,如速度、高度、加速度等信息使用UDP協(xié)議通過5554端口傳輸回控制端的手機(jī)或者PC。在普通模式中,傳輸速度為每秒15次,而在調(diào)試模式,每秒200次數(shù)據(jù)傳輸。無(wú)人機(jī)上攝像頭畫面以H.264編碼格式通過TCP 5559端口傳輸回控制端。這時(shí)候控制端的手機(jī)連接到了WiFi就自動(dòng)關(guān)閉了3G數(shù)據(jù)網(wǎng)絡(luò),所以無(wú)法連接到Internet。在手機(jī)控制無(wú)人機(jī)的時(shí)候,可以采用UI界面按鈕控制,也可以集成語(yǔ)音識(shí)別指令的功能。語(yǔ)音識(shí)別部分也是本項(xiàng)目一個(gè)重點(diǎn),因?yàn)闊o(wú)法連接到Internet所以類似于Google、百度等在線語(yǔ)音識(shí)別引擎將無(wú)法使用。經(jīng)過調(diào)查分析,最終采用的是科大訊飛的語(yǔ)音識(shí)別引擎,它支持在線語(yǔ)音識(shí)別和離線命令詞識(shí)別功能,特別是離線命令詞識(shí)別功能,非常適合本項(xiàng)目,在對(duì)無(wú)人機(jī)進(jìn)行語(yǔ)音識(shí)別控制的時(shí)候,僅識(shí)別若干指令,節(jié)省計(jì)算資源,提高系統(tǒng)響應(yīng)速度。開發(fā)的過程中只需要按照BNF(巴斯克范式)語(yǔ)法規(guī)范編寫命令詞語(yǔ)法文件即可。目前已經(jīng)添加的命令詞有“起飛”、“降落”、“向左”、“右移”、“前進(jìn)”、“后退”、“上升”、“下降”、“倒轉(zhuǎn)”、“順時(shí)針”等指令,可以快速準(zhǔn)確地識(shí)別并執(zhí)行動(dòng)作,在演示效果方面,額外增加了“前空翻”、“后空翻”、“左翻”、“右翻”等具有觀賞性的動(dòng)作。手機(jī)端應(yīng)用完整界面如圖4所示,提供多個(gè)動(dòng)作按鈕及語(yǔ)音識(shí)別功能。
從無(wú)人機(jī)攝像頭中拍到的道路畫面中提取圖像特征值,進(jìn)行特征值匹配區(qū)分出逃逸車輛,從而進(jìn)行無(wú)人機(jī)自動(dòng)跟蹤目標(biāo)。在道路干擾較少的情況下能夠穩(wěn)定地跟蹤,難點(diǎn)在于如何在道路車輛較多、干擾嚴(yán)重的情況下自主飛行識(shí)別目標(biāo)進(jìn)行跟蹤。目前沒有徹底解決這個(gè)問題,因此在控制當(dāng)中使用語(yǔ)音識(shí)別指令控制進(jìn)行輔助。
3 項(xiàng)目研究現(xiàn)狀及前景
本系統(tǒng)目前完成了人工神經(jīng)網(wǎng)絡(luò)自動(dòng)車牌識(shí)別功能從Ubuntu操作系統(tǒng)到Android系統(tǒng)的移植,在Ubuntu中訓(xùn)練的SVM以及OCR可以直接在Android系統(tǒng)中使用,并能夠準(zhǔn)確識(shí)別車牌號(hào)碼,在識(shí)別到指定的車牌之后自動(dòng)跳轉(zhuǎn)到無(wú)人機(jī)控制界面,可以語(yǔ)音控制或者按鍵操作控制無(wú)人機(jī)。但是在識(shí)別車牌的時(shí)候運(yùn)算量很大,目前沒有優(yōu)化的效果是每三秒至四秒可以識(shí)別完一幀畫面,正在研究如何使用OpenCL以及多線程編程方法提高識(shí)別的速度,做到高實(shí)時(shí)性和高可靠性。本系統(tǒng)若正式投入日常使用,在無(wú)人機(jī)的控制方面也需要提高,應(yīng)當(dāng)為無(wú)人機(jī)增加3G網(wǎng)絡(luò)模塊以增加無(wú)人機(jī)控制端的控制距離,使用大容量的電池以增加巡航時(shí)間,并使用飛行速度較大的無(wú)人機(jī)。
參考文獻(xiàn):
[1]Baggio D L,Escrilva D M,Mahmood N,et al.Mastering OpenCV with Practical Computer Vision Projects,UK:PACKT Publishing,2012
[2]OpenCV dev team.OpenCV4 Android SDK[R/OL].(2011).http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/O4A_SDK.html
[3]科大訊飛.語(yǔ)音云•開放平臺(tái)[R/OL].2013.https://open.voicecloud.cn
[4]Lang J P.ARDRONE open API platform[R/OL].(2009).https://projects.ardrone.org
[5]uni-hamburg.de.yadrone[R/OL].(2012).http://vsis-www.informatik.uni-hamburg.de/oldServer/teaching//projects/yadrone/
c++相關(guān)文章:c++教程
評(píng)論