摘要:針對原裝配機器人絲杠精度喪失嚴重的情況,并為了滿足其工作曲線可編程、PID控制高增益的要求,用主控計算機+經濟型運動控制卡作機器人控制器,用NURBS表示其工作曲線,由主控計算機完成曲線計算,并將該數據實時傳送到運動控制卡,運動控制卡用直線逼近工作曲線;在絲杠誤差補償時,用二次多項式分組擬合絲杠螺距累積誤差補償函數,以減小修正量噪聲引入,保證機器人工作速度的均勻性要求。采用上述技術對原機器人進行改造,達到了預期的效果。
1 前言
某公司一臺三坐標裝配機器人因超期服役,年久失修,精度喪失嚴重,裝配過程中時常不能正常工作。經測試,該設備的3個移動滑臺的絲杠均有一定的磨損,電控部分因元件老化且無配件,已沒有修復的價值。因此,在原有機構上采用運動控制卡取代原控制器,用軟件補償的方法修復坐標軸的定位精度是一個可行且經濟的方案。
2 改造方案
2.1 需求分析
本機器人用于幾個工作點和幾條平面曲線的涂膠,曲線與工作點可變,要求工作點定位誤差為±0.02mm,曲線可編程,曲線軌跡上的最大法向偏移量為±0.02mm,工作行程沿曲線運動時速度精(5±0.25)m/min,以保證涂膠均勻,最大空行程速度vmax=20m/min,不允許有明顯的振動。
2.2 技術方案
裝配機器人執行機構及改造方案如圖1所示。

圖1 裝配機器人改造方案
主要部件如下:
滑臺(原滑臺):Paker公司型號081-4139REVE的滑臺,有效工作行程381mm,絲杠螺距導程5.08mm,直徑15.2mm,導軌為滾動摩擦導軌。
伺服系統:日本YASKAWA公司的電機度為SGM-AH04AAA41,放大器型號為SGDM04ADA。
控制器:美國Galil公司型號為DMCl842的控制器,可支持4個步進或伺服電機。
計算機:PC/PentiumⅡ400。
DMCl842運動控制卡是一個核心部件。該卡通過PCI總線和主計算機通訊,卡上有一個高速FIFO用于數據的收發,其編碼器接口速率高達12MHz,控制采樣周期62.5μs/每軸。卡上有2MFlash用于存放控制程序,運動控制卡有點動、定位、直線插補、圓弧插補、電子齒輪、加減速控制、速度平滑過渡等數控功能,并有8個通用數字輸入和8個通用數字輸出接口及限位;零位、使能信號接口,控制卡用ASCⅡ或二進制方式編程,在主計算機上用C編寫上位機控制程序,并通過PCI總線與控制卡實時傳遞數據。
系統是半閉環結構,裝配機器人的動作由運動控制卡編程實現,定位精度補償采用靜態螺距累積誤差與反向間隙補償。
3 定位精度補償
3.1 軟件補償方案分析
常規的絲杠誤差補償方法是測定絲杠各點的螺距累積誤差值和反向間隙值,形成一個補償表,多數的數控系統都有靜態誤差補償功能,輸入該表由系統采用查表法自動完成補償。但是本系統采用該方法后效果較差,一是定位精度提高不明顯,二是工作行程速度不均勻。分析其原因是因為控制器采用常規PID算法,要提高機器人工作效率,就應提高空行程速度,增加開環增益,系統的跟隨誤差為:
跟隨誤差:命令位置-實際反饋位置+絲杠誤差修正量
在增益較大的情況下,如果修正量變化較大時,跟隨誤差的變化率被放大,相當于系統引入了一個噪聲,引起速度不均勻,且在某些定位點停止時,如果修正量碰巧是一個較大的量,經放大后形成一個速度峰值,反而造成系統過沖,系統不穩定,定位精度降低。實際測得的螺距誤差補償曲線拐點較多,變化率較大,我們采取二次多項式分組擬合誤差曲線的方法,平滑螺距誤差修正函數的拐點,相當于對螺距誤差曲線進行一次濾波,去除了高次噪聲。
3.2 數據測量與處理
采用西班牙FAGOR公司MOVY473光柵尺(分辨率0.5μm,重復定位精度±1.51xm)作直線位移的測量。在X軸上-41~+326mm范圍內,以一個標稱導程(5.08mm)為單位,測量73個點正向與反向定位數值。共測7組,去掉最大與最小值后取均值,得各點的正、反向絲杠累積誤差,再取其平均值得螺距累積誤差如圖2中實線所示。

圖2 絲杠螺距累積誤差與分組二次多項式擬合值
對上述數據采取分組二次多項式擬合處理,設擬合后的最大殘差為0.003mm,分組按最大點數原則,從前3個點開始,依次增加該組中的點數,直到該組擬合后的最大殘差大于設定值時,確定前一次組中各點為一組,依次類推。設擬合多項式的形式為:
p[SUB](x)[/SUB]=p1[SUP]x[/SUP]+p2[SUP]x[/SUP]+p3
在MATLAB上編程計算,將上述73點數據分成9組,各組起點、終點、多項式系數及最大殘差如表1所示,各組擬合后的曲線如圖2虛線所示。
采用這9個二次多項式分段計算修正量,在高益下系統穩定性很好。

表1 螺距誤差分組二次多項式擬合結果
4 曲線軌跡功能實現
DMCl842是經濟型的運動控制卡,它只有直線與圓弧插補功能,且沒有C代碼接口,對任意曲線軌跡的插補是無法直接實現的,同時為簡化人機界面的編程工作量,我們用3次NURBS表示工作曲線,并采用參數化編程方案。
用3次NURBS表示工作曲線,其參數方程為:

其中:di(i=0,1,…,n)為控制點,每個控制點對應1個權因子wi(i=0,1,2,…,n),w0>0,wn>0,其余wi≥0,Ni,3為3次規范B樣條基函數。其遞推公式為:

U={u0,u1,…,un+4}稱節點矢量。所以,對上述曲線只給出控制點、權值和節點矢量參數就可以了。
具體實現時,在主計算機上采用德布爾迭代算法求NURBS插值點,通過PCI總線上的高速FIFO,將插補數據送到DMCl842上,由直線插補命令實現對曲線的逼近。
5 檢測結果對比
以X軸為例,對補償前后的定位與重復定位精度進行評估。按照《數控軸線的定位精度與重復定位精度的確定》國家標準,不作補償的情況下,x軸定位與重復定位精度檢測結果如圖3所示,主要精度指標如表2所示。

表2 X軸未補償時主要定位精度指標

圖3 補償前雙向定位與重復定位精度
采用補償后,定位與重復定位精度測試結果如圖4所示,其主要定位精度指標如表3所示。

表3 X軸補償后主要定位精度指標

圖4 補償后雙向定位與重復定位精度
十分明顯,經補償后,定位精度與重復定位精度提高近1個數量級。
6 結束語
PC機+運動控制卡的開放式數控系統用作機器人控制器十分方便系統特定功能的實現,在高增益情況下,采用二次多項式擬合絲杠螺距累積誤差曲線,減少了噪聲的引入,保證了系統高增益下的穩定性。