,,,
1. 中國科學(xué)技術(shù)大學(xué) 自動(dòng)化系,合肥 230027 2. 宇航動(dòng)力學(xué)國家重點(diǎn)實(shí)驗(yàn)室,西安 710043
中國的探月工程于2004年啟動(dòng),將探月工程分為“繞”、“落”、“回”3個(gè)階段,在“落”和“回”兩個(gè)過程中,軟著陸作為一項(xiàng)關(guān)鍵技術(shù),既是研究熱點(diǎn),也是技術(shù)難點(diǎn)。在進(jìn)行月球表面探測時(shí),需要使著陸器實(shí)現(xiàn)月球表面軟著陸,以確保人員及設(shè)備安全。在大部分軌跡優(yōu)化問題中,燃料是制約航天器軌跡設(shè)計(jì)的主要因素,故本文主要針對燃料最優(yōu)進(jìn)行落月軌跡的優(yōu)化設(shè)計(jì)。
對于月球表面軟著陸問題國內(nèi)外不少學(xué)者都進(jìn)行了相關(guān)研究,文獻(xiàn)[1]將一種求解最優(yōu)控制問題的新方法——高斯偽譜法和傳統(tǒng)的直接打靶法有效結(jié)合,對月球著陸器定點(diǎn)軟著陸軌道快速優(yōu)化問題做了研究;文獻(xiàn)[2]采用改進(jìn)的遺傳算法對航天器飛行軌跡進(jìn)行優(yōu)化,并結(jié)合動(dòng)態(tài)終跡圈方法進(jìn)行制導(dǎo)控制;文獻(xiàn)[3]提出基于目標(biāo)點(diǎn)在軌自主選定的月球精確軟著陸方案,對月球精確軟著陸最優(yōu)標(biāo)稱軌跡在軌快速規(guī)劃制導(dǎo)方法進(jìn)行研究;文獻(xiàn)[4]采用李雅普諾夫直接法,構(gòu)造了基于能量的李雅普諾夫函數(shù),設(shè)計(jì)了跟蹤制導(dǎo)滑模制導(dǎo)律;以上的控制方法普遍存在的問題就是對于入軌存在偏差的情況下,需要重新計(jì)算著陸器的下降軌道,但由于整個(gè)下降過程時(shí)間短,計(jì)算軌道需要求解的非線性方程復(fù)雜,耗時(shí)長,往往不能達(dá)到實(shí)時(shí)控制的目的[5]。
近年來,隨著人工智能技術(shù)的研究,其功能也逐漸從圖像、語音識(shí)別處理發(fā)展到越來越廣闊的范圍。利用人工智能解決運(yùn)動(dòng)控制中的問題也得到了更多的關(guān)注。文獻(xiàn)[6]中提出了一種基于神經(jīng)網(wǎng)絡(luò)的機(jī)器人自主避障控制方法,讓機(jī)器人在行走過程中通過對障礙物位置的確定實(shí)時(shí)規(guī)劃新的路線;文獻(xiàn)[7]利用隨機(jī)森林對機(jī)器人手臂進(jìn)行軌跡控制,使機(jī)器人能夠平穩(wěn)地完成抓取過程;文獻(xiàn)[8]利用深度神經(jīng)網(wǎng)絡(luò)與比例-積分-微分(Proportional-Integral-Derivative,PID)控制器結(jié)合的方法對四旋翼飛行器進(jìn)行軌跡優(yōu)化控制,通過大量訓(xùn)練使得模型具有強(qiáng)泛化能力,保證飛行器在遇到訓(xùn)練中未曾出現(xiàn)的軌跡時(shí)依然能夠保持良好的跟蹤精度;文獻(xiàn)[9]提出一種考慮動(dòng)態(tài)不確定因素的深空探測器任務(wù)規(guī)劃算法,利用模糊神經(jīng)網(wǎng)絡(luò)評(píng)估擾動(dòng)等級(jí)并設(shè)計(jì)相應(yīng)控制律。針對傳統(tǒng)落月軌道控制中由于噪聲或入軌偏差造成的軌跡偏離,若采用之前方法,需在線重新求解復(fù)雜的非線性方程,計(jì)算時(shí)間長,控制實(shí)時(shí)性差,不能確保任務(wù)順利完成。本文采用的隨機(jī)森林模型[10]是通過離線訓(xùn)練模型,當(dāng)實(shí)際執(zhí)行任務(wù)時(shí)只需進(jìn)行簡單的線性計(jì)算就能通過航天器狀態(tài)量得到其控制量,可以滿足實(shí)時(shí)控制的要求。
本文通過對航天器從近月點(diǎn)經(jīng)過制動(dòng)段,接近段過程進(jìn)行動(dòng)力學(xué)建模,并成功將隨機(jī)森林模型應(yīng)用于著陸整個(gè)過程的實(shí)時(shí)最優(yōu)控制中,由于隨機(jī)森林模型對于數(shù)據(jù)維數(shù)少、數(shù)據(jù)量大的問題具有良好的抵抗過擬合的能力,從而在月球表面軟著陸過程中可以不依賴于動(dòng)力學(xué)模型而只根據(jù)訓(xùn)練數(shù)據(jù)實(shí)時(shí)產(chǎn)生最優(yōu)控制量進(jìn)行軌跡重規(guī)劃。同時(shí),由于該方法不依賴于動(dòng)力學(xué)模型的性質(zhì),可用于解決動(dòng)力學(xué)模型更加復(fù)雜的任務(wù)如火星表面降落,以及運(yùn)載火箭重返地球等問題。
由于月球周圍沒有大氣存在,故著陸器所受控制力完全由其自身控制系統(tǒng)提供。所謂月球表面軟著陸是指著陸器從近月點(diǎn)附近,在制動(dòng)系統(tǒng)作用下以很小的速度降落到月球表面的過程。由于航天器在執(zhí)行探月任務(wù)時(shí)主要的燃料消耗就是從近月點(diǎn)到月球表面的過程,故本文針對該過程進(jìn)行研究,將該過程分為3個(gè)階段:制動(dòng)段,接近段和著陸段,圖1形象地表示出了這3個(gè)階段。由于三維模型和二維模型原理相同,但計(jì)算時(shí)間上二維模型要遠(yuǎn)小于三維模型,故本文所考慮情況均以二維模型為研究對象。
圖1 著陸器降落軌道分段示意Fig.1 Trajectory stages of lander
制動(dòng)段一般指著陸器從近月點(diǎn)即距離月球表面15 km處到距離月球表面2 km高度的制動(dòng)飛行過程。建模時(shí)考慮到月球表面沒有大氣,且軟著陸過程較短,則其他攝動(dòng)項(xiàng)可以忽略。設(shè)定著陸器在此階段為恒定推力大小,優(yōu)化變量為推力角,即推力方向與航天器與月心連線夾角,因此,該過程動(dòng)力學(xué)模型可以表示為[11]:
(1)
接近段一般指著陸器從距離月球表面2 km到10 m的下降過程,該段下降時(shí)間短,且由于著陸器接近于垂直下降,因而經(jīng)過的月球表面距離很短,故此段可以將月球表面視為平面進(jìn)行計(jì)算,如圖2所示。
該過程動(dòng)力學(xué)模型可以表示為[12]:
(2)
圖2 著陸器接近段示意Fig.2 Stage of descend phase
圖3 有無正則項(xiàng)的俯仰角速率Fig.3 Pitch rate with and without regularization
對于上述的每個(gè)階段都需要產(chǎn)生一個(gè)包含最優(yōu)狀態(tài)量x*,一個(gè)最優(yōu)控制量u*的數(shù)據(jù)對(x*,u*)。用高斯偽譜最優(yōu)控制軟件(General Pseudospectral Optimal Control Software,GPOPS)來產(chǎn)生這些最優(yōu)狀態(tài)和控制量的數(shù)據(jù)對,GPOPS是利用高斯維譜法求解有約束非線性規(guī)劃問題的一個(gè)MATLAB工具包[14-15]。在GPOPS中,通過利用稀疏非線性優(yōu)化器處理相應(yīng)的非線性規(guī)劃問題[14]。雖然可以通過它來產(chǎn)生最優(yōu)軌跡上的數(shù)據(jù),但是由于其計(jì)算量大,并不適合用于實(shí)時(shí)計(jì)算,故本文只用它來產(chǎn)生仿真所需的訓(xùn)練數(shù)據(jù)。
由于降落過程的每一段需要優(yōu)化的變量不同,用于訓(xùn)練模型的樣本數(shù)量也不完全相同。對于制動(dòng)段,選擇初始點(diǎn)位于距離月球表面15 km附近的一個(gè)范圍作為合理范圍,產(chǎn)生不同初始位置的200條軌跡,每一條軌跡上包含400個(gè)點(diǎn),這樣就得到了80 000個(gè)包含最優(yōu)狀態(tài)和最優(yōu)控制量的數(shù)據(jù)對;而對于接近段,由于其控制量變化相對復(fù)雜,產(chǎn)生了5 000條軌跡,每條軌跡80~100個(gè)點(diǎn),共產(chǎn)生約400 000個(gè)包含最優(yōu)狀態(tài)和最優(yōu)控制量的數(shù)據(jù)對。用其中80%作為訓(xùn)練數(shù)據(jù)用于訓(xùn)練模型,10%作為驗(yàn)證數(shù)據(jù)用于模型調(diào)參,10%作為測試數(shù)據(jù)用于驗(yàn)證模型好壞。在訓(xùn)練過程中,將狀態(tài)量x*作為輸入,將控制量u*作為輸出。其中,在制動(dòng)段中將推力角作為訓(xùn)練標(biāo)簽訓(xùn)練模型,在接近段中將發(fā)動(dòng)機(jī)推力和俯仰角速率作為輸出,這樣分別單獨(dú)地訓(xùn)練3個(gè)隨機(jī)森林結(jié)構(gòu)。
隨機(jī)森林(如圖4所示)是一種集成結(jié)構(gòu)模型,由多個(gè)決策樹組成,單個(gè)決策樹可以看成是弱學(xué)習(xí)器,而將多個(gè)弱學(xué)習(xí)器組合則形成了強(qiáng)學(xué)習(xí)器。對于分類問題,每棵決策樹會(huì)對結(jié)果的類別進(jìn)行判斷,而隨機(jī)森林進(jìn)行投票,選出結(jié)果最多的作為最終結(jié)果。對于所研究的連續(xù)問題預(yù)測,采用的每一棵樹為回歸樹,其輸出是所有決策樹的平均值,由于隨機(jī)森林中的每一棵決策樹之間是沒有聯(lián)系的,故其泛化能力(即對訓(xùn)練集外的樣本產(chǎn)生好的預(yù)測的能力)要比單棵決策樹強(qiáng)很多[16]。
圖4 隨機(jī)森林Fig.4 Random forest
對于每棵樹,使用的訓(xùn)練集是從總的訓(xùn)練集中由放回隨機(jī)采樣出來的,這意味著總的訓(xùn)練集中的有些樣本可能多次出現(xiàn)在一棵樹的訓(xùn)練集中,也可能從未出現(xiàn)在一棵樹的訓(xùn)練集中。同時(shí),“隨機(jī)”不僅體現(xiàn)在對樣本數(shù)量的采樣隨機(jī)性,其選取的樣本特征也是隨機(jī)從總的樣本特征中選取。隨機(jī)森林的算法有很多良好的特性,由于其各個(gè)弱分類器之間沒有聯(lián)系,這大大減小了調(diào)參難度,而一般只有在數(shù)據(jù)量巨大的時(shí)候才會(huì)選取神經(jīng)網(wǎng)絡(luò)等復(fù)雜模型,選擇隨機(jī)森林模型即使使用默認(rèn)參數(shù),在大多數(shù)數(shù)據(jù)集上依然能得到較好的結(jié)果,所以綜合考慮調(diào)參難度、數(shù)據(jù)特征和計(jì)算機(jī)建模時(shí)間,本文采用了隨機(jī)森林模型。但同時(shí)其也有一定的缺點(diǎn),如過擬合,即模型在訓(xùn)練集上表現(xiàn)良好而在測試集上誤差很大,故在做驗(yàn)證的時(shí)候要對數(shù)據(jù)在訓(xùn)練集上的精度和在測試集上的精度做出權(quán)衡,如果構(gòu)建的模型過于精細(xì)那么模型在訓(xùn)練集上的表現(xiàn)會(huì)很好,但是其泛化能力就會(huì)很弱,這就是過擬合產(chǎn)生的結(jié)果。利用Python的sklearn庫中RandomForestRegressor來設(shè)計(jì)隨機(jī)森林模型,經(jīng)過調(diào)參最終參數(shù)如下:對于制動(dòng)段,設(shè)置所有參數(shù)均為默認(rèn)參數(shù)。對于接近段,在考慮推力大小u1時(shí),由于將其看成只有兩類的分類問題,故對于u1,模型使用默認(rèn)參數(shù)依然能得到準(zhǔn)確的結(jié)果;對于u2,經(jīng)過調(diào)參得到最大弱學(xué)習(xí)器個(gè)數(shù)n_estimators=850,放回采樣bootstrap=True,決策樹最大深度max_depth=15,葉節(jié)點(diǎn)最小樣本數(shù)min_samples_leaf=5,在做參數(shù)設(shè)置時(shí),根據(jù)采用的訓(xùn)練集大小,設(shè)定了樹的個(gè)數(shù)在500~1 500之間每增加50棵樹,進(jìn)行一次運(yùn)算,最終得到當(dāng)樹個(gè)數(shù)為850時(shí)效果最佳,在設(shè)置max_depth時(shí)由于其代表了隨機(jī)森林中每棵樹的最大深度,如果不對該值進(jìn)行設(shè)置,則樹的深度將一直延伸,限制了樹深度,可以防止模型只在訓(xùn)練集上表現(xiàn)良好而在測試集上表現(xiàn)差。在設(shè)置min_samples_leaf的時(shí)候沒有將每個(gè)節(jié)點(diǎn)都設(shè)置成只有一個(gè)樣本,因?yàn)檫@樣做會(huì)造成過擬合,同時(shí),由于min_samples_leaf的設(shè)置及隨機(jī)采樣bootstrap的應(yīng)用降低了外部噪聲對隨機(jī)森林模型的影響,其余參數(shù)為系統(tǒng)默認(rèn)參數(shù),這樣限制了每棵決策樹不會(huì)成長的太長,從而在很大程度上避免了過擬合的發(fā)生。
圖5 制動(dòng)段各狀態(tài)量變化Fig.5 State history of deboost phase
得到最優(yōu)控制與利用設(shè)計(jì)模型估計(jì)的軌跡,在執(zhí)行的終點(diǎn)位置,各狀態(tài)量終點(diǎn)誤差r約為50 m,θ小于0.000 1 rad,vr為1 m/s,vθ為3 m/s,由此得到雖然選取的初始狀態(tài)在訓(xùn)練集外,但最終結(jié)果只有r誤差較大,故在設(shè)計(jì)下一階段接近段模型初始狀態(tài)時(shí)可以在初始位置上適當(dāng)增大訓(xùn)練范圍。
得到最優(yōu)估計(jì)與利用設(shè)計(jì)模型估計(jì)的軌跡,在執(zhí)行的終點(diǎn)位置,各狀態(tài)量誤差x約為2 m,z誤差約為10 m,vx約為0.03 m/s,vz約為0.0 m/s,對于月球表面軟著陸問題,一般考慮合理的誤差范圍為位置誤差10 m,速度誤差1 m/s[17],故試驗(yàn)得到的結(jié)果在誤差范圍內(nèi),滿足精度要求。在根據(jù)給定的初始狀態(tài)利用GPOPS求解一條包含200個(gè)狀態(tài)點(diǎn)的最優(yōu)軌跡時(shí)間約為1 min(Intel Core i5-2400@3.10 GHz),而同樣配置的計(jì)算機(jī)在利用隨機(jī)森林結(jié)構(gòu)根據(jù)給定的狀態(tài)計(jì)算控制量所需計(jì)算時(shí)間約為0.015 s,而計(jì)算整條軌跡約1 s。
圖6 接近段控制量變化Fig.6 Control history of descent phase
圖7 接近段各狀態(tài)量變化Fig.7 State history of descent phase
本文針對傳統(tǒng)控制方法對于解決航天器月球表面軟著陸過程中存在入軌偏差,傳統(tǒng)控制方法計(jì)算量大,實(shí)時(shí)性差的問題提出了一種基于隨機(jī)森林結(jié)構(gòu)的智能控制方法,通過對隨機(jī)森林結(jié)構(gòu)的訓(xùn)練使得模型能夠根據(jù)給定的狀態(tài)量對最優(yōu)控制量進(jìn)行預(yù)測。將月球表面軟著陸問題分成3段進(jìn)行討論,通過設(shè)計(jì)的模型使得在第一段結(jié)束后航天器狀態(tài)的誤差在第二段訓(xùn)練設(shè)計(jì)的訓(xùn)練集范圍內(nèi),這樣保證了航天器即使初始狀態(tài)超出訓(xùn)練范圍也能通過每一段降落過程逐漸縮小其誤差,最終達(dá)到任務(wù)要求的誤差范圍。仿真試驗(yàn)驗(yàn)證了所設(shè)計(jì)模型的優(yōu)越性,對于解決運(yùn)動(dòng)控制中實(shí)時(shí)性要求較高的問題解決提供了新方法。
本文所研究對象為月球表面軟著陸,由于月球表面無大氣作用,且對控制系統(tǒng)執(zhí)行力以及測量傳感器等的假設(shè)都處于理想狀態(tài),故若結(jié)合工程實(shí)際,所需考慮的因素需更多,在后續(xù)處理中可以增加對訓(xùn)練集添加噪聲,引入控制系統(tǒng)時(shí)延以及執(zhí)行力誤差等多方面因素以滿足實(shí)際工程任務(wù)需求。