王智超,王林林,劉 春
(沈陽航空航天大學(xué)航空宇航工程學(xué)院,遼寧 沈陽 110136)
隨著航空技術(shù)的發(fā)展,無人機越來越走向高精度和小型化的道路,導(dǎo)航控制方式也由遙控方式向自主和智能方向發(fā)展,所以就要求作為控制核心的飛行控制系統(tǒng)具有精度高、體積小、穩(wěn)定性好等特點[1]。
飛行控制系統(tǒng)的核心是:飛行控制系統(tǒng)和導(dǎo)航系統(tǒng)。GPS定位系統(tǒng)已經(jīng)廣泛應(yīng)用于航空領(lǐng)域,使用GPS定位系統(tǒng)導(dǎo)航的某型號無人機控制方式包括以下3種:
(1)手動飛行。用操作桿操縱無人機飛行;
(2)手動半自動飛行。用手動遙控指令結(jié)合自動控制調(diào)整控制無人機飛行;
(3)程控自動飛行。使用真實飛機驗證導(dǎo)航系統(tǒng)和控制系統(tǒng)的可靠性存在一定的風(fēng)險,而且在訓(xùn)練無人機操作手時操作失誤的幾率更大,所以采用在實驗室里采用計算機仿真技術(shù)模擬無人機的飛行,在地面對其導(dǎo)航和控制系統(tǒng)進行仿真,設(shè)計導(dǎo)航和控制系統(tǒng)。通過模擬地面控制臺遙控指令或控制手柄來控制無人機的飛行,可以訓(xùn)練操作手在復(fù)雜環(huán)境下操作無人機的能力[2]。
系統(tǒng)主要有以下組成部分:無人機模型系統(tǒng)、飛行環(huán)境模擬系統(tǒng)、飛機動力學(xué)模型、飛行控制臺、GPS導(dǎo)航模型系統(tǒng),控制系統(tǒng)等。其設(shè)計示意圖如圖1如示:
圖1 系統(tǒng)設(shè)計示意圖
通過GPS獲取無人機位置坐標,將WGS-84坐標系[3]轉(zhuǎn)化為空間直角坐標,將這些數(shù)據(jù)傳輸給飛行控制系統(tǒng)。飛行控制系統(tǒng)根據(jù)導(dǎo)航數(shù)據(jù)實時控制無人機的姿態(tài)角,并將這些角度傳送給飛機動力學(xué)模型計算飛機的飛行數(shù)據(jù),實現(xiàn)模擬飛行,然后由OSG仿真系統(tǒng)實現(xiàn)顯示出來。對無人機飛行軌跡和真實航線軌跡數(shù)據(jù)對比,即可驗證導(dǎo)航系統(tǒng)的穩(wěn)定性和正確性。加設(shè)飛行環(huán)境模擬系統(tǒng),將飛行環(huán)境模擬系統(tǒng)的數(shù)據(jù)導(dǎo)入到動力學(xué)模型來模擬風(fēng)、雨等天氣對無人機飛行的影響,從而增加仿真系統(tǒng)的真實性。
飛行控制系統(tǒng)分為飛機姿態(tài)控制回路和航跡飛行控制回路,飛機姿態(tài)控制回路包括俯仰角控制回路、滾轉(zhuǎn)角控制回路、偏航角控制回路。其中俯仰角控制回路決定縱向飛行的穩(wěn)定性;滾轉(zhuǎn)角控制回路和偏航角控制回路決定了橫向飛行的穩(wěn)定性[4]。飛機姿態(tài)控制回路決定了飛機的穩(wěn)定性,每種飛機都有自己的控制律,可以適當?shù)卣{(diào)整增益系數(shù)的大小,既可以達到飛機的性能指標[5]。
航線飛行時,偏離航線的飛行通過副翼和方向舵協(xié)調(diào)控制予以糾正,這種控制的特點是航向信號送到副翼通道,同時副翼通道工作后產(chǎn)生的滾轉(zhuǎn)信號引入方向舵通道,具有一定角度的轉(zhuǎn)彎狀態(tài)下其控制律為式1:
其中φ為滾轉(zhuǎn)角,φ為偏航角,φg為給定航向角;Kφ、Kz、Kφ、Kφ.、Kφ
.為增益系數(shù)。通過實驗測試可以得到增益系數(shù)的大小。飛機實時位置到航線的水平距離作為側(cè)偏距,即Δz,如圖2所示
圖2 航跡仿真示意圖
P0點是飛機某一時刻的位置,可以從導(dǎo)航系統(tǒng)獲得。當前航線方向是從p1航點飛向p2點。側(cè)偏距的長度等于p0在xoy平面的投影p'1到當前航線p1p2在xoy平面的投影p'1p'2的距離,如圖2所示,線段 的長度即為側(cè)偏距的長度。由向量得到向量(X,Y,Z),向量的Z項的符號決定側(cè)偏距的正負,即確定飛機位于航線的左側(cè)還是右側(cè)。根據(jù)右手坐標系,當飛機的位置位于航線的左側(cè)時,向量的Z項為正;當飛機的位置位于航線的右側(cè)時,向量的Z項為負,這樣就可以求得側(cè)偏距。偏航角和滾轉(zhuǎn)角從動力學(xué)模型中獲得。當飛機處于航線自動飛行狀態(tài)下時,所有偏離航線的改變將由此控制回路予以糾正。
飛機沿航跡飛行時橫向控制是由自動糾偏控制來完成的,飛機的控制律的變化取決于側(cè)偏距、偏航角以及舵機效率。在手動控制切換到程控過程中,如果飛機偏離航跡線過遠,會出現(xiàn)側(cè)偏距和偏航角同時過大的情況,這時候飛機舵面的偏轉(zhuǎn)會非常大,容易引起飛行事故,通過加設(shè)虛擬航點的方式可以解決這種隱患的發(fā)生。以飛機的當前位置為虛擬航點,以此虛擬點作為航線的起點,以航線上離此點最近的未飛航點作為待飛航點,當飛機偏離實際航線的距離小于某一閥值時,刪除此虛擬點,重新進入正常航跡飛行狀態(tài)。真實側(cè)偏距的閥值可以通過實驗獲得,一般不要大于200 m。這樣既可以防止舵面偏轉(zhuǎn)過大的情況出現(xiàn),并且能以最經(jīng)濟的路線進入預(yù)定航線。
航跡點管理用于維持無人機在航跡飛行中的航跡信息和航跡點信息。固定翼飛機的航跡點管理具有通用性,可以設(shè)計完整的航跡點管理類CLineManage類。飛機在按航線飛行時,順序的經(jīng)過航線上的航跡點,可以通過棧實現(xiàn)CLineManage類,在C++中通過vector實現(xiàn),這種方式既可以保證飛機按照航點順序飛行,也可以保護航線不被非法修改,提高了控制系統(tǒng)的可靠性。
航跡點的信息主要包含該點的坐標、該點的類型,如果是盤旋點,還要附帶盤旋的時間。所以航跡點可以定義成數(shù)據(jù)結(jié)構(gòu)LinePoint,這個結(jié)構(gòu)包含坐標信息、類型、以及盤旋時間。航點類型主要用于標示飛機在該航點處所要做的動作,比如盤旋、8字飛行、進場等。
航跡管理類中需要定義航跡棧、已飛航跡棧、待飛航跡棧以及返航航跡棧。同時要定義飛機剛剛飛過的航跡點,以及下一個待飛航跡點,這兩點即為當前航跡的起點和終點,這兩個點分別是已飛航跡棧和待飛航跡棧的棧頂元素。以航跡棧為例,其定義方式為 vector<LinePoint> m_line-Points。航跡棧用于存儲整條航跡線上的所有航跡點;已飛航跡棧和待飛航跡棧分別用于存儲飛機飛過的和待飛的航跡點;返航航跡棧用于存儲返航時所要飛行的航跡點??梢允褂玫鱲ector<LinePoint>::iterator對各個棧數(shù)據(jù)進行操作。航跡管理除了提供對各個棧的出棧、入棧、清空等方法外,還應(yīng)提供刪除、修改、插入航點、判斷航點是不是航跡線上的點、以及查找距離某點最近的航點??梢愿鶕?jù)需要擴展此類。需要注意的是在向已飛航跡棧入棧數(shù)據(jù)時,需要判斷航點是不是航跡線上的點,如果不是則不允許入棧。
航線裝訂完畢的情況下,使用航跡管理類的情況主要包括:在起飛后尋找航線,航點切換、返航、選點飛行以及手控轉(zhuǎn)程控時尋找航線??梢詺w結(jié)為三種操作方式:沒有輔助航跡點的飛行、含有航跡輔助航跡的飛行以及返航。
(1)沒有輔助航跡點的飛行
這種飛行沒有輔助航跡的參與,當前航線的起點和終點都是航跡棧里的點,這種操作方式包括航點切換和選點飛行。航點切換時將待飛航跡棧出棧,并將出棧的元素入棧到已飛航跡棧;選點飛行保持已飛航跡棧不動,將待飛航跡棧出棧,直到棧頂元素和目標航點相同為止。
(2)含有航跡輔助航跡的飛行
這種飛行主要是針對尋找航線的操作。在飛行中為了安全飛行,添加了一些臨時航點,一旦飛機進入正常航線,這種航點將自動清除,繼續(xù)按航線飛行。這種控制方式是通過臨時航點和待飛航跡點作為自動糾偏航線,同時以已飛航跡棧的第一個點和待飛航跡點作為真實側(cè)偏距計算飛機和真實航線的偏差,當真實側(cè)偏距小于一個閥值的情況下,則刪除臨時航點,使用已飛航跡棧的第一個點作為當前航線的起點,終點不變。
(3)返航
在正常航線飛行時,飛機將未飛航跡棧作為飛機航線導(dǎo)航航跡,在返航的情況下則需要將返航航跡棧作為導(dǎo)航航跡,返航的位置是由飛機接到返航指令的位置決定的,所以返航航跡棧在返航函數(shù)中產(chǎn)生,其方法是將航跡棧復(fù)制出一個副本,將副本里的數(shù)據(jù)出棧,并將出棧的數(shù)據(jù)依次入棧到返航航跡棧內(nèi),切換航點時將返航航跡棧的航點出棧一次,并將該航點入棧到已飛航跡棧中。分別以已飛航跡棧和返航航跡棧的棧頂元素作為當前航線的起點和終點。既可以完成返航,這樣可以保證返航的控制方式和正常飛行的控制方式保持一致。
仿真系統(tǒng)的各子系統(tǒng)在 Visual C++.net 2005結(jié)合OSG環(huán)境下設(shè)計并完成。此系統(tǒng)用于驗證導(dǎo)航和控制系統(tǒng),以及訓(xùn)練無人機操作手,所以仿真時首先驗證飛機沿航線飛行能力,觀察控制系統(tǒng)的穩(wěn)定性。接著驗證在地面站指令下,飛機做航線切換、盤旋和著陸等任務(wù)。驗證系統(tǒng)的準確性和實用性。
(1)自主飛行。規(guī)劃好航線,由導(dǎo)航和飛行控制系統(tǒng)控制飛機沿航跡線自主飛行;
(2)程控狀態(tài)下通過指令調(diào)整飛機飛行狀態(tài)。通過指令使飛機完成盤旋、選點飛行、航線切換以及手動程控切換等任務(wù)。
無人機由機場跑道起始點A點起飛,在B手動轉(zhuǎn)程控進入航線飛行,沿CDEFC航線飛行,在C點處通過地面指令切換航線到GH航線。在G點做盤旋,在H點處發(fā)送進場指令。I點是距機場跑道起始點A約7000 m,經(jīng)過I點后,模擬下滑波束導(dǎo)引系統(tǒng)實施著陸。因為采用比例駕駛儀控制,飛機的軌跡和圍繞航線有輕微震蕩。進入航線正常飛行后,側(cè)偏距可以控制在20 m以內(nèi)。
圖3 仿真效果圖
本文研究了無人機自動控制仿真系統(tǒng)的實現(xiàn)方法,采用面向?qū)ο蠓椒?gòu)建了通用的航跡點管理類。根據(jù)轉(zhuǎn)彎控制律,結(jié)合俯仰角控制回路和航向糾偏控制回路,以及加設(shè)虛擬航點的控制策略,實現(xiàn)了無人機按照預(yù)定航線的飛行控制和在不同控制方式下無人機大姿態(tài)變化的安全控制,同時把側(cè)偏距限制在一定范圍內(nèi),增加了控制系統(tǒng)的準確度??捎糜谟?xùn)練無人機操作手,具有一定的工程價值。
[1]高建堯.某型無人機導(dǎo)航控制仿真與軟件實現(xiàn)[D].西安:西北工業(yè)大學(xué),2002.
[2]馬登武,葉文,于鳳全,等.虛擬現(xiàn)實技術(shù)及其在飛行仿真中的應(yīng)用[M].北京:國防工業(yè)出版社,2005.
[3]王小斌,閎建國,凌瓊.基于GPS仿真器的無人機導(dǎo)航系統(tǒng)半物理仿真研究[J].計算機測量與控制,2008,16(3):401 -406.
[4]楊俊鵬,祝小平.無人機傾斜轉(zhuǎn)彎非線性飛行控制系統(tǒng)設(shè)計[J].兵工學(xué)報,2009,30(11):1504 -1509.
[5]吳森堂,費玉華.飛行控制系統(tǒng)[M].北京:北京航空航天大學(xué)出版社,2005.
[6]王劃一.自動控制原理[M].北京:國防工業(yè)出版社,2001.
[7]盧惠民.飛行仿真數(shù)學(xué)建模與實踐[M].北京:航空工業(yè)出版社,2007.
[8]陳海,王新民,焦裕松,等.無人機覆蓋路徑規(guī)劃中轉(zhuǎn)彎機動的運動學(xué)分析[J].飛行力學(xué)學(xué)報,2010,28(2):31-34.
[9]郭佳,郭連成,張麗,等.基于OSG仿真系統(tǒng)視景平臺的研究與開發(fā)[J].沈陽航空工業(yè)學(xué)院學(xué)報,2010,27(4):1-4.