国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于DE-MADDPG多智能體強化學習機械臂裝配*

2024-01-03 01:31:36蘇工兵曾文豪于楚飛
組合機床與自動化加工技術 2023年12期
關鍵詞:軸孔姿態(tài)機械

王 晶,蘇工兵,袁 夢,曾文豪,于楚飛

(武漢紡織大學a.機械工程與自動化學院;b.湖北省數(shù)字紡織裝備重點實驗室,武漢 430200)

0 引言

軸孔裝配是工業(yè)生產(chǎn)中常見的任務[1]。近年來,隨著以深度學習為核心的智能技術在裝配領域得到了飛躍的發(fā)展[2-6],但在任務復雜,需要合作或競爭的環(huán)境中,需要多個智能體協(xié)作[7-9]共同完成目標,如雙臂機器人實現(xiàn)抓取裝配等[10-11]。其中,MADDPG[12]是處理多智能體合作關系最主要的算法之一,SHEIKH等[13]為了解決多個智能體的相互影響,提出了解耦性多智能體算法(DE-MADDPG),為每個智能體獨立設計獎勵函數(shù),能有效的加快收斂速度。在串聯(lián)機器人中,WITT等[14]在連續(xù)動作空間中將機器人的每個活動關節(jié)作為可觀測對象進行了多智能體算法的探索研究。趙毓等[15]提出了一種改進DDPG算法,以各個關節(jié)為決策智能體建立多智能體系統(tǒng),實現(xiàn)空間機械臂的勻速抓取。TAO等[16]將多指機械手的每個手指視為獨立個體,并組合訓練各自對應的智能體算法,以協(xié)同完成機械手操作任務。這些研究拓展了深度強化學習在機器臂裝配中有效的應用,現(xiàn)機械臂只能實現(xiàn)較為簡單的抓取移動等任務,對于較高精度的裝配任務,還是需要進一步探索。

本文以六自由度機械臂Pieper準則構型為基礎,將末端的位置和姿態(tài)分開獨立控制,提出了將DE-MADDPG運用于六自由度機械臂的裝配任務中,主要解決單智能體算法訓練時間長,難以收斂等,以及多智能體算法在串聯(lián)機器人中裝配精度等問題。對末端位置和姿態(tài)獨立控制,降低這兩部分的耦合性,實現(xiàn)多智能體的協(xié)同控制,可以提高裝配效率,改善裝配穩(wěn)定性以及環(huán)境適應能力。

1 軸孔裝配任務分析

軸孔裝配任務可分為3個階段,首先通過尋孔階段,將軸移動至孔的正上方;再調(diào)整軸與孔的相對姿態(tài),完成對準任務;最后在保證姿態(tài)穩(wěn)定后沿孔的中心線插入指定深度。為了使軸孔能正確的裝配,主要需要解決軸與孔的位置P和姿態(tài)R之間的對應關系。裝配模型如圖1所示,在基座標下由機械臂正運動學定義的裝配軸的接觸面位姿為(RM,PM),根據(jù)裝配孔在機械臂基座標下的位置關系,將裝配孔接觸面位姿定義為(RG,PG)。Δl為裝配軸接觸面中心點與孔的中心線之間的距離,Δε、Δω、Δμ分別為裝配軸孔在XYZ軸上的姿態(tài)偏差。

(a) 圓軸孔裝配 (b) 方軸孔裝配圖1 軸孔裝配示意圖

在圖1a所示的圓孔的裝配中,軸在調(diào)整姿態(tài)時,只需要實現(xiàn)Δμ=0為零,即可完成姿態(tài)的匹配,對于Z軸轉(zhuǎn)動引起Δε、Δω誤差可以不用考慮,再將軸移動到孔的正上方,滿足位置Δl=0,就能達到裝配要求。圓軸孔裝配有較多的方案和算法可以實現(xiàn)這一目標[4-6],但對于如圖1b所示方孔而言,不能只考慮Z軸之間的偏差Δμ,當Δε、Δω出現(xiàn)偏差時,方孔裝配過程中還是會發(fā)生碰撞,并且是多點多面的復雜接觸狀態(tài)。這就必須要同時滿足Δε、Δω、Δμ都為零,才能達到裝配對姿態(tài)的要求。過多的狀態(tài)輸入使得傳統(tǒng)的算法不能很好的適用,且各元素之間的關聯(lián)會導致算法無法收斂,可以通過將裝配任務分解為動作和姿態(tài)分別控制,能有效的降低運算復雜程度。

2 DE-MADDPG算法

2.1 多智能體深度強化學習

強化學習算法是一種通過智能體與環(huán)境交互來學習決策的方法,在多智能體問題中,智能體的行動和決策互相影響,且需要與其他智能體進行交互通信和協(xié)同決策,以達到協(xié)同實現(xiàn)任務的目標。多智能體強化學習是以馬爾可夫決策過程為基礎的隨機博弈過程,可以將其定義為一個多元組(S,A1…AN,R1…RN,T,γ)。其中,N為智能體的數(shù)量,S為環(huán)境狀態(tài)的集合,Ai為第i個智能體的動作,Ri為智能體動作Ai使St→St+1而獲得的獎勵回報,T∈[0,1]為狀態(tài)轉(zhuǎn)移概率,γ為累計獎勵衰減系數(shù)。

(1)

每個智能體的動作價值函數(shù)取決于聯(lián)合動作,其公式為:

(2)

根據(jù)多智能體的任務類型,一般可分為完全合作、完全競爭和混合類型。本文在單機械臂中對位置和姿態(tài)獨立控制的模式屬于完全合作類型,即所有智能體對一個共同的目標實現(xiàn)最優(yōu)控制。

2.2 MADDPG

MADDPG是DDPG在多智能體環(huán)境中的擴展,每一個智能體都有完整的DDPG框架。且在訓練網(wǎng)絡中采用雙網(wǎng)絡結(jié)構設計,即Actor和Critic網(wǎng)絡都擁有估計網(wǎng)絡和目標網(wǎng)絡,其網(wǎng)絡參數(shù)分別為(θπ,θQ)和(θπ′,θQ′)。其中估計網(wǎng)絡實時計算更新網(wǎng)絡參數(shù),能更好的反映環(huán)境的變化;目標網(wǎng)絡通過延遲更新目標Q值和策略,以達到穩(wěn)定參數(shù)更新的目的。

MADDPG核心思想是通過集中訓練,分布執(zhí)行的原理,為多智能體系統(tǒng)尋找最佳的聯(lián)合策略H。即每個智能體的Critic網(wǎng)絡在訓練動作價值函數(shù)階段,還會用到其他智能體的觀測和動作信息,可以幫助其更好的理解環(huán)境,能更好的對當前聯(lián)合策略的評估,即Q值。計算公式為:

Q=Q(St,a1,a2,…aN)

(3)

式中:輸入的參數(shù)為環(huán)境信息St,每個智能體的動作ai,以及Critic的網(wǎng)絡參數(shù)θQ。

在多智能體模型中,每個智能體的Critic網(wǎng)絡輸入都是相同的,則其損失函數(shù)為:

(4)

(5)

在執(zhí)行階段,每個智能體的Actor網(wǎng)絡僅獨立根據(jù)自己的觀測和策略就可以做出決策,不需要其他智能體的信息。其策略依靠對應的Critic網(wǎng)絡訓練得到的Q值進行梯度更新,策略梯度公式為:

(6)

每一次的迭代訓練中,由式(7)更新估計網(wǎng)絡參數(shù):

(7)

式中:απ,αQ為Actor和Critic網(wǎng)絡的更新率。再估計網(wǎng)絡迭代多次后,將其參數(shù)以軟更新的方式傳遞給目標網(wǎng)絡,軟更新方式為:

θ′←τθ+(1-τ)θ′

(8)

式中:τ?1為更新系數(shù),θ和θ′分別為估計網(wǎng)絡和目標網(wǎng)絡參數(shù),可以有效的降低策略評估和改進過程中的方差,提高算法的穩(wěn)定性和收斂速度。

2.3 DE-MADDPG

DE-MADDPG算法是對MADDPG的一種改進算法,在集中訓練的基礎上,還為每個智能體單獨設計局部Critic網(wǎng)絡,如圖2所示,使每個智能體能夠以解耦的方式同時最大化全局獎勵和局部獎勵??梢杂行У谋苊饩植孔顑?yōu)的情況,也防止了全局獎勵起主導作用,可以使各智能體高效穩(wěn)定的學習到最優(yōu)策略。

局部Critic網(wǎng)絡只需要對智能體i的動作狀態(tài)進行評價,得到局部Q值,其損失函數(shù)為:

(9)

(10)

(11)

3 軸孔裝配策略設計

根據(jù)軸孔裝配的任務設計,由兩個智能體分別控制位置和姿態(tài),對于一個六自由度機械臂而言,雖能通過控制不同關節(jié)的運動分開進行描述,但在串聯(lián)系統(tǒng)中仍具有一定的耦合性。通過DE-MADDPG算法來弱化影響,根據(jù)機械臂的不同結(jié)構特性,為兩個智能體設計獨立的獎勵函數(shù),協(xié)同完成精準裝配這一共同目標。

3.1 機械臂動作狀態(tài)設計

軸孔裝配示意圖如圖3所示,將控制末端位置信息的關節(jié)1、2、3定義為智能體1,控制末端姿態(tài)的關節(jié)4、5、6定義為智能體2。

圖3 機械臂軸孔裝配

3.1.1 機械臂聯(lián)合狀態(tài)空間

在裝配任務中,主要通過比較軸孔接觸面之間的位姿狀態(tài)來判斷裝配是否完成,同時還需要實現(xiàn)插入指定的深度h,將智能體的狀態(tài)空間定義為:

(12)

3.1.2 機械臂聯(lián)合動作空間

機械臂通過輸入6個關節(jié)的轉(zhuǎn)動角度實現(xiàn)對末端位姿的控制,根據(jù)智能體的設計,定義各智能體的動作空間為:

(13)

3.2 獎勵回報函數(shù)設計

獎勵函數(shù)的設計是強化學習系統(tǒng)能在環(huán)境中不斷試錯,學習到高效穩(wěn)定策略的關鍵。設置合適的獎勵函數(shù)能準確的表征模型任務目標,提高系統(tǒng)的性能,它的好壞直接決定著算法的收斂速度和程度。本文根據(jù)每個智能體的獨立特征以及多智能體系統(tǒng)的任務目標來設計獎勵函數(shù),以提高訓練的效率和穩(wěn)定性。

3.2.1 全局獎勵函數(shù)設計

智能體在t時刻執(zhí)行聯(lián)合動作At,并由機械臂運動學得到此時的聯(lián)合狀態(tài)St,計算軸孔接觸面的位置距離Δl和姿態(tài)偏差Δε、Δω、Δμ,如未滿足軸孔裝配精度要求,則進行下一時間步的循環(huán)。在滿足精度要求后進行插入階段,當插入深度h達到指定深度hs后即為裝配完成。在裝配探索過程中,依靠軸與機械臂之間的六維力傳感器判斷軸與環(huán)境之間的接觸力F,當力或力矩超過突變閾值Flim,則判定發(fā)生碰撞。當軸孔裝配完成或發(fā)生碰撞時,才給予系統(tǒng)獎勵反饋,并結(jié)束本輪循環(huán)。以任務目標設計獎勵函數(shù)Rg:

(14)

式中:rvc為成功裝配時獲得的獎勵值,即在位置偏差Δl和姿態(tài)偏差Δε、Δω、Δμ都在誤差允許范圍內(nèi)趨近于0時,軸插入指定深度hs后獲得獎勵;rfl為發(fā)生碰撞時給予智能體的懲罰值,在其他情況下反饋為智能體的值都為0。在每一輪的訓練中,目標獎勵Rg只會獲得一次,并在獲得后完成本輪訓練。在訓練中設置rvc=100,rfl=-100。

為了提高智能體的探索效率,同時避免稀疏獎勵導致局部震蕩,無法收斂等狀態(tài),將各關節(jié)的轉(zhuǎn)動角度作為懲罰值,驅(qū)使機械臂能夠以最短的運動路徑完成裝配。其角度懲罰函數(shù)定義為Rθ:

(15)

式中:θi對應的是6個關節(jié)在一個步長內(nèi)的旋轉(zhuǎn)角度,單位為弧度。

3.2.2 局部獎勵函數(shù)設計

對于分別控制位置和姿態(tài)的兩個智能體,根據(jù)各自的任務特性設置獨立的獎勵函數(shù),能提高多智能體的協(xié)作性能。為了提高探索初期的效率,以裝配孔接觸面中心點為圓心,設置半球形虛擬空間如圖4所示,其半徑為Rd=σRφ。在軸孔裝配過程中,監(jiān)測軸接觸面中心點PM與圓心PG之間的距離Ls,當Ls≤Rd后,才開始對累計各智能體的獎勵。

圖4 位置獎勵示意圖

圖4中,Rφ為裝配孔基本尺寸;σ為比例系數(shù),其值根據(jù)軸孔裝配尺寸以及機械臂裝配環(huán)境而定。通過仿真實驗,當系數(shù)較大時,初始獎勵較高,但學習進步較慢,且最終收斂獎勵值較低,不是最優(yōu)策略;當系數(shù)過小后,前期的目標探索時間過長,而且在進入范圍后無法及時的調(diào)整位姿就發(fā)生碰撞,最終難以收斂。經(jīng)測試,比較穩(wěn)定的虛擬范圍是σ∈(1,3),在此范圍內(nèi)機械臂可以較快的找到目標區(qū)域,且有充足的時間來調(diào)整位置和姿態(tài)。

(1)基于位置的獎勵函數(shù)。為了保證在姿態(tài)在為正確匹配前不發(fā)生碰撞,對空間三維坐標的接近階段采用不同的獎勵策略。如圖4所示,將PM沿孔的中心線投影在X-Y平面內(nèi),計算軸與孔之間的水平距離。在Z軸方向上的位置接近設置不同的權重系數(shù),減緩匹配速度,并以虛擬空間半徑為基準將獎勵函數(shù)歸一化,使獎勵值不會因軸孔裝配尺寸的不同以及虛擬空間大小而改變。在接近階段,其獎勵函數(shù)為:

(16)

在接觸面達到裝配精度后執(zhí)行插入階段,此時只需要沿Z軸方向的運動即可,以插入指定深度hs為目標,設計插入階段獎勵函數(shù):

(17)

對于控制位置的智能體,其局部獎勵為:

(18)

(2)基于姿態(tài)的獎勵函數(shù)。用于描述姿態(tài)的旋轉(zhuǎn)方式有旋轉(zhuǎn)矩陣、歐拉角和四元數(shù)等,相較于旋轉(zhuǎn)矩陣的較多元素運算以及歐拉角的萬向鎖,四元數(shù)只需要一個4維向量即可描述姿態(tài)的旋轉(zhuǎn),效率更高,且在連續(xù)的變換中更為平滑準確。一般機械臂由DH法得到的末端姿態(tài)為旋轉(zhuǎn)矩陣形式,為了更好的計算裝配軸孔姿態(tài)之間的偏差,通過式(19)將軸孔的姿態(tài)(RM,RG)轉(zhuǎn)變?yōu)閱挝凰脑獢?shù)的形式(qM,qG)進行描述。

(19)

式中:mij為姿態(tài)矩陣中的各個元素,(q0,q1,q2,q3)為四元數(shù)中的4個參數(shù),且兩個向量相向時夾角最大為π。為了使軸在朝著目標姿態(tài)修正后得到正向獎勵,滿足偏差越小,獎勵越高。以四元數(shù)之間的夾角定義姿態(tài)獎勵函數(shù)r2為:

r2=π-cos-1(|qM·qG|)

(20)

綜上所述,對于全局Critic網(wǎng)絡中使用的獎勵函數(shù)Rt為:

(21)

4 實驗設計及驗證

4.1 仿真訓練

在Gazebo仿真訓練環(huán)境中搭建裝配模型,裝配實驗對象采用直徑40 mm圓軸和邊長25 mm方軸,裝配間隙為0.8 mm,裝配深度hs=100 mm。訓練硬件為Inter i9-10900k,RTX 3070 8 G顯存,內(nèi)存32 GB。主要的訓練參數(shù)如下:網(wǎng)絡折扣因子γ=0.99;目標網(wǎng)絡軟更新率τ=0.01;Actor網(wǎng)絡學習率απ=0.001,Critic網(wǎng)絡學習率αQ=0.002;決策周期ΔT=0.1 s,批樣本數(shù)為64,最大訓練回合數(shù)15 000,虛擬空間比例σ=2。

以相同的性能參數(shù)將DE-MADDPG算法與MADDPG算法和DDPG算法進行圓孔裝配和方孔裝配對比訓練,總體平均獎勵值如圖5所示。

(a) 圓軸裝配 (b) 方軸裝配圖5 智能體裝配平均獎勵

根據(jù)仿真數(shù)據(jù)分析,3種算法都能實現(xiàn)穩(wěn)定收斂。多智能體算法(MADDPG和DE-MADDPG)比單智能體算法(DDPG)在收斂速度上有明顯的優(yōu)勢。在兩種裝配軸孔中,多智能體算法在8000回合之前基本開始趨于穩(wěn)定,而DDPG在11 000回合左右才開始收斂,這也驗證了在單個機械臂中應用多智能體算法的可行性,并且在訓練速度上有較大的提升。在方軸孔裝配中,由于接觸狀態(tài)的復雜性,使得裝配精度要求更高,相比于圓軸孔裝配,多智能體采取的最優(yōu)策略獲得的獎勵都穩(wěn)定在200左右,而DDPG的平均獎勵值從196.2降低到了164.6,多智能體在面對不同形狀、不同精度的裝配任務使,都能表現(xiàn)出良好的穩(wěn)定性。

由于DE-MADDPG算法在訓練中同時兼顧了整體目標和局部目標,與MADDPG算法相比,在初期的探索中能讓多智能體系統(tǒng)更快的找到正確的學習方向,其獎勵值在較少的訓練回合中能得到較大的提升。在圓軸孔裝配中,DE-MADDPG在4500回合左右時其獎勵值開始趨于穩(wěn)定,比MADDPG減少了近3000回合的訓練次數(shù)。而在方軸孔裝配中,其收斂速度只有少量的提升,但在訓練過程中的獎勵值波動明顯弱于MADDPG,當DE-MADDPG遇到錯誤的優(yōu)化方向后及時的修正自身的策略,使得其比MADDPG更加適用于復雜的任務。

為了驗證算法的有效性,分別對DE-MADDPG、MADDPG和DDPG進行500次的圓孔和方孔的裝配測試,孔的位置在工作平臺上隨機生成,結(jié)果如表1所示。

表1 圓孔與方孔裝配時長分析

表1中的總體標準差反映了當前算法在執(zhí)行裝配任務中,每一次用時長短的偏差,數(shù)值越小,則表明該算法在面對不同環(huán)境下的裝配更加的穩(wěn)定。在圓孔裝配中,多智能體算法(DE-MADDPG和MADDPG)與DDPG算法相比,總體用時分別提升了8.7%和6.6%,而且對于平均單次裝配用時標準差,多智能體算法相對于DDPG有較大的提升,裝配過程更加的穩(wěn)定。在方孔的裝配中,DE-MADDPG算法學習到的策略明顯由于DDPG算法,總裝配時間縮短了1.15 h,提高了13.2%的裝配效率,且相較于MADDPG,其總體標準差和總時長也反映了此算法更加的穩(wěn)定高效。

4.2 裝配實驗驗證

搭建如圖6所示的裝配環(huán)境,選用川崎BA006N型機械臂,并配置力/力矩傳感器,以方軸孔的裝配作為實驗對象,裝配軸固定在機械臂末端,裝配孔在訓練階段固定在工作平臺已知坐標上。實驗采用DE-MADDPG算法通過控制器對機械臂進行了10 000次裝配訓練,其平均獎勵值如圖7所示。

圖6 裝配實驗示意圖 圖7 實驗訓練獎勵曲線圖

實驗環(huán)境與仿真理想環(huán)境有一定差距,在初期探索過程中提升較慢,后期的收斂穩(wěn)定性也有較大的波動,但仍在8500回合左右獎勵值收斂穩(wěn)定,平均獎勵值與仿真結(jié)果基本一致。

為驗證訓練結(jié)果的可行性以及泛化性,通過改變裝配孔在工作空間中的位姿坐標,對機械臂進行了100次方孔軸裝配測試。為了檢驗訓練模型處理不同任務的能力,將孔傾斜15°和30°進行圓孔和方孔的100次裝配測試。測試結(jié)果如表2所示。

表2 DE-MADDPG算法裝配成功率測試

在實際裝配過程中,機械臂動力學參數(shù)配置的誤差以及本體結(jié)構的系統(tǒng)誤差是影響裝配成功率的主要原因。從實驗結(jié)果中可以看出,改變裝配孔的傾斜角度會降低裝配成功的準確率,但傾斜角度的大小對實驗的結(jié)果沒有明顯的影響。在15°和30°傾角裝配中主要失敗在插入過程中,由于裝配角度的變化,運動策略也更復雜,很容易與孔壁發(fā)生摩擦碰撞。而對于姿態(tài)精度不高的圓孔裝配仍能達到預期結(jié)果??梢娫撍惴ㄔ跈C械臂裝配上具有一定的泛化性。

5 結(jié)論

本文對軸孔裝配提出了基于DE-MADDPG的裝配方案,將六自由度機械臂分解為兩個智能體分別對位置和姿態(tài)控制,并引入了局部評價函數(shù),根據(jù)裝配動作設計了分別用于控制位置和姿態(tài)的局部獎勵函數(shù),在訓練中能有效的提高收斂速度。并在圓軸孔和方軸孔裝配任務中與DDPG算法和MADDPG算法進行對比實驗,相較于單智能體算法(DDPG)提高了13.2%的裝配效率,且比MADDPG在準確度和穩(wěn)定性都得到了提升。最后在實體裝配檢驗了DE-MADDPG算法的可行性,同時其在處理不同姿態(tài)和位置的任務目標時也具有較好泛化能力。

猜你喜歡
軸孔姿態(tài)機械
煉鋼轉(zhuǎn)爐托圈銷軸孔在線修復探討
冶金設備(2021年2期)2021-07-21 08:44:28
攀爬的姿態(tài)
學生天地(2020年3期)2020-08-25 09:04:16
調(diào)試機械臂
當代工人(2020年8期)2020-05-25 09:07:38
全新一代宋的新姿態(tài)
汽車觀察(2018年9期)2018-10-23 05:46:40
跑與走的姿態(tài)
中國自行車(2018年8期)2018-09-26 06:53:44
簡單機械
軸孔協(xié)調(diào)接觸建模與試驗研究
機械班長
按摩機械臂
有關大跨距同軸孔系加工方法的研究
建水县| 高密市| 云龙县| 阿勒泰市| 偏关县| 澜沧| 临湘市| 马鞍山市| 台东县| 孙吴县| 车险| 沈阳市| 金阳县| 山西省| 双桥区| 德令哈市| 闽侯县| 岳阳县| 香格里拉县| 永定县| 郴州市| 望城县| 阳江市| 武威市| 德格县| 唐河县| 和顺县| 噶尔县| 长岛县| 麦盖提县| 开阳县| 广丰县| 乐东| 扎赉特旗| 茂名市| 肥乡县| 宁安市| 无棣县| 宜城市| 元谋县| 思茅市|