王駿超
摘 要:機(jī)械臂作為一種常見的自動(dòng)化設(shè)備,關(guān)于其控制算法的研究,一直是相關(guān)領(lǐng)域的熱點(diǎn)。本文結(jié)合目前比較熱門的人工智能理論,將強(qiáng)化學(xué)習(xí)方法引入到機(jī)械臂控制中,提出一種基于Soft Actor-Critic Algorithms算法的控制策略,以更好地解決三維空間下多軸機(jī)械臂的軌跡規(guī)劃問題。利于CoppeliaSim平臺(tái),搭建仿真環(huán)境,選擇UR5機(jī)械臂作為實(shí)驗(yàn)對(duì)象,進(jìn)行了多組對(duì)比實(shí)驗(yàn)。結(jié)果表明:基于策略熵最大化的SAC算法,提高了訓(xùn)練樣本利用率,保證了學(xué)習(xí)結(jié)果的最優(yōu)。在用于三維空間中多軸機(jī)械臂控制任務(wù)時(shí),不僅可以克服傳統(tǒng)控制算法存在的模型依賴性高,規(guī)劃精度低的不足,并且相比一般強(qiáng)化學(xué)習(xí)算法,具有更快的學(xué)習(xí)效率和更高的穩(wěn)定性,軌跡也更為平滑,具有很好的實(shí)用價(jià)值。
關(guān)鍵詞:機(jī)械臂控制;SAC算法;軌跡規(guī)劃;強(qiáng)化學(xué)習(xí)
中圖分類號(hào):TP242? 文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):1673-260X(2020)10-0033-07
1 引言
機(jī)械臂是一種最常見的也是最早出現(xiàn)的自動(dòng)化設(shè)備,關(guān)于其控制算法的研究一直是業(yè)內(nèi)關(guān)注的焦點(diǎn)[1,2]。目前比較常見的機(jī)械臂軌跡規(guī)劃方法主要包括A*算法、人工勢(shì)場(chǎng)法、快速擴(kuò)展隨機(jī)樹算法等。A*算法是一種典型的啟發(fā)式搜索(Heuristically Search),一直受到廣泛的研究[3],但是A*算法的估價(jià)函數(shù)構(gòu)造往往需要人工經(jīng)驗(yàn)嘗試,影響了規(guī)劃的穩(wěn)定性和精度。人工勢(shì)場(chǎng)法具有良好的實(shí)時(shí)性[4],但會(huì)出現(xiàn)局部最優(yōu)或振蕩不收斂的情況,在環(huán)境比較復(fù)雜或者機(jī)械臂自由度較高時(shí),不能保證規(guī)劃的穩(wěn)定性和可靠性??焖贁U(kuò)展隨機(jī)樹法理論簡(jiǎn)單且容易實(shí)現(xiàn)[5],當(dāng)參數(shù)設(shè)置合理時(shí),可有效避免出現(xiàn)局部最小值的情況。但是所得到的軌跡曲線比較粗糙,往往并不是最優(yōu)[6],算法的效率較低,并且重復(fù)性較差,控制效果不穩(wěn)定[7]。因此,傳統(tǒng)的軌跡規(guī)劃算法在解決機(jī)械臂控制問題時(shí)均存在著效率低、穩(wěn)定性差、模型依賴性高的缺陷。
將強(qiáng)化學(xué)習(xí)算法理論與機(jī)械臂運(yùn)動(dòng)軌跡規(guī)劃控制問題相結(jié)合,可以有效彌補(bǔ)和改善傳統(tǒng)算法存在的不足。并且,隨著研究的深入也出現(xiàn)了一些成功的案例,例如:Peters J等人在2006年利用強(qiáng)化學(xué)習(xí)方法使7自由度的SARCOS Master機(jī)械臂完成揮棒擊球的任務(wù)[8];2011年,Durrant-Whyte H利用一個(gè)桌面級(jí)機(jī)械臂和深度攝像頭[9],通過強(qiáng)化學(xué)習(xí)的方法使其完成了空間積木塊的堆疊任務(wù);Mulling K和Kober J等人在2013年以學(xué)習(xí)打乒乓球?yàn)槔?,介紹了一種機(jī)器人通過與人的物理交互來學(xué)習(xí)的新框架[10];Gu S等人在2017年提出一種基于深度Q函數(shù)離線訓(xùn)練策略的深度強(qiáng)化學(xué)習(xí)算法,通過多臺(tái)機(jī)器人并行學(xué)習(xí)來訓(xùn)練真實(shí)的物理機(jī)器人執(zhí)行復(fù)雜的三維操作任務(wù)[11]。雖然強(qiáng)化學(xué)習(xí)算法比較適合應(yīng)用于機(jī)械臂的運(yùn)動(dòng)控制,但是,不同類型的強(qiáng)化學(xué)習(xí)算法在實(shí)際使用時(shí)還存在著一些問題:
(1)On-policy類強(qiáng)化學(xué)習(xí)算法的樣本效率低下。例如,目前主流的用于連續(xù)控制的深度強(qiáng)化學(xué)習(xí)(DRL):TRPO算法,PPO算法和A3C算法在每執(zhí)行一步都需要收集新的樣本[12],因此所需的步驟數(shù)和樣本量會(huì)隨著任務(wù)復(fù)雜性增加而增加,即使是相對(duì)簡(jiǎn)單的任務(wù)也可能需要數(shù)百萬個(gè)數(shù)據(jù)收集步驟,而具有高維度的復(fù)雜任務(wù)可能需要訓(xùn)練一天甚至幾天的才能收斂,成本高昂。
(2)對(duì)于基于Q-learning(QL)類的強(qiáng)化學(xué)習(xí)算法來說,提高樣本效率,復(fù)用先前經(jīng)驗(yàn)是相對(duì)容易的[13]。但是,其離散的狀態(tài)空間在處理連續(xù)控制問題時(shí)可能會(huì)導(dǎo)致維數(shù)災(zāi)難(Curse of Dimensionality)。通過連續(xù)狀態(tài)離散化的方式進(jìn)行機(jī)械臂的動(dòng)作控制,往往穩(wěn)定性和收斂性都無法保證。
(3)另一類Off-policy算法,如深度確定性策略梯度算法(deep policy gradient, DDPG)[14],相比QL算法更適合解決連續(xù)控制問題,相比PPO等算法也有更高效的樣本學(xué)習(xí)。但是,DDPG算法在面對(duì)高維任務(wù)時(shí),Actor網(wǎng)絡(luò)與Q網(wǎng)絡(luò)的相互影響造成了算法的脆弱性和超參數(shù)敏感,這嚴(yán)重限制了在現(xiàn)實(shí)任務(wù)中的適用性,甚至需要依靠精確的建模,才能實(shí)現(xiàn)對(duì)真實(shí)機(jī)械臂的有效控制[15]。
針對(duì)目前常用算法在用于多軸機(jī)械臂控制時(shí)存在的一些不足和問題,本文提出了一種基于柔性角色行為評(píng)價(jià)算法(Soft Actor-Critic Algorithms,SAC)[16]的機(jī)械臂控制方法,并且在CoppeliaSim平臺(tái)上搭建了UR5多軸機(jī)械臂的仿真環(huán)境,進(jìn)行多組對(duì)比實(shí)驗(yàn)予以驗(yàn)證。
2 SAC算法
Soft Actor-Critic Algorithms是一種基于最大化熵理論的無模型深度學(xué)習(xí)算法,同時(shí)具備了Actor-Critic算法框架。不同于確定性策略(Deterministic Policy)算法,SAC算法的主要特征是策略隨機(jī)化(Stochastic Policy)。經(jīng)過訓(xùn)練,盡可能地在收益和熵(即策略的隨機(jī)性)之間取得最大化平衡。這就是使探索與決策的關(guān)系非常密切:熵的增加會(huì)使智能體傾向于探索更多的情況,從而可以加快后續(xù)的學(xué)習(xí)速度。同時(shí)策略的隨機(jī)性還可以避免出現(xiàn)過早收斂到某個(gè)局部最優(yōu)值。
2.1 熵最大策略
最大熵原理最早是在信息論中提出的[17],目的是為了讓獲取的數(shù)據(jù)足夠隨機(jī)分散。這樣的思想同樣可以用在強(qiáng)化學(xué)習(xí)中。使用最大熵原理的強(qiáng)化學(xué)習(xí),除了要實(shí)現(xiàn)價(jià)值最大的目標(biāo),還要求策略?仔選擇的每一次動(dòng)作的熵(Entropy)最大,如式(1),其中st,at為t時(shí)刻的狀態(tài)和動(dòng)作,R為得到的獎(jiǎng)勵(lì),H為熵函數(shù),?琢為溫度參數(shù),用于控制優(yōu)化目標(biāo)更關(guān)注獎(jiǎng)勵(lì)還是熵。
3 實(shí)驗(yàn)部分
3.1 實(shí)驗(yàn)仿真平臺(tái)
選用CoppeliaSim進(jìn)行實(shí)驗(yàn)仿真。CoppeliaSim具有完善的集成開發(fā)環(huán)境,是非常理想的機(jī)器人仿真建模的工具。用于實(shí)驗(yàn)的機(jī)械臂為Universal Robots公司的優(yōu)傲機(jī)械臂UR5。UR5是一種高自由度的機(jī)械臂,更能驗(yàn)證本文算法在多軸復(fù)雜的真實(shí)機(jī)械臂中的性能表現(xiàn)。其機(jī)械臂坐標(biāo)系如圖3,D-H參數(shù)如表1。
根據(jù)UR5的數(shù)據(jù),在仿真平臺(tái)CoppeliaSim中配置出UR5的3D可視模型,如圖4。
3.2 實(shí)驗(yàn)設(shè)計(jì)
選用UR5的第一關(guān)節(jié)Joint 1到第四關(guān)節(jié)Joint 4的角度作為控制變量,關(guān)節(jié)Joint 5和Joint 6是控制末端執(zhí)行控制器精細(xì)位姿,在實(shí)驗(yàn)過程中固定角度,通過其他四個(gè)關(guān)節(jié)角度改變來實(shí)現(xiàn)控制。SAC算法狀態(tài)輸入量為機(jī)械臂UR5的四個(gè)關(guān)節(jié)角度以及目標(biāo)點(diǎn)坐標(biāo),即:
3.3 對(duì)比實(shí)驗(yàn)一
在上述仿真環(huán)境中,驗(yàn)證SAC算法用于機(jī)械臂控制的性能表現(xiàn),并用深度確定性策略梯度算法(DDPG)作為對(duì)比實(shí)驗(yàn)。
DDPG算法是常見的用于解決連續(xù)空間規(guī)劃問題的強(qiáng)化學(xué)習(xí)算法。與SAC算法最大的不同,是其策略的更新梯度是固定的。并且由于結(jié)合了DQN算法的思想,DDPG算法中具有四個(gè)網(wǎng)絡(luò)(現(xiàn)實(shí)策略網(wǎng)絡(luò)、目標(biāo)策略網(wǎng)絡(luò)、現(xiàn)實(shí)Q網(wǎng)絡(luò)、目標(biāo)Q網(wǎng)絡(luò))。為了確保實(shí)驗(yàn)結(jié)果的可靠性,DDPG算法的參數(shù)設(shè)置與SAC算法基本保持相同。
最大訓(xùn)練回合數(shù)設(shè)置為3000,每回合最大步數(shù)為100,當(dāng)超過100步仍未到達(dá)目標(biāo)點(diǎn),則結(jié)束此次訓(xùn)練回合,訓(xùn)練流程圖如圖6:
選擇平均獎(jiǎng)勵(lì)變化和成功率變化兩個(gè)指標(biāo)作為對(duì)比標(biāo)準(zhǔn)。
圖7是機(jī)械臂UR5在有障礙物的環(huán)境中,分別使用SAC算法和DDPG算法得到平均獎(jiǎng)勵(lì)曲線。圖中綠色點(diǎn)線圖代表SAC算法,黃色點(diǎn)線圖代表DDPG算法。圖7可以反映出UR5經(jīng)過兩種強(qiáng)化學(xué)習(xí)算法訓(xùn)練后,執(zhí)行每步動(dòng)作得到的平均獎(jiǎng)勵(lì)的變化情況。
從圖7可以看出,SAC算法和DDPG算法訓(xùn)練后期均穩(wěn)定在-10左右,說明兩個(gè)算法在機(jī)械臂避障實(shí)驗(yàn)中均可以有效地控制UR5機(jī)械臂到達(dá)目標(biāo)點(diǎn),但是DDPG算法直到14000步左右平均獎(jiǎng)勵(lì)值的變化才趨于穩(wěn)定,慢于SAC算法,說明在三維空間的規(guī)劃任務(wù)中,DDPG算法的樣本效率和速度是低于SAC算法的。同時(shí),DDPG的平均獎(jiǎng)勵(lì)曲線變化的幅度是大于SAC算法的,為了保證對(duì)比實(shí)驗(yàn)的客觀可靠,DDPG直接采用了與SAC算法基本一致的參數(shù)設(shè)置,而沒有進(jìn)行專門的調(diào)參,可見在算法穩(wěn)定性方面,DDPG低于SAC算法。
按照閾值條件:||Parm-Ptarget||≤2.5時(shí)機(jī)械臂規(guī)劃成功,統(tǒng)計(jì)出基于SAC算法和DDPG算法的機(jī)械臂UR5的避障控制成功率曲線。圖8中,綠色帶倒三角曲線是SAC算法的成功率,黃色帶正方形曲線是DDPG算法的成功率。
圖8中SAC算法和DDPG算法的成功率曲線與平均獎(jiǎng)勵(lì)曲線的趨勢(shì)基本相同。SAC算法在18000步左右達(dá)到了96%以上的成功率,相比較之下,DDPG算法在20000步之后成功率才穩(wěn)定在相同水平。從成功率變化曲線的對(duì)比中,也可以說明SAC算法的速度是快于DDPG算法的。
3.4 對(duì)比實(shí)驗(yàn)二
在相同的仿真環(huán)境中,選擇傳統(tǒng)算法中的RRTstar算法,比較在相同環(huán)境下兩種算法的規(guī)劃效果。RRTstar算法是一種應(yīng)用比較廣泛的避障算法。相比較一般的RRT算法,具有漸進(jìn)最優(yōu)性,而且規(guī)劃速度也比較快。RRTstar作為一種基于隨機(jī)樹策略的算法,與SAC算法原理上是不同的。因此,不同于第一組對(duì)比實(shí)驗(yàn),在本組實(shí)驗(yàn)對(duì)比中,分別選擇機(jī)械臂軌跡規(guī)劃路徑代價(jià)(長(zhǎng)度/用時(shí))和關(guān)節(jié)角度變化曲線作為兩個(gè)對(duì)比標(biāo)準(zhǔn)。
RRTstar避障算法的規(guī)劃流程示意圖如圖9。
表4是RRTstar算法的參數(shù)設(shè)置,迭代次數(shù)超過1000次則此次規(guī)劃任務(wù)失敗;γ是常量系數(shù),影響每次取球狀節(jié)點(diǎn)集合的半徑大小;d是規(guī)劃空間維度;δ是步長(zhǎng)(單位cm)。
首先把RRTstar算法運(yùn)行十次,統(tǒng)計(jì)其規(guī)劃的結(jié)果,規(guī)劃路徑代價(jià)用軌跡長(zhǎng)度和規(guī)劃用時(shí)表示。
作為比較,在同一環(huán)境中使用SAC算法進(jìn)行避障控制實(shí)驗(yàn)。為了保證對(duì)比實(shí)驗(yàn)的可靠性,初始化SAC算法的經(jīng)驗(yàn)重播緩沖區(qū),再次進(jìn)行訓(xùn)練。SAC算法的其他參數(shù)設(shè)置不變,最大訓(xùn)練回合數(shù)設(shè)置為3000,每回合最大步數(shù)為100。訓(xùn)練結(jié)束后,用所得的模型進(jìn)行UR5機(jī)械臂的避障規(guī)劃。同樣規(guī)劃十次,統(tǒng)計(jì)其結(jié)果,如表6。
從表7和圖10對(duì)比中可得,在十次規(guī)劃中,相比于RRTstar算法,使用SAC算法得到的軌跡路徑長(zhǎng)度比較穩(wěn)定,與平均長(zhǎng)度接近,并且平均長(zhǎng)度更小。SAC算法規(guī)劃的平均用時(shí)只有7.9秒,遠(yuǎn)遠(yuǎn)小于RRTstar算法39.48秒的平均時(shí)間。此外,RRTstar的規(guī)劃用時(shí)的波動(dòng)幅度較大,說明在控制機(jī)械臂執(zhí)行同一任務(wù)時(shí),基于隨機(jī)策略的RRTstar算法的重復(fù)穩(wěn)定性較差。十次規(guī)劃中,SAC算法均可以使機(jī)械臂成功到達(dá)目標(biāo)點(diǎn),成功率高于RRTstar算法。綜上所述,從規(guī)劃路徑長(zhǎng)度,規(guī)劃用時(shí)以及成功率三個(gè)方面的對(duì)比,均說明了SAC算法相比于RRTstar算法性能更加優(yōu)越,更適用于多軸機(jī)械臂三維空間的避障控制。
圖11展示了從RRTstar算法和SAC算法十次規(guī)劃中,各取一次的規(guī)劃軌跡對(duì)比圖。圖12是RRT算法和SAC算法控制UR5機(jī)械臂進(jìn)行避障時(shí)的關(guān)節(jié)角度變化對(duì)比圖。
圖11表明:二者的規(guī)劃軌跡的長(zhǎng)度比較接近,最后到達(dá)目標(biāo)點(diǎn)存在一定的誤差,但是都達(dá)到了規(guī)劃要求。但是相比于RRTstar算法,SAC算法的規(guī)劃軌跡更加平滑,角度變化的幅度和突變較小。圖12表明:在分別使用RRTstar算法和SAC算法規(guī)劃時(shí),UR5機(jī)械臂的關(guān)節(jié)角度變化范圍相近,但是SAC算法的角度變化更加平緩,突變較少。這說明RRTstar算法用于機(jī)械臂控制時(shí)存在著規(guī)劃路徑粗糙的短板,而SAC算法規(guī)劃路徑更加平滑。這在應(yīng)用于真實(shí)機(jī)械臂控制時(shí),能夠減少機(jī)械臂的自身磨損,延長(zhǎng)使用壽命,有利于提高規(guī)劃控制的經(jīng)濟(jì)性和安全性。
4 結(jié)論
本文通過研究分析機(jī)械臂控制模型和強(qiáng)化學(xué)習(xí)的相關(guān)理論;結(jié)合機(jī)械臂控制的特點(diǎn)和常見控制算法存在的不足,提出了基于柔性角色行為評(píng)價(jià)算法(Soft Actor-Critic Algorithms,SAC)的機(jī)械臂控制方法。利用SAC算法處理連續(xù)動(dòng)作與狀態(tài)空間任務(wù)的優(yōu)越性能,提高了訓(xùn)練的效率和穩(wěn)定性。為了驗(yàn)證本文方法用于真實(shí)機(jī)械臂規(guī)劃控制的實(shí)際效果,選用CoppeliaSim作為實(shí)驗(yàn)平臺(tái),UR5機(jī)械臂作為實(shí)驗(yàn)對(duì)象。比較了SAC算法與DDPG算法、RRTstar算法在相同環(huán)境下的性能表現(xiàn)。選取不同的評(píng)價(jià)指標(biāo)均表明SAC算法相比于DDPG算法速度更快,穩(wěn)定性更高;相比RRTstar算法規(guī)劃的軌跡更加平滑,機(jī)械臂關(guān)節(jié)角度不會(huì)突變,并且速度和成功率更高。由此說明,本文提出的基于SAC算法的機(jī)械臂控制方法可以有效彌補(bǔ)傳統(tǒng)控制算法的不足,具有一定的自身優(yōu)勢(shì)和較好的應(yīng)用價(jià)值。
參考文獻(xiàn):
〔1〕馮旭,宋明星,倪笑宇,等.工業(yè)機(jī)器人發(fā)展綜述[J].科技創(chuàng)新與應(yīng)用,2019,9(24).
〔2〕Schaal, Stefan. The new robotics towards human-centered machines[J]. Hfsp Journal, 2007, 1(02):115-126.
〔3〕Schaal, Stefan. The new robotics towards human-centered machines[J]. Hfsp Journal, 2007, 1(02):115-126.
〔4〕Khatib O. Real-Time Obstacle Avoidance for Manipulators and Mobile Robots[J]. 1986.
〔5〕Lavalle S M. Rapidly-Exploring Random Trees: A New Tool for Path Planning[J]. Algorithmic & Computational Robotics New Directions, 1998: 293-308.
〔6〕Lindemann S R, Lavalle S M. Current issues in sampling-based motion planning[J]. Springer Tracts in Advanced Robotics, 2005, 15: 36-54.
〔7〕王濱,金明河,謝宗武,等.基于啟發(fā)式的快速擴(kuò)展隨機(jī)樹路徑規(guī)劃算法[J].機(jī)械制造,2007,58(12):13-16.
〔8〕Peters J, Schaal S. Policy Gradient Methods for Robotics[C]// Intelligent Robots and Systems, 2006 IEEE/RSJ International Conference on. IEEE, 2006.
〔9〕Durrant-Whyte H, Roy N, Abbeel P. Learning to Control a Low-Cost Manipulator Using Data-Efficient Reinforcement Learning[C]// Robotics: Science and Systems VII. MIT Press, 2011.
〔10〕Mulling K, Kober J, Kroemer O, et al. Learning to select and generalize striking movements in robot table tennis[J]. The International Journal of Robotics Research, 2013, 32(03): 263-279.
〔11〕Gu S, Holly E, Lillicrap T, et al. Deep reinforcement learning for robotic manipulation with asynchronous off-policy updates[C]// 2017 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2017.
〔12〕Schulman, John, Wolski, Filip, et al. Proximal Policy Optimization Algorithms[J].2017.
〔13〕Mnih, V., Kavukcuoglu, K., Silver, D., Rusu, A. A., Veness, J., Bellemare, M. G., Graves, A., Riedmiller, M., Fidjeland, A. K., Ostrovski, G., et al. Human-level control through deep reinforcement learning[J]. Nature, 2015, 518(7540): 529-533.
〔14〕Lillicrap T P, Hunt J J, Pritzel A, et al. Continuous control with deep reinforcement learning[J]. computer science, 2015, 8(06): A187.
〔15〕Duan Y, Chen X, Houthooft R, et al. Benchmarking Deep Reinforcement Learning for Continuous Control[J]. 2016.
〔16〕Haarnoja, Tuomas, Zhou, Aurick, Hartikainen, Kristian, et al. Soft Actor-Critic Algorithms and Applications[J]. arXiv preprint arXiv, 2018:1812.05905.
〔17〕馮尚友.信息熵與最大熵原理[J].水利電力科技,1995,24(03):26-31.