劉文光
(濟(jì)南職業(yè)學(xué)院,山東 濟(jì)南 250103)
目前很多高校開設(shè)KUKA工業(yè)機(jī)器人相關(guān)課程[1-4]。對(duì)于KUKA工業(yè)機(jī)器人操作與編程,前期教學(xué)可采用 KUKA.Sim Pro 和 KUKA.OfficeLite軟件相結(jié)合的方式,在虛擬環(huán)境中離線編程并模擬現(xiàn)場操作與示教編程,待學(xué)生掌握常用指令并熟悉設(shè)備操作后,后期教學(xué)再利用實(shí)際硬件設(shè)備進(jìn)行實(shí)訓(xùn)。以下給出利用 KUKA.Sim Pro 和 KUKA.OfficeLite實(shí)現(xiàn)工業(yè)機(jī)器人操作與編程的教學(xué)案例。
通過授課,使學(xué)生掌握KUKA工業(yè)機(jī)器人點(diǎn)到點(diǎn)運(yùn)動(dòng)指令PTP、線性運(yùn)動(dòng)指令LIN、圓弧運(yùn)動(dòng)指令CIRC、設(shè)置數(shù)字輸出端指令OUT、等待時(shí)間指令WAIT的使用;理解使用工具坐標(biāo)系的意義;掌握利用示教器創(chuàng)建工具坐標(biāo)系的方法[5]。
打 開 KUKA.Sim Pro 3.1.2 軟 件, 在“ 電 子 目錄”中按以下路徑:公共模型 KUKA Sim Library 3.1TutorialsSection_30_Tool_Base_DefinitionSection_30_Layout找 到Section_30_Layout_Basis_Cell,將其導(dǎo)入到3D世界中。將立方體Cube導(dǎo)入到3D世界中,利用“捕捉”將立方體Cube放到彈倉Magazine的適當(dāng)位置。
為了在虛擬環(huán)境中仿真夾爪的加緊與松開動(dòng)作,將夾爪Gripper-Training的組件屬性J1_Closed設(shè)置為0;J1_Open設(shè)置為-7。將夾爪組件Gripper-Training的J1_ActionSignal信號(hào)與工業(yè)機(jī)器人KR 6 R900 sixx的Out 1連接。
將 KUKA.Sim Pro 和 KUKA.OfficeLite建 立 連接[6],可利用KUKA.OfficeLite軟件提供的虛擬示教器將工業(yè)機(jī)器人KR 6 R900 sixx的A1軸調(diào)整到0°;A2軸調(diào)整到 -90°;A3軸調(diào)整到 90°;A4軸調(diào)整到0°;A5軸調(diào)整到0°;A6軸調(diào)整到0°,調(diào)整完成后斷開連接。
該虛擬工業(yè)機(jī)器人工作站如圖1所示。
圖1 虛擬工業(yè)機(jī)器人工作站
編程實(shí)現(xiàn)以下功能:利用安裝在工業(yè)機(jī)器人KR 6 R900 sixx第六軸法蘭盤上的夾爪Gripper-Training,將立方體Cube從彈倉Magazine中取出,搬運(yùn)到3d工作臺(tái)Table_with_shape.3ds的指定位置,如圖2所示。
圖2 立方體的搬運(yùn)
為了與后續(xù)通過虛擬示教器創(chuàng)建的工具坐標(biāo)系對(duì)照比較,此處在KUKA.Sim Pro 3.1.2軟件中通過“捕捉”創(chuàng)建如圖3所示的工具數(shù)據(jù)TOOL_DATA[1]。為了避免抓取錯(cuò)誤,可以將KR 6 R900 sixx的組件屬性O(shè)utputs動(dòng)作配置設(shè)置如下:信號(hào)動(dòng)作輸出1的抓取檢測(cè)體積大小X設(shè)置為0;Y設(shè)置為50;Z設(shè)置為10,使用工具設(shè)置為TOOL_DATA[1]。
圖3 工具數(shù)據(jù)TOOL_DATA[1]
在 KUKA.Sim Pro 3.1.2 軟件中編程過程如下。
1)利用關(guān)節(jié)運(yùn)動(dòng)將工業(yè)機(jī)器人KR 6 R900 sixx的6個(gè)軸調(diào)整到合適的安全位置,設(shè)置該安全位置為HOME位置,添加PTPHome指令。
2)創(chuàng)建抓取立方體子程序Take_Cube:添加OUT指令將夾爪松開,添加WAIT指令延時(shí)0.5s。參照世界坐標(biāo)系,利用線性運(yùn)動(dòng)將工業(yè)機(jī)器人移動(dòng)至合適的過渡點(diǎn),添加PTP指令,該過渡點(diǎn)設(shè)置為P1。參照世界坐標(biāo)系,利用線性運(yùn)動(dòng)將工業(yè)機(jī)器人移動(dòng)至立方體的抓取點(diǎn),添加LIN指令,該抓取點(diǎn)設(shè)置為P2,持續(xù)參數(shù)需要設(shè)置為空。添加OUT指令將夾爪加緊,添加WAIT指令延時(shí)0.5s。復(fù)制過渡點(diǎn)P1處的PTP指令,將PTP轉(zhuǎn)化為LIN,該點(diǎn)設(shè)置為P3。添加PTPHome指令。
3)創(chuàng)建放置立方體子程序Drop_Cube。
4)在主程序中調(diào)用抓取立方體子程序Take_Cube和放置立方體子程序Drop_Cube。抓取與放置立方體程序如圖4所示。
圖4 抓取與放置立方體程序
需要注意,因?yàn)槭窘踢^程中KUKA.Sim Pro 3.1.2軟件3D世界的世界坐標(biāo)系方向足以滿足工業(yè)機(jī)器人線性運(yùn)動(dòng)與旋轉(zhuǎn)運(yùn)動(dòng)的手動(dòng)操作要求,所以該程序所用的工具數(shù)據(jù)為Tool[0],即該程序中的線性運(yùn)動(dòng)和點(diǎn)到點(diǎn)運(yùn)動(dòng)都是以工業(yè)機(jī)器人第六軸法蘭盤中心點(diǎn)為TCP進(jìn)行的。
編程實(shí)現(xiàn)以下功能:利用安裝在工業(yè)機(jī)器人KR 6 R900 sixx第六軸法蘭盤上的夾爪Gripper-Training,將筆Pen_1從彈倉Magazine中取出,在3d工作臺(tái)Table_with_shape.3ds上繪制圓形軌跡,將筆Pen_1放回彈倉Magazine。畫圓程序執(zhí)行效果如圖5所示。
圖5 畫圓
由于筆Pen_1在彈倉Magazine中是傾斜放置的,在抓取和放置筆Pen_1的過程中,工業(yè)機(jī)器人若仍然參照世界坐標(biāo)系運(yùn)動(dòng),會(huì)造成操作的不便,所以需要參照夾爪Gripper-Training的工具坐標(biāo)系TOOL[1]操作機(jī)器人。
在 KUKA.Sim Pro 3.1.2 軟件中編程過程如下。
1)創(chuàng)建抓取筆Pen_1子程序Take_ Pen1:添加OUT指令將夾爪松開,添加WAIT指令延時(shí)0.5s。參照工具坐標(biāo)系TOOL[1],利用旋轉(zhuǎn)運(yùn)動(dòng)和線性運(yùn)動(dòng)將工業(yè)機(jī)器人移動(dòng)至合適的過渡點(diǎn),添加PTP指令,該過渡點(diǎn)設(shè)置為P7。參照工具坐標(biāo)系TOOL[1],利用線性運(yùn)動(dòng)將工業(yè)機(jī)器人移動(dòng)至筆Pen_1的抓取點(diǎn),添加LIN指令,該抓取點(diǎn)設(shè)置為P8。添加OUT指令將夾爪加緊,添加WAIT指令延時(shí)0.5s。復(fù)制過渡點(diǎn)P7處的PTP指令,將PTP轉(zhuǎn)化為LIN,該點(diǎn)設(shè)置為P9。
2)以筆Pen_1的筆尖為TCP創(chuàng)建工具數(shù)據(jù)TOOL_DATA[2]。創(chuàng)建子程序:參照工具坐標(biāo)系TOOL[2],利用“捕捉”將筆Pen_1的筆尖移至圓周的起始點(diǎn),利用旋轉(zhuǎn)運(yùn)動(dòng)調(diào)整筆Pen_1的姿態(tài),使筆Pen_1的中軸線與圓周所在的平面垂直,添加LIN指令,圓周的起始點(diǎn)設(shè)置為P11。將筆Pen_1的筆尖向上提起適當(dāng)?shù)木嚯x,添加PTP指令,該過渡點(diǎn)設(shè)置為P10,把該P(yáng)TP指令拖動(dòng)至以P11為目標(biāo)點(diǎn)的LIN指令之前。參照工具坐標(biāo)系TOOL[2],利用“捕捉”將筆Pen_1的筆尖移至第一段圓弧的輔助點(diǎn),添加CIRC指令,該輔助點(diǎn)設(shè)置為C1,利用“捕捉”將筆Pen_1的筆尖移至第一段圓弧的端點(diǎn),該端點(diǎn)設(shè)置為C2。參照工具坐標(biāo)系TOOL[2],利用“捕捉”將筆Pen_1的筆尖移至第二段圓弧的輔助點(diǎn),該輔助點(diǎn)設(shè)置為C3,將筆Pen_1的筆尖移至P11,將此點(diǎn)設(shè)置為第二段圓弧的端點(diǎn)C4,即整個(gè)圓周的端點(diǎn)。復(fù)制過渡點(diǎn)P10處的PTP指令,將PTP轉(zhuǎn)化為LIN,該點(diǎn)設(shè)置為P12。將該子程序命名為Draw_Circle。
3)復(fù)制抓取筆Pen_1子程序Take_ Pen1,將子程序名稱改為Drop_Pen1,作為放置筆Pen_1的子程序。將夾爪的動(dòng)作由加緊改為松開。子程序的最后添加PTPHome指令。
4)在主程序中調(diào)用抓取筆Pen_1子程序Take_ Pen1、畫圓子程序Draw_Circle和放置筆Pen_1子程序Drop_Pen1。
需要注意,抓取筆Pen_1子程序Take_ Pen1和放置筆Pen_1子程序Drop_Pen1中,運(yùn)動(dòng)指令參照的工具坐標(biāo)系是TOOL[1];畫圓子程序Draw_Circle中,運(yùn)動(dòng)指令參照的工具坐標(biāo)系是TOOL[2]。
現(xiàn)實(shí)世界中在沒有工具數(shù)據(jù)的情況下,需要通過測(cè)量創(chuàng)建工具坐標(biāo)系。這里利用KUKA.OfficeLite軟件提供的虛擬示教器,模擬實(shí)際現(xiàn)場創(chuàng)建夾爪工具坐標(biāo)系的操作。
在 KUKA.Sim Pro 3.1.2 軟件的 3D 世界中導(dǎo)入筆Pen_1,利用“對(duì)齊”將筆Pen_1 #2放在3d工作臺(tái)Table_with_shape.3ds的適當(dāng)位置,利用筆Pen_1 #2的尖點(diǎn)作為參考點(diǎn)創(chuàng)建夾爪的工具數(shù)據(jù)。
利用KUKA.OfficeLite軟件提供的虛擬示教器,采用XYZ4點(diǎn)法和ABC2點(diǎn)法,創(chuàng)建夾爪工具坐標(biāo)系的過程如下。
1)連接VRC實(shí)例,在虛擬示教器上選擇T1手動(dòng)慢速運(yùn)行方式,用戶組選擇“專家”,在主菜單中選擇:投入運(yùn)行工具/基坐標(biāo)管理,在“工具/基坐標(biāo)管理”界面選擇“工具工件”,點(diǎn)擊“添加”按鈕,創(chuàng)建編號(hào)為1,名稱為tool1的工具坐標(biāo)。
2)在“轉(zhuǎn)換”窗口,點(diǎn)擊“測(cè)量”按鈕,選擇“XYZ4點(diǎn)法”,手動(dòng)操作工業(yè)機(jī)器人KR 6 R900 sixx,使待測(cè)定的夾爪TCP對(duì)齊參考點(diǎn),點(diǎn)擊“Touch-Up”按鈕,獲得測(cè)量點(diǎn)1,如圖6所示。手動(dòng)操作工業(yè)機(jī)器人KR 6 R900 sixx,使待測(cè)定的夾爪TCP以另外三種姿態(tài)對(duì)齊參考點(diǎn),依此獲得測(cè)量點(diǎn)2、測(cè)量點(diǎn)3和測(cè)量點(diǎn)4,如圖7、圖8和圖9所示。XYZ4點(diǎn)法的測(cè)量結(jié)果如圖10所示。若測(cè)量誤差符合要求,則點(diǎn)擊“保存”按鈕,獲得夾爪TCP。
圖6 測(cè)量點(diǎn)1
圖7 測(cè)量點(diǎn) 2
圖8 測(cè)量點(diǎn)3
圖9 測(cè)量點(diǎn)4
圖10 XYZ4點(diǎn)法的測(cè)量結(jié)果
3)在“轉(zhuǎn)換”窗口,點(diǎn)擊“測(cè)量”按鈕,選擇“ABC2點(diǎn)法”,手動(dòng)操作工業(yè)機(jī)器人KR 6 R900 sixx,使得TCP對(duì)齊參考點(diǎn),點(diǎn)擊“Touch-Up”按鈕,記錄TCP;手動(dòng)操作工業(yè)機(jī)器人KR 6 R900 sixx,使待測(cè)定的工具坐標(biāo)系X軸負(fù)方向上的一點(diǎn)對(duì)齊參考點(diǎn),如圖11所示,點(diǎn)擊“Touch-Up”按鈕,確定工具坐標(biāo)系X軸的方向;手動(dòng)操作工業(yè)機(jī)器人KR 6 R900 sixx,使待測(cè)定的工具坐標(biāo)系Y軸正方向上的一點(diǎn)對(duì)齊參考點(diǎn),如圖12所示,點(diǎn)擊“Touch-Up”按鈕,確定工具坐標(biāo)系Y軸的方向。ABC2點(diǎn)法的測(cè)量結(jié)果如圖13所示。點(diǎn)擊“保存”按鈕,獲得夾爪工具坐標(biāo)系各坐標(biāo)軸的方向。
圖11 工具坐標(biāo)系X軸
圖12 工具坐標(biāo)系XY層面
圖13 ABC2點(diǎn)法的測(cè)量結(jié)果
4)XYZ4點(diǎn)法和ABC2點(diǎn)法操作完成后,可以將測(cè)得的TCP對(duì)齊參考點(diǎn),參照測(cè)得的夾爪工具坐標(biāo)系,手動(dòng)操作工業(yè)機(jī)器人做旋轉(zhuǎn)運(yùn)動(dòng),測(cè)試TCP的準(zhǔn)確性;手動(dòng)操作工業(yè)機(jī)器人做線性運(yùn)動(dòng),測(cè)試工具坐標(biāo)系各坐標(biāo)軸的方向。
將 KUKA.Sim Pro 和 KUKA.OfficeLite 軟 件相結(jié)合,應(yīng)用于KUKA工業(yè)機(jī)器人操作與編程的前期教學(xué),既可以解決由于設(shè)備數(shù)量限制影響教學(xué)效率的問題,又可以保障人身安全,降低設(shè)備故障率。本文只涉及了部分指令和工具坐標(biāo)系創(chuàng)建與使用的教學(xué),其它諸如KUKA示教器基本操作、基坐標(biāo)的創(chuàng)建與使用、模擬現(xiàn)場示教編程等問題都可通過該方法實(shí)現(xiàn)教學(xué)。