李 瑞, 史瑩晶, 李青松
(1. 電子科技大學(xué) 自動化工程學(xué)院, 成都 611731; 2. 中國船舶重工集團(tuán)公司 第七二二研究所, 武漢 225001)
與固定翼飛行器相比,四旋翼飛行器(以下簡稱:四旋翼)結(jié)構(gòu)簡單緊湊、機(jī)動性強(qiáng)、操控靈活、能源利用率高、安全性高,適合在近地面環(huán)境中執(zhí)行監(jiān)視、偵查等任務(wù),具有廣闊的軍事和民用前景,因而,吸引了大批科研人員進(jìn)行相關(guān)研究[1-6]。
由于四旋翼飛行器在動力學(xué)上具有靜不穩(wěn)定、欠驅(qū)動、強(qiáng)耦合、非線性等特點(diǎn),使得控制器設(shè)計與實(shí)現(xiàn)有較大難度。傳統(tǒng)的純數(shù)值仿真雖簡便、高效,但控制效果不夠直觀,且仿真環(huán)境過于理想化,難以真實(shí)地反映復(fù)雜的實(shí)際情況;而實(shí)物飛行測試雖直觀、真實(shí),但實(shí)驗(yàn)風(fēng)險大、成本高、周期長,并且容易受到天氣、環(huán)境等制約。
半實(shí)物仿真則介于純數(shù)值仿真和實(shí)物飛行之間,其將部分控制對象及控制裝置實(shí)物嵌入仿真系統(tǒng)結(jié)構(gòu)中,旨在保留數(shù)值仿真優(yōu)良特性的同時,不失被控對象的真實(shí)性。飛行器模型可從實(shí)物控制器采集到真實(shí)的信息,以此檢驗(yàn)飛控板的控制性能。同時,半實(shí)物仿真可靠、操作便捷,可謂兼?zhèn)淞思償?shù)值仿真和實(shí)物飛行測試的優(yōu)點(diǎn)。
對四旋翼來說,半實(shí)物仿真既是便捷可靠的科研手段,又可作為從純數(shù)值仿真向?qū)嵨镲w行的過渡平臺,國內(nèi)外已有多所高校及科研院所成功搭建了四旋翼半實(shí)物仿真平臺[7-11]。固高四旋翼半實(shí)物仿真平臺主要由運(yùn)動控制卡、3自由度實(shí)驗(yàn)本體組成,基于Matlab快速模型,方便修改調(diào)試,大大縮短控制器設(shè)計周期。dSPACE是由軟件和專用硬件組成的一整套開發(fā)平臺,可實(shí)現(xiàn)快速原型化和半實(shí)物仿真一體化。Chen等[11]采用dSPACE仿真平臺對一款商用四旋翼飛行器(Draganflyer3)進(jìn)行了辨識和控制算法檢驗(yàn),Kis等[12]也基于自主研發(fā)的四旋翼平臺進(jìn)行了實(shí)時仿真。宋子豪[13]利用dSPACE系統(tǒng)搭建了八旋翼飛行器仿真平臺,控制器采用實(shí)物飛控板,仿真對象是Simulink數(shù)學(xué)模型,對八旋翼無人機(jī)的多種飛行模式進(jìn)行仿真并成功運(yùn)用到實(shí)物飛行中。但是,目前多數(shù)半實(shí)物仿真平臺或采用商用的仿真系統(tǒng),其軟、硬件造價昂貴,或仿真系統(tǒng)的實(shí)時性和穩(wěn)定性不好,或真實(shí)信息舍棄過多,導(dǎo)致控制效果不夠明顯。
針對實(shí)際應(yīng)用需求,設(shè)計并實(shí)現(xiàn)了一款可快速迭代、實(shí)時性高、界面友好、可信度高的半實(shí)物仿真平臺,并在該平臺上進(jìn)行了四旋翼的仿真分析,所得半實(shí)物仿真結(jié)果能夠直接應(yīng)用于四旋翼實(shí)物平臺。
因?yàn)榉抡婊芈分杏杏布?shí)物,為保證對象模型解算能夠在規(guī)定的采樣周期內(nèi)完成,仿真平臺需要滿足強(qiáng)實(shí)時性。實(shí)時操作系統(tǒng)VxWorks是專為實(shí)時嵌入式系統(tǒng)設(shè)計的操作系統(tǒng),自推出以來,得到包括美國軍方在內(nèi)的國內(nèi)外用戶的認(rèn)可,已被廣泛應(yīng)用于包括美國火星探路者、F-16、B-2轟炸機(jī)等的大量嵌入式設(shè)備上[14],是市場占有率最高的嵌入式系統(tǒng)之一。本文采用VxWorks操作系統(tǒng),使仿真系統(tǒng)軟件在可靠性、穩(wěn)定性和實(shí)時性方面有了保障;同時為VxWorks操作系統(tǒng)和仿真計算機(jī)在半實(shí)物仿真應(yīng)用提供了經(jīng)驗(yàn)。
本文將從上位機(jī)、仿真計算機(jī)、四旋翼飛行控制器3方面介紹上述四旋翼半實(shí)物仿真平臺,并給出對四旋翼的姿態(tài)、位置控制的實(shí)驗(yàn)結(jié)果。
四旋翼半實(shí)物仿真平臺總體設(shè)計框架如圖1所示。整個仿真平臺包括由個人電腦組成的上位機(jī)、四旋翼飛行控制板、工控機(jī)組成的仿真計算機(jī)3部分。
圖1 總體框架圖
個人電腦運(yùn)行上位機(jī)程序,主要用于在線監(jiān)控仿真過程和參數(shù)修改以及仿真結(jié)果展示。除此之外,在嵌入式交叉編譯中,個人電腦不但充當(dāng)宿主機(jī)用于VxWorks目標(biāo)機(jī)操作系統(tǒng)配置、驅(qū)動軟件和應(yīng)用程序的編譯和調(diào)試,而且實(shí)現(xiàn)四旋翼模型、飛控系統(tǒng)仿真模型的建立及其全數(shù)字仿真的運(yùn)行、驗(yàn)證,并且完成模型及其控制律的下載等任務(wù)。四旋翼飛控板運(yùn)行原始四旋翼飛控程序,在半實(shí)物仿真中作為實(shí)物接入。工控機(jī)運(yùn)行VxWorks操作系統(tǒng)和仿真應(yīng)用程序,主要負(fù)責(zé)解析上位機(jī)命令和參數(shù)、對象模型離散化、四旋翼動力學(xué)和運(yùn)動學(xué)模型解算。個人電腦和飛控板、飛控板與工控機(jī)之間通過串口連接,個人電腦與工控機(jī)之間通過網(wǎng)絡(luò)連接,以太網(wǎng)的作用是下載編譯后的可運(yùn)行模塊、在線調(diào)整模型參數(shù)、數(shù)據(jù)傳輸、仿真啟??刂啤K男盹w控板和實(shí)時對象模型通過高速硬件接口形成一個閉環(huán)控制回路。
對物體運(yùn)動的描述首先要建立合適的坐標(biāo)系。文章采用慣性坐標(biāo)系和機(jī)體坐標(biāo)系構(gòu)建四旋翼飛行器動力學(xué)模型。慣性坐標(biāo)系中OXe指向地理北向,OYe指向地理東向,OZe垂直于地面向下。機(jī)體坐標(biāo)系中沿著機(jī)體向前的方向?yàn)闄C(jī)體系X軸,沿著機(jī)身向右,與X軸垂直為機(jī)體Y軸方向,沿著機(jī)體垂直向下為機(jī)體系Z軸,滿足右手定則。
將四旋翼飛行器看做一個剛體,可以將四旋翼動力學(xué)模型分為平移運(yùn)動和旋轉(zhuǎn)運(yùn)動兩個子系統(tǒng)。在懸停狀態(tài)下,忽略空氣阻力,由文獻(xiàn)[15]可知,四旋翼飛行器的非線性數(shù)學(xué)模型為:
式中:(x,y,z)為四旋翼的位置坐標(biāo);φ,θ,φ為機(jī)體坐標(biāo)系下四旋翼沿3軸的旋轉(zhuǎn)角度,分別是滾轉(zhuǎn)角、俯仰角和偏航角;Ix,Iy,Iz分別為四旋翼飛行器3軸轉(zhuǎn)動慣量;l為旋翼在機(jī)體軸向與四旋翼質(zhì)心的距離;系統(tǒng)的控制輸入U1和U2~U4分別為4個旋翼產(chǎn)生的力和力矩;m為四旋翼飛行器的質(zhì)量。
根據(jù)第1節(jié)提出的總體設(shè)計框架,下文將分別設(shè)計上位機(jī)程序、四旋翼飛行控制器和仿真計算機(jī)程序。
仿真平臺的上位機(jī)程序框架如圖2所示。
圖2 上位機(jī)程序框架
上位機(jī)程序設(shè)計主要在虛擬儀器開發(fā)環(huán)境Labwindows/CVI中完成。通過與數(shù)據(jù)采集卡連接,CVI可以實(shí)現(xiàn)個性化定制,針對專用界面和功能,在同一臺電腦上可以實(shí)現(xiàn)示波器、頻譜分析、信號發(fā)生等各種功能。CVI應(yīng)用程序采用模塊化設(shè)計,基于消息響應(yīng)機(jī)制,用戶只需要編寫模塊的響應(yīng)回調(diào)函數(shù)即可實(shí)現(xiàn)相應(yīng)的功能,方便快捷,不需要用戶對界面編程有很深入的了解。
如圖3所示,上位機(jī)程序主要分為仿真控制、參數(shù)配置、結(jié)果展示以及通信4個模塊。其中網(wǎng)絡(luò)通信采用傳輸控制協(xié)議/網(wǎng)間協(xié)議(Transmission Control Protocol/Internet Protocol,TCP/IP),上位機(jī)程序作為客戶端,打開上位機(jī)的時候主動發(fā)出連接請求。由于四旋翼飛行控制分為姿態(tài)控制和位置控制,因此需要對不同的控制模式進(jìn)行切換,仿真控制程序主要負(fù)責(zé)模式切換和仿真運(yùn)行以及數(shù)據(jù)保存回顯等功能。
圖3 上位機(jī)界面
為了實(shí)現(xiàn)半實(shí)物仿真平臺的設(shè)計,首先需要設(shè)計四旋翼飛行器的控制器。在第2節(jié)的基礎(chǔ)上,對四旋翼非線性數(shù)學(xué)模型進(jìn)行線性化處理,四旋翼的控制可以解耦成高度、俯仰、滾轉(zhuǎn)和偏航等通道。采用PID控制算法對4個通道分別控制,系統(tǒng)框圖見圖4。
圖4 四旋翼飛行器控制器結(jié)構(gòu)
針對四旋翼的實(shí)物平臺,將上文設(shè)計的控制器轉(zhuǎn)為嵌入式C語言程序,并將程序移植到飛行控制板上,根據(jù)主控芯片的處理速度,設(shè)計合適的控制流程,如圖5所示。
圖5 四旋翼飛行控制器
在實(shí)物平臺上,通過遙控器或者個人電腦PC端給出控制指令,控制器首先接收控制指令并對指令進(jìn)行解析,然后判斷四旋翼的控制模式,最后根據(jù)期望的控制量對四旋翼進(jìn)行控制。其中,模式判斷每3 ms進(jìn)行一次,角速度控制周期為2 ms,角度控制周期為5 ms,速度控制周期為20 ms,位置控制周期為50 ms。在姿態(tài)控制模式中,外環(huán)為角度控制,內(nèi)環(huán)為角速度控制,外環(huán)的輸出作為內(nèi)環(huán)的輸入;在位置控制模式中,外環(huán)為位置控制,內(nèi)環(huán)為速度控制,速度控制器的輸出量為角度控制器的輸入。
仿真計算機(jī)主要負(fù)責(zé)網(wǎng)絡(luò)通信任務(wù)、串口通信任務(wù)、通信狀態(tài)檢測、飛行控制器解算、對象模型動力學(xué)解算、仿真控制指令的解析和執(zhí)行、仿真周期定時任務(wù)。根據(jù)任務(wù)的功能和特性,進(jìn)行模塊化設(shè)計。
圖6 仿真計算機(jī)程序結(jié)構(gòu)
本文針對第2節(jié)構(gòu)建的四旋翼模型和3.2節(jié)中設(shè)計的雙回路PID控制器,首先在Matlab環(huán)境中搭建了Simulink模型。實(shí)時工作間(Real-Time Workshop,RTW)是Matlab/Simulink一個工具箱,在代碼自動生成技術(shù)方面較為成熟。因而,使用RTW將仿真模型轉(zhuǎn)化為實(shí)時性高、性能可靠的目標(biāo)平臺代碼。
四旋翼仿真模型導(dǎo)入過程為:① 設(shè)置仿真模型參數(shù),設(shè)置目標(biāo)文件格式。針對工控機(jī)平臺選擇ert.tlc文件和C語言。② 設(shè)置仿真周期。針對實(shí)時仿真平臺采用固定仿真周期,選擇ode4步長模式解算器。③ 在Simulink界面點(diǎn)擊Build Model(生成模型)等待生成嵌入式代碼,存放在當(dāng)前目錄文件夾中。④ 在協(xié)同仿真環(huán)境Workbench中新建仿真項目,復(fù)制嵌入式代碼到項目文件夾中,編寫仿真任務(wù)應(yīng)用程序,設(shè)置控制器和對象模型的輸入輸出接口。
網(wǎng)絡(luò)通信是一種常用的通信方式,其傳輸速度快、實(shí)現(xiàn)方便并且技術(shù)已經(jīng)成熟,可實(shí)現(xiàn)跨平臺之間的通信,適合Windows程序和VxWorks程序之間的通信。因此,本文將工控機(jī)平臺作為服務(wù)器端,上位機(jī)作為客戶端,使用網(wǎng)絡(luò)通信的方式來實(shí)現(xiàn)工控機(jī)平臺與PC端上位機(jī)之間的長時間的可靠通信。
四旋翼飛行控制板與外界數(shù)據(jù)的交互通過串口方式實(shí)現(xiàn)。在對四旋翼進(jìn)行控制時,控制任務(wù)采用固定周期解算控制輸出,角度環(huán)控制采用5 ms的更新周期,角速度環(huán)更新周期是2 ms。為了保證串口通信的可靠、實(shí)時性,采用有限狀態(tài)機(jī)編寫串口接收模塊。對數(shù)據(jù)幀解析過程如圖7所示。
圖7 串口解析有限狀態(tài)機(jī)
仿真任務(wù)模塊是半實(shí)物仿真平臺的核心,必須保證一定的實(shí)時性和準(zhǔn)確性。本文設(shè)計的仿真任務(wù)模塊主要完成仿真初始化、四旋翼動力學(xué)解算。仿真任務(wù)阻塞在接收信號量階段,一旦串口數(shù)據(jù)解析正確將發(fā)送信號量,實(shí)現(xiàn)仿真任務(wù)的同步。仿真任務(wù)解算完畢將分別通過串口和網(wǎng)口將四旋翼反饋狀態(tài)發(fā)送至上位機(jī)用于實(shí)時顯示和保存,并通過網(wǎng)口將反饋狀態(tài)發(fā)送至飛行控制器進(jìn)行下一步控制解算。半實(shí)物仿真平臺如圖8所示。
文中設(shè)計了一系列仿真實(shí)驗(yàn)對半實(shí)物仿真平臺進(jìn)行性能測試。首先在Matlab/Simulink中完成四旋翼控制器和對象模型的搭建,對姿態(tài)控制和位置控制進(jìn)行仿真驗(yàn)證。然后將四旋翼對象模型生成相應(yīng)的嵌入式C代碼,移植到仿真計算機(jī),將控制器移植到實(shí)際的飛控板中,在半實(shí)物仿真平臺中驗(yàn)證控制器的控制效果。最后將飛控板移植到實(shí)際四旋翼實(shí)物平臺進(jìn)行實(shí)際飛行驗(yàn)證。
在將控制器移植到飛控板之前,必要的Matlab仿真可以減小后續(xù)飛行器調(diào)試的工作量。姿態(tài)控制是四旋翼穩(wěn)定飛行的關(guān)鍵,在Simulink中分別設(shè)置四旋翼期望的滾轉(zhuǎn)角、俯仰角、偏航角均為12°,四旋翼飛行器的階躍響應(yīng)如圖9所示。由圖可見,在控制器作用下,四旋翼姿態(tài)角的角度響應(yīng)能在2s以內(nèi)達(dá)到期望姿態(tài)角,超調(diào)量小于3%,且?guī)缀鯖]有穩(wěn)態(tài)誤差。
(a) 滾轉(zhuǎn)角的姿態(tài)控制
在姿態(tài)角控制的基礎(chǔ)上加入位置環(huán)控制器,同樣的,設(shè)置四旋翼為零初始狀態(tài),分別給定3個軸向坐標(biāo)點(diǎn)為10 m,四旋翼可以在4 s內(nèi)從靜止?fàn)顟B(tài)飛到期望目標(biāo)位置。
為了保證VxWorks中實(shí)時仿真的可靠性,分別在Matlab中和實(shí)時操作系統(tǒng)中運(yùn)行相同的控制器和對象模型,對比兩者的運(yùn)行結(jié)果。采用RTW生成四旋翼PID控制器和對象模型的VxWorks應(yīng)用程序。在全數(shù)字仿真中,仿真步長采用固定步長,為了得到準(zhǔn)確的計時,在仿真中采用輔助時鐘計時方法。Matlab中仿真周期是10 ms,在VxWorks應(yīng)用中采用同樣的仿真周期。
從圖10可以看出,Matlab解算和工控機(jī)解算高度一致,證明了基于VxWorks的實(shí)時仿真可靠性較高。VxWorks為了滿足高實(shí)時性,犧牲了部分?jǐn)?shù)據(jù)精度,在拐點(diǎn)附近表現(xiàn)明顯,但不影響最終的仿真結(jié)論。
(a) 基于滾轉(zhuǎn)角的仿真對比(b) 基于俯仰角的仿真對比
在前期工作的基礎(chǔ)上,將四旋翼飛行控制器直接應(yīng)用于實(shí)物平臺,將飛控板固定在實(shí)際四旋翼上,連接傳感器、電調(diào)、數(shù)傳等接口,對基本功能調(diào)試后進(jìn)行室外實(shí)際飛行。在室外飛行中,通過3位開關(guān)切換到指定模式,給四旋翼一個期望的坐標(biāo)位置,在5 s左右都能接近目標(biāo)點(diǎn)附近并逐漸收斂,實(shí)際飛行比半實(shí)物仿真稍慢,但總體趨勢吻合較好,說明半實(shí)物仿真置信度較高,可用于指導(dǎo)四旋翼飛行控制器的設(shè)計。
圖11 X軸向位置仿真
進(jìn)一步,采用導(dǎo)航向量場算法設(shè)計了四旋翼包圍飛行實(shí)驗(yàn)。讓四旋翼從任意點(diǎn)起飛,在導(dǎo)航向量場控制和雙回路PID控制器作用下,四旋翼將逐漸沿著期望的圓形軌跡飛行。這里,以參考點(diǎn)作為坐標(biāo)原點(diǎn),期望半徑為4 m,起飛位置坐標(biāo)(-3,-3),起飛點(diǎn)初始狀態(tài)設(shè)為零。首先在半實(shí)物仿真平臺中驗(yàn)證,圖12(a)表示半實(shí)物仿真結(jié)果,圖12(b)表示實(shí)際飛行效果。對比分析半實(shí)物仿真和實(shí)際飛行結(jié)果可以發(fā)現(xiàn),半實(shí)物仿真結(jié)果更加平滑,穩(wěn)態(tài)誤差更小。實(shí)際飛行效果與半實(shí)物仿真效果吻合,進(jìn)一步驗(yàn)證了半實(shí)物仿真的可靠性,因而,四旋翼飛行控制器半實(shí)物仿真結(jié)果可以直接應(yīng)用于實(shí)際飛行。
(a) 半實(shí)物仿真結(jié)果(b) 實(shí)際飛行效果
根據(jù)四旋翼飛行器半實(shí)物仿真的功能要求,設(shè)計了半實(shí)物仿真平臺的總體框架和硬件選型。為保證半實(shí)物仿真平臺的實(shí)時性,采用嵌入式實(shí)時操作系統(tǒng)VxWorks。在此基礎(chǔ)上,對半實(shí)物仿真平臺的3部分:上位機(jī)、飛行控制器、仿真計算機(jī)進(jìn)行設(shè)計和實(shí)現(xiàn),分別完成了四旋翼飛行器的全數(shù)字仿真、半實(shí)物仿真,并通過半實(shí)物仿真與實(shí)際飛行數(shù)據(jù)對比驗(yàn)證了半實(shí)物仿真平臺的可靠性。
本文設(shè)計的四旋翼半實(shí)物仿真平臺界面友好,實(shí)時性高,能指導(dǎo)四旋翼飛行控制器設(shè)計,具有很好的實(shí)用價值。