沈志航,張新華,李 楠
(北京自動(dòng)化控制設(shè)備研究所,北京 100074)
為代替人類(lèi)工位完成器件搬運(yùn)、電子器件裝配、元器件焊接等作業(yè)任務(wù),現(xiàn)代工業(yè)機(jī)器人應(yīng)具有末端執(zhí)行器工作空間大,運(yùn)動(dòng)靈活,可實(shí)現(xiàn)空間避障、回避奇異構(gòu)型等特點(diǎn)。根據(jù)作業(yè)任務(wù)要求,需對(duì)機(jī)械臂進(jìn)行軌跡規(guī)劃,計(jì)算出機(jī)械臂預(yù)期運(yùn)動(dòng)軌跡下相應(yīng)的運(yùn)動(dòng)輸入規(guī)律。傳統(tǒng)的軌跡規(guī)劃方法實(shí)質(zhì)上是位置反解問(wèn)題,即求出機(jī)械臂的位置反解方程,然后再將機(jī)械臂末端執(zhí)行器的運(yùn)動(dòng)軌跡帶入反解方程,從而得到與該運(yùn)動(dòng)軌跡相對(duì)應(yīng)的各驅(qū)動(dòng)關(guān)節(jié)的驅(qū)動(dòng)參數(shù)。因此運(yùn)動(dòng)學(xué)逆解的難易程度直接影響著軌跡規(guī)劃的精度乃至機(jī)械臂的應(yīng)用范圍。
現(xiàn)有6自由度機(jī)械臂在某些特殊情況下(如若干個(gè)關(guān)節(jié)軸線相交成90°,或者軸線平行),可以進(jìn)行運(yùn)動(dòng)學(xué)逆解得到解析解,但其一個(gè)固定的末端位姿只對(duì)應(yīng)著有限組關(guān)節(jié)角空間的解,這大大限制了機(jī)械臂操作的靈活性,影響了機(jī)械臂空間避障、回避奇異構(gòu)型的能力[1]。
仿人型冗余機(jī)械臂在傳統(tǒng)6自由度機(jī)械臂基礎(chǔ)上增加了1個(gè)冗余自由度,可以使某一種末端位姿對(duì)應(yīng)關(guān)節(jié)角空間的無(wú)限組解,在保證機(jī)械臂末端位姿控制的基礎(chǔ)上,能夠有效地實(shí)現(xiàn)避障行為[2-3],回避奇異構(gòu)型[4]等功能,不過(guò),冗余自由度對(duì)求解機(jī)械臂運(yùn)動(dòng)學(xué)逆解帶來(lái)很大困難。
多體動(dòng)力學(xué)分析軟件ADAMS是對(duì)機(jī)械系統(tǒng)的運(yùn)動(dòng)學(xué)與動(dòng)力學(xué)進(jìn)行仿真的專(zhuān)用軟件,可以建立復(fù)雜機(jī)械系統(tǒng)的運(yùn)動(dòng)學(xué)與動(dòng)力學(xué)模型。此外,可以利用其“一般點(diǎn)驅(qū)動(dòng)”和“樣條函數(shù)驅(qū)動(dòng)”工具進(jìn)行軌跡規(guī)劃,避免了機(jī)械臂運(yùn)動(dòng)學(xué)逆解的復(fù)雜求解過(guò)程。然而,在實(shí)際應(yīng)用中發(fā)現(xiàn),單獨(dú)利用ADAMS進(jìn)行軌跡規(guī)劃得到的機(jī)械臂關(guān)節(jié)運(yùn)動(dòng)速度、加速度存在突變,導(dǎo)致機(jī)器人末端產(chǎn)生振動(dòng),無(wú)法保證機(jī)械臂運(yùn)行的平穩(wěn)性。此外,單獨(dú)利用ADAMS進(jìn)行軌跡規(guī)劃無(wú)法實(shí)現(xiàn)關(guān)節(jié)空間軌跡尋優(yōu),其得到的關(guān)節(jié)力矩?zé)o法為實(shí)際工程應(yīng)用提供參考。
為解決上述問(wèn)題,引入數(shù)據(jù)計(jì)算軟件Matlab,它具有強(qiáng)大的數(shù)學(xué)計(jì)算能力,其ROBOTICS工具箱可進(jìn)行軌跡規(guī)劃與關(guān)節(jié)空間的軌跡尋優(yōu),得到的關(guān)節(jié)位移與速度曲線連續(xù)性好。以上述數(shù)據(jù)與ADAMS進(jìn)行機(jī)械臂軌跡跟蹤聯(lián)合仿真,得到的關(guān)節(jié)加速度呈周期變化,沒(méi)有急停等不良現(xiàn)象,各關(guān)節(jié)驅(qū)動(dòng)力矩值沒(méi)有突變,保證了機(jī)械臂軌跡跟蹤運(yùn)動(dòng)的平滑性。
本文利用UG軟件對(duì)冗余機(jī)械臂進(jìn)行三維建模,利用ADAMS與Matlab進(jìn)行器件搬運(yùn)作業(yè)過(guò)程軌跡跟蹤聯(lián)合仿真,實(shí)現(xiàn)了機(jī)械臂對(duì)最優(yōu)軌跡的跟蹤,同時(shí)得到了所需的關(guān)節(jié)驅(qū)動(dòng)力矩,為工程應(yīng)用提供了參考。
機(jī)械系統(tǒng)三維模型作為對(duì)現(xiàn)實(shí)機(jī)械系統(tǒng)的描述,其建模的準(zhǔn)確與否對(duì)于虛擬樣機(jī)仿真分析的效果和精度有直接影響。動(dòng)力學(xué)分析需要獲得機(jī)械臂零部件的質(zhì)量、慣性、質(zhì)心坐標(biāo)等信息,而這些參數(shù)的獲取并非ADAMS的強(qiáng)項(xiàng),故選擇在UG環(huán)境下完成冗余機(jī)械臂的零部件模型繪制及裝配。本文所設(shè)計(jì)的機(jī)械臂由3類(lèi)模塊化關(guān)節(jié)構(gòu)成,可實(shí)現(xiàn)7自由度回轉(zhuǎn)運(yùn)動(dòng)。其中肩部由3個(gè)關(guān)節(jié)組成,肘部由1個(gè)關(guān)節(jié),腕部由3個(gè)關(guān)節(jié)組成。
肩部的偏轉(zhuǎn)與俯仰關(guān)節(jié)由第一類(lèi)模塊化關(guān)節(jié)實(shí)現(xiàn),其輸出力矩較大;肘部俯仰關(guān)節(jié)與肩關(guān)節(jié)的滾動(dòng)關(guān)節(jié)采用第二類(lèi)模塊化關(guān)節(jié),起到連接與增加機(jī)械臂運(yùn)動(dòng)空間的作用。腕關(guān)節(jié)采用第三類(lèi)模塊化關(guān)節(jié),用于末端執(zhí)行機(jī)構(gòu)的位姿的精細(xì)調(diào)整。為盡量擬合人體手臂,需對(duì)各關(guān)節(jié)重量、體積進(jìn)行嚴(yán)格控制,為此關(guān)節(jié)內(nèi)部采用永磁同步伺服電機(jī)串聯(lián)諧波減速器的傳動(dòng)方式[5]。
機(jī)械臂作為一種復(fù)雜的機(jī)電系統(tǒng),每個(gè)模塊化關(guān)節(jié)內(nèi)都包括機(jī)械系統(tǒng)、傳感系統(tǒng)及驅(qū)動(dòng)控制系統(tǒng),需要對(duì)各部件進(jìn)行簡(jiǎn)化處理。但UG環(huán)境下建立的機(jī)械臂三維實(shí)體模型雖然可嚴(yán)格描述實(shí)際機(jī)械臂系統(tǒng),但是其機(jī)構(gòu)復(fù)雜,直接利用此模型進(jìn)行動(dòng)力學(xué)、運(yùn)動(dòng)學(xué)仿真會(huì)導(dǎo)致運(yùn)算量大、運(yùn)算速度慢,不利于仿真的進(jìn)行。
首先,忽略對(duì)整體運(yùn)動(dòng)分析影響較小的零部件,如間隙調(diào)整墊片、螺釘?shù)染o固件;其次,分析機(jī)械臂運(yùn)動(dòng)機(jī)理,利用布爾操作將關(guān)節(jié)輸出套筒、諧波減速器柔輪和電機(jī)轉(zhuǎn)子等主要運(yùn)動(dòng)部件合為一體。同時(shí)將對(duì)運(yùn)動(dòng)部件進(jìn)行約束和控制的部件,如電機(jī)外殼、諧波減速器剛輪等合為一體。最后,將經(jīng)過(guò)簡(jiǎn)化的機(jī)械臂模型從UG導(dǎo)入ADAMS中,使用aggregate mass工具快速檢查系統(tǒng)的質(zhì)量和轉(zhuǎn)動(dòng)慣量,使用Table Editor快速檢查并處理每個(gè)部件的質(zhì)量和轉(zhuǎn)動(dòng)慣量方面可能出現(xiàn)的問(wèn)題。確定經(jīng)過(guò)簡(jiǎn)化的機(jī)械臂模型可較為真實(shí)地反映機(jī)械臂實(shí)體狀態(tài),在各關(guān)節(jié)處添加旋轉(zhuǎn)副約束,并設(shè)定關(guān)節(jié)摩擦系數(shù)及間隙等參數(shù)。完成ADAMS環(huán)境下的機(jī)械臂建模過(guò)程,生成的冗余機(jī)械臂虛擬樣機(jī)如圖1所示。
圖1 冗余機(jī)械臂虛擬樣機(jī)Fig.1 The virtual prototyping of redundant manipulator
為了描述機(jī)器人各桿件和終端之間的轉(zhuǎn)動(dòng)或移動(dòng)關(guān)系,需要建立機(jī)器人關(guān)節(jié)坐標(biāo)系,Denavit和Hartenberg于1955年提出了D-H矩陣法[6]。根據(jù)此方法建立機(jī)械臂初始狀態(tài)下D-H坐標(biāo)系,如圖2所示。
圖2 機(jī)械臂初始狀態(tài)D-H坐標(biāo)系Fig.2 The D-H coordinate system of robot arm on initial state
由圖2坐標(biāo)系得到表1所示的機(jī)械臂連桿結(jié)構(gòu)參數(shù),這些參數(shù)用于在Matlab環(huán)境下建立機(jī)械臂對(duì)象。
表1 機(jī)械臂連桿結(jié)構(gòu)參數(shù)Tab.1 Link structure parameters of the robot arm
機(jī)械臂搬運(yùn)器件作業(yè)可視為點(diǎn)到點(diǎn)軌跡跟蹤,運(yùn)動(dòng)過(guò)程中機(jī)械臂末端姿態(tài)保持不變,機(jī)械臂攜帶元器件在笛卡爾空間內(nèi)走過(guò)一條直線。對(duì)此運(yùn)動(dòng)過(guò)程進(jìn)行軌跡規(guī)劃,作為運(yùn)動(dòng)期望值的各關(guān)節(jié)轉(zhuǎn)角曲線的求取非常重要,要求首先對(duì)其進(jìn)行優(yōu)化,然后以此作為聯(lián)合仿真系統(tǒng)的期望值,這樣聯(lián)合仿真得到的結(jié)果才能夠保證[7]。Robotics Toolbox是Matlab的機(jī)器人工具箱,它采用七階多項(xiàng)式對(duì)軌跡規(guī)劃進(jìn)行插值,并結(jié)合速度、加速度零邊界條件進(jìn)行運(yùn)算,實(shí)現(xiàn)了關(guān)節(jié)空間軌跡尋優(yōu)[8]。
利用Robotics工具箱進(jìn)行軌跡規(guī)劃,首先需要應(yīng)用link函數(shù)和robot函數(shù)結(jié)合連桿結(jié)構(gòu)參數(shù)建立機(jī)械臂初始狀態(tài)下的模型。針對(duì)器件搬運(yùn)作業(yè)任務(wù),利用transl函數(shù)將機(jī)械臂進(jìn)行平移,變換到器件初始位置,得到軌跡規(guī)劃初始狀態(tài)的齊次變換矩陣T0。然后再進(jìn)行第二次平移變換得到機(jī)械臂終止?fàn)顟B(tài)下的齊次變換矩陣T1。最后利用笛卡爾空間軌跡規(guī)劃函數(shù)CTRAJ對(duì)機(jī)械臂從T0至T1進(jìn)行軌跡規(guī)劃,得到冗余機(jī)械臂7個(gè)關(guān)節(jié)轉(zhuǎn)角與時(shí)間的關(guān)系,即為聯(lián)合仿真軌跡跟蹤的期望曲線值。
冗余機(jī)械臂虛擬樣機(jī)在ADAMS環(huán)境中生成,而控制策略則在Matlab中建立。為實(shí)現(xiàn)ADAMS與Matlab的實(shí)時(shí)數(shù)據(jù)交換,需要建立一組二者均認(rèn)可的狀態(tài)變量。針對(duì)此機(jī)械臂,需建立兩類(lèi)系統(tǒng)變量:各關(guān)節(jié)電機(jī)所需的控制力矩、各關(guān)節(jié)的方位角。其中關(guān)節(jié)控制力矩與機(jī)械系統(tǒng)的輸入變量關(guān)聯(lián),關(guān)節(jié)的方位角與輸出變量關(guān)聯(lián)。ADAMS/Controls模塊實(shí)時(shí)調(diào)用控制系統(tǒng)輸出的轉(zhuǎn)矩變量值驅(qū)動(dòng)關(guān)節(jié)運(yùn)轉(zhuǎn),同時(shí)機(jī)械臂各個(gè)關(guān)節(jié)的實(shí)際方位角又被實(shí)時(shí)反饋到控制系統(tǒng)中,從而構(gòu)成完整的閉環(huán)控制系統(tǒng),實(shí)現(xiàn)關(guān)節(jié)位置的實(shí)時(shí)跟蹤[9]。
最終,由Matlab軟件生成了機(jī)械臂子系統(tǒng)模塊,其中的期望關(guān)節(jié)轉(zhuǎn)角及相應(yīng)的實(shí)際關(guān)節(jié)轉(zhuǎn)角如表2所示,且angle1~angle7分別對(duì)應(yīng)表1中的變量θ1~θ7。
表2 機(jī)械臂子系統(tǒng)變量Tab.2 System variables of the robot arm
機(jī)械臂子系統(tǒng)及期望跟蹤曲線確定后,即可以此為基礎(chǔ)搭建控制系統(tǒng)框圖。對(duì)每個(gè)關(guān)節(jié)位置角度分別應(yīng)用PID控制策略進(jìn)行控制,以使機(jī)械臂末端跟蹤預(yù)期的運(yùn)動(dòng)軌跡。最終得到的聯(lián)合仿真控制系統(tǒng)如圖3所示。
圖3 聯(lián)合仿真控制系統(tǒng)Fig.3 Control system of coordinated simulation
聯(lián)合仿真系統(tǒng)搭建完成后,即可對(duì)機(jī)械臂進(jìn)行軌跡跟蹤實(shí)驗(yàn),在驗(yàn)證機(jī)械臂跟蹤特性的同時(shí),可以獲得此運(yùn)動(dòng)軌跡下機(jī)械臂關(guān)節(jié)控制力矩,為工程應(yīng)用提供可靠參考。經(jīng)過(guò)仿真,逐一調(diào)節(jié)PID參數(shù),得到各關(guān)節(jié)跟蹤曲線如圖4所示。其中Angle1~Angle7分別表示從肩部1關(guān)節(jié)至腕部3關(guān)節(jié)的轉(zhuǎn)角。
仿真結(jié)束后觀察機(jī)械臂各關(guān)節(jié)實(shí)際轉(zhuǎn)角與期望轉(zhuǎn)角曲線發(fā)現(xiàn),通過(guò)聯(lián)合仿真可以控制機(jī)械臂系統(tǒng)的每個(gè)關(guān)節(jié)轉(zhuǎn)角以較小的延遲跟蹤期望轉(zhuǎn)角,其最大偏差為0.05134rad,滿足高速運(yùn)動(dòng)下機(jī)械臂的控制需求,從而實(shí)現(xiàn)機(jī)械臂末端對(duì)期望軌跡的準(zhǔn)確跟蹤。
圖4 機(jī)械臂關(guān)節(jié)跟蹤特性曲線Fig.4 The track-following characteristics of robot arm
在實(shí)現(xiàn)軌跡跟蹤的同時(shí),可由ADAMS軟件測(cè)量得到機(jī)械臂各關(guān)節(jié)轉(zhuǎn)角的加速度曲線,如圖5所示。
圖5 聯(lián)合仿真軌跡規(guī)劃得到的關(guān)節(jié)加速度曲線Fig.5 The acceleration curve got by coordinated simulation
分析圖5發(fā)現(xiàn),聯(lián)合仿真得到的機(jī)械臂關(guān)節(jié)加速度曲線連續(xù)、平滑,沒(méi)有突變點(diǎn),因此機(jī)械臂運(yùn)行平穩(wěn)、可靠,證明聯(lián)合仿真進(jìn)行的軌跡規(guī)劃,在迅速跟蹤關(guān)節(jié)期望轉(zhuǎn)角軌跡的同時(shí),實(shí)現(xiàn)了對(duì)關(guān)節(jié)加速度的控制。此外還可得到相應(yīng)于此實(shí)際轉(zhuǎn)角所需要的關(guān)節(jié)驅(qū)動(dòng)力矩,如圖6所示。
圖6 機(jī)械臂1至7關(guān)節(jié)驅(qū)動(dòng)力矩Fig.6 The driving torque of each joint got by coordinated simulation
分析各關(guān)節(jié)驅(qū)動(dòng)力矩發(fā)現(xiàn),由Matlab進(jìn)行軌跡規(guī)劃得到的關(guān)節(jié)轉(zhuǎn)角運(yùn)行平滑,所需的關(guān)節(jié)驅(qū)動(dòng)力矩值沒(méi)有突變。由于在ADAMS環(huán)境下考慮了機(jī)械臂重力力矩的平衡,個(gè)別關(guān)節(jié)處驅(qū)動(dòng)力矩的初始值不為0,與實(shí)際情況相符,證明聯(lián)合仿真方法適用于實(shí)際工程應(yīng)用。
本文應(yīng)用虛擬樣機(jī)技術(shù),利用UG創(chuàng)建仿人冗余機(jī)械臂三維實(shí)體模型,以此為基礎(chǔ)進(jìn)行ADAMS與Matlab聯(lián)合仿真,避免了復(fù)雜的傳遞函數(shù)與動(dòng)力學(xué)模型的搭建。應(yīng)用Matlab Robotics工具箱對(duì)此機(jī)械臂的某項(xiàng)實(shí)際工作任務(wù)進(jìn)行軌跡規(guī)劃,得到優(yōu)化的關(guān)節(jié)空間轉(zhuǎn)角。以此轉(zhuǎn)角結(jié)果為期望值對(duì)機(jī)械臂進(jìn)行聯(lián)合仿真研究,結(jié)果證明機(jī)械臂軌跡跟蹤效果良好;仿真得到的關(guān)節(jié)加速度平滑、連續(xù)無(wú)突變點(diǎn),保證機(jī)械臂在跟蹤軌跡的過(guò)程中運(yùn)行平穩(wěn);得到的機(jī)械臂關(guān)節(jié)驅(qū)動(dòng)力矩平滑,數(shù)值合理,可為實(shí)際工程應(yīng)用提供可靠參考。
[1]Primrose E J F.On the input-output equation of the gen eral 7R-mechanism[J].Mechanism and Machine Theory,1986,21(6):509-510.
[2]Kwang-Kyu L,Komoguchi Y,Buss M.Multiple obstacles avoidance for kinematically redundant manipulators using Jacobian transpose method[C]//.Annual Conference on SICE.Piscataway,NJ,USA:IEEE,2007:1072-1076.
[3]Baillieul J.Avoiding obstacles and resolving kinematic redundancy[C]//.IEEE International Conference on Robotics and Automation.Piscataway,NY,USA:IEEE,1986:1698-1704.
[4]吳偉國(guó).冗余度機(jī)器人運(yùn)動(dòng)學(xué)基本理論與7自由度仿人手臂的研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),1995.
[5]蔣新松.機(jī)器人學(xué)導(dǎo)論[M].沈陽(yáng):遼寧科學(xué)技術(shù)出版社,1994.
[6]DENAVIT J,HARTENBERG R S.A kinematic notation for Lower-pair mechanisms based on matrices[J].Trans ASME JApplMech,1955(23):215-221.
[7]翟敬,梅康博,張鐵.六自由度噴涂機(jī)器人動(dòng)力學(xué)分析及仿真[J].機(jī)械設(shè)計(jì)與制造,2012(1):169-171.
[8]左富勇,胡小平,謝珂,等.基于Matlab Robotics工具箱的SCARA機(jī)器人軌跡規(guī)劃與仿真[J].湖南科技大學(xué)學(xué)報(bào):自然科學(xué)版,2012,27(2):41-44.
[9]任遠(yuǎn),白廣忱.基于ADAMS與Simulink的機(jī)電一體化系統(tǒng)聯(lián)合仿真[J].機(jī)電一體化,2009(6):31-34.