彭海軍, 王 磊, 王昕煒, 吳志剛, 易雪玲
(1.大連理工大學(xué) 工業(yè)裝備結(jié)構(gòu)分析優(yōu)化與CAE軟件全國重點(diǎn)實(shí)驗(yàn)室 工程力學(xué)系 大連 116024;2.大連理工大學(xué) 數(shù)學(xué)科學(xué)學(xué)院,大連 116024; 3.中山大學(xué) 航空航天學(xué)院,深圳 518000)
最優(yōu)控制是現(xiàn)代控制理論的重要分支[1],在航空、航天、機(jī)械、機(jī)器人、化工、通信、能源和經(jīng)濟(jì)等領(lǐng)域有著廣泛的應(yīng)用,開發(fā)高效、高精度和高魯棒性的控制算法具有重要實(shí)際價(jià)值和意義。20世紀(jì)60年代,Pontryagin極大值原理[2]和Bellman動(dòng)態(tài)規(guī)劃[3]方法有力地推動(dòng)了最優(yōu)控制問題解析法的發(fā)展。然而,對(duì)于復(fù)雜動(dòng)態(tài)系統(tǒng)通常無法獲得最優(yōu)控制解析解,數(shù)值解法應(yīng)運(yùn)而生并成為主流。
最優(yōu)控制問題的數(shù)值解法可以大致分為直接法和間接法。直接法將連續(xù)時(shí)間最優(yōu)控制問題轉(zhuǎn)化為一個(gè)大規(guī)模有限維非線性規(guī)劃問題[4],如局部配點(diǎn)法[5]、全局配點(diǎn)法[6]和有限元法[7]等。直接法適用于不同類型、不同約束的最優(yōu)控制問題,具有較大的收斂半徑。缺點(diǎn)是當(dāng)離散變量規(guī)模較大時(shí),可能面臨維數(shù)災(zāi)難[4];并且由于多數(shù)直接法不提供協(xié)態(tài)變量的信息,因此很難證明直接法的結(jié)果滿足最優(yōu)性條件。間接法主要求解由最優(yōu)控制的一階必要條件(FONCs)得到的Hamiltonian兩點(diǎn)邊值問題(HTBVP)或與其他方程的耦合[8],如打靶法、多重打靶法[9]和有限差分法[10]等。間接法基于最優(yōu)性條件構(gòu)造,因此求得的解至少是局部最優(yōu)的;并且,由于間接法可得到協(xié)態(tài)變量的數(shù)值解,因此可以根據(jù)協(xié)態(tài)變量從本質(zhì)上分析Hamiltonian動(dòng)力系統(tǒng)的幾何結(jié)構(gòu)特征。間接法的缺點(diǎn)是,數(shù)值解的收斂半徑較小,并且對(duì)于非常復(fù)雜的非線性最優(yōu)控制問題,難以為沒有實(shí)際物理意義的協(xié)態(tài)變量提供好的初始猜測(cè)。部分學(xué)者為融合上述兩種方法優(yōu)點(diǎn),發(fā)展了混和求解策略,主要有兩種常見方式,(1) 將直接法得到的結(jié)果作為間接法的初始猜測(cè)去求解[11];(2) 在直接法框架下,考慮將HTPBVP轉(zhuǎn)化求解[12]。此外,得益于近年來人工智能(AI)技術(shù)快速發(fā)展,基于AI的數(shù)值算法也取得了長足的進(jìn)步,如遺傳算法[13]、粒子群算法[14]和微分進(jìn)化算法[15]等。
最優(yōu)控制問題固有地涉及Hamiltonian系統(tǒng),而保辛方法是求解Hamiltonian系統(tǒng)的強(qiáng)有力工具。保辛算法保持了辛幾何,可以有效地限制誤差的增長,在動(dòng)力學(xué)系統(tǒng)的長時(shí)間模擬上具有獨(dú)特的優(yōu)勢(shì)。保辛方法不僅可以在離散后繼承原連續(xù)系統(tǒng)的固有辛結(jié)構(gòu),而且可以精準(zhǔn)地反映系統(tǒng)的能量變化水平[16],求解精度高,因此具有重要的實(shí)際意義。
由于保辛方法的重要意義,學(xué)者們從間接法和直接法的框架出發(fā),發(fā)展了最優(yōu)控制問題的保辛方法。間接法本身會(huì)涉及到Hamiltonian系統(tǒng),因此構(gòu)造保辛方法具有天然的優(yōu)勢(shì)。文獻(xiàn)[17,18]基于生成函數(shù)提出了保辛方法,通過生成函數(shù)滿足Hamiltonian系統(tǒng)正則變換下的條件,實(shí)現(xiàn)對(duì)HTBVP的求解。Sanz-Serna等[19]將保辛Runge-Kutta法用于求解HTBVP。此外,也有學(xué)者從直接法的框架出發(fā)構(gòu)造了保辛直接法。這類方法對(duì)最優(yōu)控制問題的動(dòng)力學(xué)方程進(jìn)行保辛離散,可以在求解時(shí)實(shí)現(xiàn)對(duì)原動(dòng)力系統(tǒng)更精確的近似。如Bonnans等[20]提出的Runge-Kutta差分格式的保辛離散,Ober-Bloebaum等[21]提出的結(jié)合零空間方法的保辛方法等。其中最具代表性的是離散力學(xué)與最優(yōu)控制(DMOC)方法[22]。該方法對(duì)動(dòng)力學(xué)方程進(jìn)行保辛離散,然后離散性能指標(biāo)和其他約束,將原問題轉(zhuǎn)化為NLP問題再求解。但DMOC方法只考慮了動(dòng)力學(xué)方程的保辛,這種保辛是不完全的。
近年來,本課題組針對(duì)不同類型的最優(yōu)控制問題,提出了一系列保辛數(shù)值方法,并將其應(yīng)用在了航空航天和機(jī)械等各個(gè)領(lǐng)域。本文分別針對(duì)常微分方程(ODE)和微分代數(shù)(DAE)方程的最優(yōu)控制問題,考慮了含約束、時(shí)滯和切換系統(tǒng)的情況,給出了相應(yīng)保辛求解方法。進(jìn)一步,面向?qū)嶋H場(chǎng)景中閉環(huán)控制需求,介紹了保辛算法在模型預(yù)測(cè)控制、滾動(dòng)時(shí)域估計(jì)和瞬時(shí)最優(yōu)控制等技術(shù)中的應(yīng)用。
針對(duì)動(dòng)力學(xué)方程為常微分方程的最優(yōu)控制問題,考慮了一般無約束問題、含不等式約束以及含時(shí)滯問題的保辛數(shù)值解法。
文獻(xiàn)[23]針對(duì)一般非線性最優(yōu)控制問題,提出了高精度和高效率的保辛數(shù)值算法,基于對(duì)偶變分原理和生成函數(shù)方法,將其轉(zhuǎn)化為非線性方程組進(jìn)行求解。此外,還可以先通過擬線性化方法[24]將問題轉(zhuǎn)化為一系列線性二次(LQ)問題,再通過上述方法將其轉(zhuǎn)化為線性方程組求解。
2.1.1 問題列式
考慮無約束非線性最優(yōu)控制問題(P2-1),
x(0)=xs
(1)
式中x(t)∈ns和u(t)∈nu分別為狀態(tài)變量和控制變量,f:ns×nu×→ns為系統(tǒng)方程。
引入?yún)f(xié)態(tài)變量λ(t)∈ns,問題(P2-1)的Hamiltonian函數(shù)定義為H=L+λTf(x,u,t)。
根據(jù)變分法推導(dǎo)問題(P2-1)的必要條件可得?H(x,u,λ,t)/?u=0,則可求得u(t)=g(x(t),λ(t))。在給定控制時(shí)域(0,tf)內(nèi),定義作用量
(2)
由最小作用量原理,可以推導(dǎo)出問題(P2-1)的FONCs滿足如下Hamiltonian正則方程,
(3)
至此,非線性最優(yōu)控制問題(P2-1)通過變分原理轉(zhuǎn)化為非線性HTBVP。
2.1.2 基于對(duì)偶變分原理的辛算法
(4)
選擇式(4)中不同的狀態(tài)變量和協(xié)態(tài)變量作為獨(dú)立變量,可以得到不同的生成函數(shù)。然而,根據(jù)非線性最優(yōu)控制問題得到Hamiltonian系統(tǒng),其作用量并不能解析得到,且生成函數(shù)只能根據(jù)數(shù)值近似的作用量得到。因此,為了構(gòu)造生成函數(shù)來近似Hamiltonian系統(tǒng),作用量的數(shù)值近似值需要充分接近解析值,并保持正則變換。
本文基于四種生成函數(shù)和最小作用量原理,構(gòu)造了求解HTBVP的辛數(shù)值方法。
(5)
基于最小作用量原理,若Hamiltonian正則方程在時(shí)域內(nèi)得到滿足,那么作用量(即第一類生成函數(shù))是關(guān)于兩端狀態(tài)的函數(shù),則可得第j個(gè)子區(qū)間內(nèi)近似第一類生成函數(shù)的駐值條件
(j=1,2,…,Q)
(6)
(j=1,2,…,Q)
(7)
整個(gè)時(shí)域內(nèi)的近似第一類生成函數(shù)的駐值條件表示為
(j=1,2,…,Q-1)
(8)
整個(gè)時(shí)域兩端的協(xié)態(tài)變量為
λ0=-?S/?x0,λQ=?S/?xQ
(9)
至此,基于最小作用量原理,原非線性最優(yōu)控制問題(P2-1)轉(zhuǎn)化成了非線性代數(shù)方程(6~9)。
最后采用牛頓法等數(shù)值算法迭代求解非線性方程組。注意,為了加快牛頓法收斂速度,需要求出Jacobi矩陣的解析形式,得到的Jacobi矩陣具有稀疏對(duì)稱特性和較小的帶寬,采用稀疏線性求解器可以進(jìn)一步加快計(jì)算效率。
2.1.3 保辛序列迭代算法
此外,還可以通過文獻(xiàn)[25]中保辛序列迭代算法求解。首先根據(jù)擬線性化方法,將一般的非線性最優(yōu)控制問題轉(zhuǎn)化為一系列LQ問題;然后由參變量變分原理和保辛離散,將LQ問題轉(zhuǎn)化為線性方程組;最后求解線性方程組,得到問題的解。
擬線性化方法對(duì)狀態(tài)方程和不等式約束進(jìn)行線性化,將性能指標(biāo)展開至二階,將非線性最優(yōu)控制問題(P2-1)轉(zhuǎn)化為一系列的LQ問題的迭代,其收斂性不依賴于迭代初值的選取[24]。而且,擬線性化方法可以提高收斂速度,同時(shí)避免了對(duì)沒有明確物理意義的協(xié)態(tài)變量提供初始猜測(cè)。
設(shè)第(k+1)次迭代的LQ問題如下,
w[k](t)
x[k+1](0)=xs
(10)
(11)
w[k](t)=f(x[k],u[k],t)-A[k](t)x(t)-
B[k](t)u(t)
(12)
用符號(hào)(?)[k]表示變量第k次迭代的計(jì)算結(jié)果。將得到的LQ最優(yōu)控制問題反復(fù)迭代求解,直至滿足‖x[k]-x[k+1]‖/‖x[k+1]‖≤ε,得到最優(yōu)解。
按照2.1.2節(jié)的方法,基于第一類生成函數(shù)和變分原理,將LQ問題轉(zhuǎn)化為線性方程組,最后用數(shù)值方法求解。
注:由作用量變分原理知,滿足Hamilton正則方程。因此,Hamilton系統(tǒng)的辛相流結(jié)構(gòu)在離散時(shí)間點(diǎn)上得到保持。由于每一次迭代的LQ問題都是用保辛算法求解,故基于序列迭代的方法自然也是保辛的。
工程中涉及的最優(yōu)控制問題通常要考慮復(fù)雜約束。文獻(xiàn)[26]針對(duì)動(dòng)態(tài)系統(tǒng)、約束以及性能指標(biāo)均為非線性的最優(yōu)控制問題,基于第二類生成函數(shù)、參變量變分原理和多區(qū)段LGL型偽譜近似,提出了一種多區(qū)段保辛偽譜算法(SPM)。
2.2.1 問題列式
考慮含不等式約束最優(yōu)控制問題(P2-2),
x(ts)=xs
h(x,u,t)≤0
(13)
式中h:ns×nu×→nh為nh維不等式約束。
2.2.2 問題轉(zhuǎn)化
序列擬凸化方法(SCvx)[27]是擬線性化方法的一種。由SCvx,問題(P2-2)轉(zhuǎn)化為一系列LQ問題的迭代。根據(jù)參變量變分原理,推導(dǎo)得LQ問題的一階必要性條件為以下關(guān)于狀態(tài)變量和協(xié)態(tài)變量的線性Hamiltonian 兩點(diǎn)邊值問題和一個(gè)關(guān)于參變量的線性互補(bǔ)問題(LCP)的耦合,
(14)
α(t)≥0,μ(t)≥0,μT(t)α(t)=0
(15)
2.2.3 多區(qū)段保辛偽譜算法
求解含不等式約束的LQ問題的SPM與2.1節(jié)的方法類似。首先對(duì)控制時(shí)域進(jìn)行離散,每個(gè)子區(qū)間內(nèi)的狀態(tài)變量、協(xié)態(tài)變量和參變量用LGL偽譜法進(jìn)行插值;基于第二類生成函數(shù)和參變量變分原理,問題轉(zhuǎn)化為一個(gè)線性代數(shù)方程組和一個(gè)LCP的耦合,構(gòu)成一個(gè)混合線性互補(bǔ)問題;用Lemke’s方法求解LCP,得到問題(P2-2)的解。
LCP計(jì)算過程中,系數(shù)矩陣具有稀疏性,并且部分矩陣還具有對(duì)稱性,因此計(jì)算效率高。整個(gè)算法基于最小作用量原理構(gòu)造,保證了算法中涉及到的線性代數(shù)方程組的系數(shù)矩陣是稀疏對(duì)稱的,且其半帶寬僅與動(dòng)力學(xué)系統(tǒng)的維數(shù)及所有子區(qū)間內(nèi)采用的偽譜法的最高階數(shù)相關(guān)。
工程問題中的時(shí)滯可以存在于狀態(tài)變量和控制變量中,但在間接法的框架下,求解含控制時(shí)滯的問題會(huì)變得很復(fù)雜。文獻(xiàn)[28]針對(duì)一類無約束的狀態(tài)時(shí)滯最優(yōu)控制問題,基于第一類生成函數(shù),在對(duì)偶變分原理和局部LGL型偽譜近似的框架下,提出了一種多區(qū)段保辛偽譜算法。
2.3.1 問題列式
考慮含時(shí)滯的最優(yōu)控制問題 (P2-3),
x(t)=g(t) (t∈[ts-θ,ts])
(16)
式中θ∈+為狀態(tài)變量的時(shí)滯量,g(t)∈([ts-θ,ts],ns)為初始狀態(tài),假設(shè)g(t)≡xs。
2.3.2 問題轉(zhuǎn)化
通過SCvx,問題(P2-3)轉(zhuǎn)化為一系列含狀態(tài)時(shí)滯的LQ最優(yōu)控制問題的迭代。由變分原理推導(dǎo)得到時(shí)滯LQ問題關(guān)于狀態(tài)變量和協(xié)態(tài)變量的最優(yōu)性條件為HTBVP
(t∈[ts,tf])
(17)
(18)
式(17,18)中系數(shù)矩陣的具體表達(dá)見文獻(xiàn)[28]。HTPBVP呈現(xiàn)了分段的特點(diǎn),其既包含超前的協(xié)態(tài)變量,還包含滯后的狀態(tài)變量。
注:對(duì)含不等式且性能指標(biāo)不是二次型的時(shí)滯最優(yōu)控制問題,可通過SCvx方法將其轉(zhuǎn)化為帶約束的線性二次問題。然后推導(dǎo)其一階必要條件,得到一個(gè)分段HTBVP和一個(gè)關(guān)于參變量的LCP的耦合問題。一方面,HTBVP中,右端項(xiàng)存在參變量;另一方面,LCP中,參變量和狀態(tài)變量、協(xié)態(tài)變量相關(guān)。可以發(fā)現(xiàn),擬線性化后的問題僅在HTBVP中存在分段特性。因此,可以采用與2.2節(jié)類似的方法,基于第二類生成函數(shù)構(gòu)造相應(yīng)的多區(qū)段保辛偽譜算法。
2.3.3 多區(qū)段保辛偽譜算法
求解含時(shí)滯的HTBVP的整體方法與2.1.3節(jié)的方法類似。
首先將控制時(shí)域[-θ+ts,tf]均勻離散,再用LGL偽譜法插值。對(duì)每個(gè)子區(qū)間,基于第一類生成函數(shù)和參變量變分原理,可以得到每個(gè)子區(qū)間上的方程組。由于時(shí)滯的存在,子區(qū)間上的第一類生成函數(shù),對(duì)當(dāng)前子區(qū)間內(nèi)狀態(tài)變量的變分將與超前子區(qū)間內(nèi)的協(xié)態(tài)變量發(fā)生關(guān)系;對(duì)當(dāng)前子區(qū)間內(nèi)協(xié)態(tài)變量的變分將與滯后子區(qū)間內(nèi)的狀態(tài)變量發(fā)生關(guān)系。然后,對(duì)全局的第一類生成函數(shù)施加變分原理,將LQ問題轉(zhuǎn)化為線性代數(shù)方程組,最后求解方程組,得到問題(P2-3)的解。
機(jī)械和化工等領(lǐng)域中出現(xiàn)的動(dòng)力學(xué)系統(tǒng)往往可描述為微分代數(shù)方程,這些方程在形式上一般都屬于半顯式微分代數(shù)方程。
針對(duì)動(dòng)力學(xué)方程為微分代數(shù)方程的最優(yōu)控制問題,本節(jié)考慮了無約束、含不等式約束以及含切換系統(tǒng)的最優(yōu)控制問題的保辛數(shù)值解法。
半顯式微分代數(shù)方程由微分方程和代數(shù)方程組成。半顯式微分代數(shù)方程的數(shù)值求解與普通的常微分方程相比,其代數(shù)方程需要在整個(gè)時(shí)域內(nèi)得到嚴(yán)格滿足。如果不能得到高精度滿足,那么整個(gè)結(jié)果是不精確甚至失真的,這會(huì)加大最優(yōu)控制中在線控制的負(fù)擔(dān),甚至控制失效。另一方面,數(shù)值求解時(shí)形成的非線性方程組的稀疏矩陣可能出現(xiàn)病態(tài),往往會(huì)導(dǎo)致收斂困難甚至失敗,進(jìn)而導(dǎo)致整個(gè)問題求解失敗?;谏鲜隼щy,目前對(duì)于微分代數(shù)方程最優(yōu)控制問題的求解研究較少。
文獻(xiàn)[29]針對(duì)半顯式微分代數(shù)方程最優(yōu)控制問題提出一種保辛間接解法,從間接法的框架出發(fā),基于變分原理和生成函數(shù)性質(zhì),對(duì)問題的必要條件進(jìn)行保辛離散,將必要條件轉(zhuǎn)化為非線性方程組;最后采用迭代策略求解非線性方程組。
3.1.1 問題列式
考慮半顯式微分代數(shù)方程最優(yōu)控制問題(P3-1),
0=g(x,y,u,t)
(19)
式中g(shù):nx×ny×nu×[0,tf]→ny為代數(shù)方程的右端項(xiàng)函數(shù)。注意,上述方程并不直接出現(xiàn)代數(shù)變量對(duì)時(shí)間的導(dǎo)數(shù)將代數(shù)方程對(duì)時(shí)間求導(dǎo)并利用微分方程才會(huì)出現(xiàn)
定義增廣Hamiltonian函數(shù),
(20)
式中λg∈ny為代數(shù)乘子。由變分原理,推導(dǎo)得到問題(P3-1)的必要條件為一個(gè)HTBVP,
(21)
(22)
(23)
3.1.2 保辛間接法
按照2.1.2節(jié)的方法,基于第四類生成函數(shù)和變分原理,將HTBVP保辛離散為非線性方程組。最后,通過迭代策略求解非線性代數(shù)方程組,得到問題(P3-1)的解。
本節(jié)的保辛間接法主要有以下優(yōu)勢(shì), (1) 迭代求解方程組時(shí),需要求解其Jacobi陣,由變分原理可知Jacobi矩陣為稀疏對(duì)稱陣。在每一步迭代更新未知量時(shí),利用對(duì)稱性可快速得到整個(gè)Jacobi陣。同時(shí),稀疏性降低了計(jì)算所需內(nèi)存。因此,該方法可以高效和低成本地求解大規(guī)模問題。(2) 此方法保持了原始Hamiltonian系統(tǒng)的辛結(jié)構(gòu)。求解時(shí),解的最優(yōu)性條件和問題的代數(shù)方程均能高精度滿足。將所得控制施加于系統(tǒng),系統(tǒng)能精確轉(zhuǎn)移至對(duì)應(yīng)的終端狀態(tài)。(3) 與直接法相比,保辛間接法收斂速度快,計(jì)算時(shí)間短,且在初始猜測(cè)發(fā)生改變時(shí),收斂速度也不會(huì)受到影響。
針對(duì)含不等式約束的半顯式微分代數(shù)方程最優(yōu)控制問題,文獻(xiàn)[30]提出了保辛間接法?;诘谒念惿珊瘮?shù),將問題的必要條件構(gòu)成的耦合問題保辛離散,再用非光滑方法將其轉(zhuǎn)化為非光滑方程組,最后通過一種復(fù)合求解策略求解非光滑方程組。
3.2.1 問題列式
考慮含不等式約束的微分代數(shù)方程最優(yōu)控制問題(P3-2),
0=g(x,y,u,t)
h(x,u,t)≤0
(24)
式中h:nx×nu×[0,tf]→nh為nh-維不等式約束。推導(dǎo)可得問題(P3-2)的必要條件為一個(gè)HTBVP與LCP的耦合,
(25)
(26)
β≥0,h(x,u(x,λ,y,λg,β,t),t)≤0
(27)
βTh(x,u(x,λ,y,λg,β,t),t)=0
(28)
3.2.2 保辛間接法
求解含不等式約束的微分代數(shù)方程最優(yōu)控制問題的保辛方法,與第2.1.2節(jié)的方法類似,基于第四類生成函數(shù)和變分原理,將問題(P3-2)必要條件形成的HTBVP與LCP的耦合問題,離散為一個(gè)非線性方程組與一個(gè)LCP的耦合問題。
這類耦合問題也稱混合非線性互補(bǔ)問題(MNCP)[31],由于問題中非線性方程組與互補(bǔ)條件耦合,因此難以直接求解。為了便于求解離散后的耦合問題,首先利用非光滑F(xiàn)-B(Fischer-Burmeister)函數(shù)將其轉(zhuǎn)化為一系列非光滑方程組。然后,用替代矩陣替代不存在的Jacobi矩陣進(jìn)行迭代計(jì)算。替代矩陣是稀疏的,且其中一部分元素是對(duì)稱的,因此對(duì)于大規(guī)模的問題,也可以高效求解。最后采用包含預(yù)迭代技術(shù)的復(fù)合求解策略求解,得到問題(P3-2)的解。預(yù)迭代技術(shù)可以提高初始解的質(zhì)量,能快速得到收斂的解。并且當(dāng)初始解改變時(shí),其收斂速度不會(huì)受到較大影響。
與一般連續(xù)系統(tǒng)相比,切換系統(tǒng)最優(yōu)控制問題更加復(fù)雜,求解更加困難。由于切換的存在,切換系統(tǒng)最優(yōu)控制問題的最優(yōu)性必要條件將變得很復(fù)雜,不利于數(shù)值求解[32]。因此針對(duì)切換系統(tǒng)最優(yōu)控制問題,提出了保辛直接解法,通過參變量變分原理和生成函數(shù)的性質(zhì),發(fā)展了一種基于辛離散的切換系統(tǒng)離散格式。將切換系統(tǒng)動(dòng)力學(xué)方程和整個(gè)最優(yōu)控制問題保辛離散為非線性規(guī)劃問題,最后求解非線性規(guī)劃問題。
3.3.1 問題列式
考慮含切換機(jī)械系統(tǒng)的最優(yōu)控制問題(P3-3),
(29)
該問題是一類含不等式約束的微分代數(shù)方程最優(yōu)控制問題。
3.2.2 保辛直接法
問題(P3-3)采用保辛直接法求解。首先對(duì)整個(gè)時(shí)域進(jìn)行均勻剖分。由參變量變分原理,可以將每個(gè)子區(qū)間上的動(dòng)力學(xué)方程進(jìn)行保辛離散。保辛離散可以使其較好地模擬原系統(tǒng)的特性。進(jìn)一步離散整個(gè)最優(yōu)控制問題,將問題(P3-3)轉(zhuǎn)化為一個(gè)含等式約束和不等式約束的大規(guī)模NLP問題。最后采用優(yōu)化求解器求解,得到原問題的解。求解后可以直接得到參變量隨時(shí)間的變化規(guī)律,這樣也就得到整個(gè)系統(tǒng)運(yùn)動(dòng)過程中的切換規(guī)律。
前兩節(jié)提到的保辛解法可以用于不同類型的軌跡規(guī)劃問題,但其都是開環(huán)算法,不存在反饋。在實(shí)際控制任務(wù)中,由于各種擾動(dòng)的存在,開環(huán)算法可能導(dǎo)致系統(tǒng)的真實(shí)軌跡偏離設(shè)定軌跡。基于此,在離線規(guī)劃后,可通過閉環(huán)控制算法實(shí)時(shí)跟蹤參考軌跡來處理這類問題。
針對(duì)閉環(huán)最優(yōu)控制問題,利用第2.2節(jié)的SPM,本節(jié)構(gòu)造了求解閉環(huán)最優(yōu)控制問題的保辛模型預(yù)測(cè)控制(MPC)[33]、保辛滾動(dòng)時(shí)域估計(jì)(MHE)[34]以及保辛瞬時(shí)最優(yōu)控制(IOC)算法[35]。
MPC是一種基于滾動(dòng)思想的算法。在每個(gè)采樣時(shí)刻以當(dāng)前狀態(tài)作為初始狀態(tài),求解一個(gè)有限時(shí)域的開環(huán)最優(yōu)控制問題,并將求解的最優(yōu)控制中的第一步作為當(dāng)前控制窗口的控制輸入。如果想在快速變化的系統(tǒng)中應(yīng)用MPC,需要在每個(gè)采樣步求解最優(yōu)控制問題時(shí)具有較高的求解效率。而第2.2節(jié)的保辛偽譜法具有收斂速度快和求解效率高的特點(diǎn)。文獻(xiàn)[33]基于保辛偽譜法構(gòu)造了保辛偽譜MPC算法。
4.1.1 問題列式
h(x,u,t)≤0
(30)
4.1.2 保辛MPC算法
保辛MPC控制器可以概述為以下過程。
閉環(huán)控制過程中需要精確地獲得系統(tǒng)的當(dāng)前狀態(tài)。但工程中的大多數(shù)問題通常不能直接獲得其全部的狀態(tài),因此需要進(jìn)行狀態(tài)估計(jì),根據(jù)可測(cè)的已知的狀態(tài)變量來確定所有的狀態(tài)變量。這類問題可以采用滾動(dòng)時(shí)域估計(jì)算法來求解。其基本思想是在每個(gè)采樣時(shí)刻,根據(jù)過去的采樣數(shù)據(jù)和估計(jì)結(jié)果,求解一個(gè)過去有限時(shí)間內(nèi)的優(yōu)化問題。通過求解優(yōu)化問題,得到過去有限時(shí)間內(nèi)的虛擬狀態(tài)軌跡。將虛擬狀態(tài)軌跡中當(dāng)前時(shí)刻的狀態(tài)值作為當(dāng)前采樣步的狀態(tài)估計(jì)值。
MHE問題通常認(rèn)為是MPC的對(duì)偶問題,對(duì)于需要高頻采樣的機(jī)械系統(tǒng),需要較高的在線計(jì)算效率。在MHE中,如果把模型誤差看作控制變量,則每個(gè)采樣步需要求解的問題可以視為一個(gè)含不等式約束的最優(yōu)控制問題。該問題可以用保辛偽譜法求解,基于此,文獻(xiàn)[34]構(gòu)造了求解滾動(dòng)時(shí)域最優(yōu)控制問題的保辛偽譜MHE算法。
4.2.1 問題列式
y=g(x,n,t)
h(x,u,t)≤0
(31)
對(duì)于每個(gè)采樣時(shí)刻的估計(jì)問題,均可看作是一個(gè)開環(huán)最優(yōu)控制,可以采用保辛偽譜法進(jìn)行求解。
4.2.2 保辛MHE算法
保辛MHE控制器可以概述為以下過程。
MHE和MPC都可以在含不等式約束下的非線性最優(yōu)控制問題框架下求解,這給控制軟件在硬件上的實(shí)現(xiàn)帶來了極大的便利。
機(jī)器人多體系統(tǒng)軌跡跟蹤控制問題可以表述為微分代數(shù)方程的瞬時(shí)最優(yōu)控制問題。文獻(xiàn)[35]針對(duì)瞬時(shí)最優(yōu)控制問題,構(gòu)造保辛IOC算法。
4.3.1 問題列式
瞬時(shí)最優(yōu)控制在每個(gè)瞬時(shí)構(gòu)造目標(biāo)函數(shù)。假設(shè)tk時(shí)刻待求解的最優(yōu)控制問題(P4-3)為
(32)
4.3.2 保辛IOC算法
保辛IOC算法可以總結(jié)如下。
采用Newton-Raphson方法迭代求解瞬時(shí)最優(yōu)控制問題。在每個(gè)時(shí)刻t=tk,將微分代數(shù)方程保辛離散,轉(zhuǎn)化為非線性代數(shù)方程組。將tk時(shí)刻的狀態(tài)xk作為迭代的初值。根據(jù)瞬時(shí)最優(yōu)控制理論得到瞬時(shí)最優(yōu)控制uk,再將uk作為新的控制輸入,更新當(dāng)前狀態(tài)xk+1,直至相鄰兩步的狀態(tài)變量小于給定的收斂誤差,IOC過程結(jié)束。
保辛最優(yōu)控制方法已在各個(gè)領(lǐng)域得到了廣泛的應(yīng)用,涵蓋了海陸空天等各個(gè)方面。
(1) 航天領(lǐng)域的應(yīng)用。近地軌道衛(wèi)星編隊(duì)重構(gòu)問題[36]可以轉(zhuǎn)化為非線性最優(yōu)控制問題,采用2.1節(jié)的基于第三類生成函數(shù)的辛算法求解。文獻(xiàn)[36]針對(duì)這類問題,在算例1中,將保辛算法和Gauss偽譜法計(jì)算得到的狀態(tài)與控制變量的相對(duì)誤差和計(jì)算時(shí)間分別進(jìn)行對(duì)比,結(jié)果列入表1和表2。其中,符號(hào)—表示由于離散段數(shù)過多導(dǎo)致Gauss偽譜方法無法求解。由表1和表2可知,保辛方法在狀態(tài)變量和控制變量的求解精度上以及求解效率上明顯高于Gauss偽譜法。
表1 保辛算法與Gauss偽譜法計(jì)算精度比較
表2 保辛算法與Gauss偽譜法計(jì)算效率比較 (單位:s)
航天器在日月系統(tǒng)L2平動(dòng)點(diǎn)附近Halo軌道的狀態(tài)估計(jì)問題[37]可以采用第4.2節(jié)的保辛MHE算法求解。文獻(xiàn)[37]的算例1將保辛MHE算法與經(jīng)典的EKF和UKF濾波算法進(jìn)行了對(duì)比,結(jié)果如圖2所示。可以看出,保辛MHE算法可以有更精確的估計(jì)結(jié)果。
(2) 海上裝備的應(yīng)用。艦載機(jī)著艦問題也可以轉(zhuǎn)化為最優(yōu)控制問題,通過保辛方法求解。文獻(xiàn)[38]針對(duì)模型參數(shù)不準(zhǔn)確條件下的全自動(dòng)著艦控制問題,提出了一種基于保辛偽譜法的自校正MPC[38]方法。將保辛MPC與傳統(tǒng)的極點(diǎn)配置算法和LQR控制算法進(jìn)行了對(duì)比,跟蹤效果如圖3所示??梢钥闯?保辛MPC可以更精確地跟蹤甲板運(yùn)動(dòng),完成高度軌跡的跟蹤控制。
圖2 EKF,UKF和MHE的誤差估計(jì)
圖3 自校正MPC算法與傳統(tǒng)控制算法甲板運(yùn)動(dòng)軌跡跟蹤效果對(duì)比
艦載機(jī)調(diào)運(yùn)問題可以轉(zhuǎn)化為非線性最優(yōu)控制問題,通過保辛方法求解。文獻(xiàn)[39]針對(duì)無桿牽引系統(tǒng)艦載機(jī)甲板路徑規(guī)劃問題,提出了牛頓迭代保辛偽譜算法NSP,并將NSP方法與典型的偽譜法進(jìn)行了對(duì)比,軌跡如圖4所示,相同參數(shù)設(shè)置下的計(jì)算結(jié)果列入表3。從圖4可以看出,艦載機(jī)3和艦載機(jī)5的NSP方法所得路徑長度明顯短于偽譜法的路徑長度。由表3可知,NSP算法計(jì)算時(shí)間明顯小于偽譜法,計(jì)算效率上有更大的優(yōu)勢(shì)。
圖4 艦載機(jī)的滑行軌跡
表3 NSP算法與偽譜法計(jì)算結(jié)果比較
(3) 陸地裝備的應(yīng)用。拖掛車系統(tǒng)軌跡規(guī)劃問題可以描述為含不等式約束的微分代數(shù)方程最優(yōu)控制問題,針對(duì)單節(jié)拖掛車系統(tǒng)的軌跡規(guī)劃問題,文獻(xiàn)[40]采用3.2節(jié)的保辛方法求解,并與GPOPSII的結(jié)果進(jìn)行了對(duì)比,計(jì)算結(jié)果列入表4。由表4可知,保辛方法可以收斂至更精確的性能指標(biāo),迭代次數(shù)和CPU時(shí)間低于GPOPSII,并且具有更強(qiáng)的魯棒性。
對(duì)于橋式起重機(jī)的運(yùn)動(dòng)控制問題[41],可以采用離線軌跡規(guī)劃+在線軌跡跟蹤的策略求解。離散軌跡規(guī)劃階段采用SPM求解。在線軌跡跟蹤階段采用4.1節(jié)的保辛偽譜MPC求解。兩個(gè)階段都可以在統(tǒng)一的保辛偽譜算法框架下求解,這極大方便了控制算法在硬件上的集成。文獻(xiàn)[41]測(cè)試了保辛偽譜MPC控制器在各種外界擾動(dòng)下的魯棒性,并與部分反饋線性化PFL控制器進(jìn)行了對(duì)比,圖5給出了兩種方法的狀態(tài)變量曲線。可以看出,保辛MPC可以更有效地跟蹤參考軌跡。
圖5 存在外界擾動(dòng)情況下橋式起重機(jī)狀態(tài)變量的曲線
(4) 其他領(lǐng)域中的應(yīng)用?;どa(chǎn)中的間歇式反應(yīng)容器優(yōu)化問題可以轉(zhuǎn)化為微分代數(shù)方程最優(yōu)控制問題。針對(duì)間歇式反應(yīng)容器優(yōu)化問題,文獻(xiàn)[42]采用3.1節(jié)的保辛方法求解,并與GPOPSII對(duì)比,測(cè)試了保辛方法的魯棒性。兩種方法在不同隨機(jī)水平的初始猜測(cè)下收斂所需迭代步數(shù)的均值和方差列入表5。由表5可知,保辛方法對(duì)初始猜測(cè)解具有更強(qiáng)的魯棒性。
表5 隨機(jī)初始猜測(cè)解下保辛方法與GPOPSII的 迭代步數(shù)
化工裝備中兩罐式 CSTR 系統(tǒng)的溫度控制問題是一類含時(shí)滯的最優(yōu)控制問題。文獻(xiàn)[43]的算例3采用2.3節(jié)的保辛偽譜法求解,并對(duì)比了在不同時(shí)滯量下,保辛方法和迭代動(dòng)態(tài)規(guī)劃IDP方法的求解結(jié)果,列入表6。由表6可知,保辛偽譜法收斂速度更快,求解精度高。
表6 化工溫度控制問題保辛方法與IDP方法的 迭代次數(shù)和性能指標(biāo)
本文針對(duì)常微分方程、微分代數(shù)方程和閉環(huán)最優(yōu)控制問題,綜述了保辛數(shù)值方法。對(duì)于ODE最優(yōu)控制問題,基于生成函數(shù)和變分原理提出了保辛方法,該方法適用于無約束、含不等式約束和含時(shí)滯問題,具有快速收斂的特點(diǎn)。對(duì)于DAE最優(yōu)控制問題,采用保辛間接法處理無約束以及含不等式約束的問題,并用保辛直接法求解了含切換系統(tǒng)的問題。對(duì)于閉環(huán)最優(yōu)控制問題,提出了保辛MPC、保辛MHE和保辛IOC算法。保辛方法已經(jīng)成功應(yīng)用于航空航天和機(jī)械等各個(gè)領(lǐng)域。
基于目前的研究還可以進(jìn)一步考慮以下三個(gè)方面的工作。
(1) 輪式移動(dòng)機(jī)器人和無人機(jī)等裝備自身或?qū)嶋H環(huán)境中會(huì)存在大量不確定性,因此研究不確定性條件下機(jī)器人的軌跡規(guī)劃問題是有必要的。
(2) 對(duì)于無法精準(zhǔn)動(dòng)力學(xué)建模的實(shí)際復(fù)雜系統(tǒng),可以與人工智能結(jié)合來解決無模型系統(tǒng)最優(yōu)控制問題。
(3) 保辛方法可以與硬件系統(tǒng)結(jié)合,在特定的硬件環(huán)境上開發(fā)和構(gòu)建軟件系統(tǒng),進(jìn)行嵌入式的開發(fā),將保辛算法集成在硬件上。
計(jì)算力學(xué)學(xué)報(bào)2024年1期