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

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

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

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

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

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

表2 X軸未補償時主要定位精度指標(biāo)

圖3 補償前雙向定位與重復(fù)定位精度
采用補償后,定位與重復(fù)定位精度測試結(jié)果如圖4所示,其主要定位精度指標(biāo)如表3所示。

表3 X軸補償后主要定位精度指標(biāo)

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