王偉, 吳昊, 劉鴻勛, 楊溢
(南京信息工程大學自動化學院, 南京 210000)
四旋翼無人機誕生于20世紀,在軍事、運輸、農(nóng)業(yè)、航拍等活動中被廣泛運用,無人機作為一種有4個控制輸入以及6種狀態(tài)輸出的多輸入多輸出的強耦合的非線性的欠驅(qū)動系統(tǒng),加上外界環(huán)境對無人機的各種干擾,無人機控制也面臨著諸多難點。無人機控制主要包括位置控制、速度控制以及姿態(tài)控制,而姿態(tài)控制作為無人機的底層控制,尤為重要。學者們提出了眾多姿態(tài)控制算法來優(yōu)化無人機控制。
目前,比例積分微分(proportional-integral-derivative PID)算法是工業(yè)中被用到的主流的無人機控制算法,但PID的參數(shù)是通過多次實驗和經(jīng)驗判斷來選取的,所以難以滿足動態(tài)性能的要求[1]。模型預(yù)測控制(model predictive control,MPC),是一種基于模型的閉環(huán)優(yōu)化控制策略,在工業(yè)界的影響力僅次于PID控制,被廣泛應(yīng)用于機器人控制,相對于線性二次調(diào)節(jié)(linear quadratic regulator, LQR)和PID等只能考慮輸入輸出的約束,MPC可以綜合考慮各種狀態(tài)的約束,王曉海等[2]提出了一種基于模型預(yù)測控制和擴張狀態(tài)觀測器的復(fù)合控制器來解決無人機在干擾下的姿態(tài)跟蹤問題,但也存在著比如對模型建立的準確度較高,優(yōu)化問題計算量龐大,針對不同的環(huán)境需要設(shè)置不同的損失函數(shù)以及建立不同的模型,泛化性弱等問題。模糊控制不需要求解被控對象的數(shù)學模型,適用于大多模型參數(shù)不確定或者有著較大波動的系統(tǒng),劉用等[3]提出了基于模糊控制的姿態(tài)控制算法來提升機器人的姿態(tài)穩(wěn)定性,但其自適應(yīng)能力有限,精度也不高,控制規(guī)則的優(yōu)化也有著一定的困難。還有許多先進控制算法如滑模控制[4]、魯棒控制[5]等也被廣泛運用,但這些算法都有著一定的局限性,對環(huán)境變化的適應(yīng)性較差,也不能適用于所有類型的無人機。
隨著人工智能的發(fā)展,無人駕駛、人臉識別、圖像識別、同步定位與建圖[6]等領(lǐng)域都取得了重大的成功,基于深度學習的控制也展現(xiàn)出了巨大的潛力,強化學習作為機器學習的代表之一,已經(jīng)被成功應(yīng)用于各種控制算法,智能體通過利用行動與環(huán)境進行交互,根據(jù)所獲得的獎懲來不斷地學習與成長[7]。
在強化學習算法中,Q-learning和Sarsa是用于優(yōu)化解決馬爾科夫決策過程(Markov decision process, MDP)中的主流算法,但由于傳統(tǒng)的強化學習有著一定局限性,因為其動作空間和狀態(tài)空間往往都是有限大小的,且大多都是離散的情況,然而在實際無人機控制中,狀態(tài)空間和動作空間都是龐大且連續(xù)的[8],所以確定性策略梯度(deterministic policy gradient, DPG)以及其優(yōu)化版本Deep DPG(DDPG)等算法都能解決傳統(tǒng)強化學習中的短板問題[9]。
李岸蕎等[10]使用基于模仿專家經(jīng)驗的深度強化學習方法,實現(xiàn)了四足機器人的后空翻動作的學習,Zhang等[11]提出了基于模型的強化學習實現(xiàn)衛(wèi)星的控制方法,Liu等[12]利用強化學習應(yīng)用于水下航行器設(shè)計。此外,為了使強化學習算法更具有實用性,很多學者提出了一些優(yōu)化算法,Long等[13]提出了一種基于單一批評家的神經(jīng)網(wǎng)絡(luò)的強化學習算法用于系統(tǒng)的最優(yōu)跟蹤,以及Han等[14]通過雙重回放記憶來設(shè)計神經(jīng)網(wǎng)絡(luò)。Wang等[15]通過使用積分補償器來消除DDPG方法中的穩(wěn)定誤差,但積分補償器是一種外部的方法,他并不會直接解決控制器內(nèi)部的問題。付宇鵬等[16]提出了一種基于強化學習的無人機姿態(tài)控制器設(shè)計,但其在追蹤目標值的過程中雖然響應(yīng)非??焖?但不可避免地帶來了較大的超調(diào)。
基于此,現(xiàn)提出一種基于DDPG來設(shè)計的一種無穩(wěn)態(tài)誤差、魯棒性強、動態(tài)穩(wěn)定且快速響應(yīng)的四旋翼控制算法,針對強化學習算法設(shè)計的控制器帶來的超調(diào)的問題。在該方法中,結(jié)合Actor-Critic結(jié)構(gòu)與參考模型,期望解決系統(tǒng)過于追求目標跟蹤的快速性,從而導(dǎo)致控制量過大的問題。以期改進后的算法能有效地處理外部干擾和環(huán)境變化,對目標值響應(yīng)快速,而且可以有效地解決超調(diào)和穩(wěn)態(tài)誤差的問題。
強化學習的目的是為找到一個策略,智能體根據(jù)該策略在環(huán)境中采取行為動作(action)[17],每次動作都會帶來不同的獎勵(reward),最后獲得了最大的獎勵值的總和(total reward)。這個獎勵與控制的目標相關(guān)[18]。強化學習解決的是馬爾可夫決策過程(MDP),其正式框架如下:一個馬爾可夫決策過程由一個四元組(S,A,P,R)組成,其中S是狀態(tài)集,A是動作集,P表示狀態(tài)轉(zhuǎn)換概率函數(shù),R表示獎勵函數(shù),其迭代過程如圖1所示。
圖1 智能體環(huán)境交互迭代Fig.1 Agent-environment interaction iteration
智能體首先觀察當前環(huán)境的狀態(tài)St∈S,然后根據(jù)策略πa,a是表示該策略的參數(shù),采取一個行動at∈A,與環(huán)境進行交互。在動作at作用下狀態(tài)由St∈S轉(zhuǎn)化為St+1∈S,同時環(huán)境會立即給Agent一個獎勵rt∈R(st,at),作為MDP問題,對于每一個狀態(tài)-動作s1a1...snan之間的轉(zhuǎn)化都要遵守具有條件概率的平穩(wěn)轉(zhuǎn)換動態(tài)分布:P(St+1|S1,a1,…,St,at),即狀態(tài)S1轉(zhuǎn)化為狀態(tài)Sn的概率為P。
(1)
式(1)中:Vπ(st,at)為狀態(tài)s的價值函數(shù),表示在狀態(tài)s下的預(yù)期累計獎勵;R(s)為在狀態(tài)s下采取動作后取得的及時獎勵;γ為折扣因子,表示未來獎勵的折扣比例;Vπ(s′)表示下一個狀態(tài)s′的價值函數(shù),無人機控制的主要目標是找到合適的控制策略,可以幫助無人機快速穩(wěn)定地到達所期望的狀態(tài),現(xiàn)在可以用一個全新的方法--強化學習來實現(xiàn)這個目標,在時域中,選擇了適當?shù)膭幼骱蜖顟B(tài),將無人機的動態(tài)模型形式假設(shè)為MDP。在處理連續(xù)的狀態(tài)和動作的問題的時候,策略梯度算法是一個很好的選擇,參數(shù)化的隨機策略πθ(s,a)可以直接生成控制動作,使用參數(shù)?,在給定狀態(tài)S的情況下,采取動作a。然后根據(jù)梯度來調(diào)整參數(shù)以此來改善策略。
?θJ(πθ)=Es~ρπ,a~πθ[?θlnπθ(s,a)Qπθ(s,a)]
(2)
式(2)中:?θJ(πθ)為關(guān)于策略參數(shù)θ的梯度;E為智能體在不同狀態(tài)下根據(jù)策略做出動作的概率的期望值;πθ(s,a)為根據(jù)策略參數(shù)θ做出動作a的概率分布;Qπθ(s,a)為選取動作a的動作價值函數(shù),表示采取動作后的累積獎勵,這是一種隨機策略選擇算法,但在實際無人機控制中,隨機策略是危險且無法預(yù)測的,這種基本方法無法處理無人機復(fù)雜的非線性控制問題。
這些年來,通常使用一些確定性策略來改進算法,本文就是在它們的基礎(chǔ)上建立起來的。
四旋翼無人機的動力學模型構(gòu)建較為復(fù)雜,如圖2所示。
F1~F4為電機控制產(chǎn)生的升力;θ為無人機的俯仰角;γ為無人機的橫滾角;φ為無人機的偏航角圖2 四旋翼無人機模型Fig.2 Quadcopter drone model
四旋翼無人機控制系統(tǒng)XY軸上主要由姿態(tài)控制、速度控制、位置控制組成,Z軸上主要由高度方向的速度控制以及高度方向的位置控制組成,本文主要研究的為四旋翼無人機的姿態(tài)控制器,所以只需建立四旋翼無人機的子系統(tǒng)的數(shù)學模型。由于無人機的俯仰和橫滾姿態(tài)角速度目標值和姿態(tài)角速度之間存在著一階慣性環(huán)節(jié),即
(3)
(4)
(5)
由式(3)可以得到其狀態(tài)方程系數(shù)A和B以及輸出方程的C表示式為
(6)
(7)
(8)
D=[0]
(9)
在經(jīng)過無人機實地飛行后,采集飛行數(shù)據(jù),之后由MATLAB的IDENT工具箱,根據(jù)式(3)進行數(shù)據(jù)擬合,可以得到K=1,T=0.072 172。
如圖3所示是飛機實際飛行數(shù)據(jù)以及模型數(shù)據(jù)的對比,其中藍線為模型擬合的數(shù)據(jù),黑線為實際飛行的數(shù)據(jù),可以看到兩個曲線基本保持一致,可以認為本文動力學模型的建立是正確有效的。
圖3 模型建立數(shù)據(jù)對比Fig.3 Data comparison of models
本文所用的RM-DDPG(reference model-deep deterministic policy gradient)算法的基礎(chǔ)是DDPG算法,對于隨機策略梯度而言,在一個狀態(tài)下選取動作的依據(jù)是一個概率分布,即具有不確定性。而確定性策略梯度采用確定性策略來逼近actor函數(shù),取代了原策略梯度法中的隨機策略。事實上,確定性策略是隨機策略的一種極限情況。該算法的核心思想就是使用動作函數(shù)πμ中的參數(shù)μ來表示策略,然后沿著式(10)的梯度的方向不斷優(yōu)化參數(shù)μ[19]。
Es~ρπ,a~πα[?απα(s)?aQπα(s,a)]
(10)
式(10)中:?μJ(πμ)為Actor網(wǎng)絡(luò)的梯度;ρπ(s)為狀態(tài)分布;?α為取動作的梯度。
式(10)中Qπα(s,a)實際上是狀態(tài)價值函數(shù),其中很重要的一點是,如上文所說,對于確定性策略,給定狀態(tài)s和策略參數(shù)θ時,其選取的動作是固定的。也就是說,當初始狀態(tài)已知時,用確定性策略所得到的行為軌跡永遠都是不變的,所以用什么來選取行動價值函數(shù)Qπ(s,a)是極為重要的,所以本文研究中整個確定性策略的學習框架都采用AC(actor-ritic)算法的方法。在AC體系中,包括兩個地位相同的元素,一個元素是Actor即行動策略,另一個元素是Critic即評估策略。價值函數(shù)Qπ(s,a)被另外一個價值函Qω(s,a)代替,用Qω(s,a)來逼近Qπ(s,a),使得Qω(s,a)[20],其中ω為待逼近的參數(shù),actor函數(shù)的參數(shù)以確定性策略梯度的方法更新策略參數(shù)。
θt+1=θt+αθ?θπθ(st)?aQω(St,at)|a=πμ(s)
(11)
式(11)中:αθ為學習率。
DDPG算法中的AC結(jié)構(gòu)如圖4所示。
Actor為策略網(wǎng)絡(luò);critic為評價網(wǎng)絡(luò);Action為智能體根據(jù)策略而采取的行動圖4 Actor-Critic結(jié)構(gòu)Fig.4 Actor-Critic structure
根據(jù)貝爾曼方程,利用值函數(shù)逼近的方法更新值函數(shù)參數(shù)[21],所以本文研究中定義了TD差誤差(temporal difference error,TD error)。
δt=rt+γQω[St+1,πμ(St+1)]-Qω(St,at)
(12)
并且選取了一種簡單的確定性梯度下降策略來減小TD誤差,即
ωt+1=ωt+αωδt?ωQω(St,at)
(13)
式(13)中:ωt為策略參數(shù);αω為學習率;δt為關(guān)于參數(shù)的梯度;?ωQω(St,at)為動作價值函數(shù)關(guān)于動作a的梯度,表示狀態(tài)S下采取動作a的梯度。
由于四旋翼無人機控制是一個復(fù)雜的非線性問題[22],而且它的狀態(tài)和動作都是連續(xù)且龐大的,因此,通常很難估計actor函數(shù)和critic函數(shù),所以本文研究使用神經(jīng)網(wǎng)絡(luò)來代替actor函數(shù)和critic函數(shù)。為了提高訓(xùn)練的效率和穩(wěn)定性,還應(yīng)用了經(jīng)驗數(shù)據(jù)重放并且設(shè)計了目標網(wǎng)絡(luò)。
大多數(shù)優(yōu)化算法通常都是假設(shè)實驗數(shù)據(jù)樣本是相同分布且獨立的,當樣本是在同一個環(huán)境中選取的時候,就會出現(xiàn)經(jīng)驗數(shù)據(jù)的相關(guān)性和非平穩(wěn)分布的問題,所以本文研究設(shè)計一個大小為M的回放緩沖區(qū)D={e1,e2,…,em}來存儲樣本,e表示單位訓(xùn)練時間步長中的經(jīng)驗數(shù)據(jù),其數(shù)據(jù)類型為{st,at,rt,st+1}。緩沖區(qū)的長度是有限的,當緩沖區(qū)存儲滿的時候,最早的樣本數(shù)據(jù)會被丟棄。每個單位訓(xùn)練時間步長都會隨機均勻隨機從緩沖區(qū)內(nèi)采樣,來更新Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò)。通過這種方法數(shù)據(jù)的相關(guān)性將大大減小。此外,還設(shè)定了一個目標網(wǎng)絡(luò),以進一步提高學習的穩(wěn)定性,針對Actor-Critic網(wǎng)絡(luò)的更新不僅僅是簡單的權(quán)重的復(fù)制,而是進行數(shù)據(jù)的軟更新,在訓(xùn)練開始的時候,用Critic網(wǎng)絡(luò)克隆一個目標網(wǎng)絡(luò),在每次學習迭代的時候,目標網(wǎng)絡(luò)的權(quán)重將以較小的更新率緩慢地與Critic網(wǎng)絡(luò)同步,假設(shè)速率μ≤1,則有ω′=μω+(1-μ)ω′。其中分別定義Qω′(s,a)表示Critic目標網(wǎng)絡(luò),ω′為Critic目標網(wǎng)絡(luò)的權(quán)重。由于參數(shù)更新比較緩慢,學習的穩(wěn)定性大大提高。因為需要加入經(jīng)驗回放的方法,還需要重寫Critic目標網(wǎng)絡(luò)的更新方程,對經(jīng)驗緩沖區(qū)內(nèi)的經(jīng)驗數(shù)據(jù)(si,ai,ri,s′i)進行重新采樣后,通過最小化損失函數(shù),來更新Critic網(wǎng)絡(luò)。
(14)
yi=ri+γQ′[si+1,μ′(si+1|θμ′)|θQ′]
(15)
式中:Qω(si,ai)|θQ為Critic網(wǎng)絡(luò)在當前狀態(tài)和動作下的估計動作值函數(shù);yi為帶有行動獎勵的Critic目標網(wǎng)絡(luò)的輸出;ri為當下狀態(tài)的實時獎勵;γ為折扣因子,即未來獎勵的折扣比例;μ′(si+1|θμ′)|θQ′為目標策略網(wǎng)絡(luò)在下一狀態(tài)下的預(yù)測動作。
更新Critic網(wǎng)絡(luò)參數(shù)的公式為
(16)
ωt+1=ωt+αω?ωLoss(ω)
(17)
同時,需要按照DDPG算法更新actor網(wǎng)絡(luò)參數(shù),即
(18)
μt+1=μt+αμ?μJ(μ)
(19)
根據(jù)文獻[14]和文獻[16]中的研究究可以發(fā)現(xiàn),DDPG算法在四旋翼無人機控制中存在兩個問題分別是控制飽和以及穩(wěn)態(tài)誤差。
關(guān)于穩(wěn)態(tài)誤差,實驗結(jié)果表明,在大多數(shù)情況下,無論給予控制器多長時間,或者什么樣的訓(xùn)練策略,或者訓(xùn)練需要多少次迭代,穩(wěn)態(tài)誤差總是存在的。其中有兩個原因:第一個原因是,動作值函數(shù)估計不準確,即使在非常簡單的控制任務(wù)中,也無法準確地獲得動作值。對于四旋翼無人機控制等復(fù)雜任務(wù),估計動作值的準確性要低得多。另一個更重要的原因是,由DDPG算法訓(xùn)練的控制器不是伺服系統(tǒng),因為它沒有考慮誤差積分,對于具有阻尼和外部干擾的系統(tǒng),穩(wěn)態(tài)誤差無法通過這種方式消除。通過采用角速度誤差的積分作為擴展狀態(tài)代入控制器,可以有效地消除穩(wěn)態(tài)誤差。
控制量飽是一個在控制算法設(shè)計中常見的問題[23]。在算法中總是以被控對象能否快速追上目標值作為判斷算法是否優(yōu)秀的一個指標,但在四旋翼無人機的控制中,假如控制量過大,會導(dǎo)致無人機直接側(cè)翻,與無人機實際物理運動原則不符??梢园l(fā)現(xiàn),獎勵的設(shè)置是解決這一問題的關(guān)鍵,在通過最小化損失函數(shù)更新批評家網(wǎng)絡(luò)的過程中,獎勵是每次迭代的重要基礎(chǔ)。當前TD誤差算法獲得的獎勵是一個簡單的標量,僅僅為四旋翼無人機的目標姿態(tài)角和反饋姿態(tài)角之間的誤差。這種獲得獎勵的策略對于復(fù)雜的任務(wù)而言不能滿足需求,在四旋翼無人機中受控對象有許多重要的狀態(tài)量:角、角速度、角加速度,所以控制目標不僅是盡快跟蹤目標的姿態(tài)角,系統(tǒng)的穩(wěn)定性也要被考慮在內(nèi)。為了解決這個問題,進一步改進了獎勵的形式,即
(20)
式(20)中:Ref(sj)為所有狀態(tài)的目標值;sj為所有狀態(tài)變量,包括角度、角速度和角加速度;αk為可設(shè)定的權(quán)重。
本文研究中添加了一個參考模型,來設(shè)計一個具有高穩(wěn)定性和動態(tài)性能的四旋翼無人機控制系統(tǒng)。根據(jù)目標產(chǎn)生參考信號,并對四旋翼無人機模型進行重新分析,選擇角度、角速度、角加速度和角度誤差積分作為狀態(tài)變量,建立指定的參考模型,即
(21)
ym=Cmxm
(22)
式中:um為參考輸入。
設(shè)置e=x-xm,可以獲得狀態(tài)變量誤差,為了消除穩(wěn)態(tài)誤差,提出了一種新的狀態(tài)估計方法ζy,即
(23)
最后,得到了一個三階參考模型,狀態(tài)變量分別為角加速度、角速度和角度目標值。四旋翼無人機的模型的狀態(tài)變量為角加速度、角速度和角,角誤差的積分。這是一個標準的可以快速穩(wěn)定響應(yīng)的伺服系統(tǒng)。
Critic網(wǎng)絡(luò)的輸入是四旋翼無人機的狀態(tài)、參考模型的狀態(tài)以及Actor網(wǎng)絡(luò)生成的控制輸入,其隱藏層和激活函數(shù)類似于Actor網(wǎng)絡(luò)。此外,為了更快更好地訓(xùn)練Actor網(wǎng)絡(luò),Critic的輸出層更換為一個線性的激活函數(shù)。
Reward為所有狀態(tài)誤差error的總和,作為反饋輸入到系統(tǒng),這樣處理就可以使得Actor網(wǎng)絡(luò)在輸出的時候規(guī)避系統(tǒng)存在的穩(wěn)態(tài)誤差。
在做完以上處理后,可以使得控制信號可以快速而穩(wěn)定地追上參考模型的輸出,同時可以避免控制量太大導(dǎo)致追蹤目標角度的速度過快從而產(chǎn)生的系統(tǒng)超調(diào),并且可以有效地彌補穩(wěn)態(tài)誤差。
由于四旋翼無人機具有對稱的結(jié)構(gòu),所以俯仰和滾轉(zhuǎn)的控制器結(jié)構(gòu)是相同的。
如表1所示是算法的流程,首先克隆一個Critic網(wǎng)絡(luò)作為Critic目標網(wǎng)絡(luò),之后Actor網(wǎng)絡(luò)給四旋翼無人機模型輸出控制信號,參考模型也會輸出一個目標值,同時,對于每一訓(xùn)練步長而言,訓(xùn)練的模型的狀態(tài)都會被存儲在記憶緩存區(qū)內(nèi),當存在了足夠多的樣本時就開始訓(xùn)練。
表1 RM-DDPG算法Table 1 RM-DDPG algorithm
對于無人機模型,選擇了一種電力四旋翼無人機。然后用測量的無人機參數(shù)識別了動態(tài)模型為了使系統(tǒng)在快速響應(yīng)的基礎(chǔ)上,更具有穩(wěn)定性,設(shè)計了姿態(tài)參考模型,階躍響應(yīng)如圖6所示。
圖6 參考模型設(shè)計效果圖Fig.6 Design diagram of the reference model
神經(jīng)網(wǎng)絡(luò)和模型的建立用的是python和pytorch,如圖7所示,是每個訓(xùn)練步驟的累積獎勵,可以看到reward不斷地在收斂。
圖7 Reward值Fig.7 Reward value
設(shè)計了一個模擬測試,設(shè)置目標姿態(tài)角為0.3弧度,圖8是無人機在追蹤目標姿態(tài)角的性能圖,可以看到姿態(tài)追蹤過程中,沒有出現(xiàn)超調(diào)與穩(wěn)態(tài)誤差。圖9顯示的是姿態(tài)角與目標姿態(tài)角隨著時間變化的誤差,在追蹤的過程中始終保持較小的值。圖10表示的是角速度的追蹤性能,圖11顯示的是其角速度與目標角速度的誤差變化,可以發(fā)現(xiàn)與角度追蹤一樣,角速度的追蹤也沒有出現(xiàn)超調(diào)與穩(wěn)態(tài)誤差,追蹤誤差也始終保持在較小的范圍內(nèi)。
圖8 階躍響應(yīng)-角度狀態(tài)變化Fig.8 Step response-angular state change
圖9 階躍響應(yīng)-角度誤差變化Fig.9 Step response-angle error change
圖10 階躍響應(yīng)-角速度狀態(tài)變化Fig.10 Step response-angular velocity state change
圖11 階躍響應(yīng)-角速度誤差變化Fig.11 Step response-angular velocity error change
由RM-DDPG算法的實驗結(jié)果可知,無人機的控制輸入因為參考模型的加入不會直接達到最大值而飽和,它可以比較緩和地追上目標值,因此該控制器較為穩(wěn)定,并且從圖11可以發(fā)現(xiàn)消除了穩(wěn)態(tài)誤差。
為了進一步驗證控制器的魯棒性,在原有模型的基礎(chǔ)之上對部分參數(shù)進行修改,來模擬無人機在實際飛行過程中可能出現(xiàn)的未建模誤差以及干擾,模擬了不同模型下的無人機進行實驗。圖12是不同機型的在姿態(tài)角追蹤上的表現(xiàn),圖13為不同機型的姿態(tài)角追蹤誤差,實驗表明,RM-DDPG算法在不同的機型上,姿態(tài)角的追蹤效果都是較為良好的,可以平緩地追上目標值,追蹤誤差始終保持在較小的范圍內(nèi),并且都沒有穩(wěn)態(tài)誤差以及超調(diào),具有較好的魯棒性。
圖12 魯棒性測試-角度追蹤Fig.12 Robust test-angle tracking
針對四旋翼無人機的非線性的強耦合以及欠驅(qū)動的特性,設(shè)計了一種基于深度確定性策略梯度算法和參考模型的四旋翼無人機的姿態(tài)控制器,對無人機模型進行了分析及簡化,建立了四旋翼無人機的姿態(tài)模型,找到造成控制量飽和以及存在穩(wěn)態(tài)誤差的原因,通過設(shè)計參考模型解決了這兩個問題,經(jīng)過訓(xùn)練后,依據(jù)給定的目標姿態(tài)角的階躍響應(yīng)測試結(jié)果表明:①該算法有效地提升了系統(tǒng)的穩(wěn)定性,消除了穩(wěn)態(tài)誤差具有良好的泛用性;②根據(jù)魯棒性實驗結(jié)果表明,該算法有優(yōu)良的魯棒性。