• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于深度強(qiáng)化學(xué)習(xí)的軟件定義衛(wèi)星姿態(tài)控制算法

      2019-01-14 06:46:38許軻吳鳳鴿趙軍鎖
      關(guān)鍵詞:姿態(tài)控制控制算法姿態(tài)

      許軻, 吳鳳鴿, 趙軍鎖

      (中國科學(xué)院軟件研究所, 北京 100190)

      近年來,隨著衛(wèi)星軟硬件技術(shù)的迅速發(fā)展,衛(wèi)星逐漸向小型化、低成本化、快速設(shè)計(jì)及部署的方向發(fā)展,每年有過百顆小衛(wèi)星成功發(fā)射,這些小衛(wèi)星有著不同的載荷和任務(wù)目標(biāo)、物理參數(shù)和軌道等,因此對(duì)其姿態(tài)控制系統(tǒng)的要求也不盡相同。而隨著軟件定義衛(wèi)星概念的提出,利用可重組的動(dòng)態(tài)載荷和智能性更強(qiáng)的姿態(tài)控制算法,有助于研發(fā)出更加通用的姿態(tài)控制系統(tǒng)。此外,隨著衛(wèi)星數(shù)量的增加,地面測(cè)控系統(tǒng)也越來越難以滿足需求,太空環(huán)境的不穩(wěn)定性[1]和衛(wèi)星本身可能出現(xiàn)的故障[2-3]等因素也對(duì)衛(wèi)星姿態(tài)控制系統(tǒng)的自主性和適應(yīng)性提出了更高的要求。因此,有必要研發(fā)新型的衛(wèi)星姿態(tài)智能控制系統(tǒng)。

      基于深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)算法已經(jīng)成功地解決了很多具有挑戰(zhàn)性的問題,如圍棋程序和機(jī)器人學(xué)習(xí)[4]。AlphaZero[5]作為基于深度強(qiáng)化學(xué)習(xí)的圍棋程序新版本,在棋類游戲的離散狀態(tài)空間下已經(jīng)體現(xiàn)出了其在沒有棋譜等先驗(yàn)知識(shí)的情況下學(xué)會(huì)多種棋類游戲并且超越人類的能力。引導(dǎo)策略搜索(Guided Policy Search,GPS)[4]作為一種基于模型(model-based)的算法,可以在機(jī)器人控制這種高維連續(xù)狀態(tài)空間下重復(fù)實(shí)驗(yàn)中不斷優(yōu)化控制效果,完成機(jī)器人拾取物體等動(dòng)作。而深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法[6]作為一種非基于模型(model-free)的算法,也在OpenAI Gym[7]仿真平臺(tái)上實(shí)現(xiàn)了多種控制任務(wù)的自主學(xué)習(xí),完成傳統(tǒng)控制算法難以完成的復(fù)雜控制目標(biāo),如自主學(xué)習(xí)雙足行走等。這些實(shí)驗(yàn)結(jié)果表明深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning,DRL)算法可以達(dá)到軟件定義衛(wèi)星姿態(tài)控制系統(tǒng)對(duì)自主性、智能性、適應(yīng)性的要求。

      然而機(jī)器學(xué)習(xí)算法普遍對(duì)計(jì)算平臺(tái)的計(jì)算能力和存儲(chǔ)能力有較高的要求,衛(wèi)星姿態(tài)控制系統(tǒng)往往使用的是PID控制[8-9]、滑??刂芠10]、模糊控制[11-12]等傳統(tǒng)控制算法。PID控制算法易于理解和實(shí)現(xiàn),需要的計(jì)算資源少,仍然是目前衛(wèi)星姿態(tài)控制使用的主流基礎(chǔ)控制算法,然而該算法需要針對(duì)不同的硬件系統(tǒng)和軟件進(jìn)行調(diào)節(jié),無法快速適應(yīng)空間環(huán)境的變化和空間任務(wù)的變化?;?刂频闹饕康氖翘幚砜刂葡到y(tǒng)的非線性,和PID控制一樣,有自適應(yīng)能力的問題。智能控制算法如模糊控制,提升了系統(tǒng)的適應(yīng)能力,然而模糊控制系統(tǒng)需要專家知識(shí)進(jìn)行系統(tǒng)設(shè)計(jì),而不是根據(jù)實(shí)時(shí)生成的數(shù)據(jù)進(jìn)行調(diào)節(jié)。軟件定義衛(wèi)星搭載的超算平臺(tái)大大提升了衛(wèi)星的計(jì)算能力,因此使得基于機(jī)器學(xué)習(xí)的控制算法成為可能,從而進(jìn)一步提升控制算法的自適應(yīng)能力和自主性。

      本文使用了基于模型的深度強(qiáng)化學(xué)習(xí)算法來建立姿態(tài)控制系統(tǒng)。該算法主要由3部分構(gòu)成:動(dòng)力學(xué)模型網(wǎng)絡(luò)、控制策略網(wǎng)絡(luò)以及基于啟發(fā)式搜索的優(yōu)化方法。其中,動(dòng)力學(xué)模型網(wǎng)絡(luò)使用深度學(xué)習(xí)網(wǎng)絡(luò)、可以根據(jù)地面仿真和在線生成數(shù)據(jù)的學(xué)習(xí)生成動(dòng)力學(xué)模型,使用基于模型的算法比非基于模型的算法收斂速度更快,可以更快的速度找到優(yōu)化策略??刂撇呗跃W(wǎng)絡(luò)同樣使用深度學(xué)習(xí)網(wǎng)絡(luò),可以根據(jù)地面仿真和啟發(fā)式搜索優(yōu)化的效果來學(xué)習(xí)控制策略,同時(shí)為啟發(fā)式搜索的優(yōu)化提供具有一定效果的初始策略,加速算法的收斂。啟發(fā)式搜索根據(jù)動(dòng)力學(xué)模型和強(qiáng)化學(xué)習(xí)原理進(jìn)行策略迭代,在每一步實(shí)際執(zhí)行控制策略時(shí)尋找更優(yōu)的策略。通過這種深度強(qiáng)化學(xué)習(xí)算法,姿態(tài)控制系統(tǒng)可以在衛(wèi)星物理參數(shù)未知、執(zhí)行機(jī)構(gòu)和傳感器不同、衛(wèi)星軌道不同的情況下根據(jù)在線生成的數(shù)據(jù)不斷優(yōu)化姿態(tài)控制的效果。

      1 基本理論

      背景分為3個(gè)部分,包括姿態(tài)仿真系統(tǒng)、傳統(tǒng)控制算法和強(qiáng)化學(xué)習(xí)算法。首先介紹姿態(tài)仿真系統(tǒng),由于衛(wèi)星發(fā)射成本較高,在進(jìn)行姿態(tài)控制算法實(shí)驗(yàn)時(shí),需要在仿真環(huán)境下進(jìn)行仿真實(shí)驗(yàn),仿真系統(tǒng)主要考慮到衛(wèi)星姿態(tài)動(dòng)力學(xué)、運(yùn)動(dòng)學(xué)模型和空間干擾力矩。衛(wèi)星的姿態(tài)動(dòng)力學(xué)介紹衛(wèi)星角速度隨執(zhí)行機(jī)構(gòu)控制力矩的變化規(guī)律,運(yùn)動(dòng)學(xué)模型介紹衛(wèi)星姿態(tài)四元數(shù)隨角速度的變化規(guī)律。衛(wèi)星姿態(tài)動(dòng)力學(xué)和運(yùn)動(dòng)學(xué)模型是進(jìn)行衛(wèi)星姿態(tài)控制的基礎(chǔ)模型。然后介紹傳統(tǒng)控制算法,PID控制算法仍然是衛(wèi)星姿態(tài)控制的主流算法,因此主要介紹基于PID的衛(wèi)星姿態(tài)控制算法相關(guān)研究進(jìn)展。最后介紹強(qiáng)化學(xué)習(xí)算法的基礎(chǔ),主要介紹應(yīng)用較為廣泛的Q學(xué)習(xí)算法,以及在Q學(xué)習(xí)基礎(chǔ)上結(jié)合深度學(xué)習(xí)發(fā)展起來的深度強(qiáng)化學(xué)習(xí)。

      1.1 衛(wèi)星姿態(tài)動(dòng)力學(xué)和運(yùn)動(dòng)學(xué)模型

      如圖1所示,衛(wèi)星姿態(tài)動(dòng)力學(xué)模型的輸入為衛(wèi)星所受的空間環(huán)境力矩,輸出為衛(wèi)星姿態(tài)角速度,動(dòng)力學(xué)模型主要依賴于衛(wèi)星的動(dòng)力學(xué)方程。

      如果假設(shè)衛(wèi)星為剛體,那么衛(wèi)星姿態(tài)的動(dòng)力學(xué)模型表達(dá)式為

      (1)

      式中:M為衛(wèi)星的控制力矩,為3維空間矢量;H為衛(wèi)星的角動(dòng)量;ω為衛(wèi)星的角速度;t為時(shí)間。式(1)表示了衛(wèi)星的角速度和控制力矩根據(jù)轉(zhuǎn)動(dòng)慣量變化的關(guān)系。

      以四元數(shù)表示衛(wèi)星的姿態(tài),那么衛(wèi)星姿態(tài)運(yùn)動(dòng)學(xué)表達(dá)式為

      (2)

      (3)

      式中:ωx、ωy和ωz分別為衛(wèi)星姿態(tài)角速度在三維坐標(biāo)軸的分量。

      此外,衛(wèi)星的姿態(tài)還會(huì)受到空間干擾力矩的影響,主要包括重力梯度力矩、空氣阻力力矩、太陽光壓力矩和潮汐力矩等。

      根據(jù)文獻(xiàn)[13]的攝動(dòng)力數(shù)據(jù),結(jié)合經(jīng)驗(yàn)公式推算出干擾力矩如表1所示,可見在不同的軌道高度下,不同類型的干擾力矩對(duì)姿態(tài)的影響也有所不同。在低軌狀態(tài)下,地球重力梯度力矩和空氣阻力力矩是主要的干擾力矩;在中軌狀態(tài)下,地球重力梯度力矩依舊是主要的干擾力矩,而空氣阻力力矩已經(jīng)大幅下降,太陽光壓力矩、月球和太陽重力梯度力矩影響增大;而在地球同步軌道狀態(tài)下,地球重力梯度力矩也大幅下降,空氣阻力力矩則可以忽略不計(jì)。

      圖1 衛(wèi)星姿態(tài)控制系統(tǒng)過程圖Fig.1 Procedure chart of satellite attitude control system

      表1 3種經(jīng)典軌道狀態(tài)下的干擾力矩Table 1 Disturbance torque under three classic orbit statesN·m

      主要考慮了3種干擾力矩的影響:地球重力梯度力矩、空氣阻力力矩和太陽光壓力矩。每種干擾力矩的影響主要依據(jù)文獻(xiàn)中使用的經(jīng)驗(yàn)公式進(jìn)行仿真計(jì)算。

      地球重力梯度力矩計(jì)算式為[14]

      (4)

      空氣阻力力矩計(jì)算式為[14]

      (5)

      式中:CD為空氣阻力參數(shù);ρ為大氣密度參數(shù),由標(biāo)準(zhǔn)大氣模型計(jì)算得到;Vr為衛(wèi)星相對(duì)于大氣的速度;A為衛(wèi)星的迎風(fēng)面積;Cp為壓力中心相對(duì)于衛(wèi)星中心距離的向量;v為風(fēng)速的單位方向向量。這些參數(shù)可以根據(jù)經(jīng)驗(yàn)進(jìn)行初始化。

      太陽光壓力矩計(jì)算式為[15]

      Ts=-PAcosα(Cnen+Ctet)

      (6)

      式中:P為距離1 AU的太陽輻射壓力常數(shù),1 AU≈1.496×1 011m;en和et分別為衛(wèi)星的法向和切向向量;α為太陽角度;Cn和Ct表達(dá)式分別為

      Cn=(1+crcs)cosα+Bfcr(1-cs)+

      Ct=(1-crcs)sinα

      其中:cr為表面反射率;cs為鏡面反射系數(shù);ef和eb分別為前向和后向輻射系數(shù);Bf和Bb分別為前向和后向的非朗伯系數(shù)。

      將3種干擾力矩和控制力矩Tc相疊加,可以給出衛(wèi)星所受的合力矩的影響,即本節(jié)所述的衛(wèi)星姿態(tài)動(dòng)力學(xué)方程中的M值:

      M=Tc+Tg+Ta+Ts

      (7)

      1.2 基于PID的衛(wèi)星姿態(tài)控制算法

      雖然PID控制有前面所述的缺點(diǎn),但因?yàn)槠鋵?shí)現(xiàn)簡(jiǎn)單,計(jì)算資源要求較低,仍然被大量衛(wèi)星姿態(tài)控制系統(tǒng)所使用。PID控制算法的定義如下[16]:

      (8)

      式中:Kp、Ki和Kd是非負(fù)參數(shù),分別為比例、積分和微分系數(shù);e(t)為當(dāng)前狀態(tài)和目標(biāo)狀態(tài)的誤差值;τ為積分中間變量。PID控制算法的原理如圖2所示,反饋環(huán)節(jié)通過對(duì)3種誤差的調(diào)節(jié)實(shí)驗(yàn)控制過程,y(t)表示當(dāng)前狀態(tài),r(t)表示目標(biāo)狀態(tài)。

      通常使用比例(P)和微分(D)環(huán)節(jié)設(shè)計(jì)衛(wèi)星姿態(tài)控制算法,用式(9)表示:

      a=Kpqe+Kdωe

      (9)

      式中:qe為衛(wèi)星姿態(tài)四元數(shù)的誤差;ωe為衛(wèi)星角速度的誤差;a為執(zhí)行機(jī)構(gòu)的控制力矩輸出。忽略積分環(huán)節(jié)可以增加控制算法對(duì)誤差的反應(yīng)速度,但可能會(huì)導(dǎo)致控制的穩(wěn)定度下降。

      PID控制算法的性能會(huì)受到傳感器誤差和空間環(huán)境的干擾力矩的影響,導(dǎo)致衛(wèi)星的姿態(tài)確定系統(tǒng)穩(wěn)定性降低。因此一種平滑角速度觀測(cè)器[9]的方法被提出以提升衛(wèi)星姿態(tài)的估計(jì)精度:

      a=Kpqe+KdC(q)ωe

      (10)

      式中:C(q)為根據(jù)衛(wèi)星姿態(tài)對(duì)角速度的補(bǔ)償矩陣。這類改進(jìn)方法提升了控制算法輸入的精度和穩(wěn)定度,從而提升了算法的性能。

      PID控制算法的性能同樣會(huì)受到執(zhí)行機(jī)構(gòu)誤差的影響,導(dǎo)致衛(wèi)星的姿態(tài)控制穩(wěn)定性下降。因此一種非線性模型[2]被提出,用來處理執(zhí)行機(jī)構(gòu)飽和,死區(qū)非線性和動(dòng)量輪速度限制的問題。一種基于最優(yōu)控制的方法[8]被提出,使用磁力矩器幫助動(dòng)量輪進(jìn)行動(dòng)量卸載,防止其到達(dá)速度上限。這一類改進(jìn)可以提升控制系統(tǒng)輸出的性能。

      圖2 PID控制算法原理圖Fig.2 Schematic diagram of PID control algorithm

      為了提升控制系統(tǒng)的整體性能,一種基于量化控制的方法[17]被提出用來改進(jìn)PID控制的反饋機(jī)制。此外,一種使用線性二次型控制算法的方法被提出,能夠比傳統(tǒng)PID控制降低8%的能量消耗[18]。在能量有限的太空環(huán)境中,節(jié)約能源可以讓衛(wèi)星整體的運(yùn)行更加穩(wěn)定。

      這些在傳統(tǒng)PID控制基礎(chǔ)上改進(jìn)的方法需要對(duì)不同問題分別建模分析并且加以改進(jìn),然而基于機(jī)器學(xué)習(xí)的深度強(qiáng)化學(xué)習(xí)姿態(tài)控制算法可以根據(jù)實(shí)時(shí)生成的數(shù)據(jù)利用神經(jīng)網(wǎng)絡(luò)的泛化能力對(duì)這些問題進(jìn)行整體優(yōu)化。例如在輸入不穩(wěn)定的情況下,狀態(tài)觀測(cè)器的補(bǔ)償矩陣可以通過深度強(qiáng)化學(xué)習(xí)中的模型網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)優(yōu)化,同時(shí)執(zhí)行機(jī)構(gòu)的非線性誤差也可以通過深度強(qiáng)化學(xué)習(xí)中的策略網(wǎng)絡(luò)進(jìn)行自適應(yīng)的學(xué)習(xí)改進(jìn);此外,能量消耗也可以通過強(qiáng)化學(xué)習(xí)的價(jià)值函數(shù)給出,讓強(qiáng)化學(xué)習(xí)算法在優(yōu)化控制效果的同時(shí)盡量降低系統(tǒng)的能量消耗。

      1.3 強(qiáng)化學(xué)習(xí)算法

      PID控制仍可作為智能控制算法的基礎(chǔ)策略,為強(qiáng)化學(xué)習(xí)控制提供初始化功能。強(qiáng)化學(xué)習(xí)包含以下幾個(gè)部分:智能體、智能體所處的環(huán)境和所執(zhí)行的動(dòng)作。在每個(gè)離散時(shí)間步長t內(nèi)智能體會(huì)觀測(cè)其所處的環(huán)境得到t時(shí)刻的狀態(tài)st,根據(jù)該狀態(tài)執(zhí)行動(dòng)作at,并且獲得此時(shí)的獎(jiǎng)勵(lì)值rt以及達(dá)到下一時(shí)刻的狀態(tài)st+1。在一個(gè)具有隨機(jī)性的環(huán)境中,包含一個(gè)初始狀態(tài)分布p(s0),狀態(tài)轉(zhuǎn)移模型p(st+1st,at)和獎(jiǎng)勵(lì)函數(shù)r。

      Q學(xué)習(xí)[19]作為強(qiáng)化學(xué)習(xí)里的一類基本算法,使用:

      (11)

      隨著深度學(xué)習(xí)技術(shù)的發(fā)展,神經(jīng)網(wǎng)絡(luò)對(duì)高維度且高度非線性的函數(shù)擬合能力越來越強(qiáng),神經(jīng)網(wǎng)絡(luò)對(duì)復(fù)雜Q值的表示能力也越來越強(qiáng),因此在DDPG算法中,使用了神經(jīng)網(wǎng)絡(luò)擬合Q值,加強(qiáng)了強(qiáng)化學(xué)習(xí)算法對(duì)高維空間內(nèi)復(fù)雜任務(wù)的學(xué)習(xí)能力。假設(shè)擬合函數(shù)為θQ,那么損失函數(shù)的定義如下:

      (12)

      式中:Q(st,atθQ)為t時(shí)刻網(wǎng)絡(luò)對(duì)Q值的估計(jì);最后兩項(xiàng)為t時(shí)刻執(zhí)行動(dòng)作之后的效果。DDPG算法通過最小化損失函數(shù)來擬合Q值。該算法同時(shí)使用神經(jīng)網(wǎng)絡(luò)來擬合策略函數(shù)μ(sθμ),該函數(shù)會(huì)根據(jù)當(dāng)前狀態(tài)和網(wǎng)絡(luò)中的參數(shù)確定執(zhí)行的策略,因此網(wǎng)絡(luò)同時(shí)需要對(duì)策略網(wǎng)絡(luò)進(jìn)行學(xué)習(xí),更新算法定義如下:

      (13)

      μ′(s)=μ(sθμ)+N

      (14)

      式中:N為隨著時(shí)間衰減的噪聲值。不同于傳統(tǒng)有監(jiān)督學(xué)習(xí)的是,直接對(duì)Q值網(wǎng)絡(luò)和策略網(wǎng)絡(luò)的更新收斂性能不佳,需要設(shè)計(jì)額外的目標(biāo)網(wǎng)絡(luò)來穩(wěn)定網(wǎng)絡(luò)參數(shù),具體介紹在2.1節(jié)中。

      機(jī)器學(xué)習(xí)算法通常使用梯度下降算法進(jìn)行算法收斂的計(jì)算,但在模型梯度不可靠的時(shí)候,也會(huì)采取其他方案進(jìn)行優(yōu)化計(jì)算。對(duì)應(yīng)于梯度下降算法,啟發(fā)式搜索類的算法是另一種對(duì)神經(jīng)網(wǎng)絡(luò)等機(jī)器學(xué)習(xí)算法進(jìn)行優(yōu)化的方案。梯度下降算法的優(yōu)點(diǎn)是收斂速度快,缺點(diǎn)是容易陷入局部最優(yōu)。而啟發(fā)式搜索類的算法收斂速度較慢,但是一種全局性的優(yōu)化算法。因此,在很多實(shí)際應(yīng)用中,也會(huì)采用基于啟發(fā)式搜索的優(yōu)化方法進(jìn)行機(jī)器學(xué)習(xí)算法收斂過程的計(jì)算。

      常用的啟發(fā)式搜索算法有很多種,如粒子群優(yōu)化、人工蜂群算法、蟻群算法、螢火蟲算法、模擬退火算法和進(jìn)化策略等。每種算法的優(yōu)缺點(diǎn)和應(yīng)用場(chǎng)景都有所不同。本文對(duì)啟發(fā)式搜索算法的具體選取在2.3節(jié)中介紹。

      2 深度強(qiáng)化學(xué)習(xí)姿態(tài)控制算法

      基于模型的深度強(qiáng)化學(xué)習(xí)算法由以下3個(gè)部分組成:模型網(wǎng)絡(luò)、策略網(wǎng)絡(luò)和啟發(fā)式搜索。如圖3所示,模型網(wǎng)絡(luò)為啟發(fā)式搜索提供動(dòng)力學(xué)模型,并且從實(shí)際執(zhí)行的數(shù)據(jù)中學(xué)習(xí),提高模型的精度。策略網(wǎng)絡(luò)為模型預(yù)測(cè)控制提供根據(jù)經(jīng)驗(yàn)優(yōu)化的初始策略,并且從實(shí)際執(zhí)行的數(shù)據(jù)中學(xué)習(xí),優(yōu)化初始策略。模型策略根據(jù)模型網(wǎng)絡(luò)提供的動(dòng)力學(xué)模型和策略網(wǎng)絡(luò)提供的初始策略進(jìn)行優(yōu)化,通過強(qiáng)化學(xué)習(xí)尋優(yōu),進(jìn)一步優(yōu)化策略,并且實(shí)際執(zhí)行控制輸出。此外,本文算法在初始化時(shí)可用PID控制等對(duì)策略網(wǎng)絡(luò)和模型網(wǎng)絡(luò)進(jìn)行初始化。

      圖3 基于模型的深度強(qiáng)化學(xué)習(xí)算法原理圖Fig.3 Schematic diagram of model based deep reinforcement learning algorithm

      本文算法的運(yùn)行過程如下:

      步驟1隨機(jī)初始化模型網(wǎng)絡(luò)和策略網(wǎng)絡(luò),或者通過遷移學(xué)習(xí)等進(jìn)行預(yù)初始化。

      步驟2由策略網(wǎng)絡(luò)根據(jù)當(dāng)前狀態(tài)計(jì)算出當(dāng)前策略,然后使用模型網(wǎng)絡(luò)預(yù)測(cè)下一狀態(tài)并給出Q值,交給啟發(fā)式搜索進(jìn)行下一步優(yōu)化。

      步驟3使用啟發(fā)式搜索在當(dāng)前策略的鄰域進(jìn)行搜索,以找到具有更高Q值的策略。

      步驟4執(zhí)行啟發(fā)式搜索給出的優(yōu)化后的策略,并且獲取真實(shí)的狀態(tài)輸出和Q值,計(jì)算出模型預(yù)測(cè)誤差。

      步驟5如果得到的Q值比初始化策略更好,則將此次結(jié)果作為策略網(wǎng)絡(luò)的訓(xùn)練集。

      步驟6如果到達(dá)的狀態(tài)空間超出了安全閾值,則使用如PID控制等引導(dǎo)策略使其回歸到安全區(qū)域。

      步驟7每一次執(zhí)行的結(jié)果都可以作為模型網(wǎng)絡(luò)的訓(xùn)練集。

      步驟8如果狀態(tài)達(dá)到且穩(wěn)定在控制目標(biāo),則訓(xùn)練結(jié)束,否則返回步驟2。

      2.1 模型網(wǎng)絡(luò)

      機(jī)器學(xué)習(xí)算法已經(jīng)被應(yīng)用于衛(wèi)星姿態(tài)動(dòng)力學(xué)構(gòu)建。本文使用深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)構(gòu)建動(dòng)力學(xué)模型。模型網(wǎng)絡(luò)st+1=fθs(st,at)使用前一時(shí)間點(diǎn)的動(dòng)作-狀態(tài)對(duì)作為輸入,下一時(shí)間點(diǎn)的狀態(tài)作為輸出,θs為網(wǎng)絡(luò)中的參數(shù)。系統(tǒng)狀態(tài)st包括四元數(shù)q和三維角速度ω,策略輸出at為三維力矩。參數(shù)可以隨機(jī)初始化,也可以通過地面仿真或事先獲取的數(shù)據(jù)進(jìn)行初始化,使用遷移學(xué)習(xí)等方法進(jìn)行應(yīng)用。使用經(jīng)過預(yù)訓(xùn)練的網(wǎng)絡(luò)可以提高算法的在線性能。

      加入模型網(wǎng)絡(luò)的算法比非基于模型的算法可以更快地收斂,因?yàn)槟P途W(wǎng)絡(luò)可以根據(jù)每次得到的數(shù)據(jù)進(jìn)行優(yōu)化,而非基于模型的算法在找到合理的解之前會(huì)進(jìn)行漫長的探索,從而收斂得更慢。而且模型網(wǎng)絡(luò)在使用其他控制算法時(shí)也可以進(jìn)行優(yōu)化,讓算法的適應(yīng)性更強(qiáng)。

      2.2 策略網(wǎng)絡(luò)

      策略網(wǎng)絡(luò)同樣使用深度網(wǎng)絡(luò)構(gòu)建網(wǎng)絡(luò)模型:at=gθa(st),當(dāng)前狀態(tài)st為模型的輸入,θa為網(wǎng)絡(luò)參數(shù),生成的策略at為模型的輸出。類似地,模型參數(shù)可以隨機(jī)初始化,也可以通過PID控制等引導(dǎo)策略進(jìn)行初始化,從而加快算法的收斂速度,并且降低算法進(jìn)入發(fā)散不可控區(qū)域的可能性。

      與模型網(wǎng)絡(luò)不同的是,數(shù)據(jù)中的策略并不是一個(gè)“正確的策略”,實(shí)際執(zhí)行的策略也是在不斷優(yōu)化中生成的,無法保證每次學(xué)習(xí)都讓策略得到優(yōu)化。因此,需要使用模型預(yù)測(cè)控制作為優(yōu)化方法使得生成的數(shù)據(jù)可以保證不斷優(yōu)化,從而讓策略網(wǎng)絡(luò)的學(xué)習(xí)進(jìn)一步優(yōu)化。策略網(wǎng)絡(luò)的輸出也并不直接給出控制輸出,而是作為模型預(yù)測(cè)控制的輸入給出合理的初始策略。

      和GPS算法不同的是,基于深度學(xué)習(xí)的策略網(wǎng)絡(luò)可以給出一個(gè)全局的初始化策略,和任務(wù)路徑無關(guān),并且可以根據(jù)不同的任務(wù)學(xué)習(xí)模仿新的引導(dǎo)策略,提升在線適應(yīng)的能力。

      2.3 啟發(fā)式搜索

      啟發(fā)式搜索包括多種性能優(yōu)異的算法,如:模擬退火算法[20]、粒子群算法[21]和進(jìn)化策略[22]算法等。它們使用策略網(wǎng)絡(luò)的輸出作為輸入,輸出獎(jiǎng)勵(lì)值最高的動(dòng)作作為最優(yōu)策略。每個(gè)時(shí)間點(diǎn)內(nèi)的獎(jiǎng)勵(lì)函數(shù)為

      t時(shí)刻的獎(jiǎng)勵(lì)函數(shù)為狀態(tài)st下執(zhí)行動(dòng)作at導(dǎo)致的狀態(tài)st+1和目標(biāo)sT之間的二次差值。負(fù)號(hào)代表二者距離越近獎(jiǎng)勵(lì)值越高。

      模擬退火算法和AlphaGo中使用的蒙特卡羅搜索樹同屬于蒙特卡羅-馬爾可夫鏈(Monte Carlo-Markov Chain,MCMC)方法,較適合于應(yīng)用在多維連續(xù)空間的控制算法中。然而該算法的隨機(jī)游走過程不利于并行化實(shí)現(xiàn),因此本文使用易于并行化且同樣在強(qiáng)化學(xué)習(xí)中被證明有效的自然進(jìn)化策略算法來進(jìn)行優(yōu)化,以提高算法的收斂速度。

      自然進(jìn)化策略計(jì)算式為

      式中:左邊為參數(shù)的更新梯度;右邊為計(jì)算方法;θa為策略網(wǎng)絡(luò)的參數(shù),也可以直接對(duì)動(dòng)作輸出進(jìn)行直接優(yōu)化;N(0,I)為標(biāo)準(zhǔn)差為0,方差為單位矩陣的正態(tài)分布矩陣,目的是生成一個(gè)與θ維度相同的隨機(jī)變量;σ為該隨機(jī)變量的標(biāo)準(zhǔn)差;為一個(gè)小量的正數(shù);F函數(shù)是強(qiáng)化學(xué)習(xí)的價(jià)值函數(shù),該更新公式可以使得θ參數(shù)朝F值最大的方向移動(dòng)。

      通過并行化執(zhí)行該過程,同時(shí)生成n個(gè)隨機(jī)正態(tài)分布,并且統(tǒng)一對(duì)θ參數(shù)執(zhí)行更新過程:

      該并行化更新算法可以大幅降低運(yùn)行時(shí)間。

      算法1基于模型的深度強(qiáng)化學(xué)習(xí)算法

      初始化:θa和θs。

      while未到控制目標(biāo) do

      生成初始策略ain←gθa(st)和最優(yōu)策略aopt

      while啟發(fā)式搜索 do

      在范圍內(nèi)搜索:aout←ain+rand()

      狀態(tài)預(yù)測(cè):st+1←fθs(st,aout)

      進(jìn)化策略更新:aopt

      end while

      執(zhí)行aopt并得到數(shù)據(jù)

      根據(jù)數(shù)據(jù)優(yōu)化θa和θs

      end while

      3 實(shí)驗(yàn)結(jié)果

      本文使用基于STK(Satellite Tool Kit)開發(fā)的衛(wèi)星姿態(tài)控制仿真系統(tǒng)進(jìn)行仿真實(shí)驗(yàn),仿真系統(tǒng)結(jié)構(gòu)如圖4所示,衛(wèi)星軌道和空間環(huán)境參數(shù)由STK生成,并且傳遞給仿真系統(tǒng)??刂破鲿?huì)根據(jù)當(dāng)前姿態(tài),控制指令和控制目標(biāo)確定當(dāng)前策略輸出給執(zhí)行器執(zhí)行,執(zhí)行器會(huì)輸出控制力拒,衛(wèi)星的姿態(tài)動(dòng)力學(xué)會(huì)根據(jù)控制力矩和空間干擾力矩得到新的姿態(tài)信息,傳感器會(huì)將帶有測(cè)量誤差的姿態(tài)信息交給姿態(tài)確定系統(tǒng),并且返回給控制器,進(jìn)行下一次控制循環(huán)。

      圖4 衛(wèi)星姿態(tài)控制仿真系統(tǒng)結(jié)構(gòu)Fig.4 Satellite attitude control simulation system structure

      圖5 控制算法比較Fig.5 Comparison of control algorithms

      姿態(tài)仿真實(shí)驗(yàn)對(duì)比了全連接網(wǎng)絡(luò)和基于目標(biāo)網(wǎng)絡(luò)的模型網(wǎng)絡(luò)精度,同時(shí)對(duì)比了并行化前后算法的執(zhí)行時(shí)間。使用tanh作為激活函數(shù),3層全連接網(wǎng)絡(luò)神經(jīng)元個(gè)數(shù)分別為64、128和64,5層全連接網(wǎng)絡(luò)神經(jīng)元個(gè)數(shù)分別為32、128、512、128和32,目標(biāo)網(wǎng)絡(luò)使用的神經(jīng)網(wǎng)絡(luò)設(shè)置與3層全連接網(wǎng)絡(luò)相同,學(xué)習(xí)速率設(shè)置為0.000 1。此外,進(jìn)化策略使用1 024個(gè)線程同時(shí)進(jìn)行策略計(jì)算,學(xué)習(xí)速率設(shè)置為0.01,為了提高搜索精度,算法的搜索范圍會(huì)隨著迭代過程而減小。

      實(shí)驗(yàn)結(jié)果如圖6所示,分別對(duì)比了3層全連接網(wǎng)絡(luò),5層全連接網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)的模型網(wǎng)絡(luò)收斂精度。每組實(shí)驗(yàn)進(jìn)行了20次,圖中圓點(diǎn)代表均值,直線的兩端分別為模型收斂之后的最后100次模型預(yù)測(cè)誤差的最大值和最小值。圖6(a)為3層全連接網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果,可見均值基本在1.0以上,其中可見多次均值貼近最小值,因?yàn)槟P妥詈蠡痉€(wěn)定在最小值處,但仍然有小概率會(huì)出現(xiàn)模型效果變差的情況出現(xiàn)。圖6 (b)為5層全連接網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果,均值已經(jīng)能達(dá)到1.0以下,相比于3層網(wǎng)絡(luò)有小幅改進(jìn),同樣出現(xiàn)了均值貼近最小值的情況。圖6 (c)為目標(biāo)網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果,可見均值已經(jīng)可以達(dá)到0.5左右,而最小值已經(jīng)可以接近于0,相比于全連接網(wǎng)絡(luò)有了明顯的提高。而最大值接近2.0,說明網(wǎng)絡(luò)的穩(wěn)定程度還需要改進(jìn)。

      圖6 不同網(wǎng)絡(luò)設(shè)置下的均方誤差Fig.6 Mean square error with different networks

      對(duì)比圖6(a)~(c)可知,全連接網(wǎng)絡(luò)可以相對(duì)穩(wěn)定地收斂,然而網(wǎng)絡(luò)的最小值和均值無法降低,證明了不帶目標(biāo)網(wǎng)絡(luò)的算法的理論精度要低于目標(biāo)網(wǎng)絡(luò)。而帶目標(biāo)網(wǎng)絡(luò)的算法收斂的穩(wěn)定程度有所不足,最小值和均值之間的間距偏大,但這一段距離都在全連接網(wǎng)絡(luò)的收斂精度之下,可見整體的收斂性能明顯高于全連接網(wǎng)絡(luò),在實(shí)際應(yīng)用時(shí)使用目標(biāo)網(wǎng)絡(luò)會(huì)取得更好的預(yù)測(cè)結(jié)果。

      總體統(tǒng)計(jì)結(jié)果如表2所示,結(jié)果表明,僅使用更深層的網(wǎng)絡(luò)對(duì)于動(dòng)力學(xué)模型精度提升有限,且增加了系統(tǒng)的計(jì)算量。而使用基于目標(biāo)網(wǎng)絡(luò)的算法能夠顯著提高動(dòng)力學(xué)網(wǎng)絡(luò)的平均收斂精度,尤其是均值和最小值,均值平均收精度從0.913提升到0.448,最小值平均收精度從0.745提升到0.014。此外,經(jīng)過并行化的進(jìn)化策略也使得收斂速度提高了10倍左右,大大提升了算法的在線運(yùn)行能力。

      表2 不同算法收斂精度及速度對(duì)比Table 2 Comparison of convergence accuracy and speed among different algorithms

      4 結(jié) 論

      本文使用深度強(qiáng)化學(xué)習(xí)算法學(xué)習(xí)動(dòng)力學(xué)模型和全局策略,并且使用模型預(yù)測(cè)控制優(yōu)化控制策略。該算法框架下,可以使用不同的神經(jīng)網(wǎng)絡(luò)模型和策略優(yōu)化方法。得益于軟件定義衛(wèi)星的發(fā)展,機(jī)器學(xué)習(xí)的算法可以在軌運(yùn)行甚至于在軌學(xué)習(xí),衛(wèi)星姿態(tài)控制算法可以脫離傳統(tǒng)姿態(tài)控制算法使用機(jī)器學(xué)習(xí)算法,從而為整星提供更好的姿態(tài)控制服務(wù)。本文算法可以在衛(wèi)星物理參數(shù)未知的情況下學(xué)習(xí)得到優(yōu)化的控制策略,并且在引導(dǎo)策略效果變差時(shí)通過學(xué)習(xí)生成優(yōu)化的控制策略,使得衛(wèi)星姿態(tài)控制系統(tǒng)更加智能化、自主化,對(duì)環(huán)境的適應(yīng)性也有所提高。

      實(shí)驗(yàn)結(jié)果表明,基于目標(biāo)網(wǎng)絡(luò)的動(dòng)力學(xué)模型網(wǎng)絡(luò)可以明顯提升算法的收斂精度,而基于進(jìn)化策略的啟發(fā)式搜索并行化算法可以大大提升算法的收斂速度,從而提高強(qiáng)化學(xué)習(xí)姿態(tài)控制系統(tǒng)在軌運(yùn)行在線計(jì)算的能力。

      本文所使用的強(qiáng)化學(xué)習(xí)算法為貪心算法,在面對(duì)可能具有多個(gè)局部最優(yōu)解的復(fù)雜控制問題如路徑跟蹤、目標(biāo)追蹤等問題時(shí)較容易陷入局部最優(yōu)解。因此需要使用動(dòng)態(tài)規(guī)劃或模型預(yù)測(cè)控制等全局優(yōu)化算法進(jìn)一步提升算法的性能。神經(jīng)網(wǎng)絡(luò)目前使用的是全連接網(wǎng)絡(luò),泛化能力有限,在較為簡(jiǎn)單的仿真環(huán)境中可以取得不錯(cuò)的效果,然而實(shí)際空間環(huán)境更為復(fù)雜,需要使用泛化能力更強(qiáng)的卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建學(xué)習(xí)算法,并且可以使用遞歸神經(jīng)網(wǎng)絡(luò)擬合實(shí)際控制系統(tǒng)中的時(shí)間滯后效應(yīng)。

      猜你喜歡
      姿態(tài)控制控制算法姿態(tài)
      風(fēng)擾動(dòng)下空投型AUV的飛行姿態(tài)控制研究
      攀爬的姿態(tài)
      全新一代宋的新姿態(tài)
      汽車觀察(2018年9期)2018-10-23 05:46:40
      跑與走的姿態(tài)
      中國自行車(2018年8期)2018-09-26 06:53:44
      多星發(fā)射上面級(jí)主動(dòng)抗擾姿態(tài)控制技術(shù)研究
      基于ARM+FPGA的模塊化同步控制算法研究
      基于UC/OS-II四旋翼姿態(tài)控制系統(tǒng)設(shè)計(jì)
      一種優(yōu)化的基于ARM Cortex-M3電池組均衡控制算法應(yīng)用
      一種非圓旋轉(zhuǎn)工件支撐裝置控制算法
      DI材橫向厚差自動(dòng)控制算法及其應(yīng)用
      上海金屬(2013年4期)2013-12-20 07:57:17
      宜昌市| 西峡县| 亳州市| 新化县| 博客| 鲁山县| 宝鸡市| 山丹县| 兴宁市| 永善县| 托克逊县| 新河县| 济南市| 拜泉县| 卢湾区| 哈密市| 贵定县| 定日县| 阳新县| 子洲县| 石门县| 东乌珠穆沁旗| 寿光市| 隆安县| 苏尼特右旗| 新兴县| 晋州市| 秦安县| 屯留县| 武山县| 舒兰市| 县级市| 健康| 沈阳市| 广平县| 舟曲县| 土默特右旗| 金山区| 江阴市| 阿拉善左旗| 裕民县|