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