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