楊 尹,邵偉平
(沈陽理工大學(xué),遼寧 沈陽 110158)
無人機是一種具有懸停、過渡和前進三種飛行模式的飛行器,可以替代某些人工作業(yè),可以在無跑道的條件下實現(xiàn)長距離運輸,具有耐久性長、流動性高、無場地限制等優(yōu)點,逐漸在城市空中交通領(lǐng)域發(fā)揮重要作用[1]。
國內(nèi)目前對無人機的研究在控制方法和仿真實驗方面的研究比較多,文獻[2]在無人機高度控制方面,提出了基于模糊-粒子群算法的復(fù)合智能控制方法,提升了控制精度,通過實驗表明控制方法具有較高的魯棒性能。文獻[3]針對無人機姿態(tài)控制問題,建立了無人機數(shù)學(xué)模型,在此基礎(chǔ)上提出了仿人PID智能控制算法,通過仿真驗證表明所提方法具有較好的穩(wěn)定性和魯棒性能。文獻[4]針對四旋翼無人機控制系統(tǒng),設(shè)計了二階PD控制算法,提升了控制精度,有效抑制了抖振現(xiàn)象,通過仿真驗證了算法的有效性。文獻[5]設(shè)計了6自由度四四旋翼無人機姿態(tài)控制系統(tǒng),基于廣義動態(tài)模糊神經(jīng)網(wǎng)絡(luò)(GD-FNN)和Lyapunov函數(shù)對控制系統(tǒng)的魯棒性進行了分析,表明該系統(tǒng)具有較強的抗干擾能力。文獻[6]針對無人機安全冗余差等問題,在嵌入式系統(tǒng)的基礎(chǔ)上設(shè)計了基于GPS的無人機飛行控制系統(tǒng),提升了無人機的通訊性能。文獻[7]針在AirSim仿真平臺的基礎(chǔ)上,對無人機搜索偵察模式進行了仿真與分析,在所提模式分析指標的基礎(chǔ)上表明所提方法的合理性。其他與無人機控制方法和仿真實驗的參考文獻有[8-11],這些研究為無人機的研究提供了重要參考價值。
無人機在工程上的飛行實驗成本高、風險大[12],本研究的目的針對三翼式無人機的半實物控制方案的軟硬件設(shè)計性能提供驗證方法。首先,根據(jù)無人機飛行器的建立數(shù)學(xué)模型和控制原理,數(shù)學(xué)模型的關(guān)鍵參數(shù)通過辨識實驗獲取,提出了由模式切換策略、層次控制器和控制分配算法組成的無人機控制方案。為了驗證控制方案的有效性,研制了包括自動駕駛儀、地面控制站和X-Plane在內(nèi)的半實物仿真系統(tǒng),結(jié)果表明飛行器在過渡模式下的姿態(tài)和高度具有較高的跟蹤精度,驗證了無人機控制方案的有效性。該仿真系統(tǒng)可以在飛行實驗前發(fā)現(xiàn)并修改缺陷或問題,可以降低飛行實驗的風險和成本,提高開發(fā)效率。
所設(shè)計的三翼式無人機結(jié)構(gòu)模型,包括三個旋翼、兩個伺服、升降舵和副翼,如圖1所示。無人機在飛行過程中存在懸停、過渡和前進三種飛行模式。兩個前旋翼可以通過舵機傾斜,使飛機可以在不同的模式下飛行。兩個傾斜伺服系統(tǒng)嵌入在機艙中,兩個前旋翼能夠相對于垂直軸在[30°,-90°]范圍內(nèi)傾斜,后旋翼垂直安裝。
圖1 無人機機身結(jié)構(gòu)示意圖Fig.1 Structural Diagram of UAV Fuselage
考慮到分層控制結(jié)構(gòu),通過調(diào)整飛行器姿態(tài)實現(xiàn)位置控制。在懸停模式下,三個旋翼和兩個伺服系統(tǒng)用于姿態(tài)的控制。左右旋翼之間的不同推力用于控制側(cè)傾運動,后旋翼可以補償前旋翼產(chǎn)生的力矩,以實現(xiàn)穩(wěn)定無人機的姿態(tài)。在前進模式下,升降舵和副翼分別用于俯仰和滾轉(zhuǎn)控制。偏航運動是通過調(diào)整兩個前旋翼的推力來實現(xiàn)的,后旋翼在前進模式下保持關(guān)閉。懸停和前進模式下的飛行姿態(tài)控制原理,如圖2所示。
圖2 飛行姿態(tài)控制原理Fig.2 Principle of Flight Attitude Control
兩個旋翼的傾斜角分別用α1和α2表示,旋翼i的推力Fi受轉(zhuǎn)速ωi的影響。δa表示副翼偏轉(zhuǎn)角,δe表示升降舵偏轉(zhuǎn)角。無人機的數(shù)學(xué)模型包括運動學(xué)方程、導(dǎo)航方程、力方程和力矩方程,其表達式為[13]:
其中,Δ的表達式為:
質(zhì)心在全局坐標系中的位置表示為χ=[X,Y,Z]T,飛機的線速度表示為V=[u,v,w]T,m為質(zhì)量,ωb=[p,q,r]T表示旋轉(zhuǎn)角速度,Θ=[Ф,θ,ψ]T表示歐拉角,Ib是機體的慣性矩陣。RBER表示局部坐標系到全局坐標系的旋轉(zhuǎn)矩陣,RBET表示局部坐標系到全局坐標系的變換矩陣。施加在飛行器上的力和力矩分別用Fb和τb表示。
本研究通過引入X-Plane飛行模擬器來建立飛機的動力學(xué)模型,為此需獲取原型的參數(shù)以設(shè)計三維飛行模型。采用復(fù)擺法和雙線扭擺法測量無人機的轉(zhuǎn)動慣量[14],通過帶傳感器的自動駕駛儀記錄姿態(tài)的變化來獲取振蕩周期。
對不同的軸分別進行三組實驗測量,取平均值作為理論振蕩周期。根據(jù)振蕩周期的取值,可得三軸的轉(zhuǎn)動慣量如下:
采用智能測力儀對旋翼進行測試,該測力儀可以記錄力、力矩和轉(zhuǎn)速的值。由旋翼、測力計、鋰電池和計算機組成的測試系統(tǒng),如圖3所示。在空氣密度恒定的情況下,推力和轉(zhuǎn)矩可以通過式(4)來計算[15]。
圖3 旋翼測試系統(tǒng)示意圖Fig.3 Schematic Diagram of Rotor Test System
對旋翼試驗后,可以用最小二乘法獲取旋翼的推力系數(shù)kf和扭矩系數(shù)kd。根據(jù)電機和螺旋槳的規(guī)格,旋翼所能提供的最大推力約為53.3N,曲線擬合結(jié)果,如圖4所示。則旋翼系數(shù)取值如下:
圖4 旋翼測試結(jié)果Fig.4 Test Results of the Rotor
通過調(diào)整旋翼的傾斜角來實現(xiàn)偏航控制,本研究提出一種實用的方法來估計飛行控制的傾斜角度。首先要建立角度與命令之間的函數(shù)關(guān)系,然后根據(jù)命令在線估計傾斜角度。在校準過程中,第一步將角度測量儀固定在旋翼上,通過調(diào)節(jié)自動駕駛儀的輸出指令來改變傾斜角度,并記錄不同指令對應(yīng)的傾斜角度值。
第二步,通過對記錄的數(shù)據(jù)進行擬合,得到傾斜角度α1、α2和命令η1、η2的函數(shù)表達式,擬合后得到的函數(shù),如式(6)所示。
可以看出,給定相同的命令時,兩個旋翼的傾斜角不同,這主要是由安裝誤差造成,可根據(jù)校準結(jié)果進行解決。通過式(6),可以根據(jù)傾斜角度的估計設(shè)計解耦控制分配算法[16],同時能夠在沒有角度傳感器的情況下實現(xiàn)傾斜角度的精確控制。命令η1和η2由期望的傾斜角求解,然后由伺服驅(qū)動兩個前旋翼到期望的傾斜角,該估計方法可以將傾斜角度誤差限制在2°以內(nèi)。
無人機控制方案包括模式切換策略、層次控制器和控制分配??紤]懸停模式、轉(zhuǎn)向模式和前進模式的存在,設(shè)計了實現(xiàn)安全模式轉(zhuǎn)換的模式轉(zhuǎn)換策略。針對傾斜三旋翼無人機的欠驅(qū)動系統(tǒng),提出了一種基于PID的位置和姿態(tài)層次控制器,提出了控制分配方法,將虛擬控制命令映射到飛機的操縱輸入。
控制系統(tǒng)的目的是穩(wěn)定飛行中的高度和姿態(tài),根據(jù)模式切換指令和飛行速度,設(shè)計了模式切換策略。為了清楚地說明轉(zhuǎn)換過程,從懸停模式到前進模式的轉(zhuǎn)換稱為轉(zhuǎn)換階段,從前進模式到懸停模式的轉(zhuǎn)換稱為再轉(zhuǎn)換階段。
在轉(zhuǎn)換階段中,首先控制器收到轉(zhuǎn)換命令后,兩個前旋翼在Tf1時間內(nèi)向前傾斜角度Pf。隨著傾斜角度的增加,空氣速度增加,機翼開始產(chǎn)生升力。當空氣速度達到Vf時(能補償重力),所有旋翼關(guān)閉,同時兩個前旋翼在Tb時間內(nèi)向前傾斜到水平位置。最后飛行器進入前進模式,并以Vc速度運行。再轉(zhuǎn)化階段是一個相對簡單的過程,當控制器接收到重新轉(zhuǎn)換命令后,兩個前旋翼關(guān)閉并在Tb時間內(nèi)向后傾斜到垂直位置,隨后飛行器進入懸停模式,開始減速飛行。在控制過程中,Tb和Tb應(yīng)設(shè)置足夠小,以確保飛行過渡過程中的穩(wěn)定。
針對傾斜三旋翼無人機為欠驅(qū)動系統(tǒng),提出了一種基于PID的遞階控制器來實現(xiàn)位置和姿態(tài)的控制。在懸停模式和前進模式中分別采用兩種控制器,懸??刂破饕部梢杂糜谶^渡模式,飛行控制系統(tǒng)的框圖,如圖5所示。對于懸??刂破鳎猸h(huán)用于位置控制,它從導(dǎo)航器接收所需位置,并在全局坐標系中輸出所需推力矢量[Ux,Uy,Uz]T。根據(jù)逆變換和期望偏航角ψd,可以求解期望俯仰角θd和滾轉(zhuǎn)角φd,虛擬推力TH。內(nèi)環(huán)姿態(tài)控制器接收期望角度并提供虛擬控制扭矩[R,P,Y]T,虛擬推力和控制力矩是分配器的輸入量,然后根據(jù)控制分配算法得到執(zhí)行器的控制輸入量。
圖5 飛行控制系統(tǒng)框圖Fig.5 Block Diagram of Flight Control System
對于前進控制器,外環(huán)位置控制器由縱向控制和橫向控制組成。橫向控制采用L1導(dǎo)航邏輯,通過期望位置和當前位置得到期望的偏航角ψd和滾轉(zhuǎn)角φd。縱向控制采用總能量控制方法,根據(jù)高度和空速獲得期望俯仰角θd和虛推力TH。不同飛行模式下的姿態(tài)控制器有兩個回路,包括角度回路和角速率回路,角度回路使用P控制器為角速率回路生成期望角速率。然后,由基于PID控制器的角速率回路提供虛擬控制轉(zhuǎn)矩[R,P,Y]T。
控制分配算法實現(xiàn)控制輸入到操縱輸入的映射[17],本研究中的無人機有四個虛擬控制輸入,即R,P,Y和TH,其中R與滾轉(zhuǎn)控制直接相關(guān),P用于俯仰的控制,Y與偏航控制相關(guān),TH控制飛行高度。無人機有五個執(zhí)行器,包括三個旋翼和兩個伺服器。根據(jù)執(zhí)行器的響應(yīng)速度,實際輸出的可分為兩部分:
第一部分,由R,P和TH求得三個旋翼的轉(zhuǎn)速,右旋翼、左旋翼、后旋翼分別標記為1,2,3,可以根據(jù)式(6)確定傾斜角度。
其中:
向量[rix,riy,riz]表示旋翼i的位置,考慮飛機的對稱性,有r2y=-r1y和r2x=r1x。則矩陣H的行列式可以寫成:
對于懸停模式和轉(zhuǎn)向模式,傾斜角度的范圍為(-90°,30°),考慮兩個前旋翼的差動控制,存在α1+α2≤0,則可以得出結(jié)論:
根據(jù)上面的推導(dǎo),從而可以得到轉(zhuǎn)速為:
第二部分,需要根據(jù)Y確定兩個傾斜角度。飛行器的偏航控制是通過兩個前舵機產(chǎn)生不同傾角來實現(xiàn),考慮到可以通過向相反方向傾斜兩個前旋翼來有效調(diào)整偏航運動,傾斜角度可以表示為:
式中:δ—一個微小的常數(shù),取決于最大傾斜角和相應(yīng)的偏航力矩;α0—初始角,與飛行模式有關(guān),α0=0表示懸停模式。
本研究設(shè)計的無人機三維模型的主要結(jié)構(gòu)參數(shù),如表1所示。
表1 無人機結(jié)構(gòu)參數(shù)Tab.1 UAV Structure Parameters
無人機半實物仿真系統(tǒng)示意圖,如圖6所示。該仿真系統(tǒng)由專用的自動駕駛儀、X-Plane 模擬器和地面控制站組成,采用開源的可解析和封裝UDP報文的地面控制站,可以在X-Plane環(huán)境下與無人機進行連接。該控制方案采用C語言編程實現(xiàn),自動駕駛儀硬件被放置在仿真回路中,以測試和驗證硬件和控制方案,接收X-Plane模擬的飛機狀態(tài)并輸出控制命令。控制命令被發(fā)送到X-Plane模型,用來控制飛行模式的速度、傾斜角度等參數(shù)。自動駕駛儀嵌入了兩個ARM Cortex-M4 微控制器,頻率高達168MHz。此外,自動駕駛儀集成了三軸陀螺儀、三軸加速器、三軸磁場計、氣壓高度計和空速計。與外部GPS模塊相連接的自動駕駛儀可以執(zhí)行預(yù)定的任務(wù),自動駕駛儀的接口資源包括1個串行外設(shè)接口(SPI)、1個S總線(RC接收器)、2個CAN總線、4個串口和16個PWM 輸出。串行端口與地面控制站通信,RC接收器通過S總線端口向自動駕駛儀發(fā)送手動控制信號。為了驗證控制方案并測試半實物仿真系統(tǒng),設(shè)置了預(yù)定的航空飛行任務(wù),半實物仿真中模式轉(zhuǎn)換的關(guān)鍵參數(shù),如表2所示。飛機在收到起飛指令后,能夠自動執(zhí)行任務(wù)。
表2 模式轉(zhuǎn)換的參數(shù)Tab.2 Parameters for Mode Transition
圖6 無人機半實物仿真系統(tǒng)示意圖Fig.6 Schematic Diagram of UAV Semi-Physical Simulation System
本研究的半實物仿真任務(wù),如圖7所示。
圖7 飛行器仿真中的飛行軌跡Fig.7 Flight Trajectory of the Aircraft in Simulation
飛行任務(wù)包括15個航路點,其中航路點1和航路點14用于模式轉(zhuǎn)換,飛行器在懸停模式下起飛,飛至航路點1,然后根據(jù)轉(zhuǎn)換策略進入轉(zhuǎn)換階段。當空速達到Vf時進入前進模式,在前進模式下從路徑點2飛到路徑點13,到達航路點14后,高度下降到25米,飛行器根據(jù)再轉(zhuǎn)換策略進入懸停模式。飛行任務(wù)的最后階段為懸停模式,由于進入懸停模式時空速仍然較大,飛機在空氣動力的影響下開始減速飛行。當空速小于5m/s時,飛機飛到最后一個航路點并降落。整個飛行過程通過遙控指令完成飛行任務(wù),并在365s時間內(nèi)完成??账俸透叨?,如圖8所示。
圖8 仿真中飛行器的空速和高度Fig.8 Airspeed and Altitude in Simulation
陰影區(qū)域表示轉(zhuǎn)換和再轉(zhuǎn)換階段。前進模式下的巡航空速設(shè)置為Vc=20m/s,這是基于樣機的氣動分析和飛行試驗得出的。由于進入前進模式時空速較低,飛機高度先下降約5m,然后在前進模式下爬升并以足夠的推力加速。在200s和260s之間空速曲線有兩個峰值。飛機在通過航路點11和12時需要左轉(zhuǎn),高度明顯降低,所以空速和高度曲線有波動。在280s左右,飛行器完成再轉(zhuǎn)換階段,然后在懸停模式下通過增加俯仰角開始減速,280s左右高度的增加是由空氣動力學(xué)引起的。當空速降至0m/s后,飛機以小于5m/s的速度飛到最后一個航路點。
飛行器在半實物仿真中的滾轉(zhuǎn)角、俯仰角和偏航角,如圖9所示。該層次控制器使飛機獲得了良好的姿態(tài)控制性能。在284s和289s之間的期望俯仰角約為0.52rad,這是懸停模式下的最大期望俯仰角,從而飛機能夠以正俯仰角減速。
圖9 飛機在仿真中的姿態(tài)Fig.9 Attitude of the Aircraft in Simulation
兩個前傾伺服系統(tǒng)的控制輸入信號,如圖10所示。脈寬調(diào)制(PWM)信號用于驅(qū)動執(zhí)行器,范圍為(1000~2000)(占空比0%~100%)??梢钥闯鰞蓚€旋翼在轉(zhuǎn)換階段同時向前傾斜,但是兩個旋翼在再轉(zhuǎn)換階段直接向后傾斜至垂直位置。在懸停模式下,存在一個恒定的差動角,用于處理后旋翼產(chǎn)生的扭矩。在懸停模式和過渡模式下,偏航運動的傾斜角差分控制得到了清楚的證明。
圖10 仿真中兩個前旋翼的指令Fig.10 Commands of Two Front Rotors in Simulation
從上述仿真分析可以看出,可以看出在半實物仿真的姿態(tài)能夠準確地跟蹤參考角度,再轉(zhuǎn)換階段后的海拔波動限制在10m以內(nèi),說明該仿真系統(tǒng)有助于測試和驗證自動駕駛儀和控制方案。
介紹了三翼式無人機半實物仿真控制系統(tǒng)的設(shè)計與仿真分析,針對所設(shè)計的飛行器,給出了控制原理和數(shù)學(xué)模型,通過辨識實驗得到了旋翼的轉(zhuǎn)動慣量、質(zhì)量和系數(shù)等關(guān)鍵參數(shù)??刂品桨赣赡J角袚Q策略、層次控制器和控制組成,提出了傾斜三旋翼無人機的控制分配方案。為了提高飛行實驗的效率,降低飛行實驗的風險,研制了包括自動駕駛儀、地面控制站和X-Plane在內(nèi)的半實物仿真系統(tǒng)。通過半實物仿真系統(tǒng)對無人機進行了仿真飛行分析,結(jié)果表明飛行器在過渡模式下的姿態(tài)和高度具有較高的跟蹤精度,該仿真系統(tǒng)可以在飛行實驗前發(fā)現(xiàn)并修改缺陷或問題,能夠為無人機的研制提供一種可替代的驗證方法。