崔龍飛,張 龍,孟慶愛
(南京理工大學(xué)機(jī)械工程學(xué)院,南京 210094)
齒輪精整機(jī)械手的基本要求是要有快速的抓取過程和高精度的定位性能,將齒輪精準(zhǔn)的放到?jīng)_壓設(shè)備上,倘若稍有偏差齒輪就會被沖壞,為了提高機(jī)械手的工作效率,必須對其進(jìn)行軌跡規(guī)劃。機(jī)器人的軌跡規(guī)劃是機(jī)器人學(xué)中的一個(gè)非常重要的研究領(lǐng)域。機(jī)械手的軌跡規(guī)劃是使機(jī)械手在規(guī)定時(shí)間內(nèi),按一定的速度及加速度,從初始狀態(tài)移動到某個(gè)規(guī)定的目標(biāo)狀態(tài),并使所規(guī)定的代價(jià)函數(shù)(通常為表征時(shí)間或能量等條件的函數(shù))最小化。軌跡規(guī)劃的目標(biāo)是其運(yùn)行的快速、準(zhǔn)確和平穩(wěn)[l]。
ADAMS軟件的仿真可用于預(yù)測機(jī)械系統(tǒng)的性能、運(yùn)動范圍、碰撞檢測、峰值載荷以及計(jì)算有限元的輸入載荷等。采取ADAMS進(jìn)行輔助分析,可以在建造真實(shí)的物理樣機(jī)之前,對產(chǎn)品進(jìn)行各種性能測試,達(dá)到縮短開發(fā)周期、降低開發(fā)成本的目的[2]。
基于以上敘述,首先建立了機(jī)器人的各連桿D-H坐標(biāo)系,確定連桿參數(shù),然后在Matlab環(huán)境下,運(yùn)用Robotics Toolbox工具箱,編制程序語句,完成軌跡規(guī)劃,反解各關(guān)節(jié)運(yùn)動參數(shù)。然后根據(jù)該數(shù)據(jù)在ADAMS中生成樣條函數(shù),用ADAMS/View中的Controls Toolkits建立控制系統(tǒng),通過PID環(huán)節(jié)進(jìn)行控制,控制對象是作用在每個(gè)關(guān)節(jié)單分量力矩,驅(qū)動機(jī)械手虛擬樣機(jī)模型運(yùn)動,并在后處理模塊中觀測分析仿真結(jié)果。
精整機(jī)械手完成作業(yè)過程的動作可分為定位——抓取——移動——放置。為提高所設(shè)計(jì)的機(jī)械手的可擴(kuò)展性,選用了具有多個(gè)旋轉(zhuǎn)關(guān)節(jié)的關(guān)節(jié)型機(jī)器人作為設(shè)計(jì)和分析的機(jī)構(gòu)[3]。
齒輪精整過程中,要確定初始齒輪位置和放置位置,利用關(guān)節(jié)型機(jī)械手的三個(gè)自由度來確定;同時(shí)為了便于抓取,要求末端執(zhí)行器在運(yùn)行過程中保持水平,在腕關(guān)節(jié)增加一個(gè)旋轉(zhuǎn)自由度,故四自由度機(jī)械手即可滿足作業(yè)要求。精整機(jī)械手的總體結(jié)構(gòu)如圖1,它由腰部、大臂、小臂和手腕通過旋轉(zhuǎn)關(guān)節(jié)串聯(lián)而成,一端固定在基座上,另一端自由安裝末端執(zhí)行器。
圖1 精整機(jī)械手總體結(jié)構(gòu)示意圖
機(jī)械手D-H坐標(biāo)系如圖2所示,為了簡化矩陣計(jì)算,取機(jī)械手基準(zhǔn)坐標(biāo)系與腰關(guān)節(jié)坐標(biāo)系重合,其余各關(guān)節(jié)坐標(biāo)系原點(diǎn)建立在各自關(guān)節(jié)中心。
圖2 機(jī)械手D-H坐標(biāo)系
各關(guān)節(jié)的運(yùn)動變量都是繞著各自坐標(biāo)系Z軸的轉(zhuǎn)角,將機(jī)構(gòu)的結(jié)構(gòu)參數(shù)和運(yùn)動變量列于下表1,其中 d=126mm,l0=38mm,l1=180mm,l2=136mm,l3=105mm。
連桿 αi-1/(°) ai-1/mm di/mm θi/(°)1 90 l0 d θ1 2 0 l1 0 θ2 3 0 l2 0 θ3 4 0 l3 0 θ4
精整機(jī)械手軌跡規(guī)劃在關(guān)節(jié)空間內(nèi)進(jìn)行,這是由于在關(guān)節(jié)空間中直接用運(yùn)動時(shí)的受控量進(jìn)行規(guī)劃,實(shí)時(shí)性較好,并且不會出現(xiàn)奇異性問題,使得關(guān)節(jié)空間的軌跡規(guī)劃得到廣泛的應(yīng)用。該機(jī)械手選擇在關(guān)節(jié)空間中進(jìn)行軌跡規(guī)劃,需要給定機(jī)器人在起始點(diǎn)、終止點(diǎn)的位姿,同時(shí)關(guān)節(jié)軌跡還需要滿足一組約束條件,即規(guī)劃函數(shù)必須保證關(guān)節(jié)變量及其前兩階導(dǎo)數(shù)的連續(xù)性,使規(guī)劃的關(guān)節(jié)規(guī)劃平穩(wěn)光滑,同時(shí)應(yīng)盡量減少額外的運(yùn)動如游移和抖振[4-5]。
機(jī)器人軌跡規(guī)劃是根據(jù)機(jī)器人要完成的任務(wù)而設(shè)計(jì)機(jī)器人各關(guān)節(jié)的運(yùn)動規(guī)律。軌跡規(guī)劃主要有兩種方案[3]:點(diǎn)到點(diǎn)運(yùn)動(PTP,point-to-point motion)的軌跡規(guī)劃;連續(xù)路徑運(yùn)動(CP,continuous-path motion)的軌跡規(guī)劃。對于連續(xù)路徑運(yùn)動。不僅要規(guī)定機(jī)械手的起始點(diǎn)和終止點(diǎn),還要指明兩點(diǎn)間的若干中間點(diǎn)(稱路徑點(diǎn)),必須沿著特定的路徑運(yùn)動。
針對設(shè)計(jì)的精整機(jī)械手,采用的是點(diǎn)到點(diǎn)運(yùn)動的軌跡規(guī)劃。根據(jù)運(yùn)動學(xué)分析,設(shè)機(jī)械手的初始位姿為A,終止位姿為B,按照預(yù)定的工作任務(wù),要求機(jī)械手從起A點(diǎn)到B點(diǎn)的運(yùn)動,它們之間不存在任何的中間點(diǎn),并且對于運(yùn)動的路徑也沒有設(shè)置要求,因此,機(jī)械手軌跡規(guī)劃可視為PTP規(guī)劃。
為了研究多關(guān)節(jié)機(jī)器人運(yùn)動軌跡的平滑性和連續(xù)性,增加仿真效果的直觀性,可以利用一種規(guī)劃函數(shù)對機(jī)器人的多個(gè)關(guān)節(jié)運(yùn)動軌跡同時(shí)進(jìn)行仿真,即采用 MATLAB Robotic Toolbox[6]對機(jī)械手多關(guān)節(jié)軌跡進(jìn)行仿真,該工具箱提供了機(jī)器人研究中的很多重要函數(shù),包括機(jī)器人運(yùn)動學(xué)、動力學(xué)、軌跡規(guī)劃等[7]。該工具箱可以對機(jī)器人進(jìn)行圖形仿真,并分析真實(shí)機(jī)器人控制時(shí)的實(shí)驗(yàn)數(shù)據(jù)結(jié)果,具有很強(qiáng)的直觀性。
要建立機(jī)械手模型,首先我們要構(gòu)建各個(gè)關(guān)節(jié)模型,利用構(gòu)建好的各關(guān)節(jié)之間關(guān)系來完成整個(gè)機(jī)械手的構(gòu)建。用Robotics Toolbox工具箱中的link和robot函數(shù)來建立精整機(jī)械手的機(jī)器人對象。
根據(jù)機(jī)械手D-H坐標(biāo)系,可以構(gòu)建機(jī)械手的模型,設(shè)機(jī)械手名稱為Picking Robot,其程序和模型如下:
根據(jù)前面的分析,采用關(guān)節(jié)空間進(jìn)行軌跡規(guī)劃,關(guān)節(jié)空間法是以關(guān)節(jié)角度的函數(shù)來描述機(jī)械手的軌跡,進(jìn)行軌跡規(guī)劃。關(guān)節(jié)空間法不必在直角坐標(biāo)系中描述兩個(gè)路徑點(diǎn)之間的路徑形狀,計(jì)算比較容易。規(guī)劃的主要任務(wù)是選擇合理的多項(xiàng)式函數(shù)或其它線性函數(shù)進(jìn)行插補(bǔ)運(yùn)算,使關(guān)節(jié)運(yùn)動平滑、穩(wěn)定,始終保持在關(guān)節(jié)運(yùn)動容許的范圍內(nèi)。其優(yōu)點(diǎn)是計(jì)算量小效率高,僅受關(guān)節(jié)速度及加速度的限制,不會發(fā)生機(jī)構(gòu)的奇異性問題,特別適合機(jī)械手末端運(yùn)動不要求規(guī)定路徑的、進(jìn)入空間行程大范圍內(nèi)快速移動的軌跡段。
利用robotics toolbox工具箱中提供的關(guān)節(jié)空間軌跡規(guī)劃函數(shù)jtraj進(jìn)行仿真,jtraj函數(shù)采用的是7次多項(xiàng)式插值法,默認(rèn)初始和終止角速度、角加速度均為0[7]。機(jī)械手從起點(diǎn)到終點(diǎn)所用的時(shí)間2s,根據(jù)運(yùn)動學(xué)分析的初始位姿和終止位姿,得到機(jī)械手各個(gè)關(guān)節(jié)的角位移曲線,其圖如圖3所示。
圖3 關(guān)節(jié)角位移變化曲線
從圖3各個(gè)關(guān)節(jié)角度變化曲線可以看出各關(guān)節(jié)能平穩(wěn)地從初態(tài)運(yùn)動到末態(tài),看出機(jī)械手各關(guān)節(jié)運(yùn)行過程平滑,完全符合軌跡規(guī)劃的要求,可以充分說明本次軌跡規(guī)劃的合理性。通過仿真,我們可以得到末端執(zhí)行器在X、Y、Z軸方向的位移變化曲線圖見圖4。
圖4 末端執(zhí)行器夾持中心位移曲線
從圖中可以看出,末端執(zhí)行器運(yùn)動位置曲線整體比較平滑,其中Z軸方向?yàn)槟┒藞?zhí)行器上升的方向,先上升到要求位置,然后再平緩運(yùn)動到終止位置,而末端執(zhí)行器一直處于水平方向,無額外的運(yùn)動如游移和抖振,完全符合實(shí)際情況,說明軌跡規(guī)劃的合理性和可行性。
在ADAMS/View中建立齒輪精整機(jī)械手的虛擬樣機(jī)模型,用Controls Toolkits建立控制系統(tǒng),通過PID環(huán)節(jié)進(jìn)行控制,控制對象是作用在每個(gè)關(guān)節(jié)單分量力矩,以驅(qū)動虛擬樣機(jī)運(yùn)動,建模與仿真的流程如圖5所示。
(1)建立機(jī)械手的模型,在兩個(gè)關(guān)節(jié)處分別添加單分量力矩,然后先將數(shù)值設(shè)為0。
(2)將MATLAB計(jì)算出的角位移數(shù)據(jù)以Spline形式導(dǎo)入ADAMS。建立文本文檔保存在ADAMS工作目錄下,文檔中的存有兩列數(shù)據(jù):第一列為時(shí)間,第二列為關(guān)節(jié)位移。導(dǎo)入關(guān)節(jié)1~4的角位移數(shù)據(jù)創(chuàng)建了SPLINE1~SPLINE4。
(3)建立控制系統(tǒng)的輸入環(huán)節(jié)。調(diào)用Spline函數(shù)中的Akima擬合(AKISPL)將輸入角位移樣條曲線SPLINE1~SPLINE4建立輸入環(huán)節(jié)1~4,作為各關(guān)節(jié)的跟蹤目標(biāo),同樣的方法,單擊輸入環(huán)節(jié)按鈕,在彈出的函數(shù)構(gòu)造器中選擇Displacement項(xiàng),然后在其下面的函數(shù)列表中,單擊Angle about z,測量各關(guān)節(jié)的實(shí)際運(yùn)動中的轉(zhuǎn)角,再建立輸入環(huán)節(jié)5~8。
(4)創(chuàng)建比較環(huán)節(jié)。單擊控制環(huán)節(jié)工具包中的比較環(huán)節(jié)按鈕,將預(yù)期跟蹤角位移與實(shí)際測得的關(guān)節(jié)角位移建立比較環(huán)節(jié)1~4。
(5)創(chuàng)建PID環(huán)節(jié)。單擊控制環(huán)節(jié)工具包中的PID按鈕,將比較環(huán)節(jié)1~4與實(shí)際測得的角位移輸入環(huán)節(jié)1~4建立PID環(huán)節(jié)1~4。
(6)將單分量力矩參數(shù)化。雙擊單分量力矩的圖標(biāo),將各關(guān)節(jié)力矩大小與PID環(huán)節(jié)1~4相關(guān)聯(lián),實(shí)現(xiàn)力矩參數(shù)化。
(7)PID控制環(huán)節(jié)的參數(shù)調(diào)節(jié)。進(jìn)入后處理模塊中,在后處理模塊中將關(guān)節(jié)1~4的輸入角位移和輸出角位移進(jìn)行比較,然后修改PID環(huán)節(jié)的參數(shù),直至兩條曲線重合為止。
圖5 建模與仿真流程圖
至此建立起了機(jī)械手在ADAMS環(huán)境下的完整仿真模型,然后進(jìn)行仿真時(shí)間和仿真總步數(shù)或仿真步長的定義,Matlab中仿真時(shí)間為2s,仿真時(shí)間應(yīng)一致,即取2s,總步數(shù)取2000。
ADAMS仿真結(jié)果可以根據(jù)需要調(diào)用,輸出所需的數(shù)據(jù)曲線和動畫,從而能夠清晰地看到機(jī)械手搬運(yùn)齒輪過程中的運(yùn)動規(guī)律,可以將構(gòu)件運(yùn)動中的速度突變,抖動等一系列問題反映出來,交互地進(jìn)行結(jié)構(gòu)參數(shù)的調(diào)整與改進(jìn)[8]。使用 ADAMS/View中的Review/Create Trace Spline功能,創(chuàng)建被夾持的齒輪質(zhì)心運(yùn)動軌跡曲線,如圖6所示,然后測量軌跡終點(diǎn)位置,與預(yù)期位置一致,說明軌跡規(guī)劃的正確性。
ADAMS/View提供了一些常用的默認(rèn)輸出,這些輸出在進(jìn)行仿真分析以后,會自動產(chǎn)生,同時(shí)允許采用測量和指定輸出的方式自定義一些特殊的仿真輸出[9]。另外ADAMS還有專門的仿真后處理(Post-processor)模塊,運(yùn)行過仿真計(jì)算以后,就可以計(jì)算處理運(yùn)動副上的位移、速度、加速度、作用力和作用力矩等數(shù)據(jù),以及與構(gòu)件固連的Marker點(diǎn)的位移速度和加速度等數(shù)據(jù)。
圖6 機(jī)械手仿真運(yùn)動軌跡
利用Measure工具和后處理程序測量機(jī)器人各關(guān)節(jié)的運(yùn)動學(xué)和動力學(xué)參數(shù)以及分析末端執(zhí)行器的速度的穩(wěn)定性,將測得的各關(guān)節(jié)的轉(zhuǎn)矩、角速度、角加速度數(shù)據(jù)繪圖如圖7所示。
圖7 關(guān)節(jié)角速度、角加速度曲線
(1)各個(gè)關(guān)節(jié)的角速度、角加速度關(guān)節(jié)的角速度直接關(guān)系到整個(gè)機(jī)械系統(tǒng)工作的合理性,各個(gè)關(guān)節(jié)的運(yùn)動角速度變化對機(jī)械手的定位精度有較大的影響,故在機(jī)械手的運(yùn)動軌跡優(yōu)化時(shí)要著重考慮降低運(yùn)動速度的突變。
從圖7可以看出各個(gè)關(guān)節(jié)的角速度、角加速度變化較平滑,初始值和終止值均為0,機(jī)械手控制中,關(guān)節(jié)角速度、角加速度是重要的運(yùn)動參量,雖然關(guān)節(jié)角速度曲線啟動時(shí)存在微小的波動,但曲線總體上都比較平滑,符合規(guī)劃要求。
(2)各個(gè)關(guān)節(jié)的力矩
當(dāng)機(jī)械手進(jìn)行運(yùn)動時(shí),機(jī)械手的各個(gè)關(guān)節(jié)需要有相應(yīng)的伺服驅(qū)動來輸入扭矩,同時(shí),扭矩也是機(jī)械手控制系統(tǒng)設(shè)計(jì)中的重要參量。精整機(jī)械手的各關(guān)節(jié)扭矩仿真曲線如圖8所示。
從仿真曲線可以看出,當(dāng)精整機(jī)械手抓取到齒輪的情況下,各關(guān)節(jié)的扭矩時(shí)間曲線平滑無突變,表明機(jī)械手在運(yùn)行過程中平穩(wěn),無振動。比較各關(guān)節(jié)扭矩曲線,肩關(guān)節(jié)扭矩最大,因?yàn)槠涮幱跈C(jī)械手始端,懸臂最長,因此要求提供的扭矩最大。仿真得到的這些驅(qū)動力矩與運(yùn)動參數(shù)是各驅(qū)動器、減速器、傳感器選型與匹配的基本參考依據(jù)同時(shí),各個(gè)關(guān)節(jié)處的實(shí)際驅(qū)動力矩都需大于仿真過程的力矩峰值,才能滿足驅(qū)動要求。
圖8 關(guān)節(jié)驅(qū)動扭矩仿真曲線
(3)被夾持齒輪質(zhì)心的速度和加速度
在整個(gè)仿真過程中,齒輪質(zhì)心速度和加速度也是軌跡規(guī)劃中重要的參考量,為了保證運(yùn)動的可靠性,將齒輪質(zhì)心的速度和加速度仿真結(jié)果進(jìn)行分析,其仿真圖形如圖9所示。
圖9 齒輪質(zhì)心的速度、加速度曲線
從圖中可以看出,齒輪質(zhì)心的速度和加速度變化曲線整體比較平滑,表明末端執(zhí)行器在運(yùn)動平穩(wěn)連續(xù),無抖振,符合機(jī)械手運(yùn)動性能和平穩(wěn)性。
介紹了機(jī)械手運(yùn)動軌跡規(guī)劃的概念意義,運(yùn)用MATLAB強(qiáng)大的數(shù)學(xué)解算功能在關(guān)節(jié)空間坐標(biāo)系下進(jìn)行軌跡規(guī)劃,解算關(guān)節(jié)運(yùn)動參數(shù),在ADAMS中建立機(jī)械手仿真模型,利用解算得到的數(shù)據(jù),用Controls Toolkits建立控制系統(tǒng),通過PID環(huán)節(jié)控制各關(guān)節(jié)力矩,進(jìn)行運(yùn)動仿真研究,對末端執(zhí)行器的運(yùn)動軌跡進(jìn)行驗(yàn)證,利用Measure工具和后處理程序測量機(jī)器人各關(guān)節(jié)的運(yùn)動參數(shù)、驅(qū)動力矩和被夾持齒輪質(zhì)心的速度和加速度,清晰的反映出各關(guān)節(jié)運(yùn)動與驅(qū)動力矩之間的關(guān)系,為各驅(qū)動器、減速器、傳感器選型與匹配提供基本參考依據(jù),為下一步設(shè)計(jì)控制律提供了理論依據(jù),獲得了系統(tǒng)整體動態(tài)性能,達(dá)到了減少研究人員的計(jì)算量和提高工作效率的目的。
[1]張興國.環(huán)保壓縮機(jī)裝配機(jī)器人控制技術(shù)及軌跡規(guī)劃研究[D].南京:南京理工大學(xué),2002.
[2]郭衛(wèi)東.虛擬樣機(jī)技術(shù)與ADAMS應(yīng)用實(shí)例教程[M].北京:北京航空航天大學(xué)出版社,2008.
[3]蔡自興.機(jī)器人學(xué)(第二版)[M].北京:清華大學(xué)出版社,2009.
[4]K.Kiguchi,T.Fukuda.Intelligent Position/Force Controller for Industrial Robot Manipulators Application of Fuzzy Neural Networks[J].IEEE Transactions on Industrial Electronics,1997,44(6):753 -761.
[5]J.J.Craig,P.Hsu,S.S.Sastry.Adaptive Control of Mechanical Manipulators[J].Int.J.Robotics Research,1987,6(2):16-18.
[6]王幼民.機(jī)械臂關(guān)節(jié)空間B樣條曲線軌跡規(guī)劃[J].安徽機(jī)電學(xué)院學(xué)報(bào),2000,15(2):21 -26.
[7]謝斌,蔡自興.基于Matlab Robotics Toolbox的機(jī)器人學(xué)仿真實(shí)驗(yàn)教學(xué)[J].計(jì)算機(jī)教育,2010,19(10):140-143.
[8]郭柏林,胡正義.基于ADAMS的搬運(yùn)機(jī)械手軌跡規(guī)劃與仿真[J].湖北上業(yè)大學(xué)學(xué)報(bào),2007,22(4):37-39.
[9]張海平,孔慶忠,鄭海龍,等.基于Pro/E和ADAMS五自由度機(jī)械手的運(yùn)動學(xué)分析及仿真[J].機(jī)械制造與自動化,2009(2):149-152.