劉衛(wèi)朋,邢關(guān)生,陳海永,孫鶴旭
( 1.河北工業(yè)大學(xué) 控制科學(xué)與工程學(xué)院,天津 300130; 2.青島科技大學(xué) 自動(dòng)化與電子工程學(xué)院,山東 青島 266042)
機(jī)械臂動(dòng)力學(xué)具有高度非線性和不確定性,目前針對機(jī)械臂軌跡的跟蹤控制問題已有很多可行的控制方案。為了便于設(shè)計(jì)且成本低廉,工業(yè)界習(xí)慣采用比例—積分—微分(Proportion Integration Differentiation, PID)控制器設(shè)計(jì)方法,然而傳統(tǒng)PID控制方法對不確定的工作環(huán)境、負(fù)載變化和未知外部擾動(dòng)的適應(yīng)能力不足,需要采用先進(jìn)的自適應(yīng)技術(shù)來提高控制器的工作性能。
近年來增強(qiáng)學(xué)習(xí)(又稱強(qiáng)化學(xué)習(xí))逐漸受到研究者的重視。增強(qiáng)學(xué)習(xí)是一種非線性系統(tǒng)的直接自適應(yīng)最優(yōu)控制方法[1],該方法計(jì)算簡單,能夠賦予控制器學(xué)習(xí)能力,使控制器靈活應(yīng)對變化的外部環(huán)境。增強(qiáng)學(xué)習(xí)控制器通過與環(huán)境(包括動(dòng)態(tài)模型未知的被控對象)相互作用,基于實(shí)際運(yùn)行數(shù)據(jù)學(xué)習(xí)控制律,目的是獲得最大的長期回報(bào),即使控制系統(tǒng)性能最優(yōu)。增強(qiáng)學(xué)習(xí)控制器設(shè)計(jì)不需要被控對象的動(dòng)態(tài)模型,控制動(dòng)作的產(chǎn)生是基于當(dāng)前或歷史數(shù)據(jù)。已有一些研究工作將增強(qiáng)學(xué)習(xí)算法應(yīng)用于機(jī)械臂控制,例如,文獻(xiàn)[2]采用基于K-均值聚類的增強(qiáng)學(xué)習(xí)方法解決機(jī)械臂的避碰問題;文獻(xiàn)[3]采用Q-learning算法解決機(jī)械臂關(guān)節(jié)運(yùn)動(dòng)的軌跡跟蹤控制問題,研究增強(qiáng)學(xué)習(xí)中的各種函數(shù)逼近技術(shù),對比了模糊Q-learning控制[4]、神經(jīng)網(wǎng)絡(luò)Q-learning控制[5]、決策樹Q-learning控制[6]、支持向量機(jī)Q-learning控制[7]在負(fù)載變化、力矩?cái)_動(dòng)情況下的平均偏差、最大偏差等性能指標(biāo)。
采用增強(qiáng)學(xué)習(xí)直接完成機(jī)械臂的控制存在兩方面困難[8-9]:①初始參數(shù)較難選擇,系統(tǒng)容易出現(xiàn)不穩(wěn)定,工程上難以實(shí)現(xiàn);②增強(qiáng)學(xué)習(xí)算法在應(yīng)用于連續(xù)系統(tǒng)的控制任務(wù)時(shí),面臨著因狀態(tài)空間巨大而帶來的值函數(shù)泛化問題,即如何存儲(chǔ)和逼近一個(gè)蘊(yùn)含著最優(yōu)控制目標(biāo)的函數(shù)。本文提出基于SARSA(state-action-reward-state-action)算法的增強(qiáng)學(xué)習(xí)補(bǔ)償控制策略,并與傳統(tǒng)PD控制組合使用,利用PD控制完成基本的鎮(zhèn)定任務(wù),利用增強(qiáng)學(xué)習(xí)算法實(shí)現(xiàn)對未知干擾因素的補(bǔ)償,從而提高對不同情況的適應(yīng)能力。
在機(jī)械臂的軌跡跟蹤應(yīng)用中,無論是令機(jī)械臂末端運(yùn)動(dòng)到某個(gè)或某幾個(gè)位置點(diǎn),還是令機(jī)械臂末端以某姿態(tài)沿給定軌跡運(yùn)動(dòng),常常需要完成軌跡規(guī)劃和軌跡跟蹤兩步計(jì)算任務(wù)。軌跡規(guī)劃指利用機(jī)械臂的逆運(yùn)動(dòng)學(xué)模型,根據(jù)期望的末端位姿計(jì)算出各關(guān)節(jié)的期望轉(zhuǎn)角,進(jìn)而規(guī)劃出各關(guān)節(jié)角和角速度隨時(shí)間變化的曲線。由于現(xiàn)實(shí)物理世界存在各種不可預(yù)測的干擾和不確定因素,規(guī)劃出的軌跡在執(zhí)行過程中很容易偏離,需要實(shí)時(shí)根據(jù)關(guān)節(jié)角、角速度的測量值和期望值之間的偏差進(jìn)行調(diào)節(jié),使機(jī)械臂的各個(gè)關(guān)節(jié)盡可能按期望軌跡進(jìn)行旋轉(zhuǎn)運(yùn)動(dòng),這是軌跡跟蹤控制問題。
機(jī)械臂關(guān)節(jié)運(yùn)動(dòng)的軌跡跟蹤控制屬于多變量控制,機(jī)械臂關(guān)節(jié)間存在非線性耦合,而傳統(tǒng)的PD控制雖然容易實(shí)現(xiàn),但是任何一個(gè)作用于單一關(guān)節(jié)的PD控制器都難以克服其他關(guān)節(jié)帶來的干擾,控制性能不佳。之后出現(xiàn)的基于模型的計(jì)算力矩控制、魯棒控制和自適應(yīng)控制等方法大多需要已知機(jī)械臂的數(shù)學(xué)模型,然而大多數(shù)機(jī)械臂數(shù)學(xué)模型復(fù)雜、模型參數(shù)很難測定或代價(jià)較高,從而制約了這些高級(jí)控制方法的應(yīng)用。實(shí)用的解決方案是采用PD反饋與動(dòng)態(tài)補(bǔ)償相組合的控制策略,或者PD反饋與逆??刂葡嘟M合的控制策略。
Lewis[7]使用三層前饋神經(jīng)網(wǎng)絡(luò)進(jìn)行非線性補(bǔ)償,與PD控制器共同構(gòu)成機(jī)械臂的軌跡跟蹤控制系統(tǒng),控制系統(tǒng)基本結(jié)構(gòu)如圖1所示。神經(jīng)網(wǎng)絡(luò)用來逼近一個(gè)類似于計(jì)算力矩控制的控制律[8-9,11]。Ren等[12]為抵抗神經(jīng)網(wǎng)絡(luò)逼近誤差給跟蹤控制帶來的影響,提出帶有滑??刂频纳窠?jīng)網(wǎng)絡(luò)魯棒補(bǔ)償控制器,Xie等[13]完成了五自由度機(jī)械臂自適應(yīng)神經(jīng)網(wǎng)絡(luò)控制器的設(shè)計(jì)和分析,并通過MATLAB/ADAMS聯(lián)合仿真驗(yàn)證了方法的有效性;王良勇等[14]在系統(tǒng)離散化的情況下,將關(guān)節(jié)間的耦合影響看作干擾,使用徑向基函數(shù)(Radial Basis Function, RBF)神經(jīng)網(wǎng)絡(luò)逼近單個(gè)關(guān)節(jié)的干擾項(xiàng),分散地實(shí)現(xiàn)了機(jī)械臂各關(guān)節(jié)的補(bǔ)償控制。
另外,PD與逆模控制的組合控制策略是利用逆動(dòng)力學(xué)或逆動(dòng)力學(xué)的近似動(dòng)態(tài)消除機(jī)械臂的非線性,將控制系統(tǒng)變換為二階線性系統(tǒng),利用極點(diǎn)配置方法可設(shè)定PD控制器參數(shù)?;究刂瓶驁D如圖2所示。Pane等[15]采用執(zhí)行者—評價(jià)者結(jié)構(gòu)的增強(qiáng)學(xué)習(xí)算法補(bǔ)償PD控制器,每個(gè)關(guān)節(jié)有一個(gè)增強(qiáng)學(xué)習(xí)控制器,但是控制系統(tǒng)結(jié)構(gòu)比較復(fù)雜;Spong等[16]在其基礎(chǔ)上提出改進(jìn)的控制器設(shè)計(jì)方案,以克服對慣性矩陣估計(jì)限制的條件;Kim等[17]采用多層前饋神經(jīng)網(wǎng)絡(luò)和一個(gè)鎮(zhèn)定的反饋控制器組合的控制方案,反饋控制器用于保證系統(tǒng)有界,前饋神經(jīng)網(wǎng)絡(luò)以在線學(xué)習(xí)的方式逼近機(jī)械臂的逆動(dòng)態(tài),形成直接逆控制器;Tian等[18]采用遞歸神經(jīng)網(wǎng)絡(luò)逼近兩自由度柔性機(jī)械臂的逆模型,進(jìn)而實(shí)現(xiàn)逆??刂?;Fahmy等[19]將模糊神經(jīng)網(wǎng)絡(luò)用于機(jī)械臂逆動(dòng)態(tài)建模,與模糊PID伺服控制共同構(gòu)成機(jī)械臂控制系統(tǒng);Ouyang等[11]對單軸柔性機(jī)械臂直接采用執(zhí)行者—評價(jià)者結(jié)構(gòu)的增強(qiáng)學(xué)習(xí)算法設(shè)計(jì)控制器,以保證系統(tǒng)在學(xué)習(xí)初期的穩(wěn)定性,但是執(zhí)行者和評價(jià)者的神經(jīng)網(wǎng)絡(luò)初始參數(shù)難以選擇。
補(bǔ)償控制和逆模控制均可消除關(guān)節(jié)間耦合和重力作用產(chǎn)生的非線性項(xiàng)給控制系統(tǒng)帶來的反面作用,但是缺少對控制系統(tǒng)最優(yōu)性方面的考慮。本文采用增強(qiáng)學(xué)習(xí)這種自適應(yīng)最優(yōu)控制方法設(shè)計(jì)PD伺服控制的補(bǔ)償控制器,通過增強(qiáng)學(xué)習(xí)的自適應(yīng)能力,使其能夠靈活應(yīng)對關(guān)節(jié)間的耦合作用和不確定外部擾動(dòng),在控制過程中逐漸學(xué)習(xí)出令輸出誤差和控制輸入最小的補(bǔ)償控制律。
增強(qiáng)學(xué)習(xí)是一個(gè)智能體從經(jīng)驗(yàn)數(shù)據(jù)中學(xué)習(xí)出控制或決策策略的過程,其經(jīng)驗(yàn)來自于系統(tǒng)運(yùn)行過程中環(huán)境給智能體回饋的獎(jiǎng)勵(lì)或懲罰。獎(jiǎng)勵(lì)可被看作是正向的增強(qiáng)信號(hào),懲罰被認(rèn)為是反向的增強(qiáng)信號(hào),這種增強(qiáng)信號(hào)是對智能體在某一狀態(tài)下所采取的控制動(dòng)作的評價(jià)(正面或負(fù)面)。試錯(cuò)過程中,智能體在歷史經(jīng)驗(yàn)中增強(qiáng)信號(hào)的刺激下,不斷選擇能夠在未來取得最多報(bào)酬的控制動(dòng)作,即尋求報(bào)酬最大化,這是對生物界常見行為的模擬。
增強(qiáng)學(xué)習(xí)系統(tǒng)的基本框架如圖3所示,交互過程中的3個(gè)基本信號(hào)分別為狀態(tài)、控制動(dòng)作和報(bào)酬。狀態(tài)指智能體所面對的外部環(huán)境的狀態(tài);動(dòng)作是智能體做出的決定,施加在外部環(huán)境上,影響其狀態(tài)變化;報(bào)酬是動(dòng)作被執(zhí)行后產(chǎn)生的效果的反饋。從控制的角度看,智能體可被認(rèn)為是控制器,外部環(huán)境被看作被控對象,動(dòng)作是基于狀態(tài)計(jì)算出的控制輸入,報(bào)酬信號(hào)由成本函數(shù)定義,控制成本減小是報(bào)酬,控制成本增大是懲罰,即目標(biāo)是追求控制成本最小化。
SARSA算法是一種“在策略”(on-policy)的TD(temporal-difference)算法,狀態(tài)—行為值函數(shù)的估計(jì)和更新依賴于當(dāng)前策略和狀態(tài)—行為對。通過對比兩種算法值迭代的過程,能夠很容易地理解SARSA與Q-learning的區(qū)別。一步SARSA的值函數(shù)迭代規(guī)則為
Qt+1(xt,ut)←Qt(xt,ut)+
α[rt+1+γQt(xt+1,ut+1)-Qt(xt,ut)]。
(1)
機(jī)械臂軌跡跟蹤控制系統(tǒng)采用PID和增強(qiáng)學(xué)習(xí)控制組合的控制系統(tǒng)結(jié)構(gòu),如圖4所示。
3.2基于SARSA算法的補(bǔ)償控制策略
(2)
(3)
期望值d已知,設(shè)式(3)可離散化為
(4)
設(shè)折扣型最優(yōu)值函數(shù)為
(5)
(6)
式中:ei=di-xi為跟蹤偏差,矩陣Q和R為對角矩陣且正定。式(4)的最優(yōu)值函數(shù)的迭代形式為
V*(xk,dk)=
(7)
在增強(qiáng)學(xué)習(xí)框架下,采用狀態(tài)行為值函數(shù)的定義
(8)
則最優(yōu)狀態(tài)行為值函數(shù)為
(9)
由式(7)和式(9)可知
(10)
尋找控制律就是為了計(jì)算出令最優(yōu)狀態(tài)行為值函數(shù)的值最小的控制輸入。設(shè)最佳的控制律為h*(xk,dk),則
(11)
(12)
本文采用一種具有內(nèi)部反饋結(jié)構(gòu)的遞歸型神經(jīng)網(wǎng)絡(luò)來提高迭代的速度,該網(wǎng)絡(luò)與已有研究工作所采用的前饋神經(jīng)網(wǎng)絡(luò)不同,具體結(jié)構(gòu)如圖5所示。這種神經(jīng)網(wǎng)絡(luò)包括輸入層、隱層和輸出層3層,其隱層神經(jīng)元的輸出被反饋至輸入層,這是與前饋神經(jīng)網(wǎng)絡(luò)不同的地方。
令v=[v1,v2,…,vNH,φ]T為從隱層到輸出層的權(quán)重,其中:vj表示第j個(gè)隱層單元到輸出層的權(quán)值,φ表示輸出層神經(jīng)元的閾值。隱層的激活函數(shù)采用非線性sigmoid函數(shù)表示為
(13)
需要解釋的是,如果式(13)中的a為列向量,則φ(a)表示分別以a中各元素為自變量,執(zhí)行式(13)的計(jì)算而得的列向量。輸出神經(jīng)元的激活函數(shù)是線性的。則神經(jīng)網(wǎng)絡(luò)所能存儲(chǔ)的值函數(shù)可參數(shù)化地表示為
(14)
(15)
根據(jù)反向傳播算法,先根據(jù)式(16)更新權(quán)重vj:
(16)
然后根據(jù)式(17)和式(18)更新權(quán)重wij:
(17)
(18)
類似地,神經(jīng)元閾值φ和θj的更新律分別為:
(19)
(20)
式中ε和γ分別為輸出層和隱層的學(xué)習(xí)率。
(21)
(22)
l=4n+i,i=1,2,…,n。
(23)
神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)選擇對增強(qiáng)學(xué)習(xí)控制器的設(shè)計(jì)非常重要。對于兩關(guān)節(jié)機(jī)械臂,神經(jīng)網(wǎng)絡(luò)外部輸入的個(gè)數(shù)NI=10,包括兩個(gè)關(guān)節(jié)的位置與速度4個(gè)量、期望位置與速度4個(gè)量,以及控制力矩2個(gè)量,隱層神經(jīng)元個(gè)數(shù)選擇為NH=20,則遞歸神經(jīng)網(wǎng)絡(luò)輸入層的神經(jīng)元個(gè)數(shù)Nw=NI+NH=30。由網(wǎng)絡(luò)結(jié)構(gòu)可知,輸入層到隱層的權(quán)重W是31×20矩陣,隱層到輸出層的權(quán)重v是21×1向量,這里的權(quán)重包含了各神經(jīng)元的閾值參數(shù)。神經(jīng)網(wǎng)絡(luò)權(quán)重W和v中各元素的初始值是在[-0.1,0.1]區(qū)間內(nèi)隨機(jī)產(chǎn)生的。
仿真實(shí)驗(yàn)首先設(shè)計(jì)能夠使機(jī)械臂穩(wěn)定的PD控制器,然后增加增強(qiáng)學(xué)習(xí)補(bǔ)償控制,并對比分析增強(qiáng)學(xué)習(xí)控制的作用。
設(shè)計(jì)兩個(gè)PD控制器,分別操縱機(jī)械臂的兩個(gè)關(guān)節(jié),PD控制器的算式為
PD控制是機(jī)械臂穩(wěn)定的基礎(chǔ),通過增強(qiáng)學(xué)習(xí)控制器的補(bǔ)償作用能夠減小跟蹤誤差。跟蹤曲線的周期性可以使增強(qiáng)學(xué)習(xí)進(jìn)行重復(fù)學(xué)習(xí),且每次學(xué)習(xí)均在前次學(xué)習(xí)的基礎(chǔ)上更新存儲(chǔ)Q函數(shù)的神經(jīng)網(wǎng)絡(luò)權(quán)重。加入增強(qiáng)學(xué)習(xí)補(bǔ)償控制后,機(jī)械臂兩關(guān)節(jié)角的跟蹤誤差軌跡分別如圖10和圖11所示。
為了說明增強(qiáng)學(xué)習(xí)的補(bǔ)償作用,將兩次仿真實(shí)驗(yàn)結(jié)果放置在一個(gè)坐標(biāo)系內(nèi)進(jìn)行比較,如圖12和圖13所示。
由圖12和圖13可見,在加入增強(qiáng)學(xué)習(xí)控制器后,兩個(gè)關(guān)節(jié)角的跟蹤誤差均減小,而且由于增強(qiáng)學(xué)習(xí)的持續(xù)學(xué)習(xí)作用,每個(gè)學(xué)習(xí)周期后,與前一學(xué)習(xí)周期相比,誤差在逐漸減小;而單純的PD控制下,誤差變化也存在周期性重復(fù)。這是增強(qiáng)學(xué)習(xí)控制學(xué)習(xí)能力的主要表現(xiàn)。
本文針對兩自由度機(jī)械臂的控制問題,提出一種基于SARSA算法的機(jī)械臂軌跡跟蹤控制策略,通過與傳統(tǒng)PD控制組合使用,利用PD控制完成基本的鎮(zhèn)定任務(wù),利用增強(qiáng)學(xué)習(xí)算法實(shí)現(xiàn)對未知干擾因素的補(bǔ)償,可以提供對不同情況的適應(yīng)能力。因?yàn)镻I控制的積分作用使控制速度變慢,系統(tǒng)穩(wěn)定性變差,不適用于工業(yè)機(jī)器人,所以本文的PID控制器使用PD控制算法,以增強(qiáng)學(xué)習(xí)控制器作為補(bǔ)償控制。仿真實(shí)驗(yàn)表明:
(1)引入增強(qiáng)學(xué)習(xí)后,機(jī)械臂可實(shí)現(xiàn)自主控制。控制器在連續(xù)空間內(nèi)產(chǎn)生實(shí)值型控制量,提高了控制精度。
(2) 通過仿真實(shí)驗(yàn)驗(yàn)證了自適應(yīng)離散化的強(qiáng)化學(xué)習(xí)方法在機(jī)械臂軌跡跟蹤問題中的可行性和有效性,明顯提高了控制器的學(xué)習(xí)速度。