孫 軍,王煥然,孫詩華
(1.沈陽建筑大學(xué)機(jī)械工程學(xué)院,沈陽 110000;2.中國工業(yè)互聯(lián)網(wǎng)研究院遼寧分院,沈陽 110000)
隨著科技的發(fā)展,機(jī)械臂在工業(yè)領(lǐng)域上的應(yīng)用愈加廣泛。在智能生產(chǎn)線中機(jī)械臂的應(yīng)用更是能取代大部分人工,其中在搬運(yùn)、噴涂、上下料等較為突出?,F(xiàn)如今隨著復(fù)雜工況的更新,機(jī)械臂自由度的數(shù)量也隨之增多,越多自由度的機(jī)械臂越能夠適應(yīng)復(fù)雜的工況,隨之帶來也有控制復(fù)雜度增加等問題。機(jī)械臂的軌跡規(guī)劃問題一直是機(jī)械臂研究的重要組成,如何合理地規(guī)劃其軌跡,使之能夠節(jié)省時間、提高壽命、高效工作成為了軌跡規(guī)劃的主要研究對象。因此合理地軌跡規(guī)劃,是高效發(fā)揮機(jī)械臂作用的基礎(chǔ),軌跡規(guī)劃通常又可分別在笛卡爾空間以及關(guān)節(jié)角度空間中進(jìn)行。笛卡爾規(guī)劃是在笛卡空間規(guī)劃末端軌跡,然后每個插補(bǔ)點(diǎn)再去逆解,計(jì)算對應(yīng)的每個關(guān)節(jié)的角度。關(guān)節(jié)空間的規(guī)劃是對每個關(guān)節(jié)就行規(guī)劃,計(jì)算每個關(guān)節(jié)的插補(bǔ)點(diǎn)。
許多專家及學(xué)者在工業(yè)機(jī)械臂上使用笛卡爾空間進(jìn)行軌跡規(guī)劃[1],在特殊工況作業(yè)下,可以使用笛卡爾規(guī)劃空間,其最主要的特點(diǎn)是能夠直接確定末端軌跡,但是進(jìn)行笛卡爾空間規(guī)劃需要大量的逆運(yùn)動學(xué)計(jì)算工作,這也是笛卡爾空間規(guī)劃下出現(xiàn)角速度失控的主要原因。本課題研究環(huán)境非特殊工況,故選關(guān)節(jié)空間規(guī)劃進(jìn)行研究。也有一部分學(xué)者選用關(guān)節(jié)空間進(jìn)行規(guī)劃,其最主要具備簡單方便等特點(diǎn),只需將笛卡爾空間中的點(diǎn)的坐標(biāo)先轉(zhuǎn)化成關(guān)節(jié)空間下的關(guān)節(jié)角度再進(jìn)行規(guī)劃,就可獲得理想軌跡,且不易出現(xiàn)特殊位形。
本文以6自由度工業(yè)機(jī)械臂GP-25為主要研究對象,先在MATLAB中Robots Toolbox中按照D-H法則進(jìn)行數(shù)學(xué)模型建立,并加以示教界面用于直觀觀察各關(guān)節(jié)角度與末端執(zhí)行器之間的聯(lián)系。再使用MATLAB中五次多項(xiàng)式法對所建立模型進(jìn)行軌跡規(guī)劃,得到各個關(guān)節(jié)位移、速度和加速度隨時間變化的曲線,再對其運(yùn)動學(xué)求解,通過各個關(guān)節(jié)角度的變化函數(shù),可以得到機(jī)械臂末端執(zhí)行器的運(yùn)動軌跡,從而實(shí)現(xiàn)機(jī)械臂的軌跡規(guī)劃與仿真。
工業(yè)機(jī)械臂GP-25由YASKAWA公司研發(fā),該機(jī)械臂為垂直多關(guān)節(jié)6自由度機(jī)械臂,整機(jī)約250 kg,動態(tài)范圍約1730 mm,能夠完成搬運(yùn)、取件、包裝、碼垛等工作。
本課題為方便后續(xù)的機(jī)械臂仿真和軌跡規(guī)劃等工作,首先需要建立機(jī)械臂運(yùn)動學(xué)仿真模型并加以示教界面??紤]到該工業(yè)機(jī)械臂的結(jié)構(gòu)復(fù)雜,且本課題研究對象僅針對其連桿結(jié)構(gòu),故先建立簡化模型以表示連桿之間關(guān)系,也能表達(dá)出機(jī)械臂位姿,選取標(biāo)準(zhǔn)的建模方法,本文最后選用D-H建模法則[2],建立模型如圖1所示。
圖1 機(jī)械臂D-H建模示意圖
按照理論,表達(dá)空間中兩個剛體的相對位置和姿態(tài)應(yīng)最少需要6個參數(shù),但選用D-H法則需要4個參數(shù)即可,在降低計(jì)算難度的同時更加直觀地將兩剛體間相對位置和姿態(tài)表現(xiàn)出來。該6自由度工業(yè)機(jī)械臂D-H參數(shù)以及各關(guān)節(jié)轉(zhuǎn)動范圍如表1所示[3],該機(jī)械臂可看作是由一系列連接在一起的連桿件構(gòu)成的,可以通過4個D-H參數(shù)描述此機(jī)械臂,即相鄰兩連桿件的公法線之間距離為ai,垂直于ai所在平面內(nèi)兩軸夾角為αi,兩連桿的相對位置為di,兩連桿公垂線的夾角θi。根據(jù)已有模型和數(shù)據(jù)可以輕松得到研究對象的D-H參數(shù),將其匯總至表1。
表1 機(jī)械臂D-H參數(shù)匯總表
隨后,建立各關(guān)節(jié)坐標(biāo)系與極坐標(biāo)系之間的聯(lián)系,需要對本課題研究對象GP-25工業(yè)機(jī)械臂進(jìn)行正向運(yùn)動學(xué)分析[4],正向運(yùn)動學(xué)分析是機(jī)械臂軌跡規(guī)劃的理論基礎(chǔ),研究機(jī)械臂正運(yùn)動學(xué)的目的是求解工業(yè)機(jī)器人末端執(zhí)行器在特定參數(shù)作用下所能到達(dá)的實(shí)際位置,已知坐標(biāo)系{i}與坐標(biāo)系{i-1}之間的變換可以用矩陣i-1T來表示,i-1T的一般表達(dá)式為式(1):
(1)
本課題不研究機(jī)械臂抓手部分夾持工作,只需對其他5個關(guān)節(jié)進(jìn)行研究,根據(jù)表1中的參數(shù),將i取1~5,分別帶入到上式中即可求出各相鄰連桿的變換矩陣,式(2)~式(6)為:
(2)
(3)
(4)
(5)
(6)
根據(jù)上述式(2)~式(6)可得,坐標(biāo)系{5}相對于基坐標(biāo)系的變換矩陣為式(7):
(7)
其中相對于基坐標(biāo)系的旋轉(zhuǎn)矩陣和位置矢量如式(8)、式(9)所示:
(8)
(9)
得到上述D-H參數(shù)和相關(guān)矩陣后,需將所得數(shù)據(jù)導(dǎo)入至MATLAB中進(jìn)行下一步的研究,觀察所建立模型是否符合研究標(biāo)準(zhǔn),并且需要添加一個簡單的控制,研究各關(guān)節(jié)角度對末端執(zhí)行器位置的影響[5]。根據(jù)表1中D-H參數(shù),在MATLAB中使用Robots Toolbox中的Link函數(shù)進(jìn)行D-H參數(shù)的輸入,隨后再使用SerialLink函數(shù)進(jìn)行運(yùn)動學(xué)模型建模,利用workspace函數(shù)選取合適的空間大小,最后再利用Teach函數(shù)建立示教界面,在示教界面出可以通過調(diào)節(jié)各關(guān)節(jié)角度,來觀察機(jī)械臂的位姿,整合即可得到圖2所示界面。
圖2 機(jī)械臂運(yùn)動學(xué)模型示意圖
圖3 機(jī)械臂工作空間示意圖
隨后再對GP-25工業(yè)機(jī)械臂的工作空間進(jìn)行研究[6],工作空間常用于衡量機(jī)械臂的工作范圍,是軌跡規(guī)劃中極其重要的一項(xiàng)運(yùn)動指標(biāo)。本文選用蒙特卡洛法對工業(yè)機(jī)械臂的工作空間進(jìn)行求解[7],對各個關(guān)節(jié)角在關(guān)節(jié)范圍內(nèi)進(jìn)行隨機(jī)選取,取大量的采樣點(diǎn)進(jìn)行計(jì)算,通過正運(yùn)動學(xué)求解, 即可得到相應(yīng)的末端位置,同構(gòu)繪制大量末端位置點(diǎn)即為可視化機(jī)器人工作空間。利用MATLAB中Robots Toolbox插件即可求出工作空間,根據(jù)表1可得各連桿長度以及各關(guān)節(jié)可旋轉(zhuǎn)的最大限度,設(shè)置合理的遞進(jìn)步距值對各關(guān)節(jié)進(jìn)行累加,每計(jì)算一次繪制一個點(diǎn),最后得到的點(diǎn)集即為本課題研究對象的工作空間,如圖3所示。
在進(jìn)行軌跡規(guī)劃時,需要輸入始末兩點(diǎn)間中間節(jié)點(diǎn)的關(guān)節(jié)角度來確定末端執(zhí)行器的位置,末端執(zhí)行器在經(jīng)過相鄰兩中間節(jié)點(diǎn)時,單純依靠勻速轉(zhuǎn)動關(guān)節(jié),會出現(xiàn)末端執(zhí)行器抖動、執(zhí)行速度慢和損傷關(guān)節(jié)等缺點(diǎn)。此時需要引入適當(dāng)算法使得機(jī)械臂在工作過程中運(yùn)動更連貫,并且一定程度上可減少單位工作時間。
在實(shí)際工程中,為得到小沖擊、小殘余振動、工作時間優(yōu)化和高精度的軌跡,常用多次多項(xiàng)式來對軌跡進(jìn)行規(guī)劃。二次多項(xiàng)式規(guī)劃軌跡只能獲得運(yùn)動的快速性,不能在實(shí)際工程中應(yīng)用。三次多項(xiàng)式可滿足基本規(guī)劃要求,具備運(yùn)動快速和小幅振動等特點(diǎn)。但本文選用五次多項(xiàng)式進(jìn)行機(jī)械臂的軌跡規(guī)劃[8],此方法只需知道始末兩點(diǎn)以及兩點(diǎn)間多個節(jié)點(diǎn)即可,不僅具有三次多項(xiàng)式的特點(diǎn),還具有可分段處理、導(dǎo)數(shù)連續(xù)、加速度連續(xù)的特點(diǎn)。使用該方法對機(jī)械臂進(jìn)行軌跡規(guī)劃,在規(guī)劃的過程中既可以重新規(guī)劃兩節(jié)點(diǎn)之間的軌跡,又能保證不改變其余節(jié)點(diǎn)之間的軌跡。這些優(yōu)點(diǎn)足以支撐本課題的研究需求,具有一定的研究價值。五次多項(xiàng)式共有6個待定系數(shù),至少需要6個條件確定系數(shù)。五次多項(xiàng)式可以看作是關(guān)節(jié)角度的時間函數(shù),因此其一階可導(dǎo)和二階可導(dǎo)分別可以看作是關(guān)節(jié)角速度和關(guān)節(jié)角加速度的時間函數(shù)。五次多項(xiàng)式及一階、二階導(dǎo)數(shù)公式如式(10)所示。
(10)
為了求得待定系數(shù)a0~a5,對起始點(diǎn)和目標(biāo)同時給出關(guān)于角度和角加速度的約束條件見式(11)。
(11)
將起始時間設(shè)為0,解得表達(dá)式為式(12)。
(12)
寫成矩陣的形式為式(13)。
(13)
上述式中給出了五次多項(xiàng)式函數(shù)的矩陣表達(dá)式,根據(jù)此式,只需要計(jì)算出各控制節(jié)點(diǎn)即可計(jì)算出相應(yīng)的函數(shù)表達(dá)式。根據(jù)本課題所在環(huán)境的要求,機(jī)械臂末端需從初始位置移動至托盤進(jìn)行夾持物料,在夾持好物料之后,需回到初始位置,再將物料送入機(jī)床當(dāng)中,完成上料。將夾持物料和上料過程總共分為7組運(yùn)動軌跡,可以得到8個機(jī)械臂位姿,其5個關(guān)節(jié)角度如表2所示。
表2 機(jī)械臂各路徑點(diǎn)規(guī)劃關(guān)節(jié)角度 (°)
在進(jìn)行理論規(guī)劃后,使用適當(dāng)?shù)姆抡娣治隹梢员苊獠⑾?guī)劃誤差帶來的負(fù)面影響,使用MATLAB中的機(jī)器人工具箱可以很好的解決這個問題。根據(jù)上述五次多項(xiàng)式,計(jì)算得到機(jī)械臂關(guān)節(jié)函數(shù)表達(dá)式,再通過運(yùn)動學(xué)求解方程,得到笛卡爾坐標(biāo)系下的運(yùn)動軌跡。使用jtraj五次多項(xiàng)式函數(shù)進(jìn)行求解規(guī)劃,最終求解出機(jī)械臂經(jīng)過始末兩點(diǎn)間6個路徑點(diǎn)的運(yùn)動軌跡如圖4所示。
圖4 機(jī)械臂運(yùn)動學(xué)仿真末端執(zhí)行器運(yùn)動軌跡圖5 第一關(guān)節(jié)參數(shù)變化曲線
在完成軌跡仿真后,為檢驗(yàn)各關(guān)節(jié)在工作過程中運(yùn)行是否流暢、平滑、無急停,分別對各個關(guān)節(jié)的角位移、角速度、角加速度進(jìn)行處理,得到各個關(guān)節(jié)在執(zhí)行軌跡時運(yùn)動參數(shù)隨時間的變化曲線如圖5~圖9所示。
圖6 第二關(guān)節(jié)參數(shù)變化曲線圖7 第三關(guān)節(jié)參數(shù)變化曲線
圖8 第四關(guān)節(jié)參數(shù)變化曲線圖9 第五關(guān)節(jié)參數(shù)變化曲線
從得到的角位移、角速度、角加速度隨時間的變化曲線可以看出,各關(guān)節(jié)角位移曲線連續(xù)平滑,沒有突變,末端執(zhí)行器沒明顯抖動,機(jī)械臂在上料過程中可以高效工作;角速度和角加速度曲線完整平順,在經(jīng)過中間節(jié)點(diǎn)時無不連續(xù)和不平穩(wěn)的情況發(fā)生,也無突變等非常規(guī)情況發(fā)生,能夠有效避免機(jī)械臂在工作中不合理沖擊或抖動帶來的負(fù)面效益,從而影響機(jī)械臂使用壽命。
單一的運(yùn)動學(xué)仿真不足以說明此方案能應(yīng)用于實(shí)際工程,可視化模型[9]可以讓上述結(jié)果得到一個直觀的驗(yàn)證。實(shí)際的機(jī)械臂具備運(yùn)動學(xué)仿真的連桿結(jié)構(gòu),但為了保證達(dá)到工作要求,工業(yè)機(jī)械臂的各部分組成會選用足夠的材料取支撐其結(jié)構(gòu)強(qiáng)度,所以可視化仿真則可以看出設(shè)計(jì)方案是否會出現(xiàn)碰撞現(xiàn)象。選用Solidworks軟件對GP-25工業(yè)機(jī)械臂進(jìn)行實(shí)體建模,使用sw2urdf將繪制的3D模型轉(zhuǎn)換成Urdf格式[10],并設(shè)置好約束以及各關(guān)節(jié)對應(yīng)的旋轉(zhuǎn)軸,在MATLAB中使用Simulink打開建立好的Urdf文件,將規(guī)劃好的軌跡導(dǎo)入即可得到可視化模型仿真,效果如圖10、圖11所示??梢钥闯隹梢暬抡孢_(dá)到了預(yù)期效果,并無出現(xiàn)碰撞和干涉等現(xiàn)象,排除了設(shè)計(jì)存在的部分安全隱患。
圖10 Simulink模塊連接示意圖
圖11 可視化仿真示意圖
本文對6自由度工業(yè)機(jī)械臂GP-25進(jìn)行了軌跡規(guī)劃的研究及仿真,通過合理的軌跡規(guī)劃縮短了機(jī)械臂上料工時,降低了上料過程機(jī)械臂的自身抖動,提高上料精度。本文采用蒙特卡洛法確定了研究對象末端執(zhí)行器的可抓取范圍,并且使用五次多項(xiàng)式法規(guī)劃其運(yùn)動軌跡,在保證機(jī)械臂上料工作高效的前提下,規(guī)劃了運(yùn)動軌跡;仿真結(jié)果表明采用五次多項(xiàng)式規(guī)劃上料軌跡,機(jī)械臂運(yùn)動連貫平穩(wěn)且工作高效,最后對機(jī)械臂進(jìn)行了軌跡可視化仿真實(shí)驗(yàn),驗(yàn)證了此方案的正確性和有效性。