胡錦添 舒懷林
(廣州大學(xué)機械與電氣工程學(xué)院)
四旋翼飛行器是一種四螺旋槳驅(qū)動的、可垂直升降的飛行器,這種結(jié)構(gòu)被廣泛用于微小型無人飛行器的設(shè)計,具有重要的軍用和民用價值。它同時也具有欠驅(qū)動、多變量、強耦合、非線性和不確定等復(fù)雜特性。近年來,隨著新型材料、微機電、微慣導(dǎo)以及飛行控制等技術(shù)的進步,四旋翼飛行器得到了迅速發(fā)展,逐漸成為人們關(guān)注的焦點[1]。
Adams軟件是美國MDI公司開發(fā)的虛擬樣機分析軟件,它使用交互式圖形環(huán)境和零件庫、約束庫、力庫,創(chuàng)建完全參數(shù)化的機械系統(tǒng)幾何模型,非常方便地對虛擬機械系統(tǒng)進行靜力學(xué)、運動學(xué)和動力學(xué)分析,更具有開放性的程序結(jié)構(gòu)和多種接口,方便進行二次開發(fā)。但是對于控制系統(tǒng)的設(shè)計,Adams只能處理一般的簡單控制環(huán)節(jié)。相比之下,Matlab能夠處理各種復(fù)雜的高級控制環(huán)節(jié),如智能控制系統(tǒng)。如果能充分發(fā)揮兩者的特點,結(jié)合在一起使用,這將給復(fù)雜機電系統(tǒng)的設(shè)計提供一種新方法[2-3]。
本文利用Adams軟件和Matlab軟件,對四旋翼飛行器及其控制系統(tǒng)進行聯(lián)合仿真。利用Matlab/Simulink模塊搭建了四旋翼飛行器控制系統(tǒng)的仿真平臺,實現(xiàn)基于Matlab與Adams的四旋翼飛行器的聯(lián)合動態(tài)仿真,避免了推導(dǎo)四旋翼飛行器的動力學(xué)方程的繁瑣過程,提高了四旋翼飛行器設(shè)計效率。首先通過三維設(shè)計軟件Solidworks建立四旋翼飛行器的實體模型,然后將其導(dǎo)入動力學(xué)仿真軟件Adams中,通過Adams的接口模塊Adams/control與Matlab進行數(shù)據(jù)交換,實現(xiàn)四旋翼飛行器運動學(xué)及動力學(xué)仿真。
盡管 Adams提供了豐富的建模工具,但直接在Adams中建模還是比較困難。大多數(shù)模型是由其它繪圖軟件繪制后再導(dǎo)入到 Adams中,本文選擇Solidworks三維設(shè)計軟件建立四旋翼飛行器結(jié)構(gòu)模型。設(shè)計的四旋翼飛行器具有1個機架、4個電機和4個旋翼,能實現(xiàn) 10個自由度的回轉(zhuǎn)運動和平移運動。其三維結(jié)構(gòu)模型如圖1所示。
圖1 四旋翼飛行器三維結(jié)構(gòu)模型
將 Solidworks中創(chuàng)建的四旋翼飛行器結(jié)構(gòu)模型導(dǎo)入到Adams中。首先把Solidworks中的模型文件保存為.X_T(Parasolid)格式,然后導(dǎo)入到Adams中。最后對每個零部件進行屬性編輯,定義質(zhì)量、材料、轉(zhuǎn)動慣量等相關(guān)屬性[4],經(jīng)過處理后,虛擬樣機便具有與真實樣機相似的物理特性,可實現(xiàn) Adams對四旋翼飛行器的運動學(xué)及動力學(xué)仿真,如圖2所示。
圖2 定義約束后的四旋翼飛行器模型
為了更好地模擬實際系統(tǒng),要為導(dǎo)入 Adams中的模型定義約束及驅(qū)動,包括在4個旋翼處及機架中心處分別定義旋轉(zhuǎn)約束和球鉸鏈約束,在其它沒有相對運動的零件處定義固定約束[5]。這樣可確定飛行器的各個零件之間的約束關(guān)系。同時,在4個旋翼處定義旋轉(zhuǎn)驅(qū)動作為輸入的驅(qū)動力矩。為簡化仿真難度,忽略空氣動力學(xué)等問題,把4個旋翼的升力簡化為剛性作用力。4個旋翼作用力和力矩可以通過人為設(shè)定,或?qū)⑿淼霓D(zhuǎn)速通過函數(shù)轉(zhuǎn)換得到,如表1所示。
表1 旋翼輸入轉(zhuǎn)速與作用力的轉(zhuǎn)換
四旋翼飛行器的每個旋翼都由一個直流無刷電機驅(qū)動,電機由配套的直流調(diào)速器控制,直流調(diào)速器的指令由姿態(tài)控制器給出。整個四旋翼飛行器控制系統(tǒng)就是一個多輸入多輸出、強耦合的復(fù)雜機電系統(tǒng)。
4個電機并行連接,構(gòu)成同步驅(qū)動系統(tǒng),通過高速I2C串行總線把轉(zhuǎn)速指令從姿態(tài)控制器傳送給各個直流電機調(diào)速系統(tǒng),控制直流無刷電機驅(qū)動相應(yīng)的旋翼;同時,通過三軸陀螺儀與三軸加速度傳感器進行姿態(tài)信號反饋,實現(xiàn)全閉環(huán)姿態(tài)控制。系統(tǒng)總體控制結(jié)構(gòu)如圖3所示。
圖3 四旋翼飛行器控制結(jié)構(gòu)
要實現(xiàn)機械系統(tǒng)與控制系統(tǒng)的聯(lián)合仿真,必須先把 Adams中建立的四旋翼飛行器機械子系統(tǒng)導(dǎo)入到Matlab,然后在 Matlab/Simulink中搭建聯(lián)合仿真系統(tǒng)。
使用Adams中的Adams/control模塊,設(shè)置參數(shù)后便自動生成相關(guān)文件[6]。通過該模塊可實現(xiàn)Adams與 Matlab之間的數(shù)據(jù)傳遞。同時,要實現(xiàn)機械系統(tǒng)與控制系統(tǒng)之間的參數(shù)傳遞,需要設(shè)置參數(shù)變量,在Adams中創(chuàng)建7個狀態(tài)變量,包括4個控制轉(zhuǎn)速變量及3個歐拉角變量,如表2所示。
表2 Adams中設(shè)置的變量
Adams可實時地調(diào)用控制系統(tǒng)輸出的轉(zhuǎn)速變量值,并將其作為該時刻的旋翼轉(zhuǎn)速值;同時,四旋翼飛行器的各個歐拉角變量值又可實時地反饋到控制系統(tǒng)中,如圖4所示,從而構(gòu)成閉環(huán)姿態(tài)控制系統(tǒng),實現(xiàn)精確控制。
在Adams中,定義輸入與輸出變量,4個旋翼的轉(zhuǎn)速定義為輸入變量,存放 Matlab控制系統(tǒng)輸出的轉(zhuǎn)速值;歐拉角定義為輸出變量,作為角度反饋輸入到控制系統(tǒng)。此后,Adams/control模塊將生成三個文件[7],用于 Adams與 Matlab之間的數(shù)據(jù)傳遞。在Matlab的命令行中調(diào)用Adams/control模塊,即可顯示聯(lián)合仿真系統(tǒng)的7個變量。在Matlab的命令行中輸入命令:adams_sys,即可產(chǎn)生四旋翼飛行器機械子系統(tǒng)模塊,如圖5所示。
圖5 聯(lián)合仿真系統(tǒng)的機械子系統(tǒng)
圖5仿真系統(tǒng)所示:機械子系統(tǒng)Adams有4個轉(zhuǎn)速變量作為輸入,3個角度變量作為輸出。
四旋翼飛行器系統(tǒng)是一個多變量強耦合的機電系統(tǒng),在進行聯(lián)合仿真時將其簡化為線性多變量解耦系統(tǒng)。分別對各個歐拉角,采用PID控制策略進行控制,通過對各個旋翼轉(zhuǎn)速的控制,實現(xiàn)對整個四旋翼飛行器的姿態(tài)控制,使得四旋翼飛行器能夠?qū)崿F(xiàn)精確的姿態(tài)跟蹤。為簡化控制系統(tǒng),本文只對俯仰角與滾轉(zhuǎn)角進行控制。4個直流電機調(diào)速控制系統(tǒng)(BLDC)同時輸入恒定的6V電壓值,使四旋翼飛行器保持在平穩(wěn)的水平飛行狀態(tài),分別在BLDC1與BLDC4的前向通道加入 PID控制器并把俯仰角與滾轉(zhuǎn)角作為反饋輸入,以此組成姿態(tài)閉環(huán)控制。利用試湊法整定PID 參數(shù)如下:PID Controller1:KP=4.1,KI=20,KD=1.05;PID Controller2:KP=3.9,KI=22.3,KD=1.14。聯(lián)合仿真姿態(tài)控制系統(tǒng)如圖6所示。
圖6 聯(lián)合仿真姿態(tài)控制系統(tǒng)
為了對四旋翼飛行器聯(lián)合仿真系統(tǒng)的性能進行驗證,獨立控制俯仰角及滾轉(zhuǎn)角,即分別控制X軸及Y軸上的其中一個旋翼的轉(zhuǎn)速,兩個旋翼同時輸入階躍信號或正弦信號,以便測試系統(tǒng)的響應(yīng)特性及跟蹤特性,如圖7、圖8所示。
圖7 階躍響應(yīng)特性曲線
圖8 跟蹤特性曲線
從仿真分析可以看出,當(dāng)輸入信號為階躍信號時,四旋翼飛行器在較短的響應(yīng)時間內(nèi),超調(diào)量小,能夠從當(dāng)前飛行姿態(tài)迅速穩(wěn)定地調(diào)整到指定的飛行姿態(tài),實現(xiàn)對飛行姿態(tài)的快速、精確控制。同時在Adams的仿真動畫中可以看出,四旋翼飛行器由初始姿態(tài)迅速傾轉(zhuǎn)到指令給定的姿態(tài),并穩(wěn)定地保持該姿態(tài)不變。當(dāng)輸入信號為正弦信號時,四旋翼飛行器可以精確地跟蹤給定的正弦指令。由此可以說明設(shè)計的姿態(tài)控制器可以很好地控制四旋翼飛行器跟蹤給定的姿態(tài)變換,使其具有較好的跟蹤特性。
利用聯(lián)合仿真系統(tǒng),可以快速地建立四旋翼飛行器的機械模型與控制系統(tǒng)模型,避免了繁瑣的動力學(xué)方程推導(dǎo)過程,降低了設(shè)計難度,節(jié)省了開發(fā)時間。綜合應(yīng)用Solidworks、Matlab、Adams三個軟件的特點,建立了四旋翼飛行器的機械系統(tǒng)與控制系統(tǒng),并能同時驗證兩個系統(tǒng)的有效性。這種設(shè)計方法對于機電一體化產(chǎn)品的設(shè)計顯得非常重要,它保證了機械設(shè)計人員與控制系統(tǒng)設(shè)計人員能共享同一個數(shù)據(jù)模型,避免了模型數(shù)據(jù)的冗余與數(shù)據(jù)更改的不同步,使產(chǎn)品設(shè)計更高效,更高質(zhì)。通過仿真,驗證了四旋翼飛行器姿態(tài)控制器的良好控制效果,仿真過程得到的大量設(shè)計參數(shù),可幫助物理樣機與控制系統(tǒng)的改進;通過對設(shè)計參數(shù)的詳細分析,對各個機械零件及控制算法進行優(yōu)化,以便得出較優(yōu)的設(shè)計方案。
在后續(xù)的研究中,將深入探討低雷諾數(shù)條件下旋翼空氣動力學(xué)問題[8],使建立機械系統(tǒng)的模擬環(huán)境與實際環(huán)境更接近。同時,在Matlab/Simulink建立的控制系統(tǒng)中加入智能控制模塊,使四旋翼飛行器的姿態(tài)控制更快速,更精確,更穩(wěn)定。
[1] 李占科,宋筆鋒,宋海龍.微型飛行器的研究現(xiàn)狀及其關(guān)鍵技術(shù)[J].飛行力學(xué),2003,21(4):1-4.
[2] 何亞銀.基于 ADAMS和 MATLAB的動力學(xué)聯(lián)合仿真[J].現(xiàn)代機械,2007(5):60-61.
[3] 龔建球,劉守斌.基于Adams和Matlab的自平衡機器人仿真[J].機電工程,2008,25(2):8-10.
[4] MSC Software 公司. Adams 2003/Tire user’s manual[EB/OL].[2002-12-23]. http: // www. mscsoftware. com.
[5] 李增剛.ADAMS入門詳解與實例[M].北京:國防工業(yè)出版社,2006.
[6] 陳立平,張云清.機械系統(tǒng)動力學(xué)分析及 ADAMS應(yīng)用教程[M].北京:清華大學(xué)出版社,2005:101-132.
[7] 王濤,張會明.基于ADAMS和MATLAB的聯(lián)合控制系統(tǒng)的仿真[J].機械工程與自動化, 2005(3): 79-81.
[8] 胡宇群.微型飛行器中的若干動力學(xué)問題研究[D].南京:南京航空航天大學(xué),2002.