徐 光,葉 明,王慶豐,于 燁
(1.海裝駐上海地區(qū)第十軍事代表室,上海 201800;2.上海微波設(shè)備研究所,上海 201802;3.中國科學院微電子研究所,北京 100029;4.中國科學院大學微電子學院,北京 100049)
隨著科學技術(shù)的飛速發(fā)展,無人機的應(yīng)用領(lǐng)域越來越廣泛。近年來,由于這項技術(shù)的日臻完善,使其在社會的諸多領(lǐng)域發(fā)揮著重要的作用。無人機具有操作簡單,方便靈活,體積小巧,功能多樣,成本較低,野外生存率高等優(yōu)點,在野外搜救、高空航拍、勘探測繪、氣象探測、森林防火巡視等諸多領(lǐng)域得到了廣泛的應(yīng)用[1]。在當今國際社會,無人機技術(shù)的發(fā)展象征著國家科學技術(shù)的進步,并且無人機的發(fā)展促進了社會生產(chǎn)力的提高,因此近幾年無人機技術(shù)的發(fā)展得到了國家的高度重視?;诖?,本文設(shè)計了一款適用于野外搜尋與探測的無人機飛行系統(tǒng)。該款四旋翼飛行器具有環(huán)境適應(yīng)能力強、穩(wěn)定性高和易于控制等優(yōu)勢。
該系統(tǒng)使用STM 32作為核心處理器,該處理器基于ARM Cortex-M3內(nèi)核架構(gòu),具有低成本、低功耗和高性能的優(yōu)勢。系統(tǒng)通過移植UCOS-III實時操作系統(tǒng),提高了運行效率及實時處理能力[2-4]。
硬件電路上,系統(tǒng)由飛行系統(tǒng)、遠程控制系統(tǒng)兩部分構(gòu)成。
飛行系統(tǒng)的外圍硬件電路主要包括陀螺儀MPU6050、氣壓傳感器MS 5611、無線通信模塊、GPS模塊、液晶OLED模塊、攝像頭模塊、超聲波避障模塊、電子調(diào)速器和電源電路等。陀螺儀MPU6050用于反饋飛行器的姿態(tài)角位置信息,氣壓傳感器MS5611用于檢測飛行器所處高度的氣壓值, 2.4 GHz無線模塊用于控制飛行器的穩(wěn)定飛行, 5.8 GHz無線模塊用于實現(xiàn)圖像數(shù)據(jù)的實時傳輸, GPS模塊用于獲得實時定位信息及一鍵返航功能,攝像頭模塊和液晶OLED模塊用于將飛行器捕捉的畫面信息顯示給地面控制, 現(xiàn)場可編程門陣列(FPGA)芯片用于實現(xiàn)圖像壓縮編碼算法,超聲波模塊用于進行實時避障,電子調(diào)速器用于實現(xiàn)飛行器變速功能,電源電路用于提供模塊所需的電源電壓。其中,主控芯片STM 32與FPGA、GPS連接,均采用串行接口的連接方式;傳感器與控制芯片的連接,采用集成電路(IIC)總線接口的連接方式;STM 32與電子調(diào)速器之間傳遞脈沖寬度調(diào)制(PWM)控制信號。飛行系統(tǒng)結(jié)構(gòu)如圖1所示。遠程控制系統(tǒng)的外圍硬件電路包括2.4 GHz無線接收模塊、5.8 GHz無線發(fā)送模塊、下位機電路和下位機與上位機的接口電路等,遠程控制系統(tǒng)結(jié)構(gòu)如圖2所示。通過系統(tǒng)之間組合,實現(xiàn)定點、定高飛行及全自動探測功能。
圖1 飛行系統(tǒng)結(jié)構(gòu)框圖
圖2 遠程控制系統(tǒng)結(jié)構(gòu)框圖
在軟件及算法實現(xiàn)上,該系統(tǒng)采用四元數(shù)加互補濾波器作為姿態(tài)解算算法[5],采用經(jīng)典的比例積分微分(PID)控制器控制舵機和無刷電機[6],采用MPEG-4圖像壓縮編碼算法,使用C++設(shè)計并且實現(xiàn)了用于控制及數(shù)據(jù)采集的上位機程序,方便系統(tǒng)調(diào)整參數(shù)及數(shù)據(jù)整合。
由于飛行器的設(shè)計要求,本系統(tǒng)需要控制其整體重量。因此,在電池選取上,優(yōu)先考慮體積小、重量輕,容量較大的鋰電池。系統(tǒng)的控制芯片為STM32,其所需的供電電壓為3.3 V,同時傳感器MPU 6050、MS 5611均采用3.3 V電壓供電,F(xiàn)PGA為ALTERA公司生產(chǎn)的Cyclone IV系列芯片EP4CE6E22C8,它需要3.3 V、2.5 V、1.2 V 3種供電電壓。其他模塊,如GPS模塊、OLED模塊等均使用5 V電壓供電。
電池使用25C 5 000 m Ah的4 S鋰電池,電池供電電壓為14.8 V。因此,為了系統(tǒng)各模塊的正常工作,本系統(tǒng)將鋰電池的電壓調(diào)到各模塊工作的正常電壓范圍內(nèi)。通過綜合考慮本系統(tǒng)多電平的供電要求及系統(tǒng)設(shè)計的便利性,該系統(tǒng)的電源電路采用LM1117-1.2、LM1117-2.5、LM1117-3.3和LM2940-5等4種穩(wěn)壓芯片。鋰電池電壓經(jīng)過LM2940-5芯片降到5 V后,再分別使用LM1117-1.2、LM1117-2.5、LM1117-3.3等芯片將5 V電壓降為1.2 V、2.5 V和3.3 V。
飛行器的核心是主控模塊,它應(yīng)能采集多路模擬信號,輸出PWM脈沖控制信號,并具有脈位調(diào)制(PPM)信號捕獲解碼的能力。另外,它還應(yīng)具有FPGA的交互接口、傳感器數(shù)據(jù)的傳輸接口和多個通信的信道接口。因此,綜合各方面因素考慮,采用STM 32作為控制的核心芯片,該芯片功耗低,穩(wěn)定性好,運算處理能力強,并且具有多種接口標準,完全符合本系統(tǒng)設(shè)計的要求。
在視頻傳輸系統(tǒng)中,最大的障礙是大數(shù)據(jù)量的處理,一般單片機處理速度達不到這么高的要求,因此對芯片的處理能力提出了更高的要求。綜合各方面的考慮,本系統(tǒng)使用ALTERA公司生產(chǎn)的Cyclone IV系列芯片EP4CE6E22C8,該款芯片性價比高,以硬件實現(xiàn)壓縮編碼算法,完全能夠滿足本系統(tǒng)的設(shè)計要求。攝像頭采用ALIENTEK生產(chǎn)的一款200 W高清攝像頭模塊,數(shù)字攝像頭采集的數(shù)據(jù)為 8-bit RAW格式的原始數(shù)據(jù)。
飛行器通過陀螺儀MPU 6050獲取姿態(tài)角數(shù)據(jù),為了提高數(shù)據(jù)的可靠性,本系統(tǒng)使用俯仰角與橫滾角同時作為姿態(tài)反饋,形成一個閉環(huán)控制回路[7-9]。為了提高它的穩(wěn)定性,系統(tǒng)加入角速率反饋來增加系統(tǒng)阻尼[10]。采用氣壓傳感器MS 5611實現(xiàn)飛行器的定高功能,采用超聲波模塊完成實時避障,遇障礙物報警。飛行器的精確位置信息可以通過GPS模塊獲取。
在傾斜狀態(tài)下,飛行器需要在最短時間內(nèi)回到平衡狀態(tài),這對執(zhí)行機構(gòu)的反應(yīng)速度要求比較高。針對本系統(tǒng)的研究,采用電子調(diào)速器控制無刷電機的運轉(zhuǎn),本系統(tǒng)使用的電子調(diào)速器模塊采用的是PWM信號,它的周期時長為20 ms。
本系統(tǒng)的軟件部分采用C語言編寫,完成了硬件平臺的初始化狀態(tài)。通過數(shù)據(jù)采集和信號解碼,更好地實現(xiàn)了姿態(tài)角的解算。主程序的流程如圖3所示。
圖3 主程序流程圖
在解算姿態(tài)角時,本系統(tǒng)將其融合遙控信息后,進行完整的解算和分析,以完成飛行器的控制。
在控制器方面,系統(tǒng)選擇PID控制器。PID控制器的參數(shù)是可調(diào)節(jié)的[11],對于所使用的對象沒有局限性,因此可以高效精確地分析模型。通過PID控制器可以較好地整合比例、微分和積分三個方面的參數(shù)設(shè)定,以達到最佳控制效果。PID控制表達式如下:
(1)
式中:kp為比例增益;Ti為時間積分常數(shù);Td為時間微分常數(shù);u(t)為輸出變量;e(t)為偏差數(shù)量。
在姿態(tài)角的控制上,系統(tǒng)將遙控器信號轉(zhuǎn)換成1個角度,并與解算出的測量角進行作差計算,得到偏差,最后將偏差乘以1個比例系數(shù)。由于任何一個系統(tǒng)都不可能非常精確,都會有一定的誤差,所以利用積分減少穩(wěn)態(tài)誤差。為了解決設(shè)定值不規(guī)則變化可能給系統(tǒng)帶來的不良影響,系統(tǒng)在姿態(tài)角計算上引入了PID算法,通過對陀螺儀角速度進行微分處理,而不是對設(shè)定值進行微分處理。因此,在設(shè)定值發(fā)生變化時,輸出量也不會發(fā)生改變,極大程度地改善了其性能。姿態(tài)控制系統(tǒng)如圖4所示。
設(shè)定3個控制量,分別為俯仰、橫滾和航向,并將其分別輸入到PID控制器中,則會得到3個輸出:pid_roll,pid_pitch,pid_yaw。
通過線性運算,部分代碼如下:
#define PIDMIX (X,Y,Z) Motor_Thr + pid_pitch* Y+ pid_roll*X + pid_yaw*Z
MOTOR1=MOTORLimit(PIDMIX(+1,+1,-1));//REAR_R 后右電機
MOTOR2=MOTORLimit(PIDMIX(-1,-1,-1));//FRONT_R 前右電機
MOTOR3=MOTORLimit(PIDMIX(-1,+1,+1));//REAR_L 后左電機
MOTOR4=MOTORLimit(PIDMIX(+1,-1,+1));//FRONT_L 前左電機
圖4 姿態(tài)控制系統(tǒng)框圖
本系統(tǒng)在圖像壓縮算法上,根據(jù)設(shè)計需求,采用經(jīng)典的MPEG-4圖像壓縮算法實現(xiàn)[12]。同時在圖像壓縮算法上,既要對外圍的硬件電路進行設(shè)計,也要完成相關(guān)軟件的設(shè)計。圖5為基于FPGA的MPEG-4編碼系統(tǒng)框圖。
圖5 基于FPGA的MPEG-4編碼系統(tǒng)框圖
傳統(tǒng)的解決方案是通過提高處理器的時鐘頻率,但隨著時鐘頻率的提高,系統(tǒng)功耗也會相對增大,因此傳統(tǒng)方法很難達到對圖像處理的要求。所以,為了降低功耗,提高壓縮效率,在視頻壓縮算法中引入流水線處理的思想,將一系列的視頻壓縮算法分割成不同模塊,每個模塊的操作都獨占一個處理單元,并與其他模塊在計算時間上互不相干,這是一種時間并行的處理思想。在視頻壓縮算法中,同樣引入圖像分割的概念,分割后的數(shù)據(jù)會及時分配給一個處理單元,可以避免算法中像素點重復(fù)運算和多像素相同運算的問題。
本系統(tǒng)采用串口傳輸協(xié)議將解算出的數(shù)據(jù)傳輸?shù)缴衔粰C進行姿態(tài)角的調(diào)試,通過四軸機體的搖動,可以得到如圖6所示的上位機數(shù)據(jù)曲線與姿態(tài)示意圖。
圖6 上位機數(shù)據(jù)曲線與姿態(tài)演示圖
在圖6中,曲線1代表俯仰,2代表橫滾角,3和4為姿態(tài)解算前后的姿態(tài)角。通過圖中曲線可以看出直接由加速度計算出的姿態(tài)角并不能真實反映變化情況。但是,由四元數(shù)算法解算后的姿態(tài)角反應(yīng)較快,噪聲較小。
PID的參數(shù)調(diào)節(jié)直接影響到該系統(tǒng)的控制效果。在該系統(tǒng)中采用湊試法進行PID參數(shù)設(shè)定。湊試法是一種通過實際閉環(huán)系統(tǒng)觀察系統(tǒng)響應(yīng)曲線的方法。在本系統(tǒng)中,通過觀察被調(diào)量、PID輸出、設(shè)定值3條曲線,判斷出kp、ki、kd對系統(tǒng)響應(yīng)的影響,反復(fù)調(diào)試,最終達到滿意響應(yīng),從而達到確定控制參數(shù)的kp、ki、kd的目的。在參數(shù)調(diào)節(jié)過程中遵循以下原則:
(1) 在輸出不振蕩時,增大比例增益P。
(2) 在輸出不振蕩時,減小積分時間常數(shù)Ti。
(3) 在輸出不振蕩時,增大微分時間常數(shù)Td。
(4) 一般步驟如下:
Step 1:確定比例增益P;
Step 2:確定積分時間常數(shù)Ti;
Step 3:確定微分時間常數(shù)Td;
Step 4:系統(tǒng)空載、帶載聯(lián)調(diào),再對PID參數(shù)進行微調(diào)處理,直至滿足我們的要求。
(5) 最終調(diào)試好的結(jié)果是有一個階躍響應(yīng),響應(yīng)由一大一小2個波組成,小波是大波的四分之一。
具體操作如下:
首先,將四軸固定在平衡臺上,讓飛行器獨立完成單軸平衡,觀察姿態(tài)角的穩(wěn)定性、響應(yīng)性和操縱性。然后,在調(diào)整參數(shù)時,應(yīng)先調(diào)P,然后將I、D設(shè)定為0。先給P賦一個小值P1,如果飛行器不能夠穩(wěn)定下來,則說明P1太小了。然后接著賦值一個較大的數(shù)P2,如果飛行器產(chǎn)生震蕩,則說明P2增大了。經(jīng)過反復(fù)試驗,可以找到P震蕩的臨界點P0。最后,保持P0不變,按照上述調(diào)節(jié)P的方法來調(diào)節(jié)D。當找到合適的P0、D0后,再加入I,參數(shù)從小到大,當誤差較小時,我們再對P、I、D3組參數(shù)在小范圍內(nèi)微調(diào),從而完成整個PID參數(shù)的設(shè)定,得到PID的參數(shù)值,如表1所示。
表1 PID參數(shù)調(diào)節(jié)
本文設(shè)計了一款適用于野外搜尋與探測的無人機飛行系統(tǒng)。該飛行系統(tǒng)通過2.4 GHz遙控器控制飛行器遠距離飛行,飛行器的飛行比較穩(wěn)定,實現(xiàn)了遠距離的搜尋與探測功能,而且飛行器有報警、障礙物躲避及氣壓計定高等功能,通過自動增穩(wěn)算法調(diào)節(jié)飛行器的運動參數(shù),極大地提高了飛行器的安全性和穩(wěn)定性,使其能夠適應(yīng)極其惡劣的環(huán)境。在遇到緊急情況時,通過GPS實現(xiàn)飛行器定位功能,使用路徑搜索算法,實現(xiàn)了GPS一鍵返航功能,防止飛行器在野外墜落和丟失。此外,該飛行系統(tǒng)圖像遠距離傳輸效果比較好,抗干擾能力強。即使在惡劣的環(huán)境也不會影響視頻傳輸?shù)馁|(zhì)量。圖像傳輸系統(tǒng)帶有兩軸云臺,實現(xiàn)了2個方向的多角度探測功能,并且云臺自帶增穩(wěn)功能,極大地消除了攝像頭機械抖動對視頻圖像質(zhì)量的影響。