霍天龍 張博





關(guān)鍵詞:機(jī)器人;路徑規(guī)劃;速度最優(yōu);算法
0引言
隨著勞動(dòng)力成本的增加,各類工業(yè)機(jī)器人越來(lái)越多地應(yīng)用于自動(dòng)化流水線中。其中碼垛機(jī)器人憑借其結(jié)構(gòu)簡(jiǎn)單、動(dòng)作快速靈活、故障率低等優(yōu)點(diǎn)廣泛應(yīng)用于物品的搬運(yùn)、拆垛、分類碼垛中。在搬運(yùn)碼垛領(lǐng)域,人們追求的是高速、高效地完成物品的堆疊碼放。然而在機(jī)器人碼垛的實(shí)際應(yīng)用中,絕大部分案例都是采用示教起始點(diǎn)、中間點(diǎn)及目標(biāo)點(diǎn)的編程方式,幾乎沒(méi)有嵌入路徑規(guī)劃算法,導(dǎo)致機(jī)器人沒(méi)有全部發(fā)揮其優(yōu)勢(shì),運(yùn)行效率低下。針對(duì)此問(wèn)題,本文以碼垛速度最優(yōu)為目標(biāo),提出了一套應(yīng)用于ABB IRB460機(jī)器人的軌跡規(guī)劃算法。
1機(jī)器人碼垛機(jī)
1.1系統(tǒng)結(jié)構(gòu)組成
以料袋碼垛為例,機(jī)器人碼垛生產(chǎn)線的核心設(shè)備主要由料袋輸送機(jī)、取袋輸送機(jī)、托盤(pán)輸送機(jī)、垛盤(pán)輸送機(jī)、碼垛機(jī)器人以及料袋夾具等組成。包裝完成的料袋經(jīng)由料袋輸送機(jī)抵達(dá)取袋輸送機(jī),機(jī)器人從取袋輸送機(jī)處抓取料袋并運(yùn)動(dòng)至垛盤(pán)輸送機(jī)上方的托盤(pán)處,觸發(fā)夾具打開(kāi),放下料袋后返回初始位,再進(jìn)行下一次的抓取碼放過(guò)程。系統(tǒng)組成結(jié)構(gòu)如圖1所示。
1.2機(jī)器人碼垛路徑
如圖2所示,目前市面上大多數(shù)機(jī)器人碼垛機(jī)的碼垛運(yùn)動(dòng)路徑為從點(diǎn)P1至點(diǎn)P5。即機(jī)器人收到抓袋信號(hào)后,從Home點(diǎn)(一般為機(jī)器人的零點(diǎn))運(yùn)行至料袋抓取位置點(diǎn)P1進(jìn)行料袋抓取,提升至一定高度到達(dá)抓取提升位置點(diǎn)P2,再經(jīng)過(guò)中間位置點(diǎn)P3運(yùn)行到目標(biāo)點(diǎn)上方位置點(diǎn)P4,最后運(yùn)行至碼垛目標(biāo)位置點(diǎn)P5,觸發(fā)機(jī)器人夾具放下料袋,然后再沿原路徑返回至點(diǎn)P2,當(dāng)有料袋再次到達(dá)時(shí),機(jī)器人從點(diǎn)B直接運(yùn)行至點(diǎn)P1進(jìn)行料袋的抓取碼垛,當(dāng)沒(méi)有料袋達(dá)到時(shí),機(jī)器人則在點(diǎn)P2等待。
2軌跡規(guī)劃算法
為解決此問(wèn)題,本文提出了一套應(yīng)用于碼垛工藝下的軌跡規(guī)劃算法。把該算法嵌入到機(jī)器人程序中,只需要示教抓取位置點(diǎn)P1和目標(biāo)位置點(diǎn)P5。對(duì)于碼垛工藝,奇數(shù)層和偶數(shù)層編組方式不同,故需要分別設(shè)定奇數(shù)層和偶數(shù)層的點(diǎn)P5。以偶數(shù)層為例,設(shè)定好點(diǎn)P5后,可按照文獻(xiàn)[9]的方法自動(dòng)算出該層的其他碼垛點(diǎn),奇數(shù)層同理。
點(diǎn)P1為抓取提升位置,設(shè)置點(diǎn)P3的目的是使機(jī)器人避開(kāi)與取袋輸送機(jī)側(cè)邊的干涉,點(diǎn)P2除在z軸方向上比點(diǎn)P1有所增加外,姿態(tài)和點(diǎn)P1相同。點(diǎn)P1為人工示教點(diǎn)。自動(dòng)計(jì)算點(diǎn)P2的方法為,把機(jī)器人在點(diǎn)P1的姿態(tài)賦值給點(diǎn)P2,即:
其中,th為應(yīng)用案例中實(shí)際的料袋厚度;c為調(diào)整系數(shù),主要依據(jù)機(jī)器人運(yùn)動(dòng)過(guò)程中與取袋輸送機(jī)之間干涉情況設(shè)定,一般設(shè)為1~2之間。
點(diǎn)P4為目標(biāo)點(diǎn)上方位置,設(shè)置點(diǎn)P4的目的是防止機(jī)器人夾具和料垛間產(chǎn)生刮碰,點(diǎn)P4姿態(tài)和點(diǎn)P5相同,只是在z軸方向上數(shù)值有所增加。點(diǎn)P4的計(jì)算原理和點(diǎn)P2類似,在此不做詳述。
考慮本應(yīng)用為碼垛工藝,所以點(diǎn)P3的縱坐標(biāo)應(yīng)略高于點(diǎn)P4,本設(shè)計(jì)中取點(diǎn)P3的縱坐標(biāo)為:
3仿真與應(yīng)用
3.1系統(tǒng)仿真
使用RobotStudio軟件創(chuàng)建IRB460機(jī)器人、取袋輸送機(jī)、垛盤(pán)輸送機(jī)等,如圖4所示。
把上述算法嵌入到IRB460機(jī)器人程序中,通過(guò)示教料袋抓取位置,碼垛位置后,即可自動(dòng)計(jì)算出碼垛過(guò)程中所經(jīng)過(guò)的抓取提升位置,中間位置,目標(biāo)點(diǎn)上方位置。其中機(jī)器人從抓取提升位置運(yùn)動(dòng)至目標(biāo)點(diǎn)上方位置使用MoveC指令。設(shè)定夾具抓取料袋時(shí)間為0.1s,放下料袋時(shí)間為0.1s。垛型按照每層5袋、共10層設(shè)定,通過(guò)仿真測(cè)得機(jī)器人1h內(nèi)可完成1151次循環(huán)。為進(jìn)一步提高速度,把機(jī)器人由點(diǎn)P2運(yùn)行至點(diǎn)P1抓取物料的運(yùn)動(dòng)指令由MoveL改成TriggL,即還未到達(dá)抓取位置P1時(shí),提前關(guān)閉夾具;由點(diǎn)P4運(yùn)行至點(diǎn)P5進(jìn)行碼放物料亦同理修改,最終測(cè)得機(jī)器人在1h內(nèi)可完成1228次循環(huán)。
3.2工程應(yīng)用
為進(jìn)一步驗(yàn)證算法的可行性,把本文的算法應(yīng)用到工程實(shí)際中,圖5所示為某化工廠的機(jī)器人碼垛機(jī)設(shè)備。把仿真程序的編程方法應(yīng)用到本案例中,調(diào)試好機(jī)器人周邊設(shè)備的運(yùn)行節(jié)拍,在保證物料供應(yīng)充足的前提下運(yùn)行機(jī)器人碼垛機(jī)并記錄數(shù)據(jù),測(cè)得機(jī)器人的最終運(yùn)行速度為1206袋/h。遠(yuǎn)高于市面上機(jī)器人的運(yùn)行速度。
4結(jié)束語(yǔ)
本文提出了一種基于速度最優(yōu)的碼垛機(jī)器人軌跡規(guī)劃算法。該方法省去了常規(guī)碼垛機(jī)需要示教大量中間位置點(diǎn)的麻煩,有效避免因經(jīng)驗(yàn)不足導(dǎo)致示教點(diǎn)出現(xiàn)死點(diǎn)情況,而且提高了碼垛機(jī)器人的工作效率。仿真和實(shí)際應(yīng)用均驗(yàn)證了提出方法的有效性和可行性。