靳棟銀,李 躍,邵振洲,施智平,關 永,4
1.首都師范大學 信息工程學院,北京 100048
2.首都師范大學 輕型工業(yè)機械臂與安全驗證北京市重點實驗室,北京 100048
3.河北工業(yè)職業(yè)技術學院 計算機技術系,石家莊 050000
4.首都師范大學 成像技術北京市高精尖創(chuàng)新中心,北京 100048
現(xiàn)如今,隨著信息化和工業(yè)化的不斷融合,機器人技術飛速發(fā)展,機器人已經(jīng)被廣泛應用在多個領域,比如軍事、航天、醫(yī)療服務、資源勘探開發(fā)和家庭娛樂等[1-3]。作為機器人控制的關鍵技術之一[4-5],軌跡規(guī)劃旨在計劃機器人從起點到目標點并避開障礙物的路線。由于機器人經(jīng)常工作在復雜并具有非結構化特點的環(huán)境下,因此,特別需要機器人具有良好的軌跡規(guī)劃能力以應對多變的工作環(huán)境[6-7]。隨著機器人工作環(huán)境的非結構化程度不斷加深,機器人智能化要求不斷提高,更加迫切需要機器人可以很好地自主規(guī)劃軌跡。
多年來,許多研究者已經(jīng)提出了不同的軌跡規(guī)劃方法,而且這些方法已經(jīng)不同程度地應用到了機器人領域。Piazzi等人[8]提出了全局最小加加速度的軌跡規(guī)劃方法,該方法所規(guī)劃的軌跡與人類關節(jié)運動具有理想的相似性。Liu等人[9]基于動力學方程建立目標函數(shù),從而使機器人以最小的成本沿著指定的幾何路徑移動。Saramago 等人[10]提出了一種基于有障礙環(huán)境的最佳運動軌跡方法,該方法考慮了機器人非線性動力學、執(zhí)行器約束、關節(jié)限制和避障等因素。但這些軌跡規(guī)劃方法都是在已知的工作環(huán)境下實現(xiàn)的,無法應用于未知的環(huán)境,如何提高機器人對工作環(huán)境的適應性成為了軌跡規(guī)劃研究的一個難點[11-13]。
隨著深度強化學習方法的不斷成熟,研究人員利用其強大的學習能力,開始將深度強化學習與機器人軌跡規(guī)劃任務相結合,并相繼提出了各種深度學習強化方法,例如DQN[14]、DoubleDQN[15]、DuelingDQN[16]、Rainbow[17]等。但是早期的深度強化學習方法大多基于離散的動作空間,無法應用到類似機械臂軌跡規(guī)劃這類連續(xù)動作空間的任務上。為此,Lillicrap 等人[18]提出了深度確定性策略梯度(deep deterministic policy gradient,DDPG)算法,該算法可以學習高維、連續(xù)動作空間的策略,使深度強化學習方法成功應用到機械臂軌跡規(guī)劃任務中。但是由于訓練成本比較大并且只能利用歷史策略采集而來的數(shù)據(jù)進行策略更新,Mnih 等人[19]創(chuàng)新性地通過異步梯度下降法更新參數(shù),提出了異步的優(yōu)勢行動者評論家算法(asynchronous advantage actor-critic,A3C)。A3C 使用多線程并行計算,在強化學習的訓練過程中,并行地訓練多個智能體,這樣智能體可以在同一時間收集到不同的狀態(tài)。與強化學習中的經(jīng)驗回放技術相比,這種方法不僅占用更小的內存,交互時間較短,而且對硬件的依賴性較低。
雖然以上的深度強化學習方法應用到了軌跡規(guī)劃任務中,但是學習速度慢,時間就會變長,學習速率快又容易引起躁動。為了限制更新步長,2017 年,Heess 等人[20]提出了基于分布式近端策略優(yōu)化(distributed proximal policy optimization,DPPO)的深度強化學習方法。該方法采取懲罰機制,為智能體提供更合理的學習步長。但是DPPO 的獎勵函數(shù)只考慮了最終的規(guī)劃結果是否成功,沒有對軌跡規(guī)劃的中間過程設計相應的獎勵值,導致這種方式在探索階段具有一定的盲目性,存在大量的無效探索。
為了解決上述問題,本文設計了一種基于語音的獎勵函數(shù),降低軌跡規(guī)劃過程中的盲目性,為基于深度強化學習的機器人軌跡規(guī)劃提供參考。在具體實施時,針對軌跡規(guī)劃任務設計了相應的語音指令。在任務執(zhí)行前預先由操作員發(fā)布這些特定指令,并基于馬爾科夫鏈對操作員的語音指令進行建模,然后設計相應的語音獎勵函數(shù),最后將語音獎勵函數(shù)與DPPO深度強化學習方法相結合,為機械臂軌跡規(guī)劃提供全局指導信息,增強機械臂學習的方向性,從而有效地提升機械臂軌跡規(guī)劃的收斂速度。本文所設計的語音獎勵函數(shù)可以利用語音指導機械臂的軌跡規(guī)劃,準確判斷機械臂所規(guī)劃的軌跡和語音指令的契合程度,從而提升機械臂軌跡規(guī)劃的性能。
機械臂通常工作在復雜的環(huán)境中,其中,環(huán)境包含障礙物是比較典型的一種。而這種情況下理想避障軌跡的四條指令是:“靠近障礙物”“避開障礙物”“靠近目標點”和“到達目標點”。
馬爾科夫鏈描述的是一種狀態(tài)序列,序列中的每一個狀態(tài)都是根據(jù)前面的有限個狀態(tài)得到的。利用馬爾科夫鏈進行建模時,某一狀態(tài)可以有兩種變化,轉變到另一個不同狀態(tài),或者保持當前狀態(tài)不變[21]。
由于馬爾科夫鏈的原理與機械臂避障軌跡的四條指令吻合度較高,因此,本文將兩者結合起來,基于馬爾科夫鏈對這四條語音指令進行獎勵函數(shù)建模,如圖1所示。當機械臂的工作環(huán)境存在障礙物時,障礙物所處的位置對于機械臂的工作是至關重要的。當障礙物位于機械臂和目標中間時,則是障礙物位置影響軌跡規(guī)劃任務較大的典型情況。
圖1 基于馬爾科夫鏈的語音指令模型圖Fig.1 Voice command model diagram based on Markov chain
本文基于這種典型的情況設計獎勵函數(shù)。在這種情況下,首先機械臂處于靠近障礙物的狀態(tài),機械臂的運行軌跡要保證不觸碰到障礙物的情況下靠近障礙物;然后,機械臂接近障礙物到一定程度時狀態(tài)發(fā)生轉移,機械臂狀態(tài)從靠近障礙物轉變?yōu)楸荛_障礙物,此時機械臂需要通過在障礙物兩側做弧線軌跡實現(xiàn)原先軌跡的偏離;接著,當機械臂繞開障礙物以后,狀態(tài)會再次發(fā)生轉移,由避開障礙物狀態(tài)轉變?yōu)榭拷繕它c狀態(tài);最后,機械臂完全到達目標點時,狀態(tài)會從靠近目標點跳轉成至到達目標點,到此完成了軌跡規(guī)劃任務。本文基于馬爾科夫鏈模型,將機械臂同障礙物和目標點的相對距離作為重要參數(shù),設計了基于語音的獎勵函數(shù)。
圖2 獎勵函數(shù)示意圖Fig.2 Diagram of reward function
(1)靠近障礙物
當機械臂處于“靠近障礙物”狀態(tài)時,需要綜合考慮兩個關鍵因素。其中一個關鍵因素是機械臂的軌跡要不斷靠近障礙物,如公式(1)所示:
其中Dsafety表示機械臂的安全距離,當機械臂的運行軌跡滿足公式(2)時,則可以認為完成了“靠近障礙物”指令,開始實現(xiàn)狀態(tài)轉移。
(2)避開障礙物
當機械臂執(zhí)行“避開障礙物”指令時,其中最為重要的一個環(huán)節(jié)是如何安全地繞開障礙物。如圖3 顯示了最為典型的機械臂繞行障礙物的軌跡。
圖3 機械臂避障軌跡圖Fig.3 Trajectory diagram of robotic manipulator obstacle avoidance
根據(jù)圖3,本文所設計的“避開障礙物”指令的獎勵函數(shù)如公式(3)所示:
雖然DPPO方法采用懲罰項機制,為機械臂在未知環(huán)境中的規(guī)劃策略提供了合理的更新比例,從而有效提升了方法的性能。但是DPPO 獎勵函數(shù)只關注軌跡規(guī)劃的結果而忽略了中間過程,仍然具有盲目性、學習效率低的問題。為了提高軌跡規(guī)劃的學習效率,本文基于DPPO的方法增加了所設計的語音獎勵函數(shù)。在DPPO學習過程中,可以為DPPO提供更加具有教學性質的獎勵值,在學習過程中通過獲得的語音獎勵函數(shù)的有效引導,從而增強DPPO對環(huán)境的認知,進一步提高DPPO的學習效率。
基于語音獎勵函數(shù)的軌跡規(guī)劃學習過程如圖4 所示。首先對操作員的四條語音指令L進行語音識別,并通過隨機初始化構成智能體的策略網(wǎng)絡μ(S,L|θμ)、估值網(wǎng)絡Q(S,L,a|θQ)以及懲罰項KL。其中估值網(wǎng)絡負責評判動作的價值,θQ表示估值網(wǎng)絡Q的權重,策略網(wǎng)絡負責預測應執(zhí)行的動作軌跡,θμ表示策略網(wǎng)絡μ的權重;然后使用S存儲機械臂的8個最鄰近時刻的相對距離,其中,Dobstacle表示機械臂在當前時刻t與障礙物的相對距離,Dtarget代表機械臂在當前時刻t與目標點的相對距離。利用語音指令的全局信息和相對距離的局部信息設計獎勵函數(shù),當相對距離滿足某一語音指令狀態(tài)時,根據(jù)相對距離與語音指導的契合程度對機械臂進行獎勵或懲罰,進而獲得一定的獎勵值R,通過累計4個不同語音指令的獎勵值R,得到總體的語音獎勵函數(shù)Rvoice=F(S,L)。利用DPPO 的方法對語音獎勵函數(shù)進行優(yōu)化,經(jīng)過對策略網(wǎng)絡和估值網(wǎng)絡的訓練,智能體可以與環(huán)境更好地互動,不斷修正動作偏差,尋找最優(yōu)化的運動軌跡。算法1 展示了基于語音獎勵函數(shù)的DPPO軌跡規(guī)劃方法偽代碼。
圖4 基于語音獎勵函數(shù)的軌跡規(guī)劃框架圖Fig.4 Framework diagram of trajectory planning based on voice reward function
算法1 基于語音獎勵函數(shù)的DPPO 機械臂軌跡規(guī)劃方法
本文基于科大訊飛AIUI評估板作為語音識別的載體。搭載了AIUI的評估板提供了一套開發(fā)任務型對話的解決方案,開發(fā)者可以通過在平臺編寫自定義技能,實現(xiàn)自身所需要的語音識別功能。本文基于AIUI評估板提供的SDK,開發(fā)了可供機械臂進行軌跡規(guī)劃的語音識別功能。
為了驗證基于語音獎勵函數(shù)的DPPO 軌跡規(guī)劃方法的性能,本文設計了兩組實驗。在第一組實驗中,對比了基本的DPPO 方法和基于語音獎勵函數(shù)的DPPO方法,通過比較收斂速度和獎勵值的均值與標準差驗證所設計語音獎勵函數(shù)的有效性。第二組實驗將基于語音獎勵函數(shù)的DPPO 方法和當前主流的深度強化學習方法DDPG 和A3C 進行了比較,對基于語音獎勵函數(shù)DPPO方法的魯棒性和學習效率進行進一步驗證。
本文所有實驗均設置在難度不同的兩種未知環(huán)境中,且都存在障礙物,并利用V-REP 環(huán)境進行仿真。如圖5展示了兩個不同的未知工作環(huán)境,工作環(huán)境包含桌子、UR3 機械臂、圓柱形障礙物以及球形目標點。其中在工作環(huán)境A 中,一個障礙物離目標稍遠,表示對規(guī)劃任務干擾較小。對于工作環(huán)境B,在距離目標更近的位置放有兩個障礙物,在這種情況下,軌跡規(guī)劃需要考慮兩個障礙物之間的距離,而障礙物之間距離的不同會影響安全距離。與環(huán)境A相比較,兩個障礙物對規(guī)劃任務的干擾較大。在以下所有實驗中,均設置獎勵最大值為2 000,當獎勵值穩(wěn)定達到該上限的90%時,可以認為完成了軌跡規(guī)劃任務。
圖5 機械臂工作環(huán)境圖Fig.5 Working environment diagram of robot arm
表1顯示了本文的實驗環(huán)境配置。
表1 實驗環(huán)境配置Table 1 Configuration of experimental environment
本文在兩種不同工作環(huán)境中都進行了30次重復實驗,每次實驗前都隨機初始化障礙物的位置。為了進行魯棒性對比,表2 展示了是否使用語音獎勵函數(shù)的DPPO 方法收斂之后獲得獎勵值的均值和需要幕數(shù)的均值,并在圖6中繪制了相應的獎勵函數(shù)曲線圖用于學習效率的評估。
表2 DPPO是否使用語音獎勵函數(shù)對比Table 2 Comparison of whether DPPO uses voice reward function
圖6 DPPO獎勵函數(shù)曲線圖Fig.6 Curve of DPPO reward function
根據(jù)圖6 可以看出,在兩種工作環(huán)境中,基于語音獎勵函數(shù)的DPPO 軌跡規(guī)劃方法的收斂速度明顯優(yōu)于基本的DPPO方法,并且值得注意的是,在學習前期,基于語音獎勵函數(shù)的規(guī)劃方法有更加明顯的提升效果。這是由于在學習的初級階段,DPPO并不了解需要執(zhí)行的任務,當在這個時期得到關于語音的指導時,DPPO則會很快地了解任務,從而提升DPPO的收斂速度。而在學習后期,智能體可以自主學習規(guī)劃軌跡任務,相比學習初期,語音指導的重要性降低,所以后期基于語音獎勵函數(shù)的DPPO方法與基本方法相比,學習效率提升相似。圖6 的工作環(huán)境B 中表明高難度的工作環(huán)境對軌跡規(guī)劃任務造成了一定的困擾,但是和基本的DPPO方法相比,基于語音獎勵函數(shù)的DPPO軌跡規(guī)劃方法收斂速度更快,這是因為基于語音獎勵函數(shù)的DPPO軌跡規(guī)劃方法通過語音的指導,減少了高難度工作環(huán)境對軌跡規(guī)劃造成的影響,因此仍然能夠保持比較快的收斂速度。
表2更加直接地表明了基于語音獎勵函數(shù)的DPPO方法與基本方法相比具有更高的學習效率,在較少的幕數(shù)下獲得了更大的獎勵值,相比基本的DPPO 方法,收斂速度提高了43.8%,并且,基于語音獎勵函數(shù)的DPPO方法的魯棒性更好,其中,均值有1.95%的提升,標準差下降了32.2%。
根據(jù)實驗1可以證明,在兩種不同難度的未知工作環(huán)境中,基于語音獎勵函數(shù)的DPPO方法可以保持更好的性能,與基本的DPPO 方法相比,收斂速度提高了43.8%,而且魯棒性更好。
為了進一步驗證本文所提出的基于語音獎勵函數(shù)的DPPO方法的有效性,本節(jié)將所設計方法與當前主流的深度強化學習方法DDPG 和A3C 方法在學習效率與魯棒性兩個方面進行了對比。
(1)與DDPG方法的對比
如圖7繪制了在環(huán)境A中,基于DDPG 的方法是否使用語音獎勵函數(shù)的獎勵曲線圖,并在表3中統(tǒng)計了相應獎勵值的均值和標準差??梢钥闯?,由于DDPG方法學習能力有限,在工作環(huán)境B 中經(jīng)過長時間的訓練,DDPG仍然沒有收斂。因此,下文所設計的實驗僅基于實驗環(huán)境A和DDPG方法進行對比。
圖7 DDPG獎勵函數(shù)曲線圖Fig.7 Curve of DPPG reward function
表3 DDPG是否使用語音獎勵函數(shù)對比Table 3 Comparison of whether DPPG uses voice reward function
圖7 表明,在學習效率方面,基于語音獎勵函數(shù)的DDPG軌跡規(guī)劃方法明顯優(yōu)于基本的DDPG方法,與基本DDPG 方法相比收斂速度也有25.7%的提升,并且基于語音獎勵函數(shù)的DDPG方法魯棒性更好,其中獎勵均值有7.5%的提高,而標準差也下降了14.8%。
由圖6和圖7可以看出,在收斂速度方面,基于語音獎勵函數(shù)的DPPO 方法均優(yōu)于基本的DDPG 方法和基于語音獎勵函數(shù)的DDPG方法,在較少的幕數(shù)下獲得了更大的獎勵值。在收斂速度方面,與基本的DDPG方法相比,基于語音獎勵函數(shù)的DPPO方法快了21倍左右。
表2和表3總體上表明,基于語音獎勵函數(shù)的DPPO方法具有更好的魯棒性。與基于語音獎勵函數(shù)的DDPG方法相比,獎勵均值提升了6.5%,標準差下降了66.9%。
根據(jù)上述可得,本文所設計的語音獎勵函數(shù)具有一定的適應性,同樣適用于DDPG 方法。通過DDPG 和DPPO 方法的對比,進一步說明,基于語音獎勵函數(shù)的DPPO 方法相比DDPG 方法具有更高效的性能,并且魯棒性更好。
(2)與A3C方法的對比
如圖8 所示繪制了兩種環(huán)境下基于A3C 方法的獎勵曲線圖,并在表4中對所獲獎勵值的均值和標準差進行了統(tǒng)計。
圖8 A3C獎勵函數(shù)曲線圖Fig.8 Carve of A3C reward function
表4 A3C是否使用語音獎勵函數(shù)對比表Table 4 Comparison of whether A3C uses voice rewardfunction
圖8 顯示,在兩種工作環(huán)境中,將A3C 方法與本章所設計的語音獎勵函數(shù)結合后,與基本的A3C 方法相比,具有更高的學習效率。在難度相對較低的工作環(huán)境A中,基于語音獎勵函數(shù)的A3C方法相比基本的A3C方法收斂速度提升了62.1%,即使在較高難度的工作環(huán)境下,基于語音獎勵函數(shù)的A3C方法收斂速度也有40.2%的提升。
結合圖7和圖8可以看出,在兩種不同工作環(huán)境下,基于語音獎勵函數(shù)的DPPO 方法在收斂速度方面均優(yōu)于基本的A3C 方法。其中在工作環(huán)境A 中收斂速度提升了24%,在工作環(huán)境B中收斂速度提升了60.8%。
通過表2 和表4 對比可知,基于語音獎勵函數(shù)的DPPO方法與A3C方法相比不僅收斂速度更快,而且魯棒性更好。其中在工作環(huán)境A中,基于語音獎勵函數(shù)的DPPO方法均值與A3C方法相比提高了3.1%,標準差下降了27.7%,在工作環(huán)境B中,均值提高了4.6%,標準差下降了52.8%。
在不同環(huán)境下,對基于語音獎勵函數(shù)的DDPO、DDPG、A3C 方法進行30 次重復實驗后,本節(jié)對不同方法所獲獎勵值的均值、標準差以及收斂需要的幕數(shù),進行了可視化分析。如圖9 和圖10 所示,其中,縱坐標分別為獎勵值和幕數(shù)。可以看出,在本文所設計的對比實驗下,本文所提出的基于語音獎勵函數(shù)的軌跡規(guī)劃方法,在不同的工作環(huán)境中相比其他方法均取得了較高的學習效率和較好的魯棒性。
圖9 獎勵值可視化對比Fig.9 Visual comparison of reward values
圖10 幕數(shù)可視化對比Fig.10 Visual comparison of number of acts
本文提出了一種基于語音獎勵函數(shù)的機械臂軌跡規(guī)劃方法。通過設計一種語音獎勵函數(shù),有效地解決了無效探索導致學習效率偏低的問題。將DPPO 方法用于未知工作環(huán)境中的機械臂軌跡規(guī)劃任務,提高了規(guī)劃策略的魯棒性。實驗證明本文提出的基于語音獎勵函數(shù)的DPPO 方法在不同難度的未知工作環(huán)境中均取得了良好的效果,學習效率更高,具有很高的適用性。但是僅能實現(xiàn)單一目標點的機械臂軌跡規(guī)劃,而在真實工作環(huán)境中,有些任務的目標點為多個。未來考慮將本文方法推廣到多目標軌跡規(guī)劃。