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