一種基于圖像識別的無人機自主飛行系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于無人機控制與決策領(lǐng)域。具體地說是一種基于圖像識別的無人機自主飛行系統(tǒng)。
【背景技術(shù)】
[0002]近年來,無人機因其在枯燥、惡劣的環(huán)境中出色的執(zhí)行高危險任務(wù),已被廣泛運用到通信、氣象、軍事等領(lǐng)域。無人機技術(shù)在小型化、隱身化以及智能化方向得到了快速的發(fā)展。
[0003]但是,目前主流設(shè)計的無人機自主飛行系統(tǒng),所涉及的地面控制基站程序一一無論是單純的借助程序或者是基于智能Agent的分層遞階結(jié)構(gòu)控制體系一一底層的導(dǎo)航控制都是借由方向定位系統(tǒng)(主要包括GPS定位系統(tǒng)、羅盤系統(tǒng)以及高度傳感器這三部分)來確定無人機實時位置,再通過預(yù)先設(shè)定的直角坐標系進行飛行路線的執(zhí)行,從而完成對預(yù)設(shè)飛行路線的執(zhí)行。
[0004]然而,面對現(xiàn)實中受到多因素影響的復(fù)雜環(huán)境,這種控制模式已經(jīng)不能滿足對非預(yù)見威脅的有效避免。同時在一些小范圍復(fù)雜地形環(huán)境中,無人機躲避障礙物的成功率大幅下降。
【發(fā)明內(nèi)容】
[0005]本發(fā)明是為了克服現(xiàn)有技術(shù)存在的不足之處,提供一種基于圖像識別的無人機自主飛行系統(tǒng),以期無人機在自主飛行時,能根據(jù)隨機發(fā)生的環(huán)境變化做出更及時應(yīng)答和調(diào)整,以確保無人機自主飛行的穩(wěn)定與靈活。
[0006]本發(fā)明為達到上述發(fā)明目的采用如下技術(shù)方案:
[0007]本發(fā)明一種基于圖像識別的無人機自主飛行系統(tǒng),是應(yīng)用于由η個無人機和一個地面指揮中心構(gòu)成的自主飛行任務(wù)中;其特點是包括:飛行通信模塊、地面通信模塊、輸入模塊、FFMPEG模塊、視頻顯示模塊、圖像識別模塊、指令生成模塊和輸出模塊;所述飛行通信模塊和地面通信模塊均包括UDP5556端口與TCP5555端口 ;
[0008]所述η個無人機通過自帶的前置攝像頭各自獲取環(huán)境圖像,并通過各自的飛行通信模塊進行編碼和封裝形成TCP包后利用自身的TCP5555端口發(fā)送給所述地面通信模塊的TCP5555 端 P ;
[0009]所述地面通信模塊TCP5555端口接收所述TCP包并傳遞給所述輸入模塊進行預(yù)處理,獲得Η264基本圖像,并將所述Η264基本圖像發(fā)送給FFMPEG模塊;
[0010]所述FFMPEG模塊通過調(diào)用FFMPEG解碼包對所接收的Η264基本圖像進行解碼處理獲得圖像幀,再將所述圖像幀發(fā)送給圖像識別模塊,同時所述FFMPEG模塊對所述圖像幀進行組裝形成視頻流后發(fā)送給所述視頻顯示模塊用于實時顯示;
[0011]所述圖像識別模塊對所接收的圖像幀進行二值化處理,獲得黑白圖像;對所述黑白圖像利用循環(huán)校正算法來獲得識別目標;對所述識別目標采用質(zhì)心比對算法獲取目標的實際質(zhì)心,并將所述實際質(zhì)心與所設(shè)定的質(zhì)心閾值進行求差,獲得調(diào)整量后發(fā)送給所述指令生成模塊;
[0012]所述指令生成模塊利用監(jiān)視器來接收所述調(diào)整量并對所述調(diào)整量進行AT指令的轉(zhuǎn)義后發(fā)送給所述輸出模塊;
[0013]所述輸出模塊對所接收到的轉(zhuǎn)義后的AT指令進行封裝,形成指令數(shù)據(jù)包后利用所述地面通信模塊的Μ)Ρ5556端口發(fā)送給所述飛行通信模塊的UDP5556端口 ;
[0014]所述飛行通信模塊的UDP5556端口從所接收的指令數(shù)據(jù)包中提取AT指令,并根據(jù)所述AT指令執(zhí)行自主飛行任務(wù)。
[0015]本發(fā)明所述的基于圖像識別的無人機自主飛行系統(tǒng)的特點也在于,所述η個飛行通信模塊和一個地面通信模塊按如下步驟建立通信連接:
[0016]步驟2.1、所述η個飛行通信模塊各自創(chuàng)建一個SSID網(wǎng)絡(luò)的名稱,并設(shè)置所述SSID網(wǎng)絡(luò)的IP地址;
[0017]步驟2.2、所述地面通信模塊連接到所述IP地址中,從而獲得所述飛行通信模分配的地面IP地址;
[0018]步驟2.3、所述η個飛行通信模塊為所述地面通信模塊分配相應(yīng)的UDP5556端口與TCP5555端口,從而實現(xiàn)數(shù)據(jù)傳輸;并有,所述UDP5556端口負責(zé)發(fā)送包含AT指令的指令數(shù)據(jù)包;所述TCP5555端口負責(zé)傳輸包含環(huán)境圖像的TCP包。
[0019]與已有技術(shù)相比,本發(fā)明的有益效果體現(xiàn)在:
[0020]1、本發(fā)明通過設(shè)置一個地面基站控制η臺無人機的功能來及時了解多個任務(wù)區(qū)域?qū)崟r環(huán)境,采用了實時圖像信息作為控制調(diào)整依據(jù),通過圖像識別技術(shù)讓飛行器能使其有效地了解復(fù)雜環(huán)境障礙物的情況,并根據(jù)實時信息作出飛行調(diào)整,使其能在復(fù)雜地形或多變環(huán)境中,具備更智能靈活的自主飛行控制能力,避免飛行受到影響;飛行器具有的實時視頻顯示功也能方便方便操作人員充分了解具體任務(wù)環(huán)境信息。
[0021]2、本發(fā)明通過循環(huán)校正算法對所獲取實時圖像信息來幫助無人機更快速辨識任務(wù)目標,方便后續(xù)自主飛行決策的調(diào)整,通過TCP協(xié)議來高速傳輸高清攝像頭獲取的圖像信息,從而確保數(shù)據(jù)傳輸?shù)母咝Х€(wěn)定,達到飛行控制的穩(wěn)定。
[0022]3本發(fā)明對整個系統(tǒng)的程序編寫采用了面向?qū)ο蟮木幊碳夹g(shù),在圖像識別和指令生成兩模塊中使用到的Java代碼具有高可移植性,適應(yīng)于跨平臺應(yīng)用和推廣;整個系統(tǒng)采用了多模塊耦合結(jié)構(gòu),確保系統(tǒng)的魯棒性和可擴充性。
【附圖說明】
[0023]圖1為本發(fā)明模塊示意圖;
[0024]圖2為本發(fā)明網(wǎng)絡(luò)建立流程圖;
[0025]圖3為本發(fā)明視頻生成流程圖;
[0026]圖4為本發(fā)明圖像識別流程圖。
【具體實施方式】
[0027]本實施例中,一種基于圖像識別的無人機自主飛行系統(tǒng),是應(yīng)用于由η個無人機和一個地面指揮中心構(gòu)成的自主飛行任務(wù)中;η個無人機各自的飛行通信模塊與地面通信模塊共同連接到同一個通信網(wǎng)絡(luò),并進行數(shù)據(jù)的傳輸;系統(tǒng)的組成包括:飛行通信模塊、地面通信模塊、輸入模塊、FFMPEG模塊、視頻顯示模塊、圖像識別模塊、指令生成模塊和輸出模塊;飛行通信模塊和地面通信模塊均使用了 Μ)Ρ5556端口與TCP5555端口 ;
[0028]FFMPEG模塊與視頻顯示模塊的組合實現(xiàn)了視頻輸出功能,而FFMPEG模塊、圖像識別模塊以及指令生成模塊一起完成了飛行器AT指令生成功能,這四個模塊成為了組成了系統(tǒng)的核心處理模塊;
[0029]飛行器與地面控制中心的通信功能全部由通信模塊完成,包括使用TCP5555端口實現(xiàn)從飛行器到地面控制中心的圖像信息的傳輸,以及使用UDP5556端口實現(xiàn)地面控制中心到飛行器的AT指令傳輸
[0030]輸入模塊、輸出模塊是與通信模塊直接相關(guān)聯(lián)的模塊,此兩模塊作為橋梁完成了網(wǎng)絡(luò)通信與處理中心兩重要部分數(shù)據(jù)的過濾、轉(zhuǎn)化與傳輸。PC通過調(diào)用輸入模塊,對無人機傳輸過來的原始圖像信息進行基本的預(yù)處理:將TCP包去掉格式頭,得到可以被FFMPEG模塊直接處理的基本圖像數(shù)據(jù)。輸出模塊主要接收來自指令模塊生成的AT指令信息,對其完成網(wǎng)絡(luò)傳輸協(xié)議要求的數(shù)據(jù)格式修改,并將其發(fā)送到通信網(wǎng)絡(luò)進行傳輸,來實現(xiàn)控制指令的發(fā)送。
[0031]具體地,如圖1所示,η個無人機通過自帶的前置攝像頭各自獲取環(huán)境圖像,飛行器帶有兩個攝像頭,分別位于飛行器的頭部與底部,本實施例中所涉及有關(guān)攝像頭部分全部指飛行器頭部攝像