馬傳奇
(阜陽職業(yè)技術(shù)學(xué)院 工程科技學(xué)院,安徽 阜陽 236031)
KUKA(庫卡)焊接機(jī)器人一般由示教盒、控制盤、機(jī)器人本體、自動送絲裝置和焊接電源等部分組成[1],操作者通過旋轉(zhuǎn)控制盤,使得機(jī)器人能夠按照設(shè)定的程序工作。在機(jī)器人工作過程中,操作者無需監(jiān)督,機(jī)器人就能自動運(yùn)行,直到任務(wù)結(jié)束。 KUKA機(jī)器人具有作業(yè)效率高、性能穩(wěn)定和抗疲勞等特點(diǎn),已廣泛用于搬運(yùn)、裝載和堆垛等工況[2]。 目前,關(guān)于機(jī)器人仿真技術(shù)的研究主要集中在機(jī)器人的結(jié)構(gòu)和機(jī)器人的運(yùn)動學(xué)分析方面[3]。 通過機(jī)器人仿真,能發(fā)現(xiàn)機(jī)器人在設(shè)計方面的不足, 以避免機(jī)器人在生產(chǎn)作業(yè)過程中發(fā)生安全事故。例如,在設(shè)計機(jī)器人的軌跡規(guī)劃時, 如果不進(jìn)行模擬試驗(yàn)就讓機(jī)器人直接行走,機(jī)器人就可能因?yàn)樘_動作導(dǎo)致重心不穩(wěn),從而導(dǎo)致機(jī)器人損壞,造成經(jīng)濟(jì)損失[4]。 通過機(jī)器人仿真系統(tǒng), 人們可在計算機(jī)上模擬機(jī)器人的運(yùn)動軌跡和行走情況,觀察其是否安全、可靠和穩(wěn)定,以決定是否用于生產(chǎn)實(shí)際[5]。 這樣不僅可以提高生產(chǎn)效率,而且可以避免不必要的損失, 降低生產(chǎn)成本。 在本文中,我們完成了以下工作:首先,利用KUKA 機(jī)器人的結(jié)構(gòu)參數(shù)、齊次坐標(biāo)變換以及D-H 參數(shù)法導(dǎo)出了KUKA 機(jī)器人的運(yùn)動學(xué)方程, 并進(jìn)行了逆運(yùn)動學(xué)方程求解;其次,利用MATLAB 的Robotics Toolbox 建立了KUKA 機(jī)器人的三維模型, 得到了它的4 種逆運(yùn)動學(xué)狀態(tài);最后,分析了KUKA 機(jī)器人的關(guān)節(jié)空間軌跡規(guī)劃和笛卡兒空間規(guī)劃,證明了利用D-H 參數(shù)法能提高機(jī)器人的運(yùn)動軌跡的準(zhǔn)確性的結(jié)論。
通過D-H 參數(shù)法,可以在各個關(guān)節(jié)鏈上建立空間坐標(biāo)系, 通過遞歸方法獲得末端執(zhí)行器相對于初始坐標(biāo)的齊次變換矩陣。 在設(shè)立坐標(biāo)系時,先確定每個桿件坐標(biāo)系的z 軸, 以確保原點(diǎn)連在該桿件的前一個軸線上, 再確定設(shè)立的連桿坐標(biāo)系中的4 個基本參數(shù),這4 個參數(shù)包括連桿間的夾角θ、連桿間的扭角α、連桿的長度a 及兩條法線間的距離d[3]。
KUKA 機(jī)器人是六自由度機(jī)器人,它的6 個關(guān)節(jié)是可以轉(zhuǎn)動的,其結(jié)構(gòu)如圖1 所示。 前3 個關(guān)節(jié)的自由度可以確定KUKA 機(jī)器人末端參考點(diǎn)的位置,后3 個關(guān)節(jié)的自由度可以確定KUKA 機(jī)器人末端參考點(diǎn)的姿態(tài)。
圖1 KUKA 機(jī)器人的結(jié)構(gòu)
KUKA 機(jī)器人上的3 個關(guān)節(jié)軸線相交于空間一點(diǎn),因此可假設(shè)該點(diǎn)為初始點(diǎn)。關(guān)節(jié)2、關(guān)節(jié)3 的z 軸和關(guān)節(jié)1 的z 軸表示的方向是不一樣的, 可分別設(shè)為豎直方向和水平方向。 KUKA 機(jī)器人的連桿參數(shù)見表1,各連桿坐標(biāo)系見圖2。
圖2 KUKA 機(jī)器人的連桿坐標(biāo)系
表1 KUKA 機(jī)器人的連桿參數(shù)
現(xiàn)在, 我們利用表1 中的4 個參數(shù)θ、d、a 和α描述機(jī)器人連桿間的位姿關(guān)系。 先用參數(shù)d 和a 確定連桿的尺寸, 用參數(shù)θ 和α 確定連桿間的位置關(guān)系[6],再將連桿第i 個坐標(biāo)系上的點(diǎn)ri表示在第i-1個坐標(biāo)系上。 經(jīng)過4 次這樣的變換,就可以得連桿變換表達(dá)矩陣
在MATLAB 的Robotics Toolbox 中使用link 功能函數(shù)即可建立KUKA 機(jī)器人的三維模型, 并使用功能函數(shù)fkine 設(shè)計以下狀態(tài):處于就緒狀態(tài)時(圖3),機(jī)械臂伸直且垂直;處于標(biāo)準(zhǔn)狀態(tài)時(圖4),機(jī)械臂處在一個任意的工作姿態(tài);處于伸展?fàn)顟B(tài)時(圖5),機(jī)械臂伸直且水平;處于零角度狀態(tài)時(圖6),機(jī)械臂伸直且水平、末端垂直狀態(tài)。
圖3 就緒狀態(tài)
圖4 標(biāo)準(zhǔn)狀態(tài)
圖5 伸展?fàn)顟B(tài)
圖6 零角度狀態(tài)
從圖3—圖6 可以看出,在4 種不同狀態(tài)下,KUKA機(jī)器人末端執(zhí)行器的各關(guān)節(jié)轉(zhuǎn)角與其對應(yīng)的轉(zhuǎn)角向量相等,這說明建立虛擬仿真模型的方法是完全正確的。
所謂的軌跡規(guī)劃, 就是在機(jī)械手運(yùn)動學(xué)和動力學(xué)的基礎(chǔ)上, 討論在關(guān)節(jié)空間和笛卡兒空間中機(jī)器人運(yùn)動的軌跡規(guī)劃和軌跡生成方法。
在仿真過程中,將機(jī)器人的運(yùn)動關(guān)節(jié)點(diǎn)連接起來,就構(gòu)成了該機(jī)器人的行動路線圖。 根據(jù)行動路線圖能得到諸如位移量、速度和加速度等機(jī)器人的運(yùn)動參數(shù)。
現(xiàn)在我們分別對KUKA 機(jī)器人進(jìn)行關(guān)節(jié)空間軌跡規(guī)劃和笛卡兒空間軌跡規(guī)劃進(jìn)行仿真。 在計算機(jī)械臂的正、 逆解時, 我們用Robotics Toolbox 中的Fkine 函數(shù)和lkine 函數(shù); 在計算關(guān)節(jié)空間和笛卡兒空間的運(yùn)動軌跡時,我們用Jtraj 函數(shù)和Craj 函數(shù)。
2.2.1 關(guān)節(jié)空間軌跡規(guī)劃
圖7 各關(guān)節(jié)變量角度的變化曲線
圖8 各關(guān)節(jié)變量速度的變化曲線
圖9 各關(guān)節(jié)變量加速度的變化曲線
圖10 機(jī)器人末端位置的變化曲線
2.2.2 笛卡兒空間規(guī)劃
以空間坐標(biāo)系中A 和B 兩點(diǎn)為例, 制定笛卡兒直線軌跡規(guī)劃,其中A 和B 位姿的齊次變換矩陣為
利用Ctraj 函數(shù)對笛卡兒空間軌跡進(jìn)行仿真。 時間為0.000 000 1 s, 以0.1 s 為采樣時間, 共計60步。 由此可以得到KUKA 機(jī)器人末端執(zhí)行器的關(guān)節(jié)坐標(biāo)角度變化曲線(圖11)和機(jī)械臂末端位置變化曲線(圖12)。
圖11 關(guān)節(jié)坐標(biāo)角度變化曲線
圖12 末端位置變化曲線
在本文中, 我們建立了KUKA 機(jī)器人的運(yùn)動學(xué)方程,對逆運(yùn)動學(xué)方程進(jìn)行了求解,利用MATLAB 的Robotics Toolbox 建立了KUKA 機(jī)器人的三維模型,并利用MATLAB 對KUKA 機(jī)器人關(guān)節(jié)空間和笛卡兒空間軌跡規(guī)劃進(jìn)行了仿真,得到了機(jī)器人各個關(guān)節(jié)的位置角度、速度及加速度等變化曲線,為機(jī)器人正常工作提供了理論依據(jù), 為機(jī)器人的研發(fā)提供了參考。