梁學(xué)勝,高偉強,許東偉,劉建群,郭俊權(quán)
(1.廣東工業(yè)大學(xué)機(jī)電工程學(xué)院,廣東廣州 510006;2.佛山市智昂科技有限公司,廣東佛山 528225)
拖動示教以其簡單直觀、對操作者要求低等優(yōu)點而廣泛應(yīng)用于噴涂、沖壓等工業(yè)機(jī)器人中。拖動示教又稱為直接示教,可以分為伺服級接通示教和功率級脫離示教[1]。后者需要伺服驅(qū)動器工作于力矩模式,然后由生產(chǎn)工人按照需求直接拖動機(jī)器人進(jìn)行示教,生成機(jī)器人控制程序。這種示教方法操作簡單,適用于需要面對復(fù)雜運動工況的工業(yè)機(jī)器人,但需要操作者施加較大的力來克服機(jī)械臂重力、慣性力等進(jìn)行拖動示教,操作靈活性受到約束,難以獲得平穩(wěn)、準(zhǔn)確的運行示教位姿。因此,如何對拖拽示教進(jìn)行力矩補償助力,成為該類示教機(jī)器人控制器設(shè)計的關(guān)鍵。
文獻(xiàn)[2]提出機(jī)器人零力控制的概念,即機(jī)器人示教過程中仿佛處于不受重力和摩擦力的環(huán)境,并且GOTO[3]提出通過位置控制實現(xiàn)零力控制的方法。游有鵬等[4]提出基于力矩控制的零力控制方法,并給出基于自測量的重力矩和摩擦力矩計算方案??梢钥闯觯@類方法在實際示教控制中需要進(jìn)行機(jī)器人動力模型的實時解算。而機(jī)器人精確的動力學(xué)模型實時解算中獲取機(jī)器人結(jié)構(gòu)、運動等參數(shù)較為困難,且會大大增加算法耗時,這嚴(yán)重制約了這類運動控制算法在高速采樣示教機(jī)器人中的應(yīng)用。針對上述問題,本文作者針對拖動示教噴涂機(jī)器人,提出一種基于神經(jīng)網(wǎng)絡(luò)的機(jī)器人拖動示教力矩補償方法:(1)分析多自由度機(jī)器人拖動示教過程中慣性力、重力等因素對各個關(guān)節(jié)力矩補償?shù)挠绊懀?2)采用無監(jiān)督學(xué)習(xí)的BP神經(jīng)網(wǎng)絡(luò)對算法模型進(jìn)行訓(xùn)練,使用經(jīng)過訓(xùn)練的模型來替代復(fù)雜的機(jī)器人動力學(xué)解算以提高算法的計算效率,實現(xiàn)算法在高速采樣示教機(jī)器人中的應(yīng)用。
力矩補償需要對機(jī)器人整體進(jìn)行動力學(xué)分析,通常,關(guān)節(jié)型機(jī)器人的動力學(xué)方程有如下表示[4-5]:
(1)
拖動示教噴涂機(jī)器人的總體結(jié)構(gòu)如圖1所示。可知:整個機(jī)器人的慣量主要分布于大臂和小臂,大、小臂關(guān)節(jié)的力矩計算是力矩補償算法的關(guān)鍵部分。此外,該機(jī)器人跟常規(guī)的6DOF機(jī)器人相比,還增加了平衡氣缸、連桿等輔助結(jié)構(gòu)。因此,為保證算法的有效性,還需對大臂和小臂的力矩補償進(jìn)行修正。
圖1 噴涂機(jī)器人總體結(jié)構(gòu)Fig.1 Overall structure of spraying robot
在力矩補償算法中,為了降低算法耗時,阻尼力矩可以通過實驗測試獲得的一常數(shù)對角陣Cf來近似替代部分阻尼力,將剩下的部分以及式(1)中計算較為復(fù)雜且數(shù)量級較小的非線性耦合項交由操作者施加外力來克服。因此,關(guān)節(jié)電機(jī)應(yīng)補償力矩TJ可簡化為
(2)
圖2 力矩補償算法流程Fig.2 Flow of torque compensation algorithm
(3)
式中:T3為小臂平衡氣缸產(chǎn)生的力對小臂關(guān)節(jié)產(chǎn)生的力矩。
連桿一AOB可看作是一剛體,F(xiàn)1為小臂平衡氣缸產(chǎn)生的推力,其大小可以根據(jù)氣缸壓力設(shè)定值p1查詢氣缸理論出力表獲得,可得
F1·d1=F3·OB
(4)
F2為連桿二中的推力,其大小等于F3在其方向上的分量,即
F2=F3·cosθ
(5)
聯(lián)立可得,小臂平衡氣缸產(chǎn)生的力對小臂關(guān)節(jié)產(chǎn)生的力矩為
T3=F1·d1·OB-1·cosθ·d2
(6)
圖3 小臂機(jī)構(gòu)受力Fig.3 Force analysis for forearm
為了減小大臂關(guān)節(jié)電機(jī)的負(fù)載,機(jī)器人大臂兩側(cè)各安裝有一個平衡氣缸,通過產(chǎn)生同等的拉力來平衡整個機(jī)器人的重心,因此力矩補償中需要減去這兩個氣缸產(chǎn)生的力矩。大臂機(jī)構(gòu)受力如圖4所示,點D為大臂平衡氣缸支座,OD沿豎直方向,平衡氣缸拉力方向與大臂形成一微小夾角α,β為大臂擺角。同時,還要考慮小臂平衡氣缸對大臂力矩補償?shù)挠绊憽R虼?,大臂力矩補償值TJ2可修正為
(7)
式中:T21、T22分別為小臂平衡氣缸和大臂平衡氣缸對大臂關(guān)節(jié)產(chǎn)生的力矩。
由圖3分析可得
T21=F1·d1
(8)
由正弦定理可知
(9)
因此可得
(10)
式中:F4為大臂兩側(cè)平衡氣缸產(chǎn)生的拉力,其大小可以根據(jù)氣缸壓力設(shè)定值p2查詢氣缸理論出力表獲得。
圖4 大臂機(jī)構(gòu)受力Fig.4 Force analysis for big arm
上述力矩補償算法中需要進(jìn)行動力學(xué)模型計算,運算量較大,算法耗時高達(dá)數(shù)毫秒甚至是數(shù)十毫秒,無法應(yīng)用于高速實時采樣的示教機(jī)器人。
人工神經(jīng)網(wǎng)絡(luò)是一種模仿生物神經(jīng)網(wǎng)絡(luò)行為特征、進(jìn)行分布式并行信息處理的算法模型,反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)被證明有良好的非線性函數(shù)逼近能力[7]。機(jī)器人的力矩補償算法是復(fù)雜的非線性系統(tǒng)模型解算,利用神經(jīng)網(wǎng)絡(luò)的函數(shù)逼近來替代高運算量的機(jī)器人運動控制算法,是解決這類算法實時性問題的有效手段之一。
使用的神經(jīng)網(wǎng)絡(luò)由輸入層、隱藏層和輸出層組成。這3層神經(jīng)元個數(shù)分別為nI、nH、nO,各層神經(jīng)元的索引分別用i、j、k表示。
(11)
參考Kolmogorov定理并采用試湊法[8],通過實驗測試得到隱藏層的神經(jīng)元個數(shù)nH為34時,算法模型有較好的收斂效果。根據(jù)神經(jīng)網(wǎng)絡(luò)的任務(wù)目標(biāo)為函數(shù)逼近,選擇隱藏層和輸出層的激活函數(shù)為帶泄漏的線性整流函數(shù)(LeakyReLU),參數(shù)α為0.182[9],該激活函數(shù)表達(dá)式為
(12)
BP神經(jīng)網(wǎng)絡(luò)由線性單元組成,需要訓(xùn)練的參數(shù)為ωi、bi、ωj、bj,分別是輸入層和隱藏層中各個神經(jīng)元的權(quán)重和偏置。設(shè)xi為輸入層第i個神經(jīng)元,隱藏層中第j個神經(jīng)元的輸出H(j)可以表示為
(13)
輸出層中第k個神經(jīng)元的輸出Y(k)可以表示為
(14)
使用的神經(jīng)網(wǎng)絡(luò)模型如圖5所示。
圖5 三層BP神經(jīng)網(wǎng)絡(luò)Fig.5 Three layers BP neural network
(15)
圖6 神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程
為了驗證力矩補償算法和已完成訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型,下面進(jìn)行實驗以測試算法模型的精度、計算效率以及力矩補償?shù)挠行浴?/p>
神經(jīng)網(wǎng)絡(luò)函數(shù)逼近精度可以通過數(shù)據(jù)測試集來驗證。以大臂力矩補償為例,將第二節(jié)中所得測試集代入BP模型中得到預(yù)測值,結(jié)果如圖7所示。與文中第1.3節(jié)所述力學(xué)模型計算所得的理論值相比,平均誤差為9%,最大誤差為17%,BP模型預(yù)測值的分布和趨勢與理論值一致,通過增加訓(xùn)練數(shù)據(jù)集樣本數(shù)或增加模型訓(xùn)練次數(shù),可以降低誤差使該模型進(jìn)一步實用化。
圖7 神經(jīng)網(wǎng)絡(luò)模型效果Fig.7 Effect of BP neural network model
將訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型移植到自研的基于EtherCAT總線的噴涂機(jī)器人控制器中進(jìn)行拖動示教實驗。實驗平臺采用IPC,控制器CPU為Intel i5 4200U。測試環(huán)境為Ubuntu 14.04,內(nèi)核為基于Xenomai 3.1.0的實時內(nèi)核,關(guān)節(jié)驅(qū)動采用EtherCAT總線伺服電機(jī),實驗機(jī)器人本體采用佛山某機(jī)器人公司噴涂機(jī)器人。使用Xenomai高精度內(nèi)核時鐘對算法的耗時進(jìn)行測試,測試結(jié)果如表1所示。相比較可得:經(jīng)過基于BP神經(jīng)網(wǎng)絡(luò)的算法將算法平均耗時減少70%,單個周期計算耗時小于3 ms,適用于高速采樣的示教機(jī)器人。
表1 力矩補償算法單個周期耗時
最后由操作者拖動機(jī)器人末端進(jìn)行示教,使用精度為±0.5%的測力計測量機(jī)器人靜止?fàn)顟B(tài)下向前拖動機(jī)器人所需要的最小外力Fmin。實驗現(xiàn)場如圖8所示。無力矩補償算法時最小外力Fmin為92.64 N,使用力矩補償算法后為14.74 N。對機(jī)器人的各個方向進(jìn)行10次拖動并測量最小外力,其平均值如表2所示。由此可得:力矩補償效果明顯,操作者可以輕松進(jìn)行機(jī)器人的拖動示教。
圖8 拖動實驗現(xiàn)場照片F(xiàn)ig.8 Photo of the dragging experiment scene
表2 力矩補償算法效果Tab.2 Effect of torque compensation algorithm
拖動示教噴涂機(jī)器人由于具有使用簡單方便、示教噴涂效果所見即所得等優(yōu)點,得到越來越多涂裝企業(yè)的重視和推廣應(yīng)用。目前這類機(jī)器人最大問題之一就是拖拽力大、拖動示教靈活性差。解決這一問題的有效方法就是示教時,讓關(guān)節(jié)的伺服驅(qū)動器工作于力矩模式,通過關(guān)節(jié)助力降低人工拖拽力,提高操控靈活性。
通過對拖動示教噴涂機(jī)器人建立力矩補償動力學(xué)模型,提出將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于拖動示教在線關(guān)節(jié)力矩補償算法中,解決了補償力矩高效實時的計算問題。該算法在自研的基于EtherCAT總線的機(jī)器人控制器中進(jìn)行了有效性驗證。所用的BP神經(jīng)網(wǎng)絡(luò)模型收斂速度快,計算效率高,函數(shù)逼近能力強。該模型經(jīng)過訓(xùn)練后可以替代復(fù)雜的機(jī)器人動力學(xué)解算,有效提高算法的計算效率,為解決低采樣周期中算法的實時性問題提供了參考。