李少東,袁小鋼,牛 捷
(1.廣西大學(xué) 廣西電力裝備智能控制與運(yùn)維重點(diǎn)實(shí)驗(yàn)室,廣西 南寧 530004;2.智能帶電作業(yè)技術(shù)及裝備(機(jī)器人)湖南省重點(diǎn)實(shí)驗(yàn)室,湖南 長沙 410100;3.帶電巡檢與智能作業(yè)技術(shù)國網(wǎng)公司實(shí)驗(yàn)室,湖南 長沙 410100;4.國家電網(wǎng)有限公司,北京 100031)
隨著智能制造快速發(fā)展,機(jī)器人已通過示教或簡單編程方式完成結(jié)構(gòu)化生產(chǎn)線上的裝配任務(wù)[1]。但對于存在定位誤差的軸孔位姿不確定復(fù)雜裝配任務(wù),傳統(tǒng)算法的裝配成功率和效率遠(yuǎn)不能滿足期望。因此,研究適用于軸孔位姿不確定問題的控制算法非常重要。
在軸孔裝配過程中,軸零件與裝配孔間隙小且接觸頻繁,即使較小位置誤差也會(huì)出現(xiàn)卡阻、楔緊[2]或力值超過安全限制的情況,從而導(dǎo)致裝配失敗。因此,需要引入柔順控制來提高裝配成功率。柔順控制[3]分為被動(dòng)柔順和主動(dòng)柔順,可以解決機(jī)器人高剛度需求與環(huán)境順從能力之間的矛盾。被動(dòng)柔順是在機(jī)械結(jié)構(gòu)上增加彈簧、阻尼等儲(chǔ)能元件,使機(jī)器人與環(huán)境接觸時(shí)獲得一定的順從性,具有較低的控制復(fù)雜度[4]。但由于彈性元件的使用和特定場景的設(shè)計(jì),系統(tǒng)剛度和適應(yīng)性較差。主動(dòng)柔順[5]是基于傳感器感知環(huán)境信息,根據(jù)控制策略驅(qū)動(dòng)機(jī)器人順應(yīng)環(huán)境變化,有利于不確定環(huán)境下機(jī)器人自主操作。主動(dòng)柔順控制方法中導(dǎo)納模型是以力為輸入、位置為輸出,可控制機(jī)器人順應(yīng)環(huán)境作用力運(yùn)動(dòng),被廣泛應(yīng)用于機(jī)器人軸裝配任務(wù)。文獻(xiàn)[6-7]通過分析摩擦、錯(cuò)誤抓取姿勢等不確定性因素并針對性建立模型,提出一種機(jī)器人導(dǎo)納控制系統(tǒng)設(shè)計(jì)方法,解決不確定性因素影響下的零部件裝配問題,但仍存在較大模型誤差。文獻(xiàn)[8]提出一種嵌套的導(dǎo)納/阻抗控制策略,解決了較大位姿誤差的零部件裝配任務(wù),但僅在X、Y軸上開展了運(yùn)動(dòng)控制實(shí)驗(yàn)。上述研究基于固定參數(shù)導(dǎo)納控制賦予機(jī)器人一定的柔順操作能力,但其難以適應(yīng)變化的環(huán)境,且裝配效率較低,故需在線辨識(shí)導(dǎo)納參數(shù)來適應(yīng)軸孔位姿不確定的裝配環(huán)境,進(jìn)而提高機(jī)器人的裝配成功率和效率。
導(dǎo)納參數(shù)的在線辨識(shí)是以變化的導(dǎo)納模型去適應(yīng)裝配環(huán)境,尋找合適的導(dǎo)納參數(shù)配置,進(jìn)而高效地完成軸孔裝配任務(wù)。文獻(xiàn)[9]提出一種基于剛度橢圓的導(dǎo)納控制方法,實(shí)現(xiàn)了裝配任務(wù)中接觸狀態(tài)和非接觸狀態(tài)的連續(xù)控制,缺點(diǎn)是未能拓展到三維空間中。文獻(xiàn)[10]采用自適應(yīng)導(dǎo)納控制,在實(shí)際裝配操作中完成了無傳感器觸覺控制算法的驗(yàn)證,但存在裝配精度不高的問題。文獻(xiàn)[11]分析了導(dǎo)納參數(shù)對運(yùn)動(dòng)控制的影響規(guī)律,利用余弦相似度指數(shù)表征操作任務(wù),實(shí)現(xiàn)了阻尼參數(shù)的模糊自適應(yīng)配置,但對于非余弦相似度指數(shù)的裝配任務(wù)適用性未知。上述基于啟發(fā)式或模糊式的變參數(shù)方法在一定程度上改善了導(dǎo)納裝配的效果,卻都需對環(huán)境有一定的先驗(yàn)認(rèn)知,在不同裝配環(huán)境中難以保證效果,泛化能力較差。
強(qiáng)化學(xué)習(xí)的探索決策能力可以解決環(huán)境未知問題,能夠提高機(jī)器人在復(fù)雜環(huán)境中柔順操作的泛化能力[12-13]。隨著深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的結(jié)合[14],強(qiáng)化學(xué)習(xí)具備了解決連續(xù)運(yùn)動(dòng)控制問題的能力,在高維狀態(tài)動(dòng)作空間的決策任務(wù)中應(yīng)用較多,典型算法有深度Q網(wǎng)絡(luò)(Deep Q-Networks,DQN)[15]、深度確定性策略梯度算法(Deep Deterministic Policy Gradient,DDPG)[16]等。文獻(xiàn)[17]基于深度Q網(wǎng)絡(luò)實(shí)現(xiàn)了機(jī)器人精準(zhǔn)插孔的技能學(xué)習(xí),提高了機(jī)器人技能的適應(yīng)能力,但其僅在4自由度平臺(tái)完成了算法驗(yàn)證。文獻(xiàn)[18]基于DDPG算法提出一種混合勘探策略,提高了算法的適應(yīng)性,但其需要的訓(xùn)練步數(shù)較多,訓(xùn)練成本較高。深度強(qiáng)化學(xué)習(xí)提升了算法的泛化能力,但融入深度學(xué)習(xí)也使得訓(xùn)練過程需要輸入大量數(shù)據(jù),進(jìn)而導(dǎo)致算法計(jì)算量較大、收斂所需步數(shù)較多,在機(jī)器人軸孔裝配任務(wù)中并沒有體現(xiàn)出明顯優(yōu)勢。而基于強(qiáng)化學(xué)習(xí)的離散控制往往數(shù)據(jù)量小、訓(xùn)練速度較快,在軸孔裝配領(lǐng)域也有所應(yīng)用。文獻(xiàn)[13]利用Q-learning算法尋找最大化累積獎(jiǎng)勵(lì)的狀態(tài)動(dòng)作策略,解決了裝配對象決策過程的優(yōu)化問題。文獻(xiàn)[19]結(jié)合線性函數(shù)逼近的思想提出一種基于SARSA算法的在線調(diào)整策略,提高了裝配任務(wù)中的定位精度。但是,文獻(xiàn)[13,19]以固定的數(shù)學(xué)模型作為獎(jiǎng)勵(lì)函數(shù),很難準(zhǔn)確描述裝配過程??偟膩碚f,應(yīng)用強(qiáng)化學(xué)習(xí)算法使得機(jī)器人可以通過探索學(xué)習(xí)獲得操作技能,在保證裝配成功率的同時(shí)提升了機(jī)器人裝配操作的泛化能力,但上述算法均采用固定的數(shù)學(xué)模型建立獎(jiǎng)勵(lì)函數(shù)來表達(dá)時(shí)變、非線性的裝配過程,這顯然不能準(zhǔn)確評估動(dòng)作對裝配過程的影響。由此,需要重點(diǎn)研究裝配過程的獎(jiǎng)勵(lì)函數(shù)設(shè)定,正確引導(dǎo)學(xué)習(xí)方向。同時(shí),由于導(dǎo)納參數(shù)的離散取值只改變模型參數(shù)配置,并不影響機(jī)器人的連續(xù)運(yùn)動(dòng)控制,故可采用SARSA算法實(shí)現(xiàn)導(dǎo)納參數(shù)的在線辨識(shí),在大幅降低數(shù)據(jù)量的同時(shí)保證裝配成功率和效率。
綜上所述,本文采用SARSA算法在線辨識(shí)導(dǎo)納參數(shù),提高機(jī)器人裝配任務(wù)中軸孔位姿不確定情況的裝配成功率、效率和泛化能力。首先,分析了軸孔裝配機(jī)理指導(dǎo)運(yùn)動(dòng)控制策略設(shè)計(jì)。其次,仿真分析了導(dǎo)納模型各參數(shù)對位置響應(yīng)的影響,確定導(dǎo)納控制器參數(shù)設(shè)定。接著,結(jié)合運(yùn)動(dòng)控制邏輯、導(dǎo)納控制和SARSA算法提出了一種變參數(shù)導(dǎo)納控制策略。在算法的動(dòng)作價(jià)值更新過程中,建立以插孔深度、單次調(diào)整移動(dòng)量為尺度的動(dòng)作評估機(jī)制,并融合資格跡函數(shù)考慮每個(gè)動(dòng)作對裝配過程產(chǎn)生的長期影響,進(jìn)而提高算法學(xué)習(xí)效率。最后,在真實(shí)機(jī)器人平臺(tái)上開展3組對比實(shí)驗(yàn),通過比較累積獎(jiǎng)勵(lì)、調(diào)整步數(shù)和插孔深度3種指標(biāo),驗(yàn)證了變參數(shù)導(dǎo)納控制策略在裝配效率、成功率和泛化能力上的提升。
軸孔裝配過程一般分為孔外接近階段、孔邊搜孔階段和孔內(nèi)調(diào)整階段[2]。
(1)孔外接近階段是控制軸零件完成相對于裝配孔位置的初步定位,將軸零件移動(dòng)到裝配孔邊緣。
(2)孔邊搜孔階段是按照預(yù)設(shè)軌跡探索,通過傳感器獲取裝配孔位置,將軸零件移動(dòng)到可裝配域[2],即軸零件的側(cè)向位移小于裝配孔與軸零件半徑之差。
(3)孔內(nèi)調(diào)整階段是指從可裝配域任意位置開始直到插孔成功的過程,該階段直接影響裝配質(zhì)量。
孔內(nèi)調(diào)整階段是整個(gè)裝配過程的核心,而圓軸類零部件又是最常見的裝配操作對象,因此本文將圓軸類零部件在孔內(nèi)調(diào)整階段作為軸孔裝配任務(wù)的研究重點(diǎn)。為了合理設(shè)計(jì)控制策略、改善裝配效果,對軸孔裝配過程進(jìn)行機(jī)理分析,研究軸孔裝配過程的接觸狀態(tài)和運(yùn)動(dòng)控制邏輯。軸孔裝配過程根據(jù)接觸狀態(tài)可分為孔外未接觸、孔內(nèi)未接觸、單點(diǎn)接觸和兩點(diǎn)接觸,如圖1所示。為了更好地描述軸零件運(yùn)動(dòng),建立坐標(biāo)系O—XYZ如圖1a,其Z軸為裝配孔的軸向向上,X軸為裝配孔的徑向向右。從運(yùn)動(dòng)控制邏輯來看,裝配過程中軸零件的調(diào)整動(dòng)作包括沿X、Y、Z軸的移動(dòng)和繞X、Y軸的轉(zhuǎn)動(dòng)。在孔外未接觸和孔內(nèi)未接觸狀態(tài)應(yīng)控制軸零件沿Z軸負(fù)方向移動(dòng),若處于單點(diǎn)接觸和兩點(diǎn)接觸狀態(tài)應(yīng)控制軸零件順從環(huán)境作用力沿X、Y、Z軸移動(dòng)或繞X、Y軸轉(zhuǎn)動(dòng)。
隨著裝配深度的變化,適當(dāng)選取軸零件的移動(dòng)步長和轉(zhuǎn)動(dòng)角度有利于提高裝配成功率和效率,即隨著插孔深度增加,軸偏角減小,移動(dòng)步長和轉(zhuǎn)動(dòng)角度也應(yīng)減小。在如圖2所示兩點(diǎn)接觸的極限裝配狀態(tài),lmax表示軸零件沿X、Y軸的最大移動(dòng)步長;θ為軸零件與裝配孔中心線的夾角,表示軸偏角,并作為軸零件沿X、Y軸的最大轉(zhuǎn)動(dòng)角度;d為軸零件直徑;D為裝配孔直徑;h>0,表示插孔深度;Δmnk和Δkef是直角三角形,且有θ=θ1=θ2。對圖2所示裝配狀態(tài)進(jìn)行幾何分析,可得到移動(dòng)步長、軸偏角和插孔深度之間的關(guān)系:
(1)
進(jìn)一步整理可得:
2Dh2lmax=d2h2-D2h2。
(2)
式中:軸零件直徑d和裝配孔直徑D在軸孔裝配任務(wù)中是固定值,故沿X、Y軸的最大移動(dòng)步長lmax只與插孔深度h有關(guān),據(jù)此可設(shè)置軸零件的最大移動(dòng)步長。由式(1)還可整理得到:
(3)
式中軸偏角θ與lmax和h相關(guān),據(jù)此可設(shè)置沿X、Y軸的最大轉(zhuǎn)動(dòng)角度。
導(dǎo)納模型用來建立機(jī)器人控制量與環(huán)境作用力之間的動(dòng)態(tài)關(guān)系。為便于分析理解,本文以一維導(dǎo)納模型展開描述,可用相似方法延伸到多維度導(dǎo)納控制器。如圖3所示的一維導(dǎo)納模型中,Md、Bd和Kd分別表示機(jī)器人的虛擬慣性、虛擬阻尼和虛擬剛度,ΔF為環(huán)境作用力相對于期望力的偏差,ΔX為機(jī)器人當(dāng)前時(shí)刻和上一時(shí)刻的位姿偏差。由圖3可建立導(dǎo)納控制器為:
(4)
為進(jìn)一步實(shí)現(xiàn)計(jì)算機(jī)控制并保證離散化精度,本文采用雙線性變換法將式(4)離散化為:
(5)
式中:A=4Md+2BdT+KdT2,B=-8Md+2KdT2,C=4Md-2BdT+KdT2,T為采樣周期。由式(5)可進(jìn)一步得到差分表達(dá)式為:
T2F(k-2)-BX(k-1)-CX(k-2)]。
(6)
為方便導(dǎo)納控制器的分析與設(shè)計(jì),通過仿真研究了導(dǎo)納模型各參數(shù)對位置響應(yīng)的影響。將階躍力信號(hào)作為輸入,分析導(dǎo)納模型各參數(shù)不同取值對位置響應(yīng)的影響,仿真結(jié)果如圖4所示。圖4a為不同慣性參數(shù)對位置響應(yīng)的影響,可以看出慣性參數(shù)主要影響位置輸出的響應(yīng)速度和穩(wěn)定性,慣性參數(shù)越大,響應(yīng)速度越慢,超調(diào)量越大;圖4b為不同阻尼參數(shù)對位置響應(yīng)的影響,分析可知阻尼參數(shù)影響其位置輸出響應(yīng)速度,阻尼參數(shù)越大,響應(yīng)速度越慢;圖4c為不同剛度參數(shù)對位置響應(yīng)的影響,可以看出剛度參數(shù)主要影響位置輸出的幅值,剛度參數(shù)越小,位置輸出越大。
此外,由于機(jī)器人連續(xù)運(yùn)動(dòng)的控制特點(diǎn),需要考慮位置響應(yīng)對輸入信號(hào)的跟隨效果。因此,將隨時(shí)間變化的正弦力信號(hào)作為輸入,分析導(dǎo)納模型各參數(shù)不同取值對位置響應(yīng)的跟隨效果,仿真結(jié)果如圖5所示。圖5a為不同慣性參數(shù)對位置響應(yīng)的影響,可以看出慣性參數(shù)越大,位置響應(yīng)的周期性越差,跟隨效果越差;圖5b為不同阻尼參數(shù)對位置響應(yīng)的影響,分析可知阻尼參數(shù)越大,位置響應(yīng)的周期變化越大,跟隨效果越差;圖5c為不同剛度參數(shù)對位置響應(yīng)的影響,可以知道不同剛度參數(shù)的位置響應(yīng)具有相同周期,跟隨效果較好。綜上所述,慣性和阻尼參數(shù)主要影響其位置響應(yīng)對輸入信號(hào)的跟隨效果,剛度參數(shù)不影響位置響應(yīng)周期,只改變位置響應(yīng)的幅值。結(jié)合階躍輸入的仿真結(jié)果可知,導(dǎo)納模型在階躍輸入下響應(yīng)速度越快、穩(wěn)定性越好,其在正弦輸入下的跟隨效果就越好,導(dǎo)納參數(shù)取值變化對位置響應(yīng)的影響是一致的。在機(jī)器人軸孔裝配任務(wù)中,需要能夠控制機(jī)器人的移動(dòng)量,進(jìn)而更好地適應(yīng)不同的裝配環(huán)境。因此,為了控制導(dǎo)納裝配中機(jī)器人的移動(dòng)量,同時(shí)使系統(tǒng)有較快的響應(yīng)速度和較好的跟隨性能,將慣性和阻尼參數(shù)取較小數(shù)值,通過改變剛度參數(shù)取值控制導(dǎo)納模型輸出,進(jìn)而控制機(jī)器人移動(dòng)量。
將帶高斯噪聲的正弦力信號(hào)作為輸入,分析慣性參數(shù)和阻尼參數(shù)對位置響應(yīng)的影響,仿真結(jié)果如圖6和圖7所示。圖6是擾動(dòng)輸入下不同慣性參數(shù)取值的位置響應(yīng)的影響,其中圖6a為帶高斯噪聲的正弦力信號(hào)輸入,圖6b~圖6d分別表示慣性參數(shù)Md=0,Md=0.0001和Md=0.01時(shí)的位置響應(yīng)曲線,分析可知Md=0時(shí)位置響應(yīng)噪聲較大,Md=0.0001時(shí)位置響應(yīng)存在一定毛刺現(xiàn)象,Md=0.01時(shí)位置響應(yīng)噪聲較低,可見慣性參數(shù)有抑制噪聲輸入的作用。圖7是擾動(dòng)輸入下不同阻尼參數(shù)取值對位置響應(yīng)的影響,其中圖7a為帶高斯噪聲的正弦力信號(hào)輸入,圖7b~圖7d分別表示阻尼參數(shù)Bd=0,Bd=0.02和Bd=0.2時(shí)的位置響應(yīng)曲線,分析可知阻尼參數(shù)也可以抑制輸入擾動(dòng)對位置響應(yīng)的影響。因此,為保證系統(tǒng)具備一定抗干擾能力,慣性參數(shù)和阻尼參數(shù)一般不設(shè)為0。
基于上述仿真結(jié)果可知,采用導(dǎo)納模型控制機(jī)器人完成軸孔裝配任務(wù)時(shí),慣性參數(shù)Md和阻尼參數(shù)Bd應(yīng)取較小值,進(jìn)而保證機(jī)器人系統(tǒng)擁有快速的響應(yīng)能力、一定的抗干擾能力和良好的跟隨效果。同時(shí),由圖4a中Md=0.0001和圖4b中Bd=0.02的位置響應(yīng)曲線可以看出,兩種情況的位置響應(yīng)曲線與輸入的階躍力信號(hào)幾乎重合,繼續(xù)減小Md和Bd對系統(tǒng)的控制效果影響很小。綜上所述,在基于導(dǎo)納控制的真實(shí)裝配任務(wù)中慣性參數(shù)和阻尼參數(shù)選擇固定值,其中Md=0.0001,Bd=0.02。而剛度參數(shù)Kd影響位置響應(yīng)的幅值,調(diào)節(jié)Kd取值能明顯控制機(jī)器人移動(dòng)步長。因此,可以通過自適應(yīng)策略改變剛度參數(shù)Kd,在線調(diào)整機(jī)器人移動(dòng)步長,進(jìn)而提高機(jī)器人在不確定環(huán)境中的裝配效果。
在SARSA算法中,以S={s1,…,sm}表示狀態(tài)集合,A={a1,…,an}表示動(dòng)作集合,則在任意時(shí)刻t,智能體感知環(huán)境狀態(tài)st∈S,根據(jù)動(dòng)作策略選擇并執(zhí)行動(dòng)作at∈A到達(dá)新狀態(tài)st+1∈S,同時(shí)獲得瞬時(shí)獎(jiǎng)勵(lì)rt+1,然后基于動(dòng)作價(jià)值函數(shù)Qt(st,at)計(jì)算動(dòng)作價(jià)值Q-value,進(jìn)而更新動(dòng)作價(jià)值表Q-table,不斷重復(fù)上述步驟直到調(diào)整策略收斂。本文采用SARSA算法實(shí)現(xiàn)導(dǎo)納模型剛度參數(shù)的在線辨識(shí),探索不同狀態(tài)下剛度參數(shù)的選取策略,有望提高裝配成功率,減少裝配步數(shù),其控制策略如圖8所示。
在軸孔裝配過程中,不同插孔深度下智能體所處的狀態(tài)和允許的調(diào)整動(dòng)作存在極大區(qū)別,即環(huán)境狀態(tài)和調(diào)整動(dòng)作隨插孔深度的變化而變化。因此,本文采用插孔深度h表征裝配過程的環(huán)境狀態(tài)st,并以st作為SARSA算法的狀態(tài)輸入。在導(dǎo)納控制器中,導(dǎo)納模型輸出的調(diào)整動(dòng)作是機(jī)器人的位姿增量,其大小與導(dǎo)納模型參數(shù)取值高度相關(guān)。而導(dǎo)納模型的剛度參數(shù)作為在線辨識(shí)的對象,則成為SARSA算法的動(dòng)作輸出。在圓軸類零部件的裝配任務(wù)中,機(jī)器人運(yùn)動(dòng)共需要5個(gè)自由度,對應(yīng)導(dǎo)納控制器的剛度參數(shù)為5個(gè)維度。由于不同維度的虛擬剛度在取值上存在一定比例關(guān)系,SARSA算法的輸出動(dòng)作at可設(shè)為一個(gè)標(biāo)量,其余維度的虛擬剛度通過比例關(guān)系映射得到。SARSA算法的動(dòng)作選取采用ε-greed策略,可表述為:
式中:ε為概率因子,0<ε<1;|A|為動(dòng)作數(shù)量。在任意狀態(tài)st下,智能體根據(jù)均勻概率或動(dòng)作價(jià)值最大原則選擇動(dòng)作??紤]智能體執(zhí)行輸出動(dòng)作對裝配過程產(chǎn)生的長期影響時(shí),選定并執(zhí)行的動(dòng)作產(chǎn)生正向影響,其余動(dòng)作產(chǎn)生負(fù)向影響。因此,本文采用資格跡函數(shù)實(shí)現(xiàn)智能體的部分記憶功能,區(qū)分不同動(dòng)作對裝配過程的影響,提高算法學(xué)習(xí)效率。資格跡函數(shù)可表述為:
(8)
式中:et(s,a)表示t時(shí)刻所有狀態(tài)-動(dòng)作對的資格跡,λ為資格跡退化參數(shù),ω為正向權(quán)值,st為環(huán)境狀態(tài),at為所選擇動(dòng)作。當(dāng)環(huán)境狀態(tài)st與輸出動(dòng)作at選定后,對所有狀態(tài)—?jiǎng)幼鲗Φ馁Y格跡根據(jù)式(8)進(jìn)行更新,即t時(shí)刻環(huán)境狀態(tài)st與輸出動(dòng)作at所對應(yīng)的資格跡增加相應(yīng)權(quán)值,其余按比例衰減。結(jié)合資格跡函數(shù),狀態(tài)動(dòng)作值更新方式為:
(9)
式中:Qt(s,a)為t時(shí)刻所有狀態(tài)—?jiǎng)幼鲗Φ膭?dòng)作價(jià)值Q-value,可用Q-table表示,δt為時(shí)間差分誤差,α為學(xué)習(xí)率,rt為瞬時(shí)獎(jiǎng)勵(lì),γ為折扣因子,st+1為t+1時(shí)刻的環(huán)境狀態(tài),at+1為t+1時(shí)刻所選擇動(dòng)作。在任意狀態(tài)下,智能體選擇并執(zhí)行一個(gè)動(dòng)作就更新一次Q-table,進(jìn)而學(xué)習(xí)獲得使整個(gè)裝配過程的累計(jì)獎(jiǎng)勵(lì)趨于最大值時(shí)不同狀態(tài)下剛度參數(shù)的最佳選取策略。因此,獎(jiǎng)勵(lì)函數(shù)可根據(jù)裝配過程中期望得到優(yōu)化的性能指標(biāo)進(jìn)行定義。對于軸孔裝配任務(wù),期望調(diào)整步數(shù)steps越少越好,且真實(shí)接觸力F′始終在安全范圍內(nèi),故本文構(gòu)建式(10)所示的瞬時(shí)獎(jiǎng)勵(lì)函數(shù)優(yōu)化上述評價(jià)指標(biāo),瞬時(shí)獎(jiǎng)勵(lì)函數(shù)如下:
rt=Rt+Rp。
(10)
式中:Rt為負(fù)值,表示單次調(diào)整動(dòng)作的過程獎(jiǎng)勵(lì);Rp為負(fù)值,表示因調(diào)整步數(shù)steps過多或接觸力F′過大導(dǎo)致裝配失敗的定值懲罰。在軸孔裝配任務(wù)中,過程獎(jiǎng)勵(lì)Rt與插孔深度h、單次調(diào)整移動(dòng)量Δh高度相關(guān)。但常規(guī)獎(jiǎng)勵(lì)函數(shù)評估裝配動(dòng)作時(shí)未考慮單次調(diào)整移動(dòng)量和非線性情況,往往不能充分表達(dá)真實(shí)的裝配過程。因此,本文基于插孔深度h、單次調(diào)整移動(dòng)量Δh建立過程獎(jiǎng)勵(lì)表,通過建立的過程獎(jiǎng)勵(lì)機(jī)制評估每一步的裝配動(dòng)作,在同一深度h處,Δh越大則Rt越大,Δh相同時(shí),上一時(shí)刻所處深度h越大則Rt越大?;诮⒌乃矔r(shí)獎(jiǎng)勵(lì)函數(shù)rt,智能體在線學(xué)習(xí)并優(yōu)化評價(jià)指標(biāo),機(jī)器人的單次調(diào)整移動(dòng)量Δh往增大方向變化,所需調(diào)整步數(shù)相應(yīng)減少,過程獎(jiǎng)勵(lì)和瞬時(shí)獎(jiǎng)勵(lì)增大。當(dāng)智能體選擇并執(zhí)行一個(gè)動(dòng)作后,根據(jù)過程獎(jiǎng)勵(lì)機(jī)制獲得過程獎(jiǎng)勵(lì)Rt,接著計(jì)算瞬時(shí)獎(jiǎng)勵(lì)rt,進(jìn)而根據(jù)動(dòng)作價(jià)值函數(shù)更新Q-table,學(xué)習(xí)尋找使式(11)趨于最大的剛度參數(shù)調(diào)整策略,其實(shí)際就是期望軸孔裝配過程獲得最大累積獎(jiǎng)勵(lì)Reward,
(11)
為便于理解SARSA算法的在線優(yōu)化過程,給出剛度參數(shù)在線辨識(shí)的單次訓(xùn)練過程,如偽碼1所示。
偽碼1基于SARSA算法辨識(shí)剛度參數(shù)的單次訓(xùn)練過程。
1:輸入:環(huán)境狀態(tài)s
2:初始化:重力補(bǔ)償、導(dǎo)納控制器、離散動(dòng)作集A、Q-table和SARSA算法相關(guān)參數(shù)設(shè)置
3:t←0, et(s,a)←0, Qt(s,a)←10
4:For t=0,1,2,…do
5: 獲取環(huán)境狀態(tài)st
6: at←根據(jù)式(7)所示動(dòng)作選取策略完成動(dòng)作選取
7: 獲取瞬時(shí)獎(jiǎng)勵(lì)rt,計(jì)算δt
8: 根據(jù)式(9)更新Q-table
9: If s=siand a=aithen
10: et+1(s,a)←λet(s,a)+ω
11: else
12: et+1(s,a)←λet(s,a)
13: end if
14: t←t+1
15: Output:動(dòng)作輸出Bd
16:end for
為驗(yàn)證基于SARSA算法的變剛度導(dǎo)納控制策略有效性,開展了3組軸孔裝配實(shí)驗(yàn),實(shí)驗(yàn)1是基于位置控制完成裝配任務(wù),根據(jù)實(shí)驗(yàn)結(jié)果分析位置控制特點(diǎn);實(shí)驗(yàn)2對比基于SARSA算法的變剛度導(dǎo)納控制和5組定參數(shù)導(dǎo)納控制的裝配效果,分析變剛度導(dǎo)納控制策略的優(yōu)勢和有效性;實(shí)驗(yàn)3是在不同初始位姿下進(jìn)行裝配測試,驗(yàn)證變剛度導(dǎo)納控制策略的泛化能力。在軸孔裝配過程中,以調(diào)整步數(shù)Steps、累積獎(jiǎng)勵(lì)Reward和插孔深度Depth為評估裝配過程的指標(biāo),Steps值越小,表示插孔成功所需的調(diào)整步數(shù)越少,裝配效率越高;Reward值越大,表示裝配過程的累積獎(jiǎng)勵(lì)越高、裝配效益越好;Depth值達(dá)到目標(biāo)深度的次數(shù)越多,表示裝配成功率越高。機(jī)器人軸孔裝配平臺(tái)如圖9所示,實(shí)驗(yàn)采用UR10工業(yè)機(jī)器人作為執(zhí)行器;采用M4313M2B六維力傳感器獲取軸孔裝配過程的環(huán)境作用力,并安裝于機(jī)器人法蘭和工件之間;軸零件直徑為10.0 mm,長度為35.0 mm,采用螺紋方式固定于六維力傳感器的受力面;裝配孔為3D打印制作,孔的直徑為13 mm。
軸孔裝配開始前,軸零件處于可裝配域任意初始位置,接近裝配孔但不與之接觸,然后機(jī)器人控制軸零件相對于圖9所示基坐標(biāo)系O1-X1Y1Z1進(jìn)行運(yùn)動(dòng),完成如圖10所示初始位置—調(diào)整階段—插孔成功或失敗的裝配過程。由于搜孔階段定位產(chǎn)生的軸偏角通常低于5度,故本文以5~10度的大角度軸偏角來驗(yàn)證算法的柔順裝配能力。當(dāng)裝配過程的插入深度不小于30 mm,力值小于2 N時(shí)認(rèn)定插孔成功,而調(diào)整步數(shù)或接觸力超出限制則認(rèn)定插孔失敗。出現(xiàn)插孔成功或失敗時(shí)退出當(dāng)前動(dòng)作,回到初始位置開始下一回合裝配過程。
由于強(qiáng)化學(xué)習(xí)算法在初始訓(xùn)練階段有較強(qiáng)的隨機(jī)探索性,裝配過程中會(huì)出現(xiàn)危險(xiǎn)的探索性動(dòng)作,容易導(dǎo)致裝配失敗或工件損壞。因此,實(shí)驗(yàn)中應(yīng)對機(jī)器人的移動(dòng)速度和加速度施加限制。此外,從裝配作業(yè)的安全性考慮,應(yīng)設(shè)置裝配過程的接觸力閾值,并結(jié)合軸孔裝配機(jī)理分析設(shè)置各軸向最大移動(dòng)步長和轉(zhuǎn)動(dòng)角度,具體參數(shù)如表1所示。
表1 機(jī)器人實(shí)驗(yàn)參數(shù)
3.2.1 基于位置控制的軸孔裝配實(shí)驗(yàn)
為方便對比導(dǎo)納控制的裝配效果,采用單變量法設(shè)計(jì)基于位置控制的軸孔裝配實(shí)驗(yàn),將沿X1軸的移動(dòng)量設(shè)為SARSA算法的動(dòng)作輸出,其余軸向的移動(dòng)和旋轉(zhuǎn)均以定參數(shù)導(dǎo)納控制實(shí)現(xiàn)。根據(jù)實(shí)驗(yàn)現(xiàn)象設(shè)置環(huán)境狀態(tài)集合S={5,10,15,22,26,28,30},結(jié)合軸孔裝配機(jī)理分析設(shè)置動(dòng)作集合A1={-0.001,-0.0005,0,0.0005,0.001},根據(jù)導(dǎo)納模型仿真結(jié)果設(shè)置Md=0.0001,Bd=0.02,Kd=1,控制器其余參數(shù)如表2所示。
表2 控制器模型參數(shù)
基于位置控制的軸孔裝配實(shí)驗(yàn)如圖11所示,Reward和Depth曲線出現(xiàn)劇烈振蕩,沒有收斂趨勢,且裝配過程成功率極低。觀察Steps曲線,此時(shí)的軸孔裝配過程往往是試探1~3步就會(huì)力值超限觸發(fā)失敗退出插孔動(dòng)作,這是由于SARSA算法的動(dòng)作輸出隨機(jī)性較強(qiáng),機(jī)器人執(zhí)行了不合適的位置增量運(yùn)動(dòng),導(dǎo)致移動(dòng)中力值超限引發(fā)插孔失敗?;谖恢每刂浦苯舆M(jìn)行增量運(yùn)動(dòng)對于裝配過程接觸力的敏感性強(qiáng)、順從性差,較小的增量運(yùn)動(dòng)也可能出現(xiàn)非常大的接觸力,進(jìn)而導(dǎo)致插孔失敗。綜上所述,基于位置控制的裝配過程隨機(jī)性較強(qiáng),對接觸力的敏感性強(qiáng)、順應(yīng)性差,難以直接應(yīng)用于軸孔裝配任務(wù)。
3.2.2 基于導(dǎo)納控制的柔順軸孔裝配實(shí)驗(yàn)
為分析不同剛度取值對導(dǎo)納裝配過程的影響,分別獲取Kd取0.1、1、1.5、2、4時(shí)累積獎(jiǎng)勵(lì)Reward、單次訓(xùn)練調(diào)整步數(shù)Steps和插孔深度Depth數(shù)值繪制曲線?;诙▍?shù)導(dǎo)納控制的軸孔裝配過程如圖12所示圖中。觀察Kd=0.1時(shí)導(dǎo)納裝配過程,Reward和Depth曲線出現(xiàn)大幅度凹陷,表示該取值下裝配失敗次數(shù)多,裝配成功率低,結(jié)合Steps曲線可知,此時(shí)若裝配成功則調(diào)整步數(shù)Steps較少,具有較高的裝配效率。綜上所述,由于Kd=0.1時(shí)裝配成功率低且不穩(wěn)定,難以直接用于軸孔裝配任務(wù)。觀察Kd分別取1、1.5、2、4的Reward和Steps曲線,隨著Kd取值減小,累積獎(jiǎng)勵(lì)變大,裝配所需調(diào)整步數(shù)明顯降低,結(jié)合Depth曲線可知,四組取值下的導(dǎo)納裝配過程穩(wěn)定性較好,成功率均為100%。Kd=1時(shí),調(diào)整步數(shù)為9步,累積獎(jiǎng)勵(lì)穩(wěn)定在-3.9左右;Kd=1.5時(shí),調(diào)整步數(shù)為12步,累積獎(jiǎng)勵(lì)穩(wěn)定在-6.8左右;Kd=2時(shí),調(diào)整步數(shù)為18步,累積獎(jiǎng)勵(lì)穩(wěn)定在-12左右;Kd=4時(shí),調(diào)整步數(shù)為38步,累積獎(jiǎng)勵(lì)穩(wěn)定在-33左右。從實(shí)驗(yàn)結(jié)果來看,定參數(shù)導(dǎo)納控制在合適取值時(shí)能夠較好地完成柔順裝配任務(wù),但合適的參數(shù)值并不容易獲取,往往需要付出大量的時(shí)間和試錯(cuò)成本,且定參數(shù)導(dǎo)納控制在不同裝配任務(wù)中效果差異大,適用性較差。
基于SARSA算法的變剛度軸孔裝配實(shí)驗(yàn)中,根據(jù)軸孔裝配機(jī)理分析和導(dǎo)納參數(shù)仿真結(jié)果得到SARSA算法的動(dòng)作集合A={0.1,1,1.5,2,4},控制器中除虛擬剛度外的其余參數(shù)與基于位置控制的裝配實(shí)驗(yàn)一致。基于SARSA算法的剛度在線辨識(shí)過程如圖13所示,隨著訓(xùn)練次數(shù)的增加,累積獎(jiǎng)勵(lì)Reward、調(diào)整步數(shù)Steps和插孔深度Depth曲線趨于穩(wěn)定。從Reward和Steps曲線可以看出,基于SARSA算法的變剛度控制策略在第6回合開始有收斂的趨勢,具備較快的收斂速度,提高了對裝配環(huán)境的適應(yīng)能力。訓(xùn)練過程僅在第14和22回合出現(xiàn)力值超限導(dǎo)致插孔失敗,這是由于訓(xùn)練前期較高隨機(jī)性導(dǎo)致。插孔失敗后該狀態(tài)下策略調(diào)整更新,并開始下一回合訓(xùn)練,從Reward、Steps和Depth曲線均逐漸穩(wěn)定在一個(gè)值附近可知,基于SARSA算法的變剛度控制策略趨于收斂。策略收斂后,調(diào)整步數(shù)穩(wěn)定在7~8步,累積獎(jiǎng)勵(lì)穩(wěn)定在-2.8附近,裝配成功率為100%。對比5組定參數(shù)導(dǎo)納控制裝配過程,收斂后的變剛度控制策略在保證100%成功率的同時(shí)有最高的裝配效率,較Kd=0.1時(shí)定剛度導(dǎo)納控制的裝配成功率和穩(wěn)定性有較大提升,與Kd取1、1.5、2、4時(shí)的裝配效率也有明顯提升。因此,實(shí)驗(yàn)結(jié)果表明,基于SARSA算法的變剛度導(dǎo)納控制策略可以有效提高機(jī)器人軸孔裝配任務(wù)的成功率和效率。
3.2.3 不同初始位姿的裝配測試
為了驗(yàn)證基于SARSA算法的變剛度控制策略的泛化能力,采用收斂后的策略在3組不同的初始位姿開展了20次插孔測試。由于搜孔階段定位時(shí)軸偏角通常低于5度,孔截面的位置誤差β低于60度。因此,3組測試初始位姿的軸偏角設(shè)為5度、7.5度和10度,對應(yīng)如圖14所示β角度內(nèi)3個(gè)位置,測試結(jié)果如圖15所示。觀察Reward和Steps曲線,3組測試結(jié)果基本一致,累積獎(jiǎng)勵(lì)穩(wěn)定在-5左右,調(diào)整步數(shù)穩(wěn)定在7~8步,裝配效率高,結(jié)合Depth曲線可知,3組測試的裝配成功率均為100%,算法穩(wěn)定性較好。測試結(jié)果表明所提算法具備一定的泛化能力。
針對機(jī)器人裝配任務(wù)中軸孔位姿不確定問題,本文提出了一種基于SARSA算法的變導(dǎo)納控制策略。首先,分析了軸孔裝配機(jī)理,指導(dǎo)運(yùn)動(dòng)控制策略。其次,仿真分析了不同導(dǎo)納參數(shù)的位置響應(yīng),確定控制器參數(shù)。接著,將建立的裝配動(dòng)作評估機(jī)制和資格跡函數(shù)引入SARSA學(xué)習(xí)過程提高所提算法的效果和效率。最后,在機(jī)器人平臺(tái)開展了3組實(shí)驗(yàn)?;谖恢每刂频难b配實(shí)驗(yàn)中,訓(xùn)練結(jié)果出現(xiàn)劇烈振蕩,證明了柔順控制的必要性。定參數(shù)和變參數(shù)導(dǎo)納裝配的對比實(shí)驗(yàn)中,變參數(shù)導(dǎo)納控制算法收斂后裝配成功率為100%,調(diào)整步數(shù)僅為7~8步,相較定參數(shù)導(dǎo)納控制提升明顯,驗(yàn)證了所提變參數(shù)導(dǎo)納控制策略的優(yōu)勢。不同初始位姿下的裝配實(shí)驗(yàn)結(jié)果一致,驗(yàn)證了所提算法的泛化能力。上述結(jié)果表明,所提算法有望解決機(jī)器人裝配任務(wù)中的軸孔位姿不確定問題。目前,本文僅考慮了力信息,而面向更復(fù)雜的裝配任務(wù)存在局限性,后續(xù)可以引入視覺等多模態(tài)信息進(jìn)一步提高算法的穩(wěn)定性和泛化能力。