姜玉峰,陳東生
(中國工程物理研究院 機械制造工藝研究所,四川 綿陽 621900)
軸孔裝配是裝配作業中最基本的裝配單元,占據裝配作業的約40%,并且大口徑部件裝配在航空航天、武器裝備、船舶制造等領域應用廣泛[1].目前,實現大口徑部件的自動化裝配仍然是個挑戰[2-3].一些主動的力控制策略已被應用于實際裝配任務,并具有一定的實用性.Zhang 等[4]基于簡化分析方法,針對軸孔裝配任務提出更實用的模糊力控制策略.Pan 等[5]建立空間機械臂等效剛度模型,然后沿著裝配方向建立柔性指數,提出考慮等效剛度優化的空間機械臂裝配任務控制方法,有效減小了接觸碰撞擾動的影響.然而,當上述控制算法應用于復雜接觸模型裝配場景時,需要大量時間和精力來調整控制器參數以適應新的裝配任務.因此,需要不依賴于物理接觸模型分析的高級算法來較好地執行大口徑軸孔裝配任務.
受人類工人通過學習經驗[6]完成軸孔裝配任務啟發,工業機器人可以通過學習裝配技能來完成復雜的軸孔裝配.因此,可以應用標準強化學習(reinforcement learning,RL)使機器人通過試驗學習裝配技能,而不僅僅是將人類的技能傳遞給機器人程序[7].單純的RL 方法是通過對動作空間進行離散化來輸出離散動作,因此在連續的、高維的[8]機器人控制任務存在較大的局限性.通過將深度學習引入強化學習中,得到深度強化學習(deep reinforcement learning,DRL)算法[9],該算法利用神經網絡的強大知識表征能力,處理大量軸孔接觸狀態數據[10-11],在裝配動作規劃這類典型的序貫決策問題上表現出顯著性能.特別是深度確定性決策梯度(deep deterministic policy gradients,DDPG)算法,在諸多應用場景中都能夠穩定有效地完成連續的高維動作控制任務.另外,為了解決DRL 算法經驗和樣本數據不足、訓練代價高[12]、探測動作安全性低[13]等問題,人們選擇了與其他控制方法協同的深度強化學習算法.
Kumar 等[14]對強化學習控制器進行改進,相較于基于Lyapunov 理論的馬爾可夫博弈控制器,其所提出的模糊RL 控制器具有卓越的跟蹤性能和更低的計算復雜性.Zarandi 等[15]提出柔性模糊強化學習算法,該算法用基于模糊規則的系統來逼近值函數.Ren 等[16]將人類成功操縱任務的基本思想,即可變順應性和學習應用于機器人組裝.Xu 等[17]采用DDPG 算法實現了多軸孔裝配任務,采用模糊獎勵機制來提高探索效率.Zhang等[18]提出人機協同強化學習算法,以優化裝配過程中的任務序列分配方案,實現復雜裝配操作的人機協作.Ma 等[19]提出示教學習和強化學習相結合的方式,實現了PCB 板上排針的插入任務.Hou等[20]提出模糊邏輯驅動的基于可變時間尺度預測的強化學習(fuzzy logic-driven variable time-scale prediction-based reinforcement learning,FLDVTSPRL)方法,相比傳統深度Q 網絡,可以有效減少裝配時間.
上述方法都是應用于小型軸孔裝配任務的.在大口徑軸孔裝配過程中零件具有較大的慣性,就會有較大的沖擊力,可能會導致部件的損傷.為了解決大口徑軸孔裝配任務中的上述問題,本研究提出基于模糊動作的深度確定性決策梯度(deep deterministic policy gradients with fuzzy actions,DDPGFA)算法,該算法以DDPG 算法為基礎,解決大部件軸孔接觸狀態建模困難問題,能獲得較為準確的狀態數據.引入模糊動作策略,加快離線訓練速度,得到更加精確和穩定的機器人動作輸出.進行大口徑軸孔裝配的實驗,對比有無模糊策略的強化學習算法控制效果,驗證DDPGFA 算法的有效性.
在實際裝配任務中,由于較難獲取精確的接觸環境參數,控制策略可能產生較大的接觸力誤差.對于裝配精度要求較高時的大口徑軸孔裝配任務,比如如圖1 所示,零件直徑超過200 mm,且裝配精度要求為0.05 mm 的裝配任務,須在裝配過程中保持較小的裝配力,以及較穩定的裝配速度.

圖1 大口徑軸孔裝配任務Fig.1 Large-diameter peg-in-hole assembly task
基于強化學習的裝配機器人訓練過程如圖2所示.圖中,s為傳感器輸出的狀態量;FX、FY分別為力傳感器輸出的X向和Y向力信息;(si,ai,ri,si+1)為訓練過程中的小批量采樣數據,si為每次從經驗池采樣得到的一組狀態量,ai表示DDPG 算法的輸出動作,ri表示每一步得到的獎勵,下標i表示訓練步數.首先由機器人位置編碼和力-力矩傳感器獲得裝配系統的狀態信息,然后輸入DDPG網絡和模糊動作策略.Actor 網絡和Critic 網絡通過從記憶庫中抽取小批量樣本(minibatch)進行訓練,并由Actor 網絡產生動作.模糊動作策略根據狀態信息得到動作系數,最后產生最終動作.在動作執行完成后,裝配環境根據設計好的回報函數返回對應的獎勵,模型存儲(si,ai,ri,si+1)并進行學習,整個過程重復循環.

圖2 基于模糊動作的深度確定性決策梯度算法框架Fig.2 Algorithm framework of deep deterministic policy gradients with fuzzy actions
在建立軸孔柔順裝配策略時,主要目的是在每一個軸孔接觸狀態下確定機械臂對軸的姿態的調整動作,以確保零部件的完好和順利裝配.因此對DDPGFA 算法應用于軸孔裝配做了以下幾方面的工作.
1)狀態空間s的設置.為了滿足強化學習所依據的馬爾可夫性,在本研究所規劃的軸孔柔順裝配策略中,將每一步的狀態定義為X-Y-Z軸線方向受到的力和零件的空間位置,模型的輸入表示為
式中:FX、FY、FZ、TX、TY、TZ為機器人上力傳感器讀取的力信息;P為大重部件的位姿信息,可以從機器人自帶的位置感知器中獲得.
在實際裝配任務中,為了降低接觸力模型的復雜度,減少計算量,可以將對算法決策沒有影響的TZ維度刪去.減少維度處理可以減少計算量、簡化神經網絡模型.因此實際狀態就變為
2)輸出動作空間ai的設定.模型的輸出為每一步機器人執行的動作,如圖3 所示.
動作空間ai表示為
式中:Δ表示零件在X-Y-Z軸線方向上的位移增量,α 表示零件在繞X-Y-Z軸方向上的角度增量.
3)獎勵函數r的設計.在大口徑部件裝入的過程中,要求大口徑部件的受力要盡可能保持在一個相對合理的范圍內,獎勵函數應該引導模型學會根據零件的受力情況來進行插入裝配動作的調整.從對裝配過程影響較大的力和位移2 個因素來設計獎勵函數.首先,依據在徑向力安全閾值范圍內的實際裝配深度來獲得主要獎勵;其次,設計2 種結束狀態,分別為單個徑向力或單個徑向累積位移超過預定范圍時的狀態;最后設計裝配成功的獎勵,即軸向累積位移達到預定值.模型中的獎勵函數設計如下:
式中:Ph為預定的裝配深度;Pa為實際裝配深度;k為裝配深度的獎勵系數;FT為零件受到的徑向力的閾值;Ft為實際受到的徑向力,Ft=;Asumz為z向累積運動量的閾值.當Ft>FT時,會得到一個負向的獎勵值,反之,得到一個正向的獎勵.另外,設Asumz≈0.8Ah,Ah為軸孔設計時的插入深度.如果Z向累積運動量大于閾值Asumz,則說明Z向已經運動到位,結束本次訓練循環,設置獎勵為0.
在模糊策略設計中,使用模糊規則來給出X向和Y向的動作調整系數.大口徑部件在裝配時會因夾具的剛性不足而產生抖動,因此利用模糊控制對輸入精確度要求不高的特點,設計模糊控制規則,以減小抖動誤差對裝配過程的影響.
模糊策略的設計,首先是模糊控制器的輸入和輸出.考慮到強化學習輸出有X、Y、Z3 個方向上的動作,其中Z向動作為插入動作,X和Y向為調整動作,因此模糊策略只對X和Y方向進行控制.由此輸入和輸出量如圖4 所示.圖中,HX、HY分別為方向X和Y上的動作調整系數.

圖4 模糊策略輸入輸出設計Fig.4 Input and output design of fuzzy strategy
在裝配過程中,方向X和Y相對于孔軸心來說具有對稱性,因此隸屬度函數A(FX)和A(FY)相同,A(HX)和A(HY)相同,隸屬度函數示意圖如圖5所示.

圖5 輸入和輸出的隸屬度函數Fig.5 Membership function diagram of input and output
輸入FX和FY被分為3 個范圍,S、P、L 分別表示偏小、合適、偏大,在裝配訓練中X和Y的徑向力閾值為30 N,因此輸入隸屬度范圍為[-30,30].輸出HX,HY也被分為3 個范圍,D、U、I 分別表示減小、不變、增大,為了使輸出力在較小范圍內變動,輸出隸屬度范圍設為[0.9,1.1],這樣能使算法具有較好的調整功能.
為了便于強化學習算法輸出力的調節,依據前面建立的隸屬度函數和已有的力控經驗制定相應的模糊規則,如表1 所示.

表1 一些模糊策略規則Tab.1 Some fuzzy policy rules
由確定性策略梯度(deterministic policy gradient,DPG)訓練出來的行為評判法是DDPGFA 算法的基礎[21].DDPGFA 是針對連續行為的策略學習方法,它基于策略-評估網絡結構,直接使用動作值函數來學習動作策略.DDPGFA 算法包含4 個網絡,分別為 Actor 網絡、策略Actor 網絡、Critic 網絡和策略Critic 網絡.
探索策略的目標是防止智能定位于局部最優.為此,采用貪婪策略來執行探索行為.在線學習階段算法的步驟如算法1[12]所示.
算法1.DDPGFA 算法
建立的虛擬軸孔裝配環境與實際裝配環境基本相同,模擬大口徑部件裝配過程的部分環境參數值如表2 所示.

表2 裝配環境參數Tab.2 Assembly environment parameters
狀態設置:為了顯示軸入孔階段的詳細過程,設置7 個狀態量,分別是X、Y、Z軸的力和力矩,還有軸和孔的相對位姿信息,其中Z向轉矩TZ設置為0.
動作設置:動作集使用了較為靈活的6 個基本動作,包含了X、Y、Z軸移動和轉動.
回報設置:依據軸孔裝配中主要參數變化情況,即徑向力和徑向累積位移來設計回報函數,以引導機器人快速高效地裝軸入孔.為了安全起見,在裝配過程中指定了力的閾值并將其納入獎勵函數.單一的徑向力或單一的徑向累積位移超過設定的范圍是給定的2 個結束狀態.獎勵函數表示為
式中:Asumx、Asumy分別為X、Y方向累積運動量的閾值,FTX、FTY分別為X、Y方向力的安全閾值.如果FX或者FY的絕對值大于安全閾值FTX和FTY,則設置獎勵為-1,且退出訓練過程;如果X軸的累積運動量大于安全閾值Asumx,或者Y軸方向的累積運動量大于安全閾值Asumy,則設置獎勵為-1,且退出訓練過程.
網絡結構設置:單獨的DDPG 算法和DDPGFA 算法的參數如表3 所示.

表3 DDPG 算法和DDPGFA 算法訓練參數Tab.3 Training parameters of DDPG algorithm and DDPGFA algorithm
在訓練過程中,在迭代過程中記錄智能體獲得的累積獎勵,并在相同裝配條件下測試DDPG裝配策略的訓練效果,如圖6 所示為2 種裝配算法訓練過程中的總獎勵Rew 隨訓練回合T的變化曲線.

圖6 DDPGFA 算法和DDPG 算法訓練過程獎勵曲線Fig.6 Reward curves of training process of DDPGFA and DDPG algorithms
從2 種算法的獎勵曲線可以看出,DDPGFA算法在訓練快速性方面強于DDPG 算法,相比之下,訓練成功所用回合數減少了15%.仿真圖表明,經過150 輪訓練,訓練過程逐漸穩定下來,在每一次成功的訓練過程中都能將各軸上的力維持在預定的閾值內.
裝配任務由KUKA 六自由度機器人執行,機器人重復定位精度為 ±50 μ m.六維力傳感器安裝在夾具與機器人末端連接處.位置和方向可以很容易地從機器人控制器上測量.計算機通過利用python 開發的TCP/IP 協議與機器人控制器通信.力控制器根據特定的快速指令從力傳感器讀取受力值.這樣,每個時間步采集狀態數據的時間約為2 s.對于本次大口徑軸孔裝配任務,對有模糊策略和無模糊策略的算法分別設置4 組初始位置不同的實驗,如表4 所示.表中,WX、WY、WZ分別為X、Y、Z軸方向初始軸孔相對位置.實驗1~4 的初始軸孔相對位置分別為軸孔裝配間隙的5、10、20、25 倍.

表4 裝配實驗算法與初始軸孔相對位置Tab.4 Algorithms for assembly experiments and initial relative position of peg and hole
在實驗過程中接觸力F隨裝配步數t的變化如圖7 所示.如表5 所示,統計了不同算法下X和Z方向的裝配力,因為這2 個系列的力可以大致代表裝配過程的力.對比實驗1 和實驗3,可以看出,在不同的位置偏差下,單純的DDPG 算法很難保持穩定的總裝配步驟和裝配時間,而DDPGFA 算法在不同的位置偏差下可以保持穩定的裝配過程,說明DDPGFA 算法在優化過程中明顯優于DDPG 算法,其收斂過程更加穩定.

表5 DDPG 與DDPGFA 算法在X 向和Z 向的裝配受力Tab.5 Assembly forces in X and Z directions by DDPG and DDPGFA algorithms

圖7 實驗過程中DDPG 與DDPGFA 算法受力圖Fig.7 Force diagram of DDPG and DDPGFA algorithms during experimentation
此外,在相同的位置誤差下,DDPGFA 算法的平均裝配力明顯小于DDPG 算法的裝配力變化,裝配力降低了約30%.在實驗3 和實驗4 中,DDPG算法的力的波動較大;在實驗4 中,DDPG 算法裝配失敗.雖然有明顯的位置偏差,但DDPGFA 算法調整得較平穩,裝配力也在可接受的范圍內.
綜上所述,基于DDPGFA 算法的裝配策略比基于單獨的DDPG 算法的具有更穩定的訓練過程和更強的求解能力,更能夠滿足大直徑軸孔零件的裝配任務要求,驗證了改進算法的有效性.
提出用于大口徑軸孔裝配任務的DDPGFA 裝配策略,該策略通過將模糊動作與傳統的DDPG算法結合,完成軸入孔的裝配訓練階段,然后應用于實際的裝配過程.
裝配訓練過程表明,提出的DDPGFA 策略可以實現更平滑的收斂狀態,并具有更快的收斂速度,在仿真訓練上比典型的DDPG 算法快15%.在實際裝配過程中,DDPGFA 策略在相同的初始位置偏差下有更穩定的裝配步驟.并且在裝配過程中,裝配接觸力減少了約30%,可以更快、更精確地進行機器人裝配動作調整.實驗結果證明所提控制策略的可行性和高效性.
在后續研究中,將考慮采用不同尺寸的軸孔來做對比實驗,制定更加泛用的控制策略,實現多種軸孔的柔順裝配.