劉旭光,杜昌平,鄭 耀
(浙江大學(xué) 航空航天學(xué)院,杭州 310027)
四旋翼無(wú)人機(jī)(quadrotor)作為最為經(jīng)典的無(wú)人機(jī)(Unmanned Aerial Vehicle,UAV)結(jié)構(gòu),因其結(jié)構(gòu)簡(jiǎn)單、穩(wěn)定性強(qiáng)主要被應(yīng)用于航拍、勘探等領(lǐng)域。穩(wěn)定準(zhǔn)確地對(duì)目標(biāo)軌跡進(jìn)行跟蹤是完成一系列復(fù)雜任務(wù)的基礎(chǔ),所以如何在現(xiàn)有控制架構(gòu)的基礎(chǔ)上進(jìn)行優(yōu)化,實(shí)現(xiàn)跟蹤精度的提升有重大的研究?jī)r(jià)值。
針對(duì)軌跡跟蹤精度指標(biāo)的優(yōu)化方法,國(guó)內(nèi)外研究人員出了各種不同的優(yōu)化方法。Rosales 等[1]提出了一種自適應(yīng)比例-積分-微分(Proportional-Integral-Derivative,PID)控制的方法,通過(guò)神經(jīng)網(wǎng)絡(luò)對(duì)六軸無(wú)人機(jī)系統(tǒng)進(jìn)行系統(tǒng)辨識(shí),以反向傳播輸出誤差來(lái)調(diào)整PID 增益,從而達(dá)到減小誤差的目的,但是由于神經(jīng)網(wǎng)絡(luò)在線進(jìn)行系統(tǒng)辨識(shí)需要大量復(fù)雜計(jì)算,導(dǎo)致了算法的可用性降低。另外基于自適應(yīng)整定PID 的思路,研究人員引入了遺傳算法、線性二次型調(diào)節(jié)器(Linear Quadratic Regulator,LQR)控 制、模糊控 制、強(qiáng)化學(xué) 習(xí)(Reinforcement Learning,RL)等方法[2-6]來(lái)調(diào)整PID 控制器的參數(shù);由于是對(duì)無(wú)人機(jī)反饋控制系統(tǒng)的PID 控制器直接進(jìn)行調(diào)整,各種算法帶來(lái)的計(jì)算負(fù)擔(dān)將對(duì)算法的實(shí)時(shí)性產(chǎn)生較大影響。為了避免對(duì)無(wú)人機(jī)傳統(tǒng)控制結(jié)構(gòu)改良帶來(lái)的負(fù)面效果,一部分研究人員摒棄了傳統(tǒng)的無(wú)人機(jī)控制架構(gòu)轉(zhuǎn)而引入諸如滑模變結(jié)構(gòu)控制(Sliding Mode Control,SMC)[7-10]、無(wú)模型強(qiáng)化學(xué)習(xí)控制[11]等方法。劉小雄等[12]應(yīng)用DQN(Deep QNetwork)算法對(duì)無(wú)人機(jī)高度及水平位置控制器進(jìn)行優(yōu)化,高度及水平位置控制器由兩個(gè)不同的神經(jīng)網(wǎng)絡(luò)來(lái)構(gòu)建,神經(jīng)網(wǎng)絡(luò)參數(shù)通過(guò)強(qiáng)化學(xué)習(xí)算法進(jìn)行優(yōu)化,優(yōu)化后的網(wǎng)絡(luò)參數(shù)的控制器保證了無(wú)人機(jī)的跟蹤精度?;W兘Y(jié)構(gòu)控制方法同樣存在著較大的弊端,即在滑模面附近的抖振現(xiàn)象,存在抖振的控制輸入作用到作動(dòng)器上勢(shì)必導(dǎo)致作動(dòng)器高頻的動(dòng)作變換,從而極大降低無(wú)人機(jī)的壽命。而強(qiáng)化學(xué)習(xí)由于需要大量的數(shù)據(jù)支撐以及長(zhǎng)時(shí)間的數(shù)據(jù)分析處理,在實(shí)時(shí)性上很難滿足飛行控制需求,難以應(yīng)用于無(wú)人機(jī)實(shí)際飛行控制中。針對(duì)以上問(wèn)題,一種前饋的學(xué)習(xí)控制方法——迭代學(xué)習(xí)控制(Iterative Learning Control,ILC)逐漸得到重視,它可以作為傳統(tǒng)反饋控制器的前饋環(huán)節(jié)嵌入無(wú)人機(jī)的飛行控制系統(tǒng)中,具有可移植性強(qiáng)、精度高、算法結(jié)構(gòu)簡(jiǎn)單等特點(diǎn)。Ma 等[13]提出了一種由比例-微分(Proportional-Derivative,PD)控制器組成的迭代學(xué)習(xí)控制器的方法來(lái)控制四旋翼飛行器在恒定高度上遵循相同的軌跡,算法結(jié)構(gòu)簡(jiǎn)單,能夠便捷地移植到飛行器的控制系統(tǒng)中,但是該方法PD 存在控制器參數(shù)整定困難的問(wèn)題。Dong 等[14]基于PID 型迭代學(xué)習(xí)控制器引入了一種新的控制律,即通過(guò)模糊控制的方法整定控制器中的學(xué)習(xí)參數(shù),消除了不確定因素對(duì)系統(tǒng)的影響,也降低了參數(shù)整定的難度;但模糊控制較為依賴專家經(jīng)驗(yàn),使得該方法難以得到大范圍的推廣應(yīng)用。綜上,目前無(wú)人機(jī)軌跡控制研究主要分為兩個(gè)方向:一是經(jīng)典控制方法,這類控制方法往往需要對(duì)控制系統(tǒng)及環(huán)境建立精確的模型,而往往復(fù)雜的飛行環(huán)境及高度非線性系統(tǒng)無(wú)法進(jìn)行精確建模,導(dǎo)致經(jīng)典控制方法的精度無(wú)法提升,對(duì)于經(jīng)典飛行剖面的歷史飛行信息無(wú)法進(jìn)行利用,同時(shí)抗干擾性較差;二是智能控制方法,該方法不需要精準(zhǔn)的控制系統(tǒng)建模,可以利用神經(jīng)網(wǎng)絡(luò)對(duì)非線性系統(tǒng)進(jìn)行模擬,但是往往需要大量數(shù)據(jù)和大規(guī)模的計(jì)算,難以在線應(yīng)用,同時(shí)由于完全摒棄了傳統(tǒng)控制結(jié)構(gòu),單純的神經(jīng)網(wǎng)絡(luò)控制在主流飛控平臺(tái)上可遷移性較差。
綜上所述,經(jīng)典反饋控制方法中存在精度難以提升、抗干擾性差、難以實(shí)現(xiàn)靜態(tài)穩(wěn)定等問(wèn)題;而不依賴模型的智能控制架構(gòu)則需要大量數(shù)據(jù)計(jì)算來(lái)對(duì)整個(gè)系統(tǒng)模型進(jìn)行模擬,實(shí)時(shí)性較差。本文將兩種控制方法進(jìn)行融合,以經(jīng)典反饋控制系統(tǒng)架構(gòu)為基礎(chǔ),引入迭代學(xué)習(xí)前饋控制環(huán)節(jié)解決傳統(tǒng)反饋控制具有時(shí)滯及難以實(shí)現(xiàn)靜態(tài)穩(wěn)定的問(wèn)題;并且在前饋控制器中,將強(qiáng)化學(xué)習(xí)與迭代學(xué)習(xí)控制算法相結(jié)合,提出強(qiáng)化迭代學(xué)習(xí)控制(Reinforcement Learning-Iterative Learning Control,RL-ILC)算法。該算法依靠強(qiáng)化學(xué)習(xí)強(qiáng)大的大范圍內(nèi)最優(yōu)值搜索能力來(lái)整定迭代學(xué)習(xí)中學(xué)習(xí)律參數(shù),使得迭代學(xué)習(xí)能夠更精細(xì)準(zhǔn)確地在小范圍內(nèi)利用典型飛行剖面的歷史飛行信息與環(huán)境信息進(jìn)行迭代學(xué)習(xí),對(duì)系統(tǒng)的前饋控制輸入進(jìn)行進(jìn)一步的細(xì)致優(yōu)化。在保證迭代學(xué)習(xí)控制器在未知環(huán)境噪聲干擾下保持收斂的同時(shí)提高其迭代速度,使得系統(tǒng)可以更快實(shí)現(xiàn)對(duì)目標(biāo)軌跡的完美跟蹤。
本文主要參考DJI 公司生產(chǎn)的450 mm-1.5 kg 型號(hào)的四旋翼無(wú)人機(jī)[15]。無(wú)人機(jī)系統(tǒng)模型主要為無(wú)人機(jī)動(dòng)力學(xué)模型和無(wú)人機(jī)控制系統(tǒng)模型兩部分。其中,無(wú)人機(jī)槳翼產(chǎn)生的升力分析在機(jī)體坐標(biāo)系中進(jìn)行[16],槳翼產(chǎn)生升力fi的計(jì)算公式如下:
其中:CT為單槳綜合拉力系數(shù),ω表示槳翼的轉(zhuǎn)速。機(jī)體系下無(wú)人機(jī)的總升力FT為:
不考慮風(fēng)阻的情況下,在地理坐標(biāo)系中對(duì)無(wú)人機(jī)平動(dòng)的三軸加速度進(jìn)行計(jì)算,記航向角、俯仰角、滾轉(zhuǎn)角分別為φ、θ、γ。進(jìn)一步可得地理系下無(wú)人機(jī)平動(dòng)三軸加速度如下:
其中:x、y、z分別表示地面坐標(biāo)系中x、y、z軸的位移分量。定義轉(zhuǎn)動(dòng)慣量J,可得無(wú)人機(jī)的姿態(tài)角加速度如下:
其中:ΔJij=Jii-Jjj,F(xiàn)i,j=fi+fj(i,j=x,y,z)。假設(shè)無(wú)人機(jī)系統(tǒng)控制輸入的4 個(gè)分量分別對(duì)應(yīng)U1=FT,U2=f2-f4,U3=f1-f3,U4=F2,4-F1,3,代入上述模型中可得無(wú)人機(jī)系統(tǒng)的動(dòng)力學(xué)模型如下:
其中部分參數(shù)在表1 中進(jìn)行說(shuō)明注解。
表1 四旋翼無(wú)人機(jī)的部分參數(shù)Tab.1 Some parameters of quadrotor
傳統(tǒng)的飛行控制系統(tǒng)多采用PID 控制算法,單獨(dú)的反饋控制器會(huì)給系統(tǒng)帶來(lái)很大的時(shí)延,這使得系統(tǒng)無(wú)法實(shí)現(xiàn)快速跟蹤。當(dāng)環(huán)境中存在較大的環(huán)境噪聲時(shí),反饋控制器的時(shí)延會(huì)導(dǎo)致被控系統(tǒng)容易出現(xiàn)在穩(wěn)態(tài)附近振蕩的現(xiàn)象,從而帶來(lái)無(wú)法達(dá)到控制精度的問(wèn)題。引入前饋控制器與反饋控制器組成前饋-反饋控制系統(tǒng)可以提升系統(tǒng)的時(shí)間響應(yīng)特性,抑制環(huán)境擾動(dòng)。本文在經(jīng)典的無(wú)人機(jī)反饋控制結(jié)構(gòu)的基礎(chǔ)上增加了使用迭代學(xué)習(xí)控制算法的前饋控制器,控制系統(tǒng)的結(jié)構(gòu)示意圖如圖1。
圖1 無(wú)人機(jī)控制系統(tǒng)結(jié)構(gòu)Fig.1 Structure of UAV control system
U(t,k+1)中的k表示迭代域內(nèi)當(dāng)前的代數(shù);L0及Lk均為學(xué)習(xí)參數(shù)矩陣,前者對(duì)應(yīng)迭代學(xué)習(xí)控制器中的學(xué)習(xí)參數(shù)矩陣的初始值,后者對(duì)應(yīng)經(jīng)過(guò)強(qiáng)化學(xué)習(xí)(RL)算法優(yōu)化后的第k次迭代時(shí)學(xué)習(xí)參數(shù)矩陣;Yd(t)表示在t時(shí)刻預(yù)設(shè)理想軌跡的值;E(t)表示在t時(shí)刻軌跡誤差值。
計(jì)算得到的誤差E(t)的各個(gè)分量用于計(jì)算反饋控制器的輸出(t)中的分量(t),計(jì)算方法如式(7):
迭代學(xué)習(xí)控制最早由日本學(xué)者提出并應(yīng)用于機(jī)械臂的運(yùn)動(dòng)控制中,控制精度極高。對(duì)于類似機(jī)械臂這類運(yùn)動(dòng)具有周期性的系統(tǒng),迭代學(xué)習(xí)算法可以不斷對(duì)每個(gè)周期內(nèi)的運(yùn)動(dòng)軌跡的誤差進(jìn)行學(xué)習(xí),而后在時(shí)間域內(nèi)修正控制輸入。在迭代域內(nèi)不斷重復(fù)直至實(shí)現(xiàn)在有限時(shí)間內(nèi)對(duì)軌跡的完美跟蹤。在無(wú)人機(jī)軌跡控制領(lǐng)域存在一些典型的飛行剖面具有學(xué)習(xí)價(jià)值,同時(shí)空中也存在反復(fù)出現(xiàn)且無(wú)法精準(zhǔn)測(cè)量和預(yù)知的干擾。傳統(tǒng)的前饋控制器無(wú)法對(duì)重復(fù)未知干擾給出相應(yīng)的補(bǔ)償也無(wú)法利用典型飛行剖面的歷史飛行信息,所以普通前饋環(huán)節(jié)并不能保證理想的系統(tǒng)輸出。本文中的前饋控制器采用迭代學(xué)習(xí)控制方法對(duì)典型的飛行剖面進(jìn)行學(xué)習(xí),能夠充分利用歷史飛行數(shù)據(jù)不斷學(xué)習(xí),排除未知環(huán)境噪聲的影響,在有限時(shí)間內(nèi)最大限度地提升對(duì)典型飛行剖面的跟蹤精度。
四旋翼無(wú)人機(jī)系統(tǒng)作為經(jīng)典的非線性欠驅(qū)動(dòng)系統(tǒng),系統(tǒng)的狀態(tài)量之間耦合性很強(qiáng),所以在進(jìn)行分析解算時(shí)需要針對(duì)不同的任務(wù)需求對(duì)系統(tǒng)進(jìn)行相應(yīng)的簡(jiǎn)化分析。本文的控制任務(wù)是在存在未知擾動(dòng)Dr的環(huán)境下令飛行器跟蹤一段著陸軌線Yd=[xd,yd,zd]T。假設(shè)無(wú)人機(jī)進(jìn)行小角度ε(ε=φ,θ,γ)機(jī)動(dòng),即cosε≈1,sinε≈ε,εi·εj≈0,令=-g,無(wú)人機(jī)系統(tǒng)模型可以簡(jiǎn)化為式(8)形式:
其中:Dx、Dy、Dz分別為未知時(shí)變擾動(dòng)Dr于特定時(shí)刻在3 個(gè)軸向上的分量。由式(8)可知系統(tǒng)輸入僅可以由輸入直接控制,縱向及橫向加速度受U3和U2的間接控制。為了減小控制系統(tǒng)的相對(duì)階數(shù)得到目標(biāo)與輸入的直接關(guān)系,將理想軌線之于縱向x及橫向y的加速度要求轉(zhuǎn)移到俯仰角θ和滾轉(zhuǎn)角γ的角加速度上。期望姿態(tài)角的計(jì)算公式如下:
對(duì)期望位置軌跡的跟蹤可以轉(zhuǎn)換為對(duì)期望姿態(tài)角(θd,γd)以及期望高度zd的跟蹤。
根據(jù)式(8)及式(9)確定系統(tǒng)狀態(tài)變量、系統(tǒng)輸入量、系統(tǒng)輸出量如下:
系統(tǒng)的動(dòng)力學(xué)模型可以重寫為系統(tǒng)的狀態(tài)方程如下:
其中:A∈R6×6、B∈R6×3、C∈R3×6分別為系統(tǒng)的狀態(tài)矩陣、輸入矩陣以及輸出矩陣[17],矩陣中的參數(shù)可以對(duì)照表1 中參數(shù)計(jì)算得到,矩陣D為全0 陣。
本章提出的迭代學(xué)習(xí)控制算法為PD 型迭代學(xué)習(xí)控制(PD Iterative Learning Control,PD-ILC)算 法,控制器結(jié)構(gòu)如下。
如圖2 所示,迭代學(xué)習(xí)控制系統(tǒng)由3 個(gè)迭代學(xué)習(xí)控制器及若干存儲(chǔ)器構(gòu)成。由于X向與Y向控制器同時(shí)與姿態(tài)角和控制輸入U(xiǎn)1相關(guān),3 個(gè)控制量之間存在耦合,故在每個(gè)迭代周期內(nèi),先令X向與Y向控制器同時(shí)進(jìn)行優(yōu)化計(jì)算確定當(dāng)前迭代中的θd與γd;更新后的U2(k+1)、U3(k+1)輸入到被控?zé)o人機(jī)系統(tǒng)中得到用于Z向迭代學(xué)習(xí)控制器的Z向誤差ez(k);最終Z向控制器完成對(duì)U1的更新,將得到的U1(k+1)、U2(k+1)與U3(k+1)輸入無(wú)人機(jī)系統(tǒng)得到下次迭代周期的誤差E(k+1),開(kāi)始下一次迭代。
圖2 迭代學(xué)習(xí)控制系統(tǒng)結(jié)構(gòu)Fig.2 Structure of iterative learning control system
決定迭代學(xué)習(xí)控制器控制精度的主要因素包括初始控制輸入以及學(xué)習(xí)律。本文選擇的學(xué)習(xí)律是經(jīng)典的PD 學(xué)習(xí)律,即以本次迭代當(dāng)前時(shí)刻的軌跡誤差與軌跡誤差的導(dǎo)數(shù)信息來(lái)更新下次迭代相同時(shí)刻的控制輸入,設(shè)計(jì)X、Y、Z三向的迭代學(xué)習(xí)控制律如下:
其中:Ei(t,k)、(t,k)分別為第k次迭代中t時(shí)刻的軌跡誤差值及其導(dǎo)數(shù),KP及KD則依據(jù)下標(biāo)分別對(duì)應(yīng)3 個(gè)軸向迭代學(xué)習(xí)控制器的學(xué)習(xí)參數(shù)。由于未知擾動(dòng)的存在,式(9)無(wú)法通過(guò)計(jì)算求解,故采用迭代學(xué)習(xí)方法尋優(yōu)。將得到的最優(yōu)姿態(tài)角按照式(15)進(jìn)行反解即可得控制輸入U(xiǎn)2、U3。
通過(guò)上述推導(dǎo)可知,控制輸入U(xiǎn)i直接作用的狀態(tài)量是加速度或角加速度,其作用到位移或角度上是存在時(shí)延的,時(shí)延問(wèn)題在所有的高相對(duì)階系統(tǒng)中都存在。為了減弱控制滯后帶來(lái)的負(fù)面影響,本文在經(jīng)典的PD 學(xué)習(xí)律的結(jié)構(gòu)上進(jìn)行修改,用順延2 個(gè)時(shí)間步長(zhǎng)的誤差量以及順延1 個(gè)時(shí)間步長(zhǎng)的誤差的一階導(dǎo)數(shù)來(lái)更新當(dāng)前時(shí)刻的控制輸入,實(shí)驗(yàn)結(jié)果顯示此種設(shè)計(jì)在一定程度上減小了控制滯后的影響。
PD 型迭代學(xué)習(xí)控制算法的核心是學(xué)習(xí)律中PD 的參數(shù)選擇,不合適的參數(shù)選擇無(wú)法保證算法的收斂性,不同學(xué)習(xí)參數(shù)下算法的收斂速度以及受噪聲的影響也大不相同。迭代學(xué)習(xí)控制算法的學(xué)習(xí)參數(shù)選擇多為李雅普諾夫法結(jié)合專家經(jīng)驗(yàn)進(jìn)行選擇,需要對(duì)模型及環(huán)境進(jìn)行精準(zhǔn)建模才能保證算法的性能。Q-learning 算法作為一種典型的無(wú)模型強(qiáng)化學(xué)習(xí)算法,不需要明確的模型,通過(guò)智能體與環(huán)境的不斷交互即可得到最優(yōu)策略,非常適合應(yīng)用于類似PD 參數(shù)整定的這類狀態(tài)空間不大且環(huán)境簡(jiǎn)單的任務(wù)中[18]。本章提出一種基于強(qiáng)化學(xué)習(xí)Q-learning 算法的PD 學(xué)習(xí)律參數(shù)整定方法,與前文迭代學(xué)習(xí)算法相結(jié)合,解決傳統(tǒng)的PD-ILC 算法存在的學(xué)習(xí)律參數(shù)選擇困難的問(wèn)題。
基于強(qiáng)化學(xué)習(xí)Q-learning 參數(shù)整定方法中涉及的主要對(duì)象包括:智能體Agent 為無(wú)人機(jī)控制系統(tǒng)的迭代學(xué)習(xí)控制器;環(huán)境E為無(wú)人機(jī)系統(tǒng);狀態(tài)空間S,其中的每個(gè)狀態(tài)s∈S,s=[KP,KD]T;動(dòng)作空間A,其中每個(gè)動(dòng)作a∈A,a=[ΔKP,ΔKD]T;R為獎(jiǎng)勵(lì)值。算法的基本思想如下:
選取迭代學(xué)習(xí)控制器中的兩個(gè)學(xué)習(xí)律參數(shù)KP、KD作為狀態(tài),在該狀態(tài)下采取的動(dòng)作為ΔKP,ΔKD,則對(duì)應(yīng)的狀態(tài)轉(zhuǎn)移計(jì)算公式為:
動(dòng)作選擇策略π則采用“ε-貪心策略”:
獎(jiǎng)勵(lì)函數(shù)的設(shè)置會(huì)在很大程度上影響模型的訓(xùn)練效果[19]。針對(duì)迭代學(xué)習(xí)控制最基本的精度目標(biāo),在獎(jiǎng)勵(lì)中設(shè)置如下指標(biāo):
式(20)(21)中:α和β均為正常數(shù),St表示仿真時(shí)間,Iter表示迭代次數(shù)。將不同次迭代的軌跡誤差和的收斂情況與獎(jiǎng)勵(lì)值大小相關(guān)聯(lián),篩選出在保證迭代過(guò)程收斂的同時(shí)能用盡可能少的迭代完成收斂的學(xué)習(xí)參數(shù)。另外在實(shí)際應(yīng)用過(guò)程中,除了對(duì)精度和收斂性的要求外,對(duì)于單次飛行過(guò)程中無(wú)人機(jī)跟蹤軌跡的快速穩(wěn)定追蹤指標(biāo)也有要求。參照精度指標(biāo)的設(shè)計(jì)思路,對(duì)無(wú)人機(jī)軌跡控制穩(wěn)定時(shí)間的獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)如下:
式(22)(23)中:ε和χ均為正常數(shù),τ(k)表示第k次迭代過(guò)程中跟蹤誤差穩(wěn)定在0.05 m 以內(nèi)的起始時(shí)間。如果在當(dāng)前的學(xué)習(xí)參數(shù)下穩(wěn)定起始時(shí)間能隨著迭代逐次降低,則給予該參數(shù)穩(wěn)定時(shí)間獎(jiǎng)勵(lì)RStable,且該獎(jiǎng)勵(lì)值與優(yōu)化效果成正比。所以最終的獎(jiǎng)勵(lì)函數(shù)為:
確定Q-value 的更新方法及獎(jiǎng)勵(lì)函數(shù)的設(shè)計(jì)方法后,進(jìn)行算法的整定工作,算法流程如下。
為了檢驗(yàn)本文設(shè)計(jì)的強(qiáng)化迭代學(xué)習(xí)控制(RL-ILC)算法對(duì)于經(jīng)典著陸飛行軌線的跟蹤性能以及在存在未知擾動(dòng)的環(huán)境中的魯棒性,在Matlab 中進(jìn)行仿真實(shí)驗(yàn)并與未經(jīng)學(xué)習(xí)參數(shù)尋優(yōu)的傳統(tǒng)迭代學(xué)習(xí)控制(ILC)算法、經(jīng)典PID 控制算法及滑??刂疲⊿liding Mode Control,SMC)算法的軌跡控制結(jié)果作對(duì)比。假設(shè)無(wú)人機(jī)在著陸任務(wù)初始時(shí)懸停于高度120 m的空中,著陸時(shí)速度為0 m/s。綜合以上幾點(diǎn)要求,設(shè)置標(biāo)準(zhǔn)著陸軌跡的Z向分量Zd為:
橫側(cè)向分量Yd為:
縱向分量Xd為:
如式(25)~(27)所示仿真時(shí)間設(shè)定為60 s,計(jì)算步長(zhǎng)為0.01 s,使用歐拉法進(jìn)行數(shù)值積分。輸入變量及部分狀態(tài)變量對(duì)應(yīng)初始參數(shù)見(jiàn)表2。
表2 輸入變量初始參數(shù)Tab.2 Initial parameters of input variables
表2 中的初始參數(shù)為第一次仿真過(guò)程中的恒定值,不隨時(shí)間變化。實(shí)驗(yàn)過(guò)程中不涉及航向角變化故設(shè)置航向角φ及對(duì)應(yīng)的角速度以及輸入U(xiǎn)4數(shù)值均為0。強(qiáng)化學(xué)習(xí)整定的初始學(xué)習(xí)參數(shù)為(0.6,0.9),以此為起點(diǎn)進(jìn)行學(xué)習(xí)參數(shù)的優(yōu)化。
通過(guò)大量數(shù)據(jù)實(shí)驗(yàn),最終得到的Q-table 經(jīng)過(guò)處理后,由圖3 將強(qiáng)化學(xué)習(xí)尋優(yōu)學(xué)習(xí)參數(shù)的過(guò)程以散點(diǎn)圖的形式呈現(xiàn)。不同的(KP,KD)組合有不同的Value 值,Value 值與前文的獎(jiǎng)賞值正相關(guān),即收斂性好、收斂速度快的學(xué)習(xí)參數(shù)組合有更高的Value 值。按照Value 值的大小即可篩選出此狀態(tài)下的最優(yōu)學(xué)習(xí)參數(shù)。
圖3 強(qiáng)化學(xué)習(xí)參數(shù)尋優(yōu)散點(diǎn)圖Fig.3 Scatter diagram of reinforcement learning parameter optimization
圖4(d)表示強(qiáng)化學(xué)習(xí)尋優(yōu)學(xué)習(xí)參數(shù)前后仿真時(shí)間內(nèi)軌跡誤差的絕對(duì)值之和隨著迭代次數(shù)的變化示意圖,經(jīng)過(guò)強(qiáng)化學(xué)習(xí)優(yōu)化后的學(xué)習(xí)參數(shù)在收斂速度上優(yōu)化顯著。未經(jīng)參數(shù)優(yōu)化的迭代學(xué)習(xí)選取的初始學(xué)習(xí)參數(shù)不佳導(dǎo)致總誤差隨迭代次數(shù)增加而增大,即軌跡控制發(fā)散;而通過(guò)強(qiáng)化學(xué)習(xí)優(yōu)化后,僅需要2~3 次迭代即可將總誤差縮減至初始誤差和的0.2%,滿足總體誤差要求。
圖4(a)~(c)則從時(shí)間域角度出發(fā),分別展示了在有隨機(jī)噪聲存在的情況下4 種控制算法的縱向位移X,橫向位移Y以及高度向位移Z這3 個(gè)自由度上的位置量隨時(shí)間的變化;圖4(e)為實(shí)驗(yàn)設(shè)置的隨機(jī)噪聲;圖4(f)則是4 種不同算法下三維運(yùn)動(dòng)軌跡與理想軌跡之間的對(duì)比。從時(shí)間域角度來(lái)看,由于噪聲的存在,優(yōu)化學(xué)習(xí)參數(shù)后的迭代學(xué)習(xí)算法輸出的實(shí)際軌跡在目標(biāo)軌跡附近略有波動(dòng),但波動(dòng)均十分微小,跟蹤效果優(yōu)異。與之相比,未經(jīng)參數(shù)優(yōu)化的普通迭代學(xué)習(xí)算法在任務(wù)初期有明顯的波動(dòng)效果;且由于參數(shù)性能較差,算法并不能保證收斂,導(dǎo)致軌跡誤差進(jìn)一步發(fā)散。通過(guò)將未經(jīng)參數(shù)優(yōu)化的方法迭代20 次的結(jié)果與優(yōu)化后的方法迭代10 次的結(jié)果進(jìn)行對(duì)比,不難發(fā)現(xiàn)不良的學(xué)習(xí)參數(shù)帶來(lái)的誤差即使通過(guò)增加迭代次數(shù)來(lái)進(jìn)行補(bǔ)償也未能帶來(lái)明顯的改善。另外兩種傳統(tǒng)的飛行控制算法,在存在未知擾動(dòng)的環(huán)境下也存在軌跡跟蹤效果較差的問(wèn)題。PID 算法在有擾動(dòng)的情況下容易在目標(biāo)軌線出現(xiàn)波動(dòng),軌跡誤差較大且沒(méi)有隨時(shí)間增長(zhǎng)收斂到理想軌跡的趨勢(shì)。SMC 算法相較于PID 算法,其收斂性更好,能夠收斂到理想軌跡附近,抗擾性略優(yōu)于PID 算法;但相較于RL-ILC 算法,SMC 算法的調(diào)節(jié)時(shí)間較長(zhǎng),無(wú)法在有擾動(dòng)的情況下快速響應(yīng)完成調(diào)節(jié)。綜合來(lái)看,經(jīng)過(guò)強(qiáng)化學(xué)習(xí)算法尋優(yōu)后的參數(shù)能夠?qū)崿F(xiàn)環(huán)境自適應(yīng),在不同的環(huán)境中自適應(yīng)進(jìn)行參數(shù)調(diào)節(jié)保證迭代學(xué)習(xí)算法的快速收斂以及軌跡跟蹤的精準(zhǔn)度。
圖4 強(qiáng)化迭代學(xué)習(xí)與迭代學(xué)習(xí)的軌跡跟蹤對(duì)比Fig.4 Trajectory tracking comparison between reinforcement learning-iterative learning and iterative learning
本文針對(duì)經(jīng)典PID 控制系統(tǒng)下四旋翼無(wú)人機(jī)軌跡跟蹤特定飛行軌跡時(shí)存在精度較差的問(wèn)題,提供一種新的解決方法:在經(jīng)典的反饋控制結(jié)構(gòu)中加入迭代學(xué)習(xí)前饋控制器,通過(guò)不斷對(duì)典型的飛行剖面進(jìn)行學(xué)習(xí),優(yōu)化控制器輸入來(lái)逐漸減小軌跡誤差,從而實(shí)現(xiàn)完美追蹤。RL-ILC 與ILC 的對(duì)比實(shí)驗(yàn)結(jié)果顯示,迭代學(xué)習(xí)控制器中的學(xué)習(xí)參數(shù)選擇對(duì)控制效果的影響較大。通過(guò)引入強(qiáng)化學(xué)習(xí)Q-learning 算法優(yōu)化迭代學(xué)習(xí)控制律的學(xué)習(xí)參數(shù),解決了迭代學(xué)習(xí)算法學(xué)習(xí)參數(shù)選擇困難的問(wèn)題。在不同的環(huán)境以及任務(wù)下,強(qiáng)化學(xué)習(xí)強(qiáng)大的學(xué)習(xí)搜索能力能在保證迭代學(xué)習(xí)算法快速收斂且達(dá)到最優(yōu)控制效果的同時(shí),降低系統(tǒng)對(duì)環(huán)境的依賴性,從而大幅提升算法的抗干擾性、穩(wěn)定性和實(shí)用性。最后的仿真實(shí)驗(yàn)結(jié)果也顯示優(yōu)化學(xué)習(xí)參數(shù)后的迭代學(xué)習(xí)算法在存在較大的隨機(jī)環(huán)境噪聲的情況下仍可實(shí)現(xiàn)接近完美的軌跡跟蹤。在今后的實(shí)驗(yàn)研究中,可以考慮將該控制方法應(yīng)用于實(shí)際飛行中,利用實(shí)際飛行數(shù)據(jù)來(lái)進(jìn)一步優(yōu)化控制算法。