謝海軍,梁湛民,王健
(北京理工大學(xué)珠海學(xué)院,廣東 珠海 519085)
隨著無(wú)人機(jī)編隊(duì)表演的興起,編隊(duì)飛行表演成為小型無(wú)人機(jī)發(fā)展的新方向[1-4]。目前,編隊(duì)表演是由成百上千架無(wú)人搭載LED燈光在空間組成點(diǎn)陣,通過(guò)燈光色彩編程控制每架無(wú)人機(jī)上LED光源的亮滅組成各種圖案[5-11]。但是,編隊(duì)表演形式存在一些不足,主要表現(xiàn)為需要無(wú)人機(jī)數(shù)量多、大批量摔機(jī)、單個(gè)掉落、單個(gè)飛走等,抗干擾能力有待加強(qiáng),而且每一次表演的費(fèi)用昂貴[12-15]。文中設(shè)計(jì)了一種新型的無(wú)人機(jī)編隊(duì)表演控制系統(tǒng),可降低無(wú)人機(jī)編隊(duì)表演成本。
無(wú)人機(jī)由飛控計(jì)算機(jī)、傳感器系統(tǒng)、GPS模塊和動(dòng)力系統(tǒng)等組成[15-16]。飛行控制系統(tǒng)被視為無(wú)人機(jī)的大腦,其核心是飛控計(jì)算機(jī),飛機(jī)是懸停還是飛行、向哪個(gè)方向飛都是由飛控下達(dá)指令;傳感器系統(tǒng)相當(dāng)于無(wú)人機(jī)的眼睛,用于實(shí)時(shí)測(cè)量和采集無(wú)人機(jī)數(shù)據(jù);GPS模塊用于對(duì)無(wú)人機(jī)進(jìn)行定位;通信模塊用于無(wú)人機(jī)和地面基站進(jìn)行通信;動(dòng)力系統(tǒng)由無(wú)人機(jī)的風(fēng)門(mén)、升降機(jī)、方向機(jī)、副翼和動(dòng)力電池組成,飛控計(jì)算機(jī)發(fā)出的指令給動(dòng)力系統(tǒng),從而完成各種動(dòng)作。
無(wú)人機(jī)飛控系統(tǒng)如圖1所示,其主要由遙控板和飛控板組成。無(wú)人機(jī)飛行控制系統(tǒng)是指能夠穩(wěn)定無(wú)人機(jī)飛行姿態(tài),并能控制無(wú)人機(jī)自主或半自主飛行的控制系統(tǒng)。飛控系統(tǒng)實(shí)時(shí)采集各傳感器測(cè)量的飛行狀態(tài)數(shù)據(jù)、接收無(wú)線電測(cè)控終端傳輸?shù)挠傻孛鏈y(cè)控站上行信道送來(lái)的控制命令及數(shù)據(jù),經(jīng)計(jì)算處理,輸出控制指令給執(zhí)行機(jī)構(gòu),實(shí)現(xiàn)對(duì)無(wú)人機(jī)中各種飛行模態(tài)的控制和對(duì)任務(wù)設(shè)備的管理與控制。同時(shí),將無(wú)人機(jī)的狀態(tài)數(shù)據(jù)及發(fā)動(dòng)機(jī)、機(jī)載電源系統(tǒng)、任務(wù)設(shè)備的工作狀態(tài)參數(shù)實(shí)時(shí)傳送給機(jī)載無(wú)線電數(shù)據(jù)終端,經(jīng)無(wú)線電下行信道發(fā)送回地面測(cè)控站。
圖1 無(wú)人機(jī)飛控系統(tǒng)
文中系統(tǒng)采取差分GPS定位方法,目的在于消除常規(guī)GPS技術(shù)中人為加入的系統(tǒng)誤差。差分系統(tǒng)由坐標(biāo)已知、固定不動(dòng)的基準(zhǔn)站和移動(dòng)站組成,其工作原理如下:
式中,i=1,2,…,n。
設(shè)基準(zhǔn)站A觀察j衛(wèi)星,測(cè)得偽距為:
式中,ρjAt為t時(shí)刻A至衛(wèi)星j的真實(shí)距離。送往移動(dòng)臺(tái)B點(diǎn)的差分改正為:
設(shè)基準(zhǔn)站B觀察j衛(wèi)星,測(cè)得偽距為:
式中,ρjBt為t時(shí)刻B至衛(wèi)星j的真實(shí)距離。送往移動(dòng)臺(tái)A點(diǎn)的差分改正為:
將A、B兩個(gè)測(cè)量點(diǎn)的偽距改成正數(shù)代入差分原理式(1)中,得:
假設(shè)A、B兩點(diǎn)間距不超過(guò)50 km,因而LjBtrop≈LjAion,LjAtrop≈LjBion。設(shè)d=c(VTB-Vtj),所以式(6)可簡(jiǎn)化為:
式(7)按臺(tái)勞級(jí)數(shù)展開(kāi)并整理得:
對(duì)式(8)按最小二乘法表示的偽距差分模型為:
整理得:
由式(10)可計(jì)算無(wú)人機(jī)之間的相對(duì)距離。該方法通過(guò)兩點(diǎn)GPS的差分消除兩個(gè)GPS中的共模誤差。
飛控板由STM32主控制器和MPU6000陀螺儀組成,其原理如圖2所示。主控制器根據(jù)當(dāng)前的任務(wù)指示結(jié)合控制算法,輸出適當(dāng)占空比的PWM波信號(hào),控制電源輸出的交變電流大小及尾部舵機(jī)轉(zhuǎn)向,由此完成四旋翼、固定翼、直升機(jī)的姿態(tài)控制飛行。飛控系統(tǒng)無(wú)需借助GPS融合或者磁場(chǎng)傳感器參與修正,就能保持長(zhǎng)時(shí)間的姿態(tài)控制。通過(guò)C語(yǔ)言編譯便可設(shè)置或者更改飛機(jī)種類、飛行模式、支持云臺(tái)增穩(wěn)等功能。由于地面站軟件集成了完整的電子地圖,因此可以通過(guò)電臺(tái)實(shí)時(shí)監(jiān)測(cè)飛機(jī)狀態(tài)。
圖2 飛控板原理圖
如圖3所示,以8×8×8的點(diǎn)陣為例。4架無(wú)人機(jī)在同一平面上飛行,組成一個(gè)正方形,搭載LED點(diǎn)陣的一個(gè)端點(diǎn)。同一平面內(nèi)有64個(gè)LED點(diǎn)陣,立體空間LED組成了512個(gè)點(diǎn)陣。編寫(xiě)圖案程序,并將指令發(fā)送至FPGA,由FPGA控制LED的亮滅,形成所需圖案。
圖3 LED點(diǎn)陣
設(shè)計(jì)采用FPGA芯片EP1C6QC240C8。系統(tǒng)根據(jù)LED點(diǎn)陣的要求,利用Avalon總線配置了32位CPU軟核以及ROM、RAM、SRAM、FIFO、SDRAM和DMA等片內(nèi)外資源。用C語(yǔ)言編寫(xiě)DMA控制程序,實(shí)現(xiàn)在FIFO與Avalon傳輸,同時(shí)還專門(mén)設(shè)計(jì)了LED控制器,以實(shí)現(xiàn)LED點(diǎn)陣顯示圖案的功能。使用FPGA的IO口來(lái)驅(qū)動(dòng)LED點(diǎn)陣的行,但由于IO口的輸出電流比較小,無(wú)法直接驅(qū)動(dòng)行方向的LED燈,所以要在IO口輸出管腳與點(diǎn)陣的行之間安裝一個(gè)PNP型的三極管,起到放大電流的作用。當(dāng)IO口給出低電平時(shí),三極管導(dǎo)通,三極管的另一端輸出高電平,點(diǎn)亮行向LED。行LED點(diǎn)陣行驅(qū)動(dòng)如圖4所示。以8×8×8的點(diǎn)陣為例,在8×8的平面內(nèi)需要布置64個(gè)三極管放大器,用于驅(qū)動(dòng)同一平面內(nèi)的LED燈。列驅(qū)動(dòng)采用FPGA,其本身就具有鎖存功能和移位輸出功能,且移位寄存器和輸出鎖存器的控制是相互獨(dú)立的,可實(shí)現(xiàn)在顯示一行的列數(shù)據(jù)同時(shí)傳送出下一行的列數(shù)據(jù)。LED點(diǎn)陣的列線接到FPGA的IO口上。主機(jī)給出指令顯示數(shù)據(jù),實(shí)現(xiàn)對(duì)LED點(diǎn)的控制。列LED點(diǎn)陣列驅(qū)動(dòng)如圖5所示。
圖4 行LED點(diǎn)陣行驅(qū)動(dòng)
圖5 列LED點(diǎn)陣列驅(qū)動(dòng)
圖6所示為飛行模塊主程序圖,電路通電后,各芯片進(jìn)行初始化,進(jìn)入按鍵掃描階段,此時(shí)系統(tǒng)處于待機(jī)狀態(tài)。
圖6 主程序圖
圖7所示為中斷控制流程圖程序,中斷源向MPU提出處理要求,MPU先暫時(shí)停止當(dāng)前的工作,而轉(zhuǎn)去處理另一件工作。具體步驟是首先要把中斷打開(kāi),當(dāng)有中斷時(shí),保護(hù)被中斷進(jìn)程現(xiàn)場(chǎng),將當(dāng)前PSW和PC等的值保存;接著,若有多個(gè)中斷同時(shí)發(fā)出請(qǐng)求,則進(jìn)入優(yōu)先級(jí)最高的中斷,處理數(shù)據(jù);之后恢復(fù)被中斷進(jìn)程現(xiàn)場(chǎng),返回主程序。
圖7 中斷控制流程圖程序
圖8所示為L(zhǎng)ED點(diǎn)陣顯示主程序,系統(tǒng)采用C語(yǔ)言編寫(xiě)LED點(diǎn)陣圖案程序,通過(guò)編譯器將源程序編譯成可執(zhí)行文件并下載,對(duì)可執(zhí)行程序進(jìn)行調(diào)試和運(yùn)行。主程序主要完成系統(tǒng)的初始化,其主要功能是:對(duì)于系統(tǒng)中的每一個(gè)微處理器,從設(shè)備都生成一個(gè)定義該設(shè)備地址的頭文件,為軟件開(kāi)發(fā)創(chuàng)建存儲(chǔ)器映射文件。DMA的操作通過(guò)中斷服務(wù)程序執(zhí)行,把需要送出的像素信息排成一行,順序送出形成數(shù)據(jù)流,借助于Avalon流模式外設(shè)的設(shè)計(jì)方法,實(shí)現(xiàn)一個(gè)Avalon流模式的LED控制器。利用DMA控制器在流模式控制器和SRAM之間建立一條DMA傳送通道,通過(guò)硬件來(lái)完成像素信息的自動(dòng)讀取。
圖8 LED點(diǎn)陣顯示主程序
文中提出一種新型無(wú)人機(jī)編隊(duì)表演方法,由4架無(wú)人機(jī)搭載LED燈帶組成點(diǎn)陣,控制點(diǎn)陣中LED的亮滅,實(shí)現(xiàn)各種所需圖案;該系統(tǒng)LED燈點(diǎn)陣可以擴(kuò)展,可由多架無(wú)人機(jī)LED平面燈組成空間立體,實(shí)現(xiàn)立體圖案。該系統(tǒng)用LED燈帶組成點(diǎn)陣,可以減小無(wú)人機(jī)數(shù)量,降低表演成本,具有一定使用推廣價(jià)值。