旋槳、機(jī)架、飛控板、電調(diào)、電機(jī)、電池、GPS、電流電 壓傳感器和外置電子羅盤(pán),實(shí)現(xiàn)飛行器的穩(wěn)定飛行功能,其中所述GPS和外置電子羅盤(pán)用于 讀取飛行器的地理坐標(biāo)信息和方向信息。
[0032]本發(fā)明相對(duì)于現(xiàn)有技術(shù)具有如下的優(yōu)點(diǎn)及效果:
[0033] 本發(fā)明針實(shí)現(xiàn)了 PC對(duì)于多旋翼無(wú)人飛行器的控制,在拓展了新的操控方式的同 時(shí),降低了操作難度,提高控制精確度,拓展信息采集與反饋功能,提高了安全性能,改善了 目前基于遙控器控制的操作難度高、控制不精準(zhǔn)、信息反饋不直接的缺點(diǎn);
[0034] 本發(fā)明設(shè)計(jì)了基于PC操控的多旋翼無(wú)人飛行器的多種功能包括:一鍵起飛、一鍵 降落、全方位飛行姿態(tài)操控(即笛卡爾坐標(biāo)軸的pitch/roll/yaw及高度操控)、降落模式下 的飛行姿態(tài)控制、螺旋槳解鎖/上鎖命令授權(quán)、無(wú)操作自動(dòng)安全上鎖,實(shí)現(xiàn)了更高效、簡(jiǎn)便、 安全的多旋翼無(wú)人飛行器操控,填補(bǔ)了目前多旋翼無(wú)人飛行器控制技術(shù)在該方面的空缺;
[0035] 本發(fā)明設(shè)計(jì)的PC端地面控制站實(shí)現(xiàn)了對(duì)采集信息的實(shí)時(shí)顯示與無(wú)人飛行器的實(shí) 時(shí)可視化操控,顯示的信息包含但不限于:圖像信息、飛行狀態(tài)信息、地理位置坐標(biāo)信息、環(huán) 境采集數(shù)據(jù)信息,改善了目前多旋翼無(wú)人飛行器操控與數(shù)據(jù)顯示分離的缺點(diǎn)和信息采集顯 不不完整的缺點(diǎn);
[0036]本發(fā)明擴(kuò)展了多旋翼無(wú)人飛行器的飛行半徑,WIFI/3G/4G信號(hào)覆蓋范圍內(nèi)均為可 控制飛行區(qū)域,彌補(bǔ)了目前無(wú)線電遙控器信號(hào)覆蓋范圍有限導(dǎo)致飛行半徑受限的缺點(diǎn)。
【附圖說(shuō)明】
[0037] 圖1是本發(fā)明提出的支持PC控制的多旋翼飛行器控制系統(tǒng)的基本結(jié)構(gòu)框圖;
[0038] 圖2是本發(fā)明提出的支持PC控制的多旋翼飛行器通信系統(tǒng)的通信架構(gòu)框圖;
[0039] 圖3是本發(fā)明中報(bào)文的接收和校驗(yàn)流程。
【具體實(shí)施方式】
[0040] 為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚、明確,以下參照附圖并舉實(shí)施例對(duì) 本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用 于限定本發(fā)明。
[0041 ] 實(shí)施例
[0042] 本實(shí)施例公開(kāi)了一種支持PC控制的多旋翼無(wú)人飛行器控制系統(tǒng),不僅大大降低操 作難度,提高操作安全性,擴(kuò)大飛行控制范圍,并且可通過(guò)視頻回傳支持對(duì)多旋翼飛行器的 實(shí)境操控。此外,通過(guò)在PC上開(kāi)發(fā)擴(kuò)展性插件,可以進(jìn)一步提升多旋翼飛行器的增強(qiáng)功能。
[0043] 本控制系統(tǒng)的基本結(jié)構(gòu)如圖1所示。主要包括多旋翼無(wú)人飛行器平臺(tái)、PC端地面控 制平臺(tái)以及在PC端與多旋翼無(wú)人飛行器之間的通信系統(tǒng),這三者結(jié)合構(gòu)成支持PC控制的多 旋翼無(wú)人飛行器系統(tǒng)。
[0044] 具體來(lái)說(shuō),本發(fā)明的內(nèi)容包括以下三個(gè)組成部分:
[0045] ( -)多旋翼無(wú)人飛行器平臺(tái):基于目前已有的技術(shù)搭建多旋翼無(wú)人飛行器,進(jìn)行 視頻等信息的采集,通過(guò)燒入經(jīng)過(guò)自主設(shè)計(jì)修改的飛控代碼,使得飛行器能受控于PC的指 令,完成具體飛行姿態(tài)調(diào)整,執(zhí)行飛行任務(wù)。
[0046]多旋翼無(wú)人飛行器平臺(tái)包括飛行器硬件平臺(tái)、ARM主控板和通信單元三部分:飛行 器硬件平臺(tái)包括螺旋槳、機(jī)架、飛控板等單元,主要實(shí)現(xiàn)飛行器的穩(wěn)定飛行功能;ARM主控板 完成信息處理、PC指令解析、硬件平臺(tái)控制、通信等功能;通信單元用于為飛行器平臺(tái)提供 通信接口,可采用WiFi/3G/4G等無(wú)線通信方式。從而使得飛行器擁有信息采集以及支持PC 控制功能。
[0047] 1)、飛行器硬件平臺(tái)的搭建
[0048]多旋翼無(wú)人飛行器的飛控板采用了APM2.6,電調(diào)則采用了好盈天行者40A電調(diào),為 電機(jī)提供穩(wěn)定的大電流輸出;電機(jī)則采用新西達(dá)kvlOOO檔電機(jī)提供穩(wěn)定的動(dòng)力輸出。此外, 飛行器機(jī)載平臺(tái)還使用了 1045碳纖螺旋槳、F550機(jī)架、以及5200mA電池。另外還配置了外置 的GPS和電子羅盤(pán),用于讀取飛行器的地理坐標(biāo)信息。
[0049] 2)、PC控制指令解析
[0050] 首先,ARM主控板芯片在代碼的控制下讀取串口傳來(lái)的數(shù)據(jù)并進(jìn)行檢錯(cuò)。檢錯(cuò)不通 過(guò)則丟棄數(shù)據(jù)包,重新等待接收數(shù)據(jù)。檢錯(cuò)通過(guò)則進(jìn)行報(bào)文解析。報(bào)文解析得到飛控命令則 傳給飛行控制模塊,經(jīng)過(guò)重新修改的飛控模塊依據(jù)命令進(jìn)行飛行姿態(tài)調(diào)整。另一方面,飛行 器的GPS坐標(biāo)等飛行狀態(tài)數(shù)據(jù)經(jīng)過(guò)打包封裝成數(shù)據(jù)幀,經(jīng)過(guò)串口傳輸出去。經(jīng)過(guò)改進(jìn)后的代 碼,在不破壞包括遙控器控制等原有功能情況下,支持了基于PC控制的飛行功能,并且能將 飛行狀態(tài)數(shù)據(jù)通過(guò)串口及時(shí)返回給上位機(jī)。
[0051] 3)、視頻數(shù)據(jù)采集與回傳
[0052]飛行器上搭載ARM主控板,加裝有視頻數(shù)據(jù)采集模塊,利用機(jī)載ARM主控板提取攝 像頭數(shù)據(jù),并將獲得的圖像信息進(jìn)行壓縮編碼,利用WiFi或3G等無(wú)線傳輸方式回傳至PC端 地面控制平臺(tái),通過(guò)PC端地面控制平臺(tái)進(jìn)行顯示。
[0053](二)PC端地面控制平臺(tái):通過(guò)編程設(shè)計(jì)在PC端搭建地面控制平臺(tái),作為人機(jī)交互 界面。一方面可以向飛行器傳送控制指令,另一方面集成了飛行器地理位置信息,并通過(guò)可 視化的地圖界面來(lái)顯示,并且接收來(lái)自飛行器的各類(lèi)飛行狀態(tài)信息、圖像視頻信息,通過(guò)可 視化監(jiān)測(cè)界面展示給用戶。
[0054 ] PC端地面控制平臺(tái)的結(jié)構(gòu)分為三部分,V i ew視圖層、Con tro 1控制層、Da t a數(shù)據(jù)層, 該平臺(tái)擁有PC控制面板與回傳視頻顯示功能。
[0055] l)、View 視圖層
[0056] PC端地面控制平臺(tái)的視圖層包括數(shù)據(jù)顯示、地圖設(shè)置和實(shí)時(shí)視頻三個(gè)選項(xiàng)卡。在 地圖設(shè)置選項(xiàng)卡中可以選擇相應(yīng)的地圖選項(xiàng);實(shí)時(shí)視頻選項(xiàng)卡部分則接收來(lái)自飛行器回傳 的視頻,并進(jìn)行實(shí)時(shí)顯示;數(shù)據(jù)顯示這一選項(xiàng)卡為默認(rèn)界面,接收飛行器采集的環(huán)境信息、 地理位置坐標(biāo)等信息,進(jìn)行可視化展示,該面板運(yùn)用百度地圖的API進(jìn)行坐標(biāo)換算與地圖顯 示,并可進(jìn)行縮放、放大、移動(dòng)、標(biāo)點(diǎn)。
[0057]除以上三個(gè)選項(xiàng)卡外,視圖層中還包含了飛行器的飛控視圖,提供多個(gè)按鈕,實(shí)現(xiàn) 對(duì)飛行器的控制??刂苾?nèi)容包含飛行姿態(tài)控制、圖像接收和停止、傳感器數(shù)據(jù)采集等。其中 飛行器姿態(tài)控制包含但不只限于笛卡爾坐標(biāo)軸的7 &?^〇11、?^(*。點(diǎn)擊相應(yīng)連接按鈕可建 立與飛行器的通信,然后點(diǎn)擊監(jiān)聽(tīng)按鈕,觸發(fā)按鈕監(jiān)聽(tīng)器,傳輸所需的字符串命令到控制 層,最后控制層就會(huì)把接收到的飛控指令放到指定的通信信道進(jìn)行傳送。控制層在下方有 詳細(xì)介紹。
[0058] 2)、Control控制層
[0059] 控制層包括Control. java模塊和Direction, java模塊,采用多線程通信。倉(cāng)I」造套 接字通信端口,連接成功后,建立輸入輸入流信道,將觸發(fā)監(jiān)聽(tīng)器的字符串命令傳輸?shù)斤w行 器上,完成飛控指令傳輸。
[0060]在Control, java模塊的主要控制層代碼中采用套接字通訊模式,建立IP與端口號(hào) 的連接,并創(chuàng)建輸入輸出通信信道。其內(nèi)容包含:
[0061 ] 1、初始化,new 創(chuàng)建一個(gè)類(lèi) runThread
[0062] 2、runThread包含數(shù)據(jù)成員private Socket s
[0063] 3、runThread包含負(fù)責(zé)處理控制的Socket方法
[0064] 4、runThread包含接收輸入流的方法,接收監(jiān)聽(tīng)器傳送的套接字地址,字符串命 令,和通信信道
[0065] 5、runThread包含輸出流的方法,將socket接收到的流在檢查無(wú)誤后輸出
[0066] Direction, java模塊采用多線程通信,主要實(shí)現(xiàn)飛控?zé)o阻塞指令傳輸。每次若通 訊指令發(fā)送成功,可在后臺(tái)檢測(cè)到發(fā)送的成功指令。
[0067]此外,控制層還有Mysql · java模塊,Mysql · java模塊里面編譯了連接數(shù)據(jù)庫(kù)的方 法以及數(shù)據(jù)庫(kù)的功能應(yīng)用,如建立數(shù)據(jù)庫(kù)鏈接、查詢、增加、刪除、修改等,當(dāng)啟動(dòng)程序后,主 板的構(gòu)造器就