王 婧,鄭甲紅,王 超,李 林,李鵬濤,武 鵬
(陜西科技大學(xué)機(jī)電工程學(xué)院,西安 710021)
近年來(lái),隨著電子技術(shù)、計(jì)算機(jī)技術(shù)、人工智能技術(shù)等多個(gè)學(xué)科的協(xié)同發(fā)展,多機(jī)器人系統(tǒng)已由實(shí)驗(yàn)室階段走向了實(shí)際應(yīng)用階段[1]。布局問(wèn)題是指給定一個(gè)布局空間和若干待布局物體,將待布局物體合理地?cái)[放在空間中滿足必要的約束,并達(dá)到某種最優(yōu)指標(biāo)[2]。在制造系統(tǒng)中,多機(jī)器人機(jī)構(gòu)的良好放置和設(shè)計(jì)會(huì)影響制造系統(tǒng)的整體效率。
為了保證布局的合理性,主要考慮避免部門重疊。Chang Yunchih等[3]為非切平面圖提出了一種高效、靈活和有效的數(shù)據(jù)結(jié)構(gòu)。同時(shí)還開(kāi)發(fā)了基于B*tree的模擬退火方案進(jìn)行平面布置設(shè)計(jì),實(shí)現(xiàn)了接近最佳的平面利用率。Guo Peining等[4]開(kāi)發(fā)了確定性的布局規(guī)劃算法。相對(duì)于傳統(tǒng)的布局方案,提出了多種布局表示方案,為未來(lái)多機(jī)器人工作單元的布局提供了有效的布局方法。Osman N S等[5]提出將一個(gè)或多個(gè)相等的正方形并排連接成多形布局配置。Murata H等[6]提出的序列對(duì)布局表示方法,將模塊表示在斜網(wǎng)格上,并基于生成的網(wǎng)格構(gòu)造一些約束圖,由此可以找到布局中每個(gè)組件的坐標(biāo)。Izui kazuhiro等[7]使用序列對(duì)來(lái)表示布局設(shè)計(jì)方案,并且使用虛擬組件來(lái)表示組件稀疏的布局區(qū)域。Meller Russell D等[8]提出了基于序列對(duì)表示的設(shè)施布局問(wèn)題的新公式,已成功將該公式應(yīng)用于超大規(guī)模集成電路(VLSI)的設(shè)計(jì)中。
多機(jī)器人布局優(yōu)化問(wèn)題主要解決設(shè)備選取、布局工藝設(shè)計(jì)、工位布局和機(jī)器人運(yùn)動(dòng)軌跡規(guī)劃4方面問(wèn)題[9]。本文通過(guò)優(yōu)化多機(jī)器人布局,以實(shí)現(xiàn)整個(gè)系統(tǒng)中機(jī)器人運(yùn)動(dòng)時(shí)間最短為目標(biāo),求解出一組最合理的布局和軌跡規(guī)劃方案,對(duì)實(shí)際生產(chǎn)過(guò)程具有重要意義。
系統(tǒng)中包含4個(gè)機(jī)械臂、4個(gè)零件箱和一個(gè)裝配臺(tái),假定每個(gè)機(jī)械臂獲取的零件箱和進(jìn)行最終組裝的裝配臺(tái)為矩形。部件的尺寸已知,設(shè)備布局如圖1所示。5個(gè)部件分別表示為G=(G1,G2,G3,G4,G5),取機(jī)械臂底盤所在的最大外接圓為機(jī)器人所在的位置,分別表示為H=(H1,H2,H3,H4),w和h分別表示各個(gè)部件設(shè)備在X和Y方向上的長(zhǎng)度,(xi,yi)表示各個(gè)設(shè)備部件中心點(diǎn)在XOY坐標(biāo)系中的坐標(biāo)。
假定:①給定任務(wù)條件下,每個(gè)機(jī)械臂只能組裝單個(gè)零件。②盡管存在多個(gè)機(jī)器人,但不能在同一時(shí)間內(nèi)執(zhí)行多個(gè)任務(wù)。即:如果一個(gè)機(jī)器人正在執(zhí)行任務(wù),則其余機(jī)器人無(wú)法啟動(dòng)任務(wù)。③系統(tǒng)中已經(jīng)完成初步的布局設(shè)計(jì),且已經(jīng)確定好了各個(gè)機(jī)器人末端執(zhí)行器到達(dá)相應(yīng)部件目標(biāo)的先后順序。④不考慮末端執(zhí)行器與部件設(shè)備之間的干涉。
(a) RobotStudio仿真實(shí)物圖(b) 初始布局示意圖圖1 多機(jī)器人系統(tǒng)布局圖
本文以多機(jī)器人為模型,任意選取6自由度ABB機(jī)器人IRB1200為例,運(yùn)用D-H參數(shù)法對(duì)其建立運(yùn)動(dòng)學(xué)模型[10],如圖2所示。
圖2 IRB1200 D-H建模示意圖
其中涉及到機(jī)器人參數(shù)如表1所示。
表1 IRB1200機(jī)器人連桿參數(shù)
利用機(jī)器人關(guān)節(jié)坐標(biāo)變換矩陣求解機(jī)器人的正逆運(yùn)動(dòng)學(xué),關(guān)節(jié)坐標(biāo)變換矩陣為:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
本文借助MATLAB運(yùn)算平臺(tái),對(duì)ABB IRB1200機(jī)器人進(jìn)行正逆運(yùn)動(dòng)學(xué)仿真運(yùn)算,具體步驟如下:
(1)將基坐標(biāo)系與工具坐標(biāo)系關(guān)系表示為:
(9)
(2)將逆運(yùn)動(dòng)學(xué)問(wèn)題簡(jiǎn)化為:
(10)
(3)轉(zhuǎn)換為公式求解:
(11)
(4)給定機(jī)械臂各個(gè)關(guān)節(jié)的參數(shù):
(12)
(5)根據(jù)機(jī)械臂運(yùn)動(dòng)學(xué)正解方程求得機(jī)械臂末端執(zhí)行器的位姿:
(13)
nx=0.462 1;ox=-0.565 7;
ax=-0.683;px=0.215 6
ny=-0.641 5;oy=-0.745;
ay=0.183;py=-0.314
nz=-0.612 4;oz=0.353 6;
az=-0.707 1;pz=-0.351
用所求得的正解去進(jìn)行逆運(yùn)動(dòng)學(xué)的求解,將所得出的8組逆解代入正運(yùn)動(dòng)學(xué)方程中,可求出相同的位姿矩陣。
多機(jī)器人制造系統(tǒng)的總操作時(shí)間是機(jī)器人移動(dòng)時(shí)間、組裝時(shí)間和空轉(zhuǎn)時(shí)間的總和。在未確定操作計(jì)劃之前,采用每次機(jī)器人運(yùn)動(dòng)的起點(diǎn)和終點(diǎn)之間機(jī)械臂關(guān)節(jié)旋轉(zhuǎn)角度來(lái)評(píng)估機(jī)器人的運(yùn)動(dòng)時(shí)間。給出系統(tǒng)中每個(gè)裝配機(jī)器人關(guān)節(jié)的最大角速度,假設(shè)每個(gè)關(guān)節(jié)勻速運(yùn)動(dòng),可近似計(jì)算出機(jī)器人的運(yùn)動(dòng)時(shí)間。假設(shè)所有關(guān)節(jié)都可以同時(shí)改變角度,使用最大關(guān)節(jié)運(yùn)動(dòng)時(shí)間評(píng)估機(jī)器人l的第k個(gè)關(guān)節(jié)的第j個(gè)運(yùn)動(dòng)時(shí)間,如下所示:
(14)
假設(shè)所有的關(guān)節(jié)同時(shí)改變角度,取最大關(guān)節(jié)運(yùn)動(dòng)時(shí)間來(lái)評(píng)估機(jī)器人l的第k個(gè)關(guān)節(jié)的第j個(gè)運(yùn)動(dòng)的時(shí)間,即:
(15)
第一個(gè)任務(wù)的初始姿態(tài)到零件臺(tái)的時(shí)間加上第一個(gè)任務(wù)所需的實(shí)際操作時(shí)間為:
(16)
總的操作時(shí)間T為:
(17)
其中,Nr表示機(jī)械手的個(gè)數(shù)。
約束條件如下:
(1)機(jī)器人操作時(shí)與任務(wù)點(diǎn)之間保持一定的距離,以允許機(jī)器人執(zhí)行復(fù)雜的操作任務(wù)。
(2)機(jī)器人可達(dá)性約束:要求所有機(jī)器人能夠到達(dá)操作目標(biāo)坐標(biāo)系,通過(guò)機(jī)器人位置反解存在來(lái)體現(xiàn)。
本文采用群體智能算法粒子群算法(PSO)來(lái)解決多機(jī)器人系統(tǒng)布局優(yōu)化的研究。粒子群算法的適應(yīng)度函數(shù)由上文分析的最小操作時(shí)間來(lái)計(jì)算。
圖3 多機(jī)器人系統(tǒng)初始布局
采用一個(gè)多機(jī)器人裝盒系統(tǒng),各個(gè)零件盒中的部件,經(jīng)機(jī)器人搬運(yùn)到裝配臺(tái)進(jìn)行裝盒操作。該系統(tǒng)已經(jīng)完成了初步的布局和工藝設(shè)計(jì)如圖3、表2所示,圖4表示系統(tǒng)的工作流程。
表2 多機(jī)器人系統(tǒng)工藝設(shè)計(jì)
圖4 系統(tǒng)工作流程圖
PSO算法種各參數(shù)分別為:種群規(guī)模n=50,迭代次數(shù)為MaxIt=500,慣性權(quán)重w=1.0,加速度系數(shù)c1=0.7,c2=1.5,慣性權(quán)重阻尼比wdamp=0.99,各個(gè)裝配臺(tái)與零件臺(tái)之間的最小間隙dxk,dyk=20,各個(gè)機(jī)械臂以工作空間最小半徑為最小間隙,即:ABBIRB1200機(jī)器人的最小間隙設(shè)為dxi=60,dyi=60,ABBIRB120機(jī)器人的最小間隙設(shè)為dxi=24,dyi=24。機(jī)器人的運(yùn)動(dòng)學(xué)參數(shù)如表4所示,本實(shí)例在MATLAB中編寫算法程序,結(jié)果如圖5~圖7、表3~表5所示。
表3 機(jī)器人運(yùn)動(dòng)學(xué)參數(shù)
布局后的結(jié)果如圖5所示。
(a) RobotStudio仿真實(shí)物圖(b) 優(yōu)化后布局示意圖 圖5 系統(tǒng)布局優(yōu)化結(jié)果
圖6 適應(yīng)度收斂曲線
表4 系統(tǒng)設(shè)備組件坐標(biāo)
圖7顯示了系統(tǒng)優(yōu)化布局前后,機(jī)器人8各軸的角度變化。
(a) 機(jī)器人8布局前各軸變化趨勢(shì)
(b) 機(jī)器人8布局后各軸變化趨勢(shì)圖7 機(jī)器人8布局前后各軸變化趨勢(shì)
系統(tǒng)布局前多機(jī)器人系統(tǒng)運(yùn)行的總時(shí)間T1=86.48,優(yōu)化后系統(tǒng)運(yùn)行的總時(shí)間T2=74.82。由此可以計(jì)算出機(jī)器人運(yùn)行的總時(shí)間減少比率為:
表5 機(jī)器人位置反解結(jié)果
本文通過(guò)對(duì)多機(jī)器人裝配系統(tǒng)進(jìn)行數(shù)學(xué)建模,可以準(zhǔn)確描述多機(jī)器人與各個(gè)設(shè)備組件之間的位置關(guān)系,為后續(xù)仿真奠定基礎(chǔ)。提出了基于粒子群算法的多機(jī)器人系統(tǒng)布局優(yōu)化方案,總時(shí)間節(jié)省13.48%并運(yùn)用MATLAB進(jìn)行逆運(yùn)動(dòng)學(xué)求解,通過(guò)仿真實(shí)驗(yàn)證明,本文提出的方法可以有效地減少多機(jī)器人系統(tǒng)運(yùn)行時(shí)間,提高運(yùn)行效率,對(duì)以后多機(jī)器人系統(tǒng)任務(wù)分配以及路徑規(guī)劃的研究提供了基礎(chǔ)。