摘要:“職教20條”下,“1+X”工業(yè)機(jī)器人應(yīng)用編程職業(yè)技能等級證書要求對職業(yè)技能等級標(biāo)準(zhǔn)內(nèi)容與課程進(jìn)行高度融合。本文以“漢諾塔”游戲為例,用華數(shù)Ⅱ型HSR-JR605工業(yè)機(jī)器人通過算法實現(xiàn)示教點位及搬運碼垛路徑的優(yōu)化,在游戲中學(xué)會解決搬運碼垛典型工作任務(wù)的方法,提高應(yīng)用編程技巧,為“1+X”工業(yè)機(jī)器人應(yīng)用編程“課證融合”的開發(fā)提供思路,為工業(yè)機(jī)器人應(yīng)用編程職業(yè)技能等級證書考取奠定基礎(chǔ)。
關(guān)鍵詞:1+X;應(yīng)用編程;典型任務(wù)
0? 引言
工業(yè)機(jī)器人應(yīng)用編程職業(yè)技能等級標(biāo)準(zhǔn)(2019年9月試行)中明確指出,典型工作任務(wù)包括搬運、碼垛、裝配、涂膠、焊接、拋光、噴涂等,而搬運和碼垛則是“1+X”工業(yè)機(jī)器人應(yīng)用編程初、中、高級職業(yè)技能等級考核中最常見的典型任務(wù)。
“職教20條”下,“1+X”工業(yè)機(jī)器人應(yīng)用編程職業(yè)技能等級證書要求對職業(yè)技能等級標(biāo)準(zhǔn)內(nèi)容與課程進(jìn)行高度融合[1]。以工業(yè)機(jī)器人應(yīng)用編程典型工作任務(wù)為出發(fā)點,在已有人才培養(yǎng)方案和課程體系基礎(chǔ)上,結(jié)合企業(yè)實際生產(chǎn)領(lǐng)域進(jìn)行典型工作任務(wù)的創(chuàng)新設(shè)計,對課程進(jìn)行二次開發(fā),更好地服務(wù)于工業(yè)機(jī)器人應(yīng)用編程技能等級證書試點工作[2]。
1? 搬運碼垛典型任務(wù)創(chuàng)新設(shè)計
1.1 四階“漢諾塔”搬運碼垛臺設(shè)計
四階“漢諾塔”搬運碼垛臺設(shè)計如圖1所示[3],起始柱A、輔助柱B和目標(biāo)柱C三根矩形柱在同一水平線上,間距為130mm,長寬高為20mm×15mm×200mm,起始柱A從下往上有四個矩形塊,矩形塊1(長寬高120mm×120mm×40mm)、矩形塊2(長寬高100mm×100mm×40mm)、矩形塊3(長寬高80mm×80mm×40mm)和矩形塊4(長寬高60mm×60mm×40mm),每個矩形塊中心有25mm×20mm×40mm的矩形孔,方便矩形柱穿過。
游戲目標(biāo):把起始柱A上的矩形塊全部移到目標(biāo)柱C上,并仍保持原有順序疊好。操作規(guī)則:每次只能移動一個矩形塊,并且在移動過程中三根柱上都始終保持大矩形塊在下,小矩形塊在上,操作過程中矩形塊可以置于A、B、C任一柱上。
1.2 搬運碼垛路徑設(shè)計
搬運碼垛路徑設(shè)計包括示教點位的選取和運動路徑選取。
1.2.1 示教點位選取
如圖2所示,搬運碼垛時起始柱A、輔助柱B和目標(biāo)柱C的過渡點分別為PgdA、PgdB、PgdC,位于矩形柱正上方;矩形塊在起始柱A上的4個抓取/放置點位置分別為PA1、PA2、PA3、PA4;矩形塊在輔助柱B上的4個抓取/放置點位置分別為PB1、PB2、PB3、PB4;矩形塊在目標(biāo)柱C上的4個抓取/放置點位置分別為PC1、PC2、PC3、PC4。
分析可知,如果需要每個點進(jìn)行示教則需要示教14個點位:PgdA、PgdB、PgdC、PA1、PA2、PA3、PA4、PB2、PB3、PB4、PC1、PC2、PC3、PC4。
1.2.2 運動路徑選取
“漢諾塔”游戲中搬運碼垛矩形塊最少次數(shù)算法為:當(dāng)矩形塊個數(shù)為n時,搬運碼垛的最少次數(shù)應(yīng)等于2^n-1,如完成三階“漢諾塔”游戲至少需要搬運碼垛次數(shù)為7次,完成四階“漢諾塔”游戲至少需要搬運碼垛次數(shù)為15次,如圖2所示。
1.3 搬運碼垛優(yōu)化算法設(shè)計
以華數(shù)Ⅱ型HSR-JR605工業(yè)機(jī)器人為例,進(jìn)行搬運碼垛優(yōu)化算法設(shè)計與實現(xiàn)。
1.3.1 算法實現(xiàn)點位坐標(biāo)獲取
如圖1所示的世界坐標(biāo)系,以PA4示教的坐標(biāo)位置為參照,則PA3、PA2、PA1的坐標(biāo)位置分別為PA4在z軸正向偏移40mm、80mm、120mm。同理得,PB3、PB2、PB1的坐標(biāo)位置分別為PB4在z軸正向偏移40mm、80mm、120mm,PC3、PC2、PC1的坐標(biāo)位置分別為PC4在z軸正向偏移40mm、80mm、120mm。而PB4、PC4的坐標(biāo)位置分別為PA4在y軸正向偏移130mm、260mm。過渡點PgdA、PgdB、PgdC的坐標(biāo)位置分別為PA4、PB4、PC4在z軸正向的偏移(大于矩形柱高度200mm),如取250mm。由此可知,只需要示教一個點PA4,其余點通過預(yù)設(shè)和計算得知,大大減少了點位示教點的繁瑣過程,節(jié)約時間。
1.3.2 算法實現(xiàn)搬運碼垛路徑
如果對每個點位進(jìn)行示教編程且一個動作一行指令,代碼行超過250行,點位示教和指令輸入會占用很長時間,嚴(yán)重影響效率。
如圖3所示,將每個運動過程路徑進(jìn)行抽象,機(jī)器人控制氣爪從過渡點Pgd1出發(fā)將矩形柱M上的矩形塊從P1位置搬運到矩形柱N上的P2位置,再回到過渡點Pgd2,需要順序經(jīng)過①~⑤五個路徑,n階“漢諾塔”游戲可以認(rèn)為是2^n-1個抽象路徑,只是每一次的起始位置、目標(biāo)位置以及過渡點不一樣。指令選取時,①②④⑤必須使用直線指令,如MOVES。
1.4 寄存器選取
示教點位PA4的位置存放在關(guān)節(jié)坐標(biāo)寄存器LR[14],其余點位通過計算得到。LR[10]~LR[13]分別存放PgdA、PA1~PA3坐標(biāo)值;LR[20]~LR[24]分別存放PgdB、PB1~PB4坐標(biāo)值;LR[30]~LR[34]分別存放PgdC、PC1~PC4坐標(biāo)值。抽象路徑點位存放:LR[1]存放過渡點Pgd1坐標(biāo)值,LR[2]存放P1坐標(biāo)值,LR[3]存放過渡點Pgd2坐標(biāo)值,LR[4]存放P2坐標(biāo)值。
設(shè)整型數(shù)值寄存器IR[1]~I(xiàn)R[60]存放四階“漢諾塔”游戲搬運碼垛15步的每條路徑的點位坐標(biāo)值位置索引(每條路徑4個點位,一共60個),按照先后順序分別為10、11、20、24、10、12、30、34、20、24、30、33、10、13、20、24、30、34、10、13、30、34、20、23、10、13、20、22、10、14、30、34、20、22、30、33、20、23、10、14、30、33、10、13、20、24、30、33、10、13、20、24、10、14、30、32、20、24、30、31,可提前設(shè)置。
1.5 編程實現(xiàn)
通過搬運碼垛算法優(yōu)化設(shè)計,代碼行不超過60行,大大縮短了示教編程時間。
PROGRAM
'“漢諾塔”搬運碼垛主程序
DIM I AS LONG = 0
WITH ROBOT
ATTACH ROBOT
ATTACH EXT_AXES
'點位計算
LR[10]=LR[11]+#{0,0,250,0,0,0}
LR[12]=LR[11]+#{0,0,40,0,0,0}
LR[13]=LR[11]+#{0,0,80,0,0,0}
LR[14]=LR[11]+#{0,0,120,0,0,0}
LR[20]=LR[11]+#{0,130,250,0,0,0}
LR[21]=LR[11]+#{0,130,0,0,0,0}
LR[22]=LR[11]+#{0,130,40,0,0,0}
LR[23]=LR[11]+#{0,130,80,0,0,0}
LR[24]=LR[11]+#{0,130,120,0,0,0}
LR[30]=LR[11]+#{0,260,250,0,0,0}
LR[31]=LR[11]+#{0,260,0,0,0,0}
LR[32]=LR[11]+#{0,260,40,0,0,0}
LR[33]=LR[11]+#{0,260,80,0,0,0}
LR[34]=LR[11]+#{0,260,120,0,0,0}
'四階“漢諾塔”搬運碼垛處理
WHILE I<15
LR[1]=LR[IR[I*4+1]]
LR[2]=LR[IR[I*4+2]]
LR[3]=LR[IR[I*4+3]]
LR[4]=LR[IR[I*4+4]]
'每次調(diào)用一個Step
CALL HNT
I=I+1
END WHILE
DETACH ROBOT
DETACH EXT_AXES
END WITH
END PROGRAM
PUBLIC SUB HNT
'“漢諾塔”搬運碼垛抽象路徑子程序
MOVES ROBOT LR[1]
MOVES ROBOT LR[2]
'氣爪張開
DELAY ROBOT 100
D_OUT[18] = ON
DELAY ROBOT 100
MOVES ROBOT LR[1]
MOVES ROBOT LR[3]
MOVES ROBOT LR[4]
'氣爪關(guān)閉
DELAY ROBOT 100
D_OUT[18] = OFF
DELAY ROBOT 100
MOVES ROBOT LR[3]
END SUB
2? 結(jié)束語
本文對“1+X”工業(yè)機(jī)器人應(yīng)用編程搬運碼垛典型工作任務(wù)進(jìn)行創(chuàng)新,設(shè)計四階“漢諾塔”搬運碼垛臺,用華數(shù)Ⅱ型HSR-JR605工業(yè)機(jī)器人通過算法實現(xiàn)示教點位及搬運碼垛路徑的優(yōu)化,在游戲中學(xué)會解決搬運碼垛典型工作任務(wù)的方法,提高應(yīng)用編程技巧,為“1+X”工業(yè)機(jī)器人應(yīng)用編程“課證融合”的開發(fā)提供思路,為工業(yè)機(jī)器人應(yīng)用編程職業(yè)技能等級證書考取奠定基礎(chǔ)。
參考文獻(xiàn):
[1]國務(wù)院.國務(wù)院關(guān)于印發(fā)國家職業(yè)教育改革實施方案的通知[EB/OL].http://www.gov.cn/zhengce/content/2019-02/13/content_
5365341.htm, 2019-02-13.
[2]李愿.華數(shù)Ⅱ型機(jī)器人關(guān)鍵指令在碼垛編程設(shè)計中的應(yīng)用[J].內(nèi)燃機(jī)與配件,2019(11):225-227.
[3]肖紅德.漢諾塔問題遞歸算法與非遞歸算法比較[J].軟件導(dǎo)刊,2018(08):118-120.