黃玉林,陳乃建,范 振,張來偉
(濟南大學機械工程學院,山東濟南250022)
隨著現代社會的發展和科技水平的不斷提升,越來越多的工業機器人投入到工業生產中,工業機器人的設計和應用越來越成熟[1]。目前傳統機器人的示教以示教器示教和編程示教為主。示教器示教效率低,操作繁瑣,并且不適用于復雜的曲線或曲面軌跡;編程示教對編程者編程能力要求較高,并且脫離本體,難以保證精度。在此背景下,柔順示教因操作靈活、簡單且效率高而成為研究熱點。柔順示教是指機器人順應操作者操作力的運動軌跡,能夠記錄并再現作業軌跡。近幾年,國內外多家機器人廠家,如ABB、KUKA、新松等,相繼推出能夠實現柔順示教的機器人。
機器人的柔順示教分為主動柔順性和被動柔順性。機器人憑借一些輔助的柔順機構,在與環境接觸時能夠對外部作用力產生自然順從,稱為被動柔順控制; 機器人利用力的反饋信息,采用一定的控制策略主動控制作用力,稱為主動柔順控制[2]。被動柔順機構通常包括彈簧、阻尼等柔性裝置; 主動柔順控制按對作用力的獲取的方式的不同又分為基于力和力矩傳感器的柔順示教和免力矩傳感器的柔順示教。
文獻[3-5]中通過六維力/力矩傳感器或三維力/力矩傳感器實現對外界操作力的測量,同時將外力信號轉換成機器人的位置調整量,實現了對機器人末端的柔順示教。劉昆等[6]等通過安裝在機座的力傳感器,檢測關節扭矩的變化量,通過機器人動力學及運動學方程,完成力與位置的轉換,實現了基于關節位置變化的柔順示教。相對于末端六維力傳感器,關節扭矩傳感器可接觸范圍廣,安全性高,但是傳感器成本高、系統高度復雜等問題限制了此類基于傳感器的機器人柔順示教的研究及應用。
免力矩傳感器的柔順示教通過控制策略實現對力的非精確測量,目前已有的方法包括阻抗控制、零力控制(force-free control)、自適應控制等。Hogan[7]最早提出基于阻抗控制的機器人柔順示教,利用彈簧的阻抗特性,設定機器人末端含有虛擬彈簧系統,通過建立機器人末端力與位置的動力學模型,實現對力和位置混合控制下的柔順示教;文獻[8-9]中在阻抗控制的基礎上分別研究了不同阻抗系數和不同摩擦模型對柔順控制的影響,提出基于改進的位置阻抗控制的主動柔順示教和變系數摩擦模型的阻抗控制,對柔順示教功能具有一定的改善。Goto[10]提出柔順示教機器人的零力控制概念,即機器人在柔順示教運動過程中不受重力、摩擦力、離心力的影響,完全由操作者的操作力進行控制。游有鵬等[11]等在零力控制基礎上,提出重力、摩擦力的自測量方案,通過自制的直流伺服驅動的二連桿機器人,完成對重力、摩擦力的補償,實現柔順示教,但是未對空間多自由度機器人進行驗證。許家忠等[12]設計自適應控制器,實現了機器人參考位置與力跟蹤之間的轉換,驗證了自適應控制器對于柔順力跟蹤的準確性。
本文中基于已有的零力控制策略,針對常規六自由度機器人,提出基于人機協作的柔順示教及再現研究方法,將人機協作與柔順示教相結合,從而提高示教過程中人機協作性,降低成本,增強對作用力的控制精度,并實現高精度的軌跡跟蹤。
基于人機協作的柔順示教增強了人機協作性,由人和驅動電機共同承擔機器人運動過程中產生的各項力和力矩。機器人正常運動時動力學模型包括慣性力項、離心力和科氏力、重力項、摩擦力項,即
(1)

由機器人動力學模型式(1)可知,慣性力項與加速度有關,離心力和科氏力項與速度有關。由于柔順示教過程以由人施加在機器人末端的操作力為主導,示教速度較小,加速度較小,因此產生的慣性力項、離心力和科氏力項較小。
本文中提出的基于人機協作的柔順示教原理如圖1所示,電機輸出力矩實時補償各關節不同位姿時較大的重力項和庫倫摩擦力項;較小的慣性力、離心力和科氏力及黏滯摩擦力由操作者施加的操作力進行克服,電機輸出力矩和操作者施加的操作力共同作用于六自由度機器人,實現柔順示教。

關節角度、角速度; Mb—電機輸出力矩; Fh—操作者施加的操作力。圖1 基于人機協作的柔順示教原理
在人機協作方案中,原本完全由電機承擔的機器人運動過程中的各項力由操作者施加的操作力Fh和電機輸出力矩Mb共同承擔。結合原機器人動力學公式(1),人機協作狀態下的機器人力學模型為
(2)
操作者施加的操作力Fh包括與速度、加速度相關的慣性力、離心力和科氏力項及黏滯摩擦力等力矩較小的項;電機輸出力矩Mb包括重力矩、庫倫摩擦力矩。在以人為主導的操作力作用下,與電機輸出力矩相配合,人機協作,共同實現柔順示教。為了確定準確的Mb、Fh,需要對常規六自由度機器人的重力、摩擦力進行建模分析并計算。
對于常規六自由度機器人,當底座水平放置時,機器人的自重以及腰部產生的彎矩近似為0,因此對于第1個關節,僅考慮進行庫倫摩擦力的補償;對于第4、6個關節,2個關節在運動時只產生繞自身軸線的回轉運動,運行過程中質心位置變化較小,可忽略2個關節運動產生的重力矩;因此,只考慮庫倫摩擦力對第4、6個關節的影響。而第2、3、5個關節進行俯仰運動,質心位置隨機器人關節的位姿而變化,同時相鄰2個關節之間會產生重力耦合作用,因此需對該3個關節進行重力補償和摩擦力補償。最終對第1、4、6個關節只補償庫倫摩擦力矩,對第2、3、5個關節分析不同位姿時的重力矩影響和庫倫摩擦力影響。
首先建立該六自由度機器人連桿坐標系,進行力矩分析。機器人連桿坐標系及連桿關系如圖2所示。分析建立各關節重力和位姿的數學模型。
表1所示為由機器人連桿坐標系得到的機器人的Denavit-Hartenberg(D-H)參數。根據連桿坐標系及D-H參數,通過拉格朗日法推導建立機器人重力矩模型。
拉格朗日函數L為機器人系統的動能K與位能P之差,即
L=K-P。
(3)

x、y、z—連桿坐標系的x、y、z軸; ai—連桿長度,即在連桿坐標系中沿著xi軸從zi軸到zi+1軸平移的距離,i=0,1,…,6;αi—連桿轉角,即在連桿坐標系中繞著xi軸從zi軸到zi+1軸轉過的角度; di—連桿偏距,即在連桿坐標系中沿著zi軸從xi-1軸到xi軸平移的距離。圖2 機器人連桿坐標系及連桿關系

表1 機器人的D-H(Denavit-Hartenberg)參數
拉格朗日方程為
(4)


(5)
式中rp,ci為任意一點p在質心坐標系{ci}中的轉換位置。
設機器人連桿i的質量為mi,則第i號連桿的位能為
(6)
其中g=(gx,gy,gz,1)為重力加速度項。
僅包含重力項在內的機器人總位能為
(7)
即各關節重力補償項Gi為
(8)
第1、4、6個關節因結構特點而無需對其進行重力項補償。僅考慮第2、3、5個關節重力矩影響。
庫倫摩擦與法向載荷成正比,機器人結構確定后,法向載荷一定,即此時庫倫摩擦為常數,因此包含摩擦力在內的6個關節力矩補償模型為
(9)
式中:τi為各關節電機承擔的重力與摩擦力的合力,i=1,2,…,6;fi為第i個關節的庫倫摩擦力;ai為連桿長度,即在連桿坐標系中沿著xi軸從zi軸到zi+1軸平移的距離;ci=cosθi,θi為第i個關節的關節角;m34為第3、4個關節質量之和;m56為第5、6個關節質量之和;c23=cos(θ2+θ3);c235=cos(θ2+θ3+θ5);g為重力加速度。
根據式(9),在機器人柔順示教過程中,由各關節電機承擔的重力與摩擦力的合力為τi,i=1,2,…,6,當補償了較大的重力和摩擦力后,慣性力、離心力和科氏力等較小的力矩數值項就可以由操作者承擔,減小了操作者的負擔。此時操作者和電機共同施加作用力,人機協作共同完成柔順示教。各關節質量及庫倫摩擦力的具體數值可由最小二乘法辨識得到。
通過人機協作方案得到機器人運動過程中的重力和摩擦力數值,控制電機實時補償任意位姿下的重力和摩擦力,此時機器人就能平衡在任意位姿下;當操作者施加操作力作用在機器人末端時,平衡狀態被打破,機器人開始運動,即操作者施加的操作力完成對機器人運動過程中較小的慣性力、離心力等的補償,此時機器人就能順應操作者的作用力的軌跡實現運動,即實現柔順示教;示教完成后,當操作者撤去外力后,機器人又會穩定并平衡在示教的最后位置。可以通過Simulink軟件的人機交互界面查看實時保存的機器人柔順示教過程中的位置、角度、角加速度等變量,示教完成后,通過轉換伺服驅動器控制模式,執行再現程序完成示教軌跡的再現。
示教軌跡再現時,采用電機速度模式下的基于比例積分微分(PID)控制的速度追蹤,原因是PID控制是較成熟的傳統的機器人控制,性能穩定。在應用PID控制的基礎上,為了提高系統魯棒性,輔助以速度前饋的控制策略,速度前饋旨在減小狀態誤差,提高系統響應以增加系統穩定性。基于PID控制的速度跟蹤適用于完整軌跡的再現,如噴涂、焊接等作業環境中,該再現方式無需進行示教點的特征點提取及重新的軌跡規劃,只需對原始示教數據進行簡單的優化處理。
由于柔順示教過程是由操作者進行的手動拖動,因此會造成軌跡示教過程中速度的不連續、突變等問題;同時電機固有特性及電流采集過程中的各種干擾,將導致采集的速度等數據信號含有噪聲,無法對原始示教速度進行準確追蹤。對于以上問題,目前已有學者進行了相關研究。文獻[13]中針對示教軌跡形狀畸變問題,提出將三維空間軌跡進行二維平面投影,進行二維平面數據處理后,再通過羅德里格旋轉公式重新生成三維空間軌跡;雖然該方法很好地平滑了末端軌跡,但是數據處理量較大,占用大量內存,無法保證軌跡再現的實時性。
為了保證示教軌跡的完整性,同時提高數據處理速度,本文中選擇對原始示教速度進行低通濾波處理。低通濾波是一種較常用的數據處理方式,既能消除示教再現過程中的冗余點及突變點,平滑軌跡,又能最大程度地還原示教軌跡。軌跡再現流程圖如圖3所示。

圖3 軌跡再現流程圖
機器人軌跡再現過程包含速度和位置的雙閉環控制。在速度環中,將柔順示教過程中保存的速度作為原始示教速度,將示教速度進行低通濾波處理后作為軌跡再現時的跟蹤目標;將實時再現速度反饋與原始示教速度進行誤差計算,并將速度誤差進行比例調節,通過比例調節器進行調節控制,不斷對誤差進行修正;在位置環中,將示教位置與實時再現位置進行誤差追蹤,分別進行微分調節與比例調節,提高跟蹤精度。適當選擇微分系數Kd和比例系數Kp的數值,使系統既能達到較好的控制精度,同時又能生成較平滑的輸出力矩。
由于目前不同廠家的機器人控制系統都僅遵循相關廠家的標準,采用封閉的控制器與編程語言,用戶難以根據需求的變化對控制系統進行調整[14],因此需要搭建完全開放的機器人控制系統來驗證本文中所提出的控制方法。
開放式系統平臺基于個人計算機(PC)與固高系列(GTS)運動控制卡進行搭建,如圖4所示。系統平臺包括通用型六自由度機器人本體、工業控制計算機、GTS運動控制卡、多摩川交流電機、高創伺服驅動器等。
硬件平臺采用GTS-800-PV(G)-PCI系列運動控制卡。該控制卡可實現多軸協調運動,核心由數字信號處理(DSP)和現場可編程邏輯門陣列(FPGA)組成,可以實現高性能的控制計算[15]。以GTS-800-PV(G)-PCI系列運動控制卡為核心的GTS系列運動控制器將IBM公司的PC(IBM-PC)及其兼容機作為主機,提供標準的外設部件互聯標準(PCI)總線,內部自帶C語言函數庫、Windows動態鏈接庫、MATLAB 2012B(或更高版本)軟件實時驅動等,可實現復雜的控制功能。在硬件結構中,將工業控制計算機作為主機,通過PCI總線中插入GTS運動控制卡,通過端子板與高創伺服驅動器連接;高創伺服驅動器采用模擬電壓或脈沖方式輸入,采用電流環、速度環、位置環控制模式驅動電機;多軸驅動器通過菊花鏈RS232(串行通信標準接口之一)與上位機進行通訊。交流伺服電機具有絕對式編碼器,用于檢測電機實際位置,采樣周期為5 ms,通過編碼器反饋實時得到各關節角度信息,并將角度信息實時發送到在Simulink軟件已建立的示教程序中。

PCI—外設部件互聯標準。圖4 實驗平臺系統構成
上位機軟件包括用于高創伺服驅動器配置、調試的Servo Studio軟件平臺和用于機器人控制的MATLAB 2012B軟件平臺。Servo Studio軟件用于選擇驅動器類型、輸入交流電機基本參數等。Simulink軟件是MATLAB軟件的一種可視化仿真工具,內部提供了動態系統建模、仿真和綜合分析的集成環境,無需復雜程序的編寫能力,僅利用其內部不同的模塊就可搭建控制系統。
本實驗中,在Simulink軟件模塊中調用函數及功能如下: Trapmode函數,初始化設備并設置運行模式; GetAdc函數,讀取伺服電機電壓值; GetVel函數,讀取速度值; GetPos函數,讀取關節位置值; SetDac函數,轉換為模擬量輸出。
在MATLAB軟件中,將5個函數所編譯生成的動態鏈接庫嵌入文件m中,文件m是基于C++語言的可在MATLAB環境下運行的代碼,在文件m中完成MATLAB軟件與GTS運動控制卡的連接。函數調用流程如圖5所示。在柔順示教之前首先調用TrapMode、SetDac函數,分別用于設置運行模式和設置模擬量輸出,柔順示教時電機處于電流模式,軌跡再現時電機處于速度模式。電流模式和速度模式的輸入量都是電壓值。在柔順示教過程中調用GetAdc、GetPos、GetVel函數,分別用于監測并在Simulink軟件操作界面中反饋機器人運行過程中的電流、角度、角速度等實時變化量。示教完成后,示教文件會自動保存在MATLAB軟件的工作空間,以備查看或調用。

圖5 函數調用流程圖
當進行示教軌跡再現時,同樣通過TrapMode函數將運行模式轉換為速度模式,同時運行再現程序,調用已保存的包含角度、角速度、電流在內的示教文件,程序內部首先對原始示教文件進行低通濾波處理,然后將處理后的示教數據轉化為電壓發送到伺服驅動器,控制電機完成軌跡的跟蹤再現。
柔順示教過程中前3個關節運動量較大,因此采集的前3個關節的角度、角速度、角加速度數據分別如圖6。從圖中可以看出,示教過程較流暢,表明力矩補償較準確。
從圖6中還可以看出,速度、加速度含有很強的干擾,無法直接使用,原因是電流信號干擾及數據采集滯后等因素導致噪聲的影響嚴重,因此在示教再現過程之前需對原始角速度數據進行濾波處理,平滑軌跡。前3個關節的角速度原始圖形與濾波圖形如圖7所示。
角速度數據進行低通濾波后,軌跡較平滑,噪聲減弱,可以進行再現過程使用。示教完成后,打開再現程序,根據保存的示教信息,處理并發送示教信息,完成示教再現。示教軌跡及再現軌跡如圖8所示。從圖中可以看出,當柔順示教的方向發生改變時,軌跡再現有少許誤差,原因是方向改變時,速度、加速度突變導致跟蹤滯后,但是整體跟蹤精度較高,軌跡較流暢。

(a)第1個關節

(b)第2個關節

(c)第3個關節圖6 前3個關節的角度、角速度、角加速度數據采集

圖7 前3個關節的角速度原始圖形與濾波圖形

(a)前3個關節

(b)后3個關節圖8 前3個、后3個關節的示教軌跡與再現軌跡
本文中針對機器人柔順示教過程中動力學變化的特點,從人機協作、力矩補償角度出發,實現了基于人機協作的機器人柔順示教及軌跡再現,該方案關鍵在于重力矩和摩擦力矩的計算的準確性,通過理論分析、模型建立、實驗驗證,得到以下主要結論:
1)基于人機協作思想提出的機器人柔順示教的方法,在建立重力矩和摩擦力矩模型后,控制電機輸出相應電壓進行補償,進而實現柔順示教,較傳統示教更方便、靈活。
2)柔順示教結束后,保存相應角度、角速度、角加速度等關節信息,通過比例微分控制及速度前饋控制,進行示教軌跡跟蹤,完成示教再現,軌跡跟蹤精度良好,滿足基本作業要求。
3)將示教及再現算法在自行搭建的開放式機器人控制系統平臺進行實驗驗證,結果表明,柔順示教及軌跡再現效果良好,表明模型建立準確,補償效果顯著。