李艷輝,趙 輝,李珊珊
(東北石油大學(xué) 電氣信息工程學(xué)院,黑龍江 大慶 163318)
機(jī)械臂軌跡規(guī)劃是機(jī)器人學(xué)習(xí)的重要分支之一,已有不少學(xué)者對(duì)其進(jìn)行了研究。具有代表性的PID (Proportion Integration Differentiation)策略,它可以控制柔性機(jī)械臂,實(shí)現(xiàn)干擾量快速補(bǔ)償及系統(tǒng)偏差糾正,不足之處在于當(dāng)控制對(duì)象發(fā)生變化時(shí)需要重新調(diào)整控制器參數(shù)[1]。在空間站機(jī)械臂系統(tǒng)中,當(dāng)機(jī)械振動(dòng)、電磁干擾等不確定性因素可估計(jì)時(shí),自適應(yīng)控制方式可有效地控制機(jī)械臂的穩(wěn)定性[2]。文獻(xiàn)[3,4]的智能控制策略將神經(jīng)網(wǎng)絡(luò)與TD (Temporal Differences)算法結(jié)合,能對(duì)變結(jié)構(gòu)機(jī)械臂在線實(shí)時(shí)建模,可以實(shí)現(xiàn)軌跡最優(yōu)。遺憾的是其引入兩種學(xué)習(xí)方式,因耗時(shí)多而影響運(yùn)行速度,對(duì)處理器和對(duì)象模型都提出了較高的要求。由此可知,研究兼具快速性和穩(wěn)定性的機(jī)械臂控制策略將具有非常重要的實(shí)際工程意義。
Q學(xué)習(xí)是一種不依賴于對(duì)象模型,以實(shí)現(xiàn)優(yōu)化決策序列為目的的智能算法[5]。近年來(lái),已有不少學(xué)者研究了該算法在多移動(dòng)機(jī)器人協(xié)同控制中的應(yīng)用[6-8],而機(jī)械臂可視作由多個(gè)具有耦合關(guān)系的移動(dòng)個(gè)體,通過(guò)共享知識(shí),相互緊密協(xié)作構(gòu)成。因此,可將Q學(xué)習(xí)算法應(yīng)用于機(jī)械臂軌跡規(guī)劃中。由于Q學(xué)習(xí)算法在搜索最優(yōu)動(dòng)作時(shí)易陷入局部最優(yōu)解狀態(tài)[9,10],所以,筆者提出一種新的對(duì)知識(shí)的探索----利用比例能進(jìn)行合理分配的動(dòng)態(tài)搜索Q學(xué)習(xí)算法,有效地增強(qiáng)了算法的決策能力; 同時(shí),提出根據(jù)動(dòng)作效果進(jìn)行量化評(píng)判的函數(shù),顯著地提高了評(píng)價(jià)的公平性和客觀性。仿真結(jié)果驗(yàn)證了該算法在機(jī)械臂軌跡規(guī)劃中應(yīng)用的可行性和有效性。
機(jī)械臂軌跡規(guī)劃目的是使其沿一條優(yōu)化軌跡達(dá)到目標(biāo)位置。根據(jù)機(jī)械臂結(jié)構(gòu)特性,在忽略機(jī)械結(jié)構(gòu)約束和連桿間軸向間距的前提下,假設(shè)機(jī)械臂首端連桿可以繞基座旋轉(zhuǎn)180°。規(guī)定在任意時(shí)刻,機(jī)械臂以基座為圓心,r為半徑的圓形區(qū)域內(nèi)運(yùn)動(dòng),該區(qū)域稱為機(jī)械臂的work空間,在work中建立直角坐標(biāo)系,以基座位置為原點(diǎn),機(jī)械臂的工作空間如圖1所示。
圖1 機(jī)械臂工作空間示意圖
設(shè)機(jī)械臂在[-π/2,π/2]范圍內(nèi)旋轉(zhuǎn),坐標(biāo)gend(x,y)表示目標(biāo)位置,其中
x=r*cos(φ),y=r*sin(φ)
(1)
其中φ=((rand()×2)-1)×π,rand為[0,1]間的隨機(jī)數(shù); 參數(shù)rmin≤r≤rmax,rmin=l1,rmax=l1+l2;p1(x1,y1),p2(x2,y2)分別表示連桿l1、l2的端點(diǎn)位置。目標(biāo)點(diǎn)gend(x,y)的取值范圍:{gend(x,y)|-rmax≤x≤rmax,rmin≤y≤rmax},由此可將目標(biāo)位置限定在第1、2象限的扇形區(qū)域內(nèi)。
圖2 控制器結(jié)構(gòu)圖
筆者設(shè)計(jì)的控制器依賴于強(qiáng)化學(xué)習(xí)原理,以在線試錯(cuò)的學(xué)習(xí)方式尋求最優(yōu)動(dòng)作策略,最終達(dá)到目標(biāo)狀態(tài)。控制器結(jié)構(gòu)如圖2中虛線框內(nèi)4部分所示,狀態(tài)感知器獲得機(jī)械臂當(dāng)前狀態(tài)后,由定量評(píng)價(jià)單元對(duì)本次動(dòng)作效果進(jìn)行評(píng)價(jià),同時(shí)在線更新機(jī)構(gòu)累積學(xué)習(xí)經(jīng)驗(yàn),最后利用貪婪策略參考學(xué)習(xí)經(jīng)驗(yàn)和狀態(tài),搜索最優(yōu)動(dòng)作并執(zhí)行該動(dòng)作。其中Vs(θ1,θ2)為角度向量,θ1,θ2分別為連桿l1,l2的偏移角;A(a1,a2)為動(dòng)作向量,r1,r2為對(duì)應(yīng)動(dòng)作的立即回報(bào)值;q1,q2為兩個(gè)連桿的動(dòng)態(tài)更新的Q值。下面針對(duì)4個(gè)部分分別給出詳細(xì)的設(shè)計(jì)原理。
狀態(tài)感知器的作用是首先讀取連桿l1,l2的角度位置,然后求得各端點(diǎn)的直角坐標(biāo),為定量評(píng)價(jià)單元和動(dòng)態(tài)貪婪策略提供輸入?yún)?shù)。端點(diǎn)坐標(biāo)計(jì)算方法如下
(2)
式(2)分別用于確定連桿l1,l2的端點(diǎn)位置,規(guī)定θ1,θ2順時(shí)針為負(fù),逆時(shí)針為正,連桿l2的末端為當(dāng)前位置。
Q學(xué)習(xí)算法中采用貪婪策略(ε-greedy)搜索最優(yōu)動(dòng)作,其中ε代表知識(shí)的探索和利用之間比例,ε的大小影響著動(dòng)作搜索效果,通常ε是經(jīng)過(guò)大量實(shí)驗(yàn)找出較合適值,存在盲目性且搜索效果不佳。因此,筆者給出一種使ε能根據(jù)學(xué)習(xí)效果做出自適應(yīng)調(diào)整的新動(dòng)態(tài)貪婪策略。
根據(jù)ε值對(duì)算法的影響,學(xué)習(xí)之初應(yīng)使探索占主要成分,隨著學(xué)習(xí)及經(jīng)驗(yàn)的積累,知識(shí)利用成分增加,這一過(guò)程ε應(yīng)逐漸減小。經(jīng)過(guò)大量實(shí)驗(yàn)驗(yàn)證,提出以學(xué)習(xí)次數(shù)k為自變量,ε(k)值為因變量的函數(shù),使ε隨著k變大而逐漸減小。函數(shù)表達(dá)式如下
(3)
其中M為學(xué)習(xí)次數(shù)。當(dāng)k=1時(shí),ε(k)≈1代表學(xué)習(xí)之初只探索不利用; 當(dāng)k=M時(shí),ε(M)≈0代表只利用不探索; 0.99防止了ε(k)取到邊界值0或1無(wú)意義狀態(tài)。函數(shù)ε(k)隨k漸變的過(guò)程就是由探索向利用經(jīng)驗(yàn)知識(shí)的過(guò)渡過(guò)程。
通過(guò)利用動(dòng)態(tài)貪婪策略可使學(xué)習(xí)過(guò)程動(dòng)態(tài)調(diào)整,較之傳統(tǒng)的固定ε貪婪策略更具智能化,同時(shí)也避免了盲目性,提高了效率。最后,將根據(jù)動(dòng)態(tài)貪婪策略搜索得到的最優(yōu)動(dòng)作a輸出并執(zhí)行該動(dòng)作,其中a∈A={-0.5,-0.3,-0.1,0,0.1,0.3,0.5},單位為弧度值; 動(dòng)態(tài)貪婪策略在選擇動(dòng)作之初,根據(jù)ε隨機(jī)選擇匹配動(dòng)作,之后根據(jù)被選動(dòng)作對(duì)當(dāng)前狀態(tài)的有效程度給予相應(yīng)的概率分配,當(dāng)進(jìn)行下一狀態(tài)選擇動(dòng)作時(shí),動(dòng)態(tài)貪婪策略根據(jù)前次搜索結(jié)果優(yōu)先選擇概率較大的動(dòng)作,概率較小的動(dòng)作次之; 在遍歷所有動(dòng)作后再重新分配各動(dòng)作概率,直至完成規(guī)劃。將被選動(dòng)作乘系數(shù)180/π后與被控量θ∈(θ1,θ2)求和,達(dá)到使被控連桿角度發(fā)生偏移的目的。
定量評(píng)價(jià)單元用來(lái)評(píng)價(jià)學(xué)習(xí)策略的優(yōu)劣,筆者提出的定量評(píng)價(jià)策略遵循的原則是:求取當(dāng)前位置和目標(biāo)點(diǎn)gend(x,y)間的歐氏距離‖d(k)‖,若變大,則說(shuō)明學(xué)習(xí)過(guò)程惡化,懲罰此次行為; 反之,獎(jiǎng)勵(lì)該動(dòng)作。
根據(jù)上述原則,傳統(tǒng)方法通常以‖d(k)‖變化情況確定獎(jiǎng)懲量,當(dāng)‖d(k)‖減小,則給予獎(jiǎng)勵(lì)值1,當(dāng)‖d(k)‖變大時(shí),則給予懲罰量-1。這易使原本最優(yōu)動(dòng)作被次優(yōu)動(dòng)作取代,有失評(píng)價(jià)客觀性。因此,筆者提出可根據(jù)‖d(k)‖值做出量化評(píng)價(jià)的函數(shù)r(k),表達(dá)式如下
(4)
學(xué)習(xí)策略的優(yōu)劣取決于動(dòng)作序列累積回報(bào),利用Q值函數(shù)對(duì)累積回報(bào)動(dòng)態(tài)修改,更新步驟如下。
第1步 初始化q1,q2為0。
第2步 搜索動(dòng)作ak并執(zhí)行。
第3步 獲取對(duì)應(yīng)動(dòng)作的立即回報(bào)r(k)。
第4步 對(duì)應(yīng)圖2中的在線更新Q值函數(shù),計(jì)算累積回報(bào)并更新Q值
(5)
第5步 重復(fù)步驟2~4直到達(dá)到目標(biāo)狀態(tài)為止。
文獻(xiàn)[4]證明了在滿足一定條件下,式(5)經(jīng)過(guò)迭代后Q函數(shù)以概率1收斂。通過(guò)在線更新學(xué)習(xí)經(jīng)
驗(yàn),對(duì)好的動(dòng)作給予較高的Q值,使機(jī)械臂在以后的學(xué)習(xí)中可根據(jù)Q值狀態(tài)判斷動(dòng)作的優(yōu)劣,以此不斷優(yōu)化動(dòng)作序列。
表1 機(jī)械臂機(jī)械參數(shù)表
仿真中隨機(jī)目標(biāo)的位置限定在圖1所示的扇形區(qū)域內(nèi),兩連桿長(zhǎng)度相同。機(jī)械參數(shù)如表1所示。
利用式(3)的可調(diào)ε(k)策略和固定ε(大量實(shí)驗(yàn)表明ε=0.24效果最好)策略對(duì)同一目標(biāo)進(jìn)行30次重復(fù)搜索測(cè)試,規(guī)定最大搜索步數(shù)100。比較結(jié)果如圖3所示。仿真結(jié)果說(shuō)明,可調(diào)ε(k)策略前期處于探索階段,搜索步數(shù)較多,隨著知識(shí)積累和后期的利用,使搜索步數(shù)逐漸趨于最少,說(shuō)明了該策略的有效性。
隨機(jī)對(duì)多目標(biāo)進(jìn)行搜索,并調(diào)整學(xué)習(xí)速率,比較相鄰參數(shù)下的效果。如圖4~圖6所示,當(dāng)學(xué)習(xí)速度由α=0增加到0.6時(shí),穩(wěn)定性增強(qiáng); 繼續(xù)增大速率,穩(wěn)定性明顯降低。說(shuō)明學(xué)習(xí)速率影響系統(tǒng)的穩(wěn)定性。
圖3 定值ε和可調(diào)ε(k)策略比較 圖4 α=0與α=0.3
圖5 α=0.3與α=0.6 圖6 α=0.7與α=1
表2為不同目標(biāo)位置時(shí)兩種策略軌跡規(guī)劃比較,“*”為末端點(diǎn)軌跡。從表2中看出,改進(jìn)策略以較少運(yùn)行步數(shù)達(dá)到目標(biāo)位置。表3將規(guī)劃時(shí)間和運(yùn)行步數(shù)作為評(píng)價(jià)兩種策略的指標(biāo),可以發(fā)現(xiàn)改進(jìn)策略消耗時(shí)間和運(yùn)行步數(shù)更少,進(jìn)一步驗(yàn)證了改進(jìn)算法的優(yōu)越性。
表2 傳統(tǒng)策略與改進(jìn)策略軌跡規(guī)劃比較
表3 兩種策略占CPU時(shí)間和運(yùn)行步數(shù)
筆者研究了將一種新的Q學(xué)習(xí)算法在機(jī)械臂軌跡規(guī)劃上的應(yīng)用問(wèn)題。算法中通過(guò)改進(jìn)搜索策略并增設(shè)評(píng)價(jià)單元,同時(shí)Q值函數(shù)在線修改最優(yōu)軌跡,最終使機(jī)械臂快速達(dá)到目標(biāo)位置。較之傳統(tǒng)方法不僅克服局部最優(yōu)解問(wèn)題,同時(shí)也增強(qiáng)了系統(tǒng)的穩(wěn)定性和快速性。仿真結(jié)果表明了該算法的有效性,可擴(kuò)展應(yīng)用于更高自由度的機(jī)械臂控制中。
參考文獻(xiàn):
[1]黨進(jìn),倪風(fēng)雷,劉業(yè)超,等.基于新型補(bǔ)償控制策略的柔性關(guān)節(jié)控制器設(shè)計(jì)[J].機(jī)器人,2011,33(2):150-155.
DANG Jin,NI Feng-lei,LIU Ye-chao,et al.Design for Flexible Joint Controller Based on a New Compensation Control Strategy[J].Robot,2011,33(2):150-155.
[2]YU Zhi-gang,SHEN Yong-quan,SONG Zhong-min.Robust Adaptive Motion Control for Manipulator[J].Control Theory &Applications,2011,28(7):1021-1024.
[3]DUGULEANA M,BARBUCEANU F G.Obstacle Avoidance of Redundant Manipulators Using Neural Networks Based Reinforcement Learning[J].Robotics and Computer-Integrated Manufacturing,2012,28(2):132-146.
[4]YE Jian,QIAO Jun-fei,LI Ming-ai,et al.A Behavior-Based Intelligent Controller for a 2-Dof Manipulator[J].Control Theory &Applications,2007,24(3):441-448.
[5]SARMADI,HENGAMEH.Q-Learning Applied to Genetic Algorithm-Fuzzy Approach for On-Line Control in Autonomous Agents[J].Journal of Intelligent Systems,2009,18(1/2):1-31.
[6]CHEN K,KE W D,PENG Z P.An Improved Cooperative Method of Q Learning on Soccer Robot[J].Journal of Harbin Institute of Technology:New Series,2011,18(1):38-40.
[7]KHRIJI L,TOUATI F,BENHMED K,et al.Mobile Robot Navigation Based on Q-Learning Technique[J].International Journal of Advanced Robotic Systems,2011,8(1):45-51.
[8]吳洪巖,劉淑華,張崳.基于RBFNN的強(qiáng)化學(xué)習(xí)在機(jī)器人導(dǎo)航中的應(yīng)用[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2009,27(2):185-190.
WU Hong-yan,LIU Shu-hua,ZHANG Yu.Application of Reinforcement Learning Based on Radial Basis Function Neural Networks in Robot Navigation[J].Journal of Jilin University:Information Science Edition,2009,27(2):185-190.
[9]GOMES E R,KOWALCZYK R.Dynamic Analysis of Multi-Agent Q-learning withε-Greedy Exploration[C]∥Proceedings of the 26th International Conference on Machine Learning.New York,NY,USA:ACM,2009:369-376.
[10]AKRAMIZADEH A,AFSHAR A,MENHAJ M B.Exploration Strategies inn-Person General-Sum Multiagent Reinforcement Learning with Sequential Action Selection[J].Intelligent Data Analysis,2011,15(6):913-929.