?

基于DDPG的機械臂避障軌跡序列模式挖掘仿真

2022-09-19 01:27許智賢劉成峰吳榮基朱曉偉
機械設計與制造工程 2022年8期
關鍵詞:障礙物軌跡神經網絡

許智賢,劉成峰,吳榮基,朱曉偉,陳 科

(廣東電網有限責任公司陽江供電局,廣東 陽江 529500)

機器人技術的迅猛發展及其廣泛應用,對國家生產力的提升以及整個人類社會的進步均產生強有力的推動作用,不僅如此,還在很大程度上改善了人們的生活。作為現實生活和社會生產使用最早的一類機器人,機械臂的協同操縱可以完成非常多的任務[1]。與機械臂性能的優化相伴隨,其應用已然由制造業實現了向軍事[2]、醫療[3]以及太空探索[4]等諸多領域的拓展,甚至可以代替人類進入一些有著較高危險性的環境之中,執行炸彈拆除等任務[5]。正是在應用領域日益擴展的過程中,機械臂工作環境的復雜程度越來越高,在很大程度上增加了其與工作環境中障礙物或待操作目標發生碰撞的可能性[6]。難以預期的各類碰撞會增加任務完成的難度,還有可能損害機械臂系統的運行甚至是操作人員的安全。由此可知,開展機械臂避障軌跡序列模式挖掘的研究具有重要意義。

實際上,機械臂的運動軌跡所處的空間表現出連續變化的特點,除此之外,在三維空間中,機械臂對軌跡序列模式的挖掘同樣有連續性特點表現出來。以往學者們提出的以值函數Q-learning[7]和SARSA的強化學習方法為基礎的具有連續變化特點的空間問題解決方法,主要是通過在一個Q表中進行動態動作值的離散映射來完成,而連續動作空間和狀態空間通過對Q表的使用執行相應的存取任務其實對內存的消耗非常大,效率也不高。為了很好地彌補Q表存在的不足,學者們通過不懈的研究提出DQN(deep Q network)算法[8],主要是基于神經網絡的支持對狀態值進行擬合處理,以此替代Q表,這種方法的采用在一定程度上實現了對狀態動作空間映射效率的提升以及存儲空間的大幅度減小。然而,DQN算法雖然表現出高效率優勢,但是在應用于高維觀察空間之時,依舊是只能執行對離散和低維動作空間的處理任務[9]。對于機械臂避障問題,確定性策略梯度(deterministic policy gradient,DPG)對于連續動作輸出場景的解決有很好的適用性[10]。為了在較短時間內確定一條與機械臂運動要求相符且可避開障礙物的路徑,同時有效提高路徑挖掘精度,本文有效結合DQN與DPG兩種算法,運用基于演員-評論家(Actor-Critic)算法[11]的深度確定性策略梯度(deep deterministic policy gradient,DDPG)算法[12],在機械臂對障礙物的自主規避場景中對其加以運用,并對實際避障軌跡進行仿真實驗。

1 DDPG算法設計

1.1 DDPG算法基本原理

基于DDPG算法的支持,智能體能夠與環境進行交互,并以此獲取相應的狀態,同時,對神經網絡加以運用,還能獲取動作策略。而在智能體執行具體的動作策略之后,所處環境又能向其發出反饋信息,經由強化學習決策能力的支持,完成對各相關、策略的評價,并進一步更新神經網絡。圖1所示為算法的網絡結構示意圖[13]。

在Actor-Critic算法中,Actor和Critic中各自含有2個神經網絡,一個是Eval網絡,另一個是Target網絡。其中,Actor中的Eval網絡會與當前的實際狀態st相結合將適宜的動作at確定下來,同時執行對策略網絡參數θ的更新任務;對應的,Target網絡會結合經驗池采樣的下一個狀態st+1,執行對下一個適宜動作at+1的確定任務,在對網絡參數θ′進行更新時,θ為其提供相應的更新數據來源。在進行損失函數的設定時,用狀態和行為的評價均值來表示:

Loss=-mean(Q(st,at,θ))

(1)

式中:Loss為損失函數的設定;mean為求均值;Q為狀態值。

在Critic中,Eval網絡會以實際的狀態st和動作at為依據對當前的Q值Q(st,at)進行計算,同時執行對價值網絡參數ω的更新任務;以st+1和at+1為依據,Target網絡對下一狀態的實際Q值Q(st+1,at+1)進行計算,網絡參數ω′通過ω更新。

QTarget=γ·Q′(st+1,at+1,ω′)

(2)

式中:QTarget為目標狀態值;Q′(st+1,at+1,ω′)為下一狀態實際Q值;γ為折扣因子,主要表示時間遠近對獎勵的影響,如果此值呈現出不斷減小之勢,則意味著對于當前的獎勵持以越來越看重的態度?;趯讲畹牟捎?,執行對網絡可優化損失函數的構建任務。

Loss=E[(QTarget-Q(st,at,ω))2]

(3)

式中:E表示作均方差處理。

1.2 基于基本原理的算法設計

1.2.1狀態空間與動作空間設計

在獲取每一相關類型的觀測數據以后,移動機器人會對機械臂進行驅動,由其執行具體的作業。本文設定這些觀測數據分別為激光雷達數據、上一步的動作、機械臂與目標點的方位和距離:St=[Dt,at-1,ρt,χt]。其中,St表示機械臂的狀態,Dt=[d1…d10]T∈ξ1,表示激光雷達在10個方位上對障礙物距離所作的測量;at-1∈ξ2,表示(t-1)時刻機械臂的動作,包含線速度與角速度兩個數據;ρt∈ξ1,指的是目標點所在的方位;χt∈ξ1,表示與目標點之間的距離。

機械臂的動作空間涉及到的指標如下:1)沿著X軸方向上的線速度v(對應慣性坐標系);2)沿著Z軸旋轉的角速度ω(對應集體坐標系)。

1.2.2獎勵函數設計

為了讓機械臂挖掘出一條沒有碰撞的長度比較短的軌跡。在機械臂與目標點相靠近的過程中,將獎勵值函數設定為:

(4)

式中:Rarrival為設定的獎勵值;rarrival為具體獎勵值;d1為激光雷達在方位1上對障礙物距離所作的測量。

如果機械臂和障礙物發生碰撞,對其懲罰值函數進行如下設計:

(5)

式中:Rcollision為設定的懲罰值;rcollision為具體懲罰值。

為了發揮很好的引導作用,讓機械臂在一個較短的時間內與目標點接近,以機械臂與目標點之間距離的變化量為依據,同樣進行獎勵函數的設計:

(6)

式中:Rdis為根據機械臂和目標點間距離變化量設定的獎勵值;rdis為根據機械臂和目標點間距離變化量的具體獎勵值。

由此,可以得到機械臂的全部獎勵值函數:

R=Rarrival+Rcollsion+Rdis

(7)

式中:R為全部獎勵值。

1.2.3神經網絡設計

神經網絡是由非常多的簡單基本元件——神經元相互連接而成的自適應非線性動態系統,各神經元有著較為簡單的結構與功能,不過大量神經元經過組合產生的系統行為卻十分復雜,它能用于反映人腦功能若干基本特性,但并不是生物系統的逼真描述,僅是某種類型的模仿、簡化以及抽象。神經網絡需要先基于特定學習準則進行學習,之后才可以工作。此處以神經網絡對于A、B兩個字母的識別為例加以說明,規定當A輸入網絡時,需要將1輸出,當B輸入網絡時,則將0輸出。故而網絡學習準則需設定如下:若網絡做出錯誤判斷,則經由網絡學習,令網絡下次犯相同錯誤的可能性降低。對此,先給網絡各連接權值賦予[0,1]區間的隨機值,在網絡中輸入A對應的圖像模式,網絡對輸入模式進行加權求和處理,之后和門限比較,再執行非線性運算,可以得到相應的輸出。該情況下,網絡輸出1和0的概率相同,都是50%,若結果為1(結果正確),連接權值會增加,有利于后續網絡再次遇到A模式輸入時正確判斷;但若結果為0(結果錯誤),則將連接權值向減小綜合輸入加權值的方向調整,有利于后續網絡再次遇到A模式輸入時錯誤可能性降低。經過以上若干次的學習,網絡判斷正確率會在很大程度上得以提升,意味著網絡對兩個模式的學習已經取得成功,并實現了對其在網絡各連接權值上的分布式記憶,若是網絡再次遇到其中任一模式,便能在極短的時間內得到準確的判別結果。通常,網絡中神經元數量越多,其可以記憶與識別的模式也會越多。

基于神經網絡工作原理,本文進一步進行神經網絡策略的構建。本文的策略網絡為四層神經網絡,輸入層是機械臂目前的實際狀態,輸出層則是其線速度與角速度,中間有2個隱含層。其中,輸入層的神經元數量為12,2個隱含層中的神經元數量都是250,在首層和隱含層1之間、隱含層1和隱含層2之間均通過全連接方式建立起相互之間的連接,對Sigmoid激活函數加以運用。價值網絡所用的是類似的網絡結構,主要不同體現在:價值網絡的輸入層一共有兩個部分,一是機械臂目前的實際狀態,一是其當前的動作值;輸出層的神經元數量設定為1,也就是相應的Q值。

2 基于DDPG算法的機械臂避障

進一步地,將DDPG算法與人工勢場法相結合,進行修正動作值的計算,并將最終的計算結果加入DDPG算法策略中,從而為機械臂避障軌跡平滑度的提升以及軌跡長度的減小提供相應的保證。圖2所示為基于DPPG算法的機械臂避障運行步驟示意圖。

圖2中,a1=[av,aω1]和a2=[av,aω2]為本文設計的機械臂的修正動作,其中av=0.25表示線速度,aω1和aω2表示角速度;a為DDPG算法產生的動作。

圖2 基于DDPG算法的機械臂避障運行步驟

若機械臂的周圍有障礙物存在,或者與目標點靠近,障礙物會對機械臂產生斥力,對應的,目標點產生的為引力。

3 DDPG算法下機械臂避障軌跡序列模式挖掘仿真實驗驗證

3.1 實驗平臺

本文實驗平臺為ABB1410型號的機器人[14]工作站,具有操作便捷、動作靈活的優點,另外,與第三方軟件的通訊亦很理想。實驗運用成熟產品,可以為控制精度以及實驗數據的真實性提供保證。

1)機械臂本體。此機械臂基本結構是一開鏈式6連桿機構,機身的各個關節全部接受伺服電機的驅動作用,各個電機均配置編碼器和剎車,在伺服驅動器和控制器兩者之間借助于CANopen總線建立起數據通訊關系,通過對每個關節轉動的控制,達到讓末端執行器進行相應運動的目的。

2)在整個工作站中,機械臂控制柜發揮著大腦的重要作用??刂乒癜哪K比較多,分別有計算機主板、網絡通信計算機、驅動單元以及通信單元等。一方面,控制柜能夠和其他相關的外部設備通信,接收由操作板或其他系統傳遞過來的信號,同時完成對相關數據及程序的儲存;另一方面,它又能夠和伺服系統進行對接,發揮出對機械臂運動進行直接控制的重要作用。

3)機械臂伺服系統。在機器人系統中,伺服系統工作性能的優劣以及可靠性的高低會對整個機械臂的性能產生直接影響,主要由變壓器、主計算機、軸計算機、驅動板和編碼器組成[15]。該系統可基于串口測量板數據獲取機械臂信息,通過相應處理,用于機械臂下一步動作的規劃,并輸出新位置與速度控制。圖3所示為系統示意圖。

圖3 機械臂伺服系統示意圖

3.2 實驗設計與過程

實驗的主要目的為對基于本文算法的機械臂避障可行性進行驗證,針對實驗流程,進行以下幾點設計:第一,以機械臂實際工作空間為參照進行環境模型的構建,明確障礙物的信息以及初始點與目標點的坐標;第二,借助于算法挖掘最優軌跡序列,同時在機器人控制軟件中導入軌跡節點,編寫控制程序;第三,在機械臂控制柜中同步輸入調試好的程序,達到機械臂避障目的。

實驗過程按以下步驟進行:

1)實驗平臺搭建。結合相應要求,對機械臂控制柜進行接線處理,并用網線對通訊轉換模塊和計算機網口進行連接,擺放方形盒子,用其充當障礙物。圖4所示為搭建好的實驗平臺。

圖4 仿真實驗驗證平臺

2)機械臂初始化。連接控制柜電源,初始化機身狀態,讓機身回到零點。校準機械臂運動狀態,對其工具中心點進行標定,設置該點位置為末端關節中心點。

3)同步控制程序。在RobotStudio軟件中導入DDPG算法規劃的機械臂節點數據,利用RAPID語言編寫機械臂運動程序,建立機械臂控制柜和軟件間通訊,在機器人控制盒中,對已經編譯好的程序作相應的同步處理。

4)運行程序,對具體的實現過程進行觀察,啟動機械臂,記錄避障過程,每隔1 s截取一幀圖片。

3.3 實驗結果分析驗證

本文借助RobotStudio對機械臂避障軌跡進行記錄,并將其與算法規劃的理想運動軌跡進行比較,結果如圖5所示。

圖5 機械臂實際避障軌跡與理想軌跡的對比結果

由圖5可知,在XY平面、YZ平面,機械臂的實際軌跡與理想軌跡基本實現了重合;在XZ平面,雖然實際軌跡和理想軌跡之間有一定的偏差,但是該偏差非常小,僅在很小的范圍內有相對明顯的體現,其他位置大體重合,對應部分的偏差可大致忽略不計;在XYZ三維空間中,機械臂實際軌跡和理想軌跡的重合程度比較高。綜合而言,在本文算法的支持下,機械臂可以沿著挖掘好的避障軌跡序列模式運動,當遇到障礙物時能及時避障,整個運動過程表現出較好的平穩性,意味著本文避障方法是可行和有效的。

不過,使用本文所提方法,機械臂避障軌跡與理想軌跡之間尚有一些誤差存在,約是2 mm,究其原因,可能在于算法挖掘的軌跡序列比較依賴理想條件下的模型,但機械臂在實際使用過程中必然存在一些裝配誤差、傳動誤差,從而導致實際避障和理論避障出現一定誤差。

4 結束語

對人工智能目標進行分析,其中非常重要的一點就是基于對未經處理的高維傳感數據的運用,實現對相關復雜任務的有效解決。強化學習算法DQN的提出,使得機器的智能化程度得到了大幅度的提升。不過DQN算法主要是對離散型低維動作空間進行處理,在現實生活場景中,有很多類型的連續控制問題存在,在對連續動作的選擇中,將DQN與DPG兩種算法進行結合形成DDPG算法,可以將兩種算法的優勢很好地發揮出來,與傳統的DPG算法相比,DDPG算法對于連續動作的控制達到的效果要更加理想。本文對DDPG算法加以運用,將其應用于機械臂智能避障場景之中,可在較短時間內搜尋到一條與機械臂運動要求相符,且能夠避開障礙物的最優路徑。

猜你喜歡
障礙物軌跡神經網絡
解析幾何中的軌跡方程的常用求法
基于遞歸模糊神經網絡的風電平滑控制策略
軌跡
軌跡
高低翻越
SelTrac?CBTC系統中非通信障礙物的設計和處理
神經網絡抑制無線通信干擾探究
趕飛機
基于神經網絡的中小學生情感分析
基于在線軌跡迭代的自適應再入制導
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合