周帥,劉曉鳴
(南京航空航天大學機電學院,江蘇南京 210016)
隨著機器人技術的迅速發展,機器人在工業生產中得到了更加廣泛的應用,其中機器人力控制是目前工業機器人的主要研究方向之一,研究機器人力控制技術具有重要意義[1]。工業機器人在進行磨削、拋光和裝配等接觸性作業時,由于機器人末端與工件表面的接觸力常常難以得到有效控制,容易造成工件表面的損傷,嚴重時甚至會損壞機器人,因此需要同時對機器人進行力和位置控制[2]。機器人的力控制中又分為被動力控制和主動力控制,機器人憑借一些輔助的柔順機構(如彈簧、阻尼等),使它在與環境接觸時能夠對外部作用力產生自然順從,這種方式被稱為被動力控制;機器人利用力的反饋信息,采用一定的控制策略主動控制作用力的方式被稱為主動力控制[3]。由于被動力控制的適應能力比較差,并且力控制的準確度較低,所以主動力控制成為現在的主流。
主動力控制一般可以歸結為四大類:阻抗控制策略[4]、力/位混合控制策略[5]、自適應控制策略和智能控制策略[6]。基于以上4種力控制策略,國內外學者對工業機器人加工過程中的力控制做了大量研究。XU等[7]提出了一種力/位置混合控制與PI/PD控制相結合的方法,應用于復雜幾何形狀的機器人砂帶磨削。張洪瑤等[8]提出了一種基于模糊PID的力/位混合控制策略應用于機器人自動化葉片磨削系統中,相比于傳統 PID 控制策略,接觸力控制效果和葉片加工質量都有較大的改善。AHMADI等[9]提出了一種用于工業機器人的聯合視覺與力的控制方法,用于控制機器人與環境的相互作用力,同時可以跟蹤工件上的所需路徑。吳炳龍等[10]提出一種基于位置控制的工業機器人力跟蹤剛度控制,該方法通過力閉環的積分控制實現力的直接控制,通過剛度控制實現力的間接控制,兩者的結合可以讓機器人控制更像人類與外界的交互方式。
為了解決機器人自動化磨削過程中的磨削力控制問題,本文作者提出一種基于神經網絡算法的工業機器人力控制方法,并搭建一套機器人自動化磨削系統,驗證所提出的力控制方法。
神經網絡是20世紀 40 年代由美國數學家 PITTS 和心理學家MC CULLOCH首次提出的[11]。神經網絡類似于人的腦神經,以神經元作為基本單元,神經元之間相互連接形成一個網絡。在輸入大量的訓練數據和參數之后,神經元會不斷地學習,不斷地傳遞信息,然后從這些復雜的數據中,找出其共同點和規律。神經元以平行排列的方式排列,每層都具有各自的作用,不同層的神經元之間相互連接在一起,網絡中的信息通過神經元之間的傳遞和處理,組成一個完整的神經網絡。神經網絡具體所實現的功能取決于其結構、權值、偏置值還有其神經元模型。神經元是神經網絡的基本計算單元,也被稱作節點或者單元。它既能接收其他神經元的輸入,又能從外部直接接收信號,然后計算一個輸出。最后通過輸出數據與訓練數據的差值反向傳播修正權重參數w和偏置參數b,使得模型預測值與訓練數據值逐漸一致。神經元的結構如圖1所示。

圖1 神經元結構示意
其中:x1,x2,x3,… ,xn是神經元的多維度輸入;w1,w2,w3,… ,wn是各個維度輸入數據與神經元之間的權值;∑為求和公式,它表示將神經元的輸入xi與對應的權值wi相乘再求和;b是神經元的偏置值;f(·)是神經元的激活函數,它能夠將輸入的數據經過一定的變換,把輸出結果限定在規定的范圍內;y是神經元的輸出,其表達式如下所示:
y=f(WX+b)
(1)
其中:X=[x1,x2,x3,…,xn];W=[w1,w2,w3,…,wn]T。
文中構建的神經網絡結構如圖2所示。整個網絡包括:輸入層、隱含層和輸出層。輸入層有一個神經元,代表輸入的磨削力信息;隱含層有2層,每層有16個神經元;輸出層有一個神經元,代表輸入磨削力對應的位移修正值。

圖2 神經網絡結構示意
采用控制變量法選取學習率、激活函數、Epochs和Batch size等參數,以保證神經網絡的預測精度。經過實驗,選取學習率為0.000 1,隱含層的激活函數LeakyRelu,Epochs為500。文中所構建的神經網絡選用的所有參數如表1所示。

表1 神經網絡參數
隱含層1第k個神經元的輸出為
ck=Max(0,wkx+bk)+0.2·Min(0,wkx+bk)k=1,2,…,p
(2)
其中:ck為隱含層1的輸出;wk為輸入層與隱含層1神經元之間的連接權值;x為輸入數據;bk為隱含層1的偏置值;n為輸入層神經元的個數;p為隱含層1的神經元個數。
隱含層2第t個神經元的輸出為
(3)
其中:dt為隱含層2的輸出;wtk為隱含層1與隱含層2神經元之間的連接權值;btk為隱含層2的偏置值;q為隱含層2的神經元個數。
輸出層的輸出為
(4)
其中:y為輸出層的輸出;wjt為隱含層2與輸出層神經元之間的連接權值;bjt為輸出層的偏置值。
神經網絡中各層神經元的權值和偏置值都會在訓練過程中得到調整,從而減小神經網絡的輸出與實際輸出之間的差距。神經網絡的具體訓練流程如圖3所示。

圖3 神經網絡算法流程
為了使神經網絡的預測效果達到最佳狀態,需要大量的實際數據對它進行訓練。文中當ABB機器人夾持工件磨削時,利用ATI六維力傳感器對法向磨削力進行采集(文中只針對法向磨削力進行研究),設置每秒鐘采集力信號1 000次,同時設置機器人法向進給速度為5 mm/s,從而可以獲得工件在磨削過程中法向磨削力與對應的法向位移偏移量。使用獲得的實際數據對構建好的神經網絡進行訓練,再用訓練后的神經網絡模型在測試數據上進行驗證,結果如圖4所示。

圖4 實際位移修正值和預測位移修正值對比
利用前面所構建的神經網絡,設計出一種基于神經網絡的機器人磨削力控制系統。其控制系統框圖如圖5所示。

圖5 機器人磨削力控制系統框圖
首先利用離線編程獲得機器人磨削加工軌跡,設定為離線軌跡;然后機器人控制器根據軌跡進行計算,得到各個關節所要轉動的角度,從而控制機器人運動。在磨削加工過程中,力傳感器對實際磨削力進行實時監控,并將力信號反饋給訓練好的神經網絡模型。通過神經網絡模型預測得到機器人磨削加工的軌跡修正值,將離線軌跡與軌跡修正值相加,就可以得到機器人的預期軌跡,從而實現機器人的間接力控制。
以ABB機器人為中心,搭建一套工業機器人磨削系統。系統硬件部分包括:ABB 4600 六自由度工業機器人、砂帶機、ATI Omega160 IP65 六維力傳感器、POE交換機和PC上位機。工業機器人磨削系統如圖6所示。

圖6 工業機器人磨削系統
ABB公司提供了軟件開發包PC SDK,它可以使得用戶基于機器人控制器開發一些定制的PC應用。由于PC SDK使用的是Microsoft.NET平臺,所以文中使用Microsoft Visual Studio軟件來開發機器人磨削系統上位機軟件,上位機軟件界面如圖7所示。該上位機軟件具有3種功能:(1)與ABB機器人控制器進行連接,可以對機器人進行遠程控制,實現機器人程序的運行和停止,并實時獲取機器人的狀態;(2)與ATI力傳感器通過UDP協議進行通信,可設置力傳感器每隔20 ms向上位機發送一次力數據,上位機接收到數據后,在上位機界面中以波形圖的形式實時顯示加工過程中機器人末端接觸力的變化,并記錄下來以便于后期分析;(3)將基于神經網絡的力控制算法集成在上位機軟件中,能夠根據力傳感器的力信息實時計算機器人加工軌跡的位移修正值,并實時輸送給機器人控制器,再利用ABB機器人的Path Offset功能(即路徑偏移,可以理解為在機器人原有加工路徑的基礎上進行偏移。)完成加工軌跡的實時修正,從而實現機器人的間接力控制。

圖7 上位機軟件界面
力傳感器是整個系統的關鍵部件,它能夠對機器人末端在加工過程中的接觸力進行實時監控,并將力信號反饋給力控制器。在此基礎上,力信號通過訓練好的神經網絡模型預測機器人磨削加工的軌跡修正值,并將軌跡修正值輸出給機器人控制器。機器人控制器對修正后的軌跡進行計算,得到期望加工軌跡,從而控制機器人本體進行運動,夾持工件在砂帶機上進行磨削,產生的接觸力由力傳感器測量再傳入力控制器。整個系統保持實時監測,實時修正。整個系統的加工流程如圖8所示。

圖8 磨削系統加工流程
針對前面所設計的基于神經網絡的機器人力控制方法,為了驗證其恒力控制效果,在所搭建的工業機器人磨削系統上進行了不同大小的磨削力跟蹤實驗,利用離線編程的磨削軌跡,使機器人夾持工件試件進行砂帶磨削。通過算法設定預期法向磨削力分別為20、25、30、35 N,再使用上位機軟件采集實驗過程中的法向磨削力,力跟蹤實驗波形如圖9所示。

圖9 力跟蹤實驗波形
可以看出:文中所提出的機器人力控制方法對于所設定的磨削力響應迅速,且在機器人夾持工件試件進行磨削的過程中,對磨削軌跡進行實時修正,磨削過程中的實際法向磨削力在預先設定的磨削力上下6 N內波動。驗證了基于神經網絡的機器人力控制方法具有恒力控制效果,且對于設定的磨削力響應迅速。
為驗證文中所提出的力控制方法在實際磨削加工過程中的有效性和機器人磨削系統的實用性,進行工件力控磨削實驗,加工對象為鈦合金平面工件。設置期望法向磨削力為40 N,實驗結果如圖10、圖11所示。

圖10 無力控(a)和有力控(b)的法向磨削力對比

圖11 無力控(a)和有力控(b)的工件表面對比
分析圖10可以看出:在無力控制的情況下,由于砂帶機和機器人在實際磨削過程中產生的頻繁震動,導致實際法向磨削力在50 N上下波動,且波動幅度較大,波動范圍在33~66 N;而在有力控制的情況下,法向磨削力在40 N上下波動,且波動幅度較小,波動范圍在34~46 N。圖11所示為無力控和有力控的工件表面對比,使用TR200粗糙度儀測量磨削后的工件表面(測量10次,取平均值),無力控制磨削后的工件表面粗糙度大約為0.501 2 μm,而經過有力控制的磨削后,工件表面的粗糙度達到了大約0.316 6 μm,這說明有力控制磨削的工件表面更加光滑,且表面加工一致性更好。綜上,文中所提出的機器人力控制方法對實際磨削過程中的法向磨削力有良好的控制效果,使實際法向磨削力能夠在預設的磨削力上下6 N波動,波動范圍相較于無力控制時更小,并且有力控制磨削時的工件表面粗糙度更低,表面加工一致性更好。
(1)提出了一種基于神經網絡的工業機器人力控制方法,通過實驗驗證了該力控制方法能夠對機器人磨削時產生的法向磨削力進行有效控制,且響應迅速,能夠使其在預設的磨削力上下6 N波動,相比在無力控制磨削的情況下,有效地降低了磨削后工件表面的粗糙度。
(2)搭建了一套工業機器人磨削系統,并開發了相應的上位機軟件,通過鈦合金試件磨削實驗,驗證了該磨削系統的實用性。