張鐵,廖才磊,鄒焱飚,康中強
(華南理工大學機械與汽車工程學院,510641,廣州)
在多軸運動系統(tǒng)的自動化裝配、搬運等生產(chǎn)過程中,往往要求系統(tǒng)能夠高速運動以提高生產(chǎn)效率,但是系統(tǒng)的高速運動可能會導致電機動載荷過載的問題,這一現(xiàn)象在重載運動時尤為明顯,不僅對電機產(chǎn)生損害,還降低了生產(chǎn)質(zhì)量。
為實現(xiàn)多軸運動系統(tǒng)的高速運動,需要以時間最優(yōu)為目標對軌跡進行優(yōu)化[1-3]。為了進一步解決高速運動過程中的電機動載荷過載問題,需要將電機動態(tài)載荷視為約束條件引入到時間最優(yōu)軌跡優(yōu)化數(shù)學模型中,如文獻[4]通過對系統(tǒng)建立動力學模型,并在軌跡優(yōu)化時增加電機動態(tài)載荷約束,從而得到理論計算力矩,滿足電機動載荷約束的時間最優(yōu)軌跡。但是,由于電機動子電流和定子磁場畸變以及機械參數(shù)變化等擾動,所建立的動力學模型和實際模型無法完全匹配,最終實際測量力矩仍會超出電機動載荷限制。因此,文獻[5]在動力學模型中增加補償項并利用迭代學習方法來更新補償項,以此提高動力學模型精度。雖然能夠在一定程度上減小模型不匹配度,但其仍是對理論計算力矩進行約束,無法從根本上解決高速運動中電機動載荷過載的問題。
近年來,強化學習[6]在控制領域已經(jīng)有了廣泛的研究應用,例如移動路徑規(guī)劃[7-8]、步態(tài)生成[9-10]、避障[11-12]和裝配[13-14]等。這些研究用馬爾可夫決策過程來描述實際物理問題,然后利用強化學習方法進行學習求解。本文也基于馬爾可夫決策過程對時間最優(yōu)軌跡優(yōu)化問題進行研究,利用強化學習中智能體與環(huán)境進行交互學習的特性,提出了一種采用強化學習的時間最優(yōu)軌跡優(yōu)化方法:首先,將時間最優(yōu)軌跡優(yōu)化問題描述為馬爾可夫決策問題;其次,對經(jīng)典的狀態(tài)-動作-獎勵-狀態(tài)-動作(SARSA)算法[15]進行改進,使其能適用于時間最優(yōu)軌跡優(yōu)化;最后,通過迭代交互法與真實環(huán)境交互學習,從而獲得滿足運動學約束和動力學約束的時間最優(yōu)軌跡。本文方法無需建立動力學模型,而是直接對電機實際力矩進行約束,避免了動力學模型和實際模型不匹配的問題,從根本上解決了多軸運動系統(tǒng)在高速運動中電機動載荷過載的問題。
時間最優(yōu)軌跡優(yōu)化問題實質(zhì)上是尋找滿足約束條件的電機運動軌跡,使其以盡可能大的速度工作,從而達到時間最優(yōu)。為了采用強化學習方法解決時間最優(yōu)軌跡優(yōu)化問題,首先需要基于運動學約束條件來構(gòu)造強化學習環(huán)境,動力學約束的引入需要通過與真實環(huán)境的迭代交互來完成,具體將在2.2小節(jié)研究。
多軸運動系統(tǒng)包括串聯(lián)結(jié)構(gòu)和并聯(lián)結(jié)構(gòu),本文主要研究串聯(lián)結(jié)構(gòu),如數(shù)控機床、串聯(lián)工業(yè)機器人等。圖1是多軸運動系統(tǒng)示意,可以看出,軸的運動方式主要分為轉(zhuǎn)動和移動兩種,前3軸為轉(zhuǎn)動軸,第4軸為移動軸。結(jié)構(gòu)的選用及組合需要根據(jù)應用場景來設計,本文暫不考慮具體結(jié)構(gòu),只針對電機進行描述,記電機轉(zhuǎn)角關于時間t的函數(shù)為q(t)=[q1(t)q2(t)…]T。
圖1 多軸運動系統(tǒng)示意
為了減少優(yōu)化過程中的變量,軌跡優(yōu)化往往在相平面上進行[16]。假設路徑標量s∈[0,1][17]與時間t存在函數(shù)映射關系s(t),則有
q(t)=q(s)
(1)
進一步地,可得到電機角速度和角加速度關于標量s的表達式
(2)
(3)
(4)
(5)
(6)
(7)
(8)
對任一條運行時間為tf的完整電機軌跡,不失一般性地,假設
s(0)=0≤s(t)≤1=s(tf)
(9)
(10)
圖2 時間最優(yōu)強化學習環(huán)境示意
SARSA算法[19]是一種經(jīng)典的強化學習算法,其中,狀態(tài)是智能體在環(huán)境中的位置,動作是智能體從一個狀態(tài)轉(zhuǎn)移到另一個狀態(tài)所采取的行動,獎勵是環(huán)境對智能體的一個反饋。記Q(Sk,Ak)為智能體在狀態(tài)Sk采取動作Ak時獲得的平均獎勵,則用于時間最優(yōu)軌跡優(yōu)化的SARSA算法的學習過程如圖3所示。智能體從狀態(tài)S0開始,在狀態(tài)Sk根據(jù)Q(Sk,Ak)采取一個動作Ak,之后從環(huán)境中獲得獎勵Rk+1,更新Q(Sk,Ak)并到達下一個狀態(tài)Sk+1,這一連串狀態(tài)動作的組合稱為一個情節(jié)。
圖3 SARSA學習過程
2.1.1 動作 SARSA算法中,動作的選擇采用ε貪心法,公式為
(11)
式中λ為隨機數(shù)。
ε貪心法基于概率ε(0≤ε<1)對探索和利用進行折中:每次學習時,以ε的概率進行探索,即以均勻概率隨機選擇一個動作,以發(fā)現(xiàn)可以獲得更大獎勵的動作;以1-ε的概率進行利用,即選擇當前狀態(tài)下最大的Q所對應的動作,以盡可能多地獲得獎勵。此外,當處于倒數(shù)第二個狀態(tài)時,如果通過計算發(fā)現(xiàn)終止目標狀態(tài)點(1,0)剛好在可選擇的動作范圍內(nèi),那么這個終止目標狀態(tài)為唯一可選的動作。
(12)
圖4 時間最優(yōu)軌跡優(yōu)化問題的獎勵和懲罰示意
(13)
2.1.3Q表 在經(jīng)典的SARSA算法中,狀態(tài)動作函數(shù)為
Q(Sk,Ak)←Q(Sk,Ak)+α(Rk+1+
γQ(Sk+1,Ak+1)-Q(Sk,Ak))
(14)
式中:α為學習系數(shù),0≤α<1,α越大則表示靠后的積累獎勵越重要;γ表示折扣因子,0≤γ<1。
由于SARSA算法是一個單步更新的強化學習算法,當智能體到達一個不可行狀態(tài)點并受到懲罰時,它只能通過單步更新,將懲罰往前回溯到前一步。因此,需要相當多的時間去更新Q才能使不可行狀態(tài)點的Q小于0,以保證智能體不再經(jīng)過這些狀態(tài)點。為了加速這個懲罰的傳導過程,應該在智能體經(jīng)歷過一段失敗的情節(jié)時,便對該段情節(jié)上的所有動作進行懲罰,使該段情節(jié)上的所有動作都能從這次失敗的情節(jié)中學到經(jīng)驗。改進的狀態(tài)動作函數(shù)通過在狀態(tài)動作后面增加一個懲罰項用來加速懲罰,公式為
Q(Sk,Ak)←Q(Sk,Ak)+α(Rk+1+
γQ(Sk+1,Ak+1)-Q(Sk,Ak))+ρK-kRK+1
(15)
式中:K表示這段失敗的情節(jié)一共經(jīng)歷的狀態(tài)數(shù),0≤k≤K;RK+1表示智能體在到達第一個不可行狀態(tài)點時受到的懲罰;ρ表示懲罰折扣因子,0<ρ<1,ρ使越靠近不可行區(qū)域的動作受到的懲罰越大。
至此,得到改進SARSA算法的學習框架,如圖5所示。初始化Q表,利用改進SARSA算法進行情節(jié)學習,在經(jīng)歷過一段成功的情節(jié)之后,將貪婪策略的貪婪因子ε設置為0,用于對學習到的經(jīng)驗進行開采以獲得最優(yōu)策略,并保存這段最優(yōu)策略軌跡;重新設置一個在0~1之間的貪婪因子用于探索,并在獲得另一個成功的情節(jié)之后,重新將貪婪因子ε設置為0進行開采,獲得新的最優(yōu)策略軌跡;如果新獲得的最優(yōu)策略軌跡和保存的最優(yōu)策略軌跡一樣,則表明智能體可能已經(jīng)遍歷了所有可能的情況,并且算法收斂于最優(yōu)策略。
圖5 改進SARSA算法的框架
根據(jù)3.1小節(jié)中的改進SARSA算法,可以學習到一條滿足運動學約束的初始策略軌跡,但是由于算法并未考慮動力學約束,因此當執(zhí)行這條軌跡時,電機實際測量力矩可能超限。所以,需要通過與真實環(huán)境進行迭代交互來引入動力學約束,并對初始策略軌跡進行修正,使電機實際測量力矩最終能夠滿足動載荷約束。時間最優(yōu)軌跡優(yōu)化問題的迭代交互法框架如圖6所示,主要包括以下3步。
圖6 迭代交互法框架
第1步 將時間最優(yōu)軌跡優(yōu)化的運動學約束條件構(gòu)建成強化學習環(huán)境,將時間最優(yōu)軌跡優(yōu)化問題構(gòu)建成強化學習模型。
第2步 使用改進SARSA算法學習得到策略軌跡。
第3步 在真實環(huán)境中運行獲得策略軌跡,并采集真實的測量力矩,判斷是否超限,如果超限則將那些超限部分的狀態(tài)點都設置為不可行狀態(tài)點,從而將動力學約束更新到強化學習環(huán)境中。
重復第2、3步,直到測量力矩不再超限,便可獲得一條同時滿足運動學和動力學約束的時間最優(yōu)軌跡。
為了驗證改進SARSA算法的有效性,在MATLAB R2018b對改進SARSA算法進行仿真驗證??紤]到實際工況中路徑的曲率多變性,本文用NURBS曲線插補器[20]生成一條曲率多變的星形曲線軌跡,并對其進行優(yōu)化。星形曲線的參數(shù)中,次數(shù)k=2,節(jié)點矢量U=[0,0,0,1/9,2/9,3/9,4/9,5/9,6/9,7/9,8/9,1,1,1],頂點參數(shù)如表1所示。插補生成的軌跡如圖7所示。
圖7 星形曲線軌跡
表1 星形曲線頂點參數(shù)
圖8 相平面軌跡優(yōu)化結(jié)果
(a)X軸速度曲線
時間最優(yōu)軌跡優(yōu)化的迭代交互實驗平臺如圖10所示,平臺由做獨立運動的X、Z兩軸串聯(lián)組成。兩軸的電機的型號均為Delta ECMA-CA0604RS,由Delta ASD-A2-0421-E交流伺服驅(qū)動器進行驅(qū)動,再經(jīng)過滾珠絲杠將旋轉(zhuǎn)運動轉(zhuǎn)換成工作臺的直線運動。平臺的控制系統(tǒng)搭建于Windows7 64-bit系統(tǒng),并使用EtherCAT工業(yè)以太網(wǎng)進行通信,控制周期和采樣周期均為1 ms。作為主站的工控機型號為DT-610P-ZQ170MA,CPU為Intel Core i7-4770,最高主頻為3.40 GHz,運行內(nèi)存為8 GB。
圖10 實驗平臺
利用3.1小節(jié)中改進SARSA算法優(yōu)化得到的策略軌跡與真實環(huán)境進行迭代交互實驗,結(jié)果如圖11所示??梢钥闯?動載荷過載點的數(shù)量隨著迭代的進行逐漸減少,且經(jīng)過10次迭代之后,動載荷過載點的數(shù)量減少為0。
圖11 電機動載荷過載點數(shù)
迭代前和經(jīng)過10次迭代后的實際測量力矩曲線如圖12所示。可以看出,迭代前X軸的部分實際測量力矩曲線超過了動載荷限制,而經(jīng)過10次迭代后,X軸和Z軸的實際力矩曲線均在動載荷限制內(nèi)。這是因為改進SARSA算法并未考慮動力學約束,在運行迭代前的策略軌跡時,部分點的電機動載荷過載。與真實環(huán)境進行迭代交互后,動力學約束被引入,策略軌跡逐漸得到修正,最終軌跡的實際測量力矩滿足動載荷限制。由此,迭代交互法的有效性得到了驗證。
(a)X軸力矩曲線
為實現(xiàn)多軸運動系統(tǒng)高速運動并解決電機動載荷過載的問題,本文將時間最優(yōu)軌跡優(yōu)化問題描述為馬爾可夫決策問題,提出了一種采用強化學習的時間最優(yōu)軌跡優(yōu)化方法。該方法無需建立動力學模型,而是通過與現(xiàn)實環(huán)境的交互學習來直接對實際力矩進行約束,避免了動力學模型和實際模型不匹配的問題,從根本上解決了多軸運動系統(tǒng)在高速運動中動載荷過載的問題。
采用強化學習的時間最優(yōu)軌跡優(yōu)化方法根據(jù)時間最優(yōu)軌跡優(yōu)化問題的特性對經(jīng)典SARSA算法進行改進,通過與基于運動學模型建立的強化學習環(huán)境進行交互學習,找到滿足運動學約束的初始策略軌跡。通過迭代交互法與真實環(huán)境進行交互學習,從而將動力學約束引入到強化學習環(huán)境中并對策略軌跡進行修正。最終,獲得同時滿足運動學約束和動力學約束的時間最優(yōu)軌跡。
實驗結(jié)果顯示,改進SARSA算法優(yōu)化得到的策略軌跡的速度和加速度曲線均在約束內(nèi),且經(jīng)過10次迭代后的軌跡實際測量力矩曲線也均在動載荷約束內(nèi),提出的采用強化學習的時間最優(yōu)軌跡優(yōu)化方法有效。