李光亮,陳君若
(昆明理工大學(xué)機(jī)電工程學(xué)院,云南 昆明 560500)
工業(yè)機(jī)器人的應(yīng)用日漸廣泛,其研究越來越重要。機(jī)器人的研發(fā)存在成本高、周期長等不足。機(jī)器人的理論研究分析和仿真有助于機(jī)器人的研發(fā)。MATLAB除了傳統(tǒng)的交互式編程之外,還提供了豐富、可靠的矩陣運(yùn)算、圖形繪制、數(shù)據(jù)處理、圖像處理等工具[1]。利用MATLAB機(jī)器人仿真模塊,可以進(jìn)行機(jī)器人的參數(shù)建模、運(yùn)動(dòng)學(xué)分析和軌跡規(guī)劃仿真。在MATLAB環(huán)境下,運(yùn)用Robotics Toolbox[2]編制程序,對空間直線、馬鞍形曲線進(jìn)行了軌跡規(guī)劃仿真,得到機(jī)器人在運(yùn)動(dòng)過程中的關(guān)節(jié)穩(wěn)定性以及位移、速度和加速度。工業(yè)機(jī)器人軌跡規(guī)劃,可以使機(jī)器人的運(yùn)動(dòng)軌跡更平穩(wěn)、光滑、連續(xù),使機(jī)器人的工作效率更高[3]。
機(jī)器人連桿坐標(biāo)系如圖1所示。
圖1 機(jī)器人連桿坐標(biāo)系
KUKA機(jī)器人關(guān)節(jié)結(jié)構(gòu)主要由回轉(zhuǎn)主體、大臂、伸長臂、腕部等部分組成,KUKA KR6機(jī)器人屬于關(guān)節(jié)機(jī)器人,有6個(gè)轉(zhuǎn)動(dòng)關(guān)節(jié):前3個(gè)關(guān)節(jié)用來確定手腕參考點(diǎn)的位置,后3個(gè)關(guān)節(jié)用來確定手腕的方位,實(shí)現(xiàn)手腕的俯仰、翻滾和偏轉(zhuǎn)。采用改進(jìn)的D-H法對機(jī)器人在6個(gè)桿件之間的相對位置和姿態(tài)進(jìn)行標(biāo)注。機(jī)器人連桿運(yùn)動(dòng)參數(shù)如表1所示。
表1 機(jī)器人連桿運(yùn)動(dòng)參數(shù)
確定了KUKA KR6 機(jī)器人各連桿坐標(biāo)系之后,就可以確定改進(jìn)KUKA KR6機(jī)器人的D-H參數(shù)。根據(jù)機(jī)器人結(jié)構(gòu)參數(shù)和連桿坐標(biāo)系,可以確定KUKA KR6 機(jī)器人各連桿坐標(biāo)系的改進(jìn)D-H參數(shù)。改進(jìn)D-H方法一共有以下4個(gè)參數(shù)。①θi為關(guān)節(jié)i處連桿(i-1)與連桿i之間的關(guān)節(jié)轉(zhuǎn)角,即繞Z軸旋轉(zhuǎn)的角度;②di為連桿(i-1)與連桿i之間的連桿偏距,即繞Z軸平移的距離;③ai為連桿i的長度,即沿X軸平移的距離;④αi為連桿(i-1)與連桿i之間的連桿轉(zhuǎn)角,即繞X軸旋轉(zhuǎn)的角度[4-6]。
機(jī)器人運(yùn)動(dòng)學(xué)分析是機(jī)器人動(dòng)力學(xué)、軌跡規(guī)劃和位置控制的重要基礎(chǔ),機(jī)器人的連桿參數(shù)分析和改進(jìn)的D-H參數(shù)建立主要是為了分析機(jī)器人運(yùn)動(dòng)學(xué)。機(jī)器人運(yùn)動(dòng)學(xué)分為以下兩類基本問題:①機(jī)器人運(yùn)動(dòng)方程的表示問題,即正運(yùn)動(dòng)學(xué);②機(jī)器人運(yùn)動(dòng)方程的求解問題,即逆向運(yùn)動(dòng)學(xué)[7]。
(1)
由式(1)結(jié)合KUKA KR6機(jī)器人結(jié)構(gòu),可得:
得到機(jī)器人各連桿坐標(biāo)系的變換矩陣后,進(jìn)一步得到機(jī)器人的運(yùn)動(dòng)學(xué)方程,即坐標(biāo)系{0}~坐標(biāo)系{6}的變換矩陣:
(2)
式中:n、o、a和p分別為法線矢量、方向矢量、接近矢量和原點(diǎn)矢量。
機(jī)器人運(yùn)動(dòng)學(xué)逆問題就是已知末端連桿的位置和方位(可表示為位姿矩陣T),求得機(jī)器人的各個(gè)關(guān)節(jié)變量。機(jī)器人運(yùn)動(dòng)學(xué)逆問題的求解方法是:用未知的連桿逆變換,將關(guān)鍵變量分離出來,從而求得各關(guān)節(jié)變量。
對于上述的KUKA KR6,采用逆運(yùn)動(dòng)學(xué)求解,即求解關(guān)節(jié)變量θ1,θ2,…,θ6。
(3)
軌跡規(guī)劃分為點(diǎn)到點(diǎn)運(yùn)動(dòng)和連續(xù)路徑規(guī)劃。前者只需規(guī)定起始點(diǎn)和終止點(diǎn),后者既要規(guī)定起始點(diǎn)和終止點(diǎn),又要指明若干中間路徑點(diǎn)[8-9]。結(jié)合KUKA KR6機(jī)器人模型,采用點(diǎn)到點(diǎn)運(yùn)動(dòng)進(jìn)行軌跡規(guī)劃,得到機(jī)器人回轉(zhuǎn)關(guān)節(jié)、肩關(guān)節(jié)和肘關(guān)節(jié)坐標(biāo)運(yùn)動(dòng)曲線。設(shè)定初始變換矩陣T1=[0 1 0 50; 0 0 1 0; 1 0 0 86.602 5; 0 0 0 1],終止變換矩陣T2=[0 1 0 0; 0 0 1 30; 1 0 0 86.602 5; 0 0 0 1],仿真時(shí)間t=2 s。
機(jī)器人前3關(guān)節(jié)坐標(biāo)運(yùn)動(dòng)曲線如圖2所示。
調(diào)用plot[t,q(:,i)]、plot[t,qd(:,i)]和plot[t,qdd(:,i)]指令,繪制對應(yīng)關(guān)節(jié)的角位移、角速度和角加速度曲線,如圖3所示。
圖2 前三個(gè)關(guān)節(jié)坐標(biāo)運(yùn)動(dòng)曲線
圖3 前三個(gè)關(guān)節(jié)的角位移、角速度、角加速度曲線
對于空間曲線的軌跡規(guī)劃,采用連續(xù)路徑規(guī)劃,規(guī)定起始點(diǎn)和終止點(diǎn),指明若干中間路徑點(diǎn)。利用MATLAB繪制馬鞍形空間曲線,兩圓管直徑分別為50 mm和100 mm。對馬鞍形空間曲線上的40個(gè)點(diǎn)進(jìn)行軌跡規(guī)劃仿真,t=2 s,調(diào)用函數(shù)Ta=ctraj(T0,T1,length(t)),q=ikine(r,Ta),求解運(yùn)動(dòng)學(xué)逆解關(guān)節(jié)坐標(biāo)[10]。
MATLAB程序如下。
a=50;
b=100;
alpha=0:pi/20:2*pi;
x=a*cos(alpha);
y=a*sin(alpha);
z=sqrt(b.^2-a.^2*cos(alpha).^2);
在曲線上均勻選取40個(gè)點(diǎn),進(jìn)行機(jī)器人的軌跡運(yùn)動(dòng)仿真。程序如下。
t=0:0.05:2
for i=1:1:40
T{i}=transl(x(i),y(i),z(i));
end
for i=1:1:39
Ta{i}=ctraj(T{i},T{i+1},length(t));
end
q=ikine(r,Ta{i})
馬鞍形空間曲線如圖4所示。
圖4 馬鞍形空間曲線
機(jī)器人各關(guān)節(jié)運(yùn)動(dòng)變化曲線如圖5所示。
從圖5可以看出:機(jī)器人各運(yùn)動(dòng)曲線變化連續(xù)緩和,沒有出現(xiàn)突變現(xiàn)象。這說明機(jī)器人運(yùn)動(dòng)時(shí),各關(guān)節(jié)運(yùn)動(dòng)靈活,各活動(dòng)部件運(yùn)動(dòng)平穩(wěn)。
圖5 各關(guān)節(jié)運(yùn)動(dòng)變化曲線
通過對KUKA KR6工業(yè)機(jī)器人進(jìn)行研究分析,基于MATLAB中的Robotics Toolbox模塊,進(jìn)行了以下幾方面的工作。①采用改進(jìn)的D-H法,建立KUKA KR6工業(yè)機(jī)器人的運(yùn)動(dòng)學(xué)方程和機(jī)器人各連桿坐標(biāo)系。②根據(jù)機(jī)器人的運(yùn)動(dòng)學(xué)方程,進(jìn)行了運(yùn)動(dòng)學(xué)的正、逆解。③在MATLAB中建立機(jī)器人模型,對空間軌跡進(jìn)行仿真,分析了機(jī)器人在運(yùn)動(dòng)過程中的關(guān)節(jié)穩(wěn)定性以及位移、速度和加速度的變化。④對空間馬鞍形焊縫軌跡進(jìn)行仿真,為機(jī)器人焊接系統(tǒng)焊接馬鞍形焊縫提供了理論分析。
KUKA KR6機(jī)器人的運(yùn)動(dòng)學(xué)分析與仿真,為工業(yè)機(jī)器人的研究開發(fā)提供了理論基礎(chǔ)。
[1] 薛定宇,陳陽泉.基于MATLAB/Simulink的系統(tǒng)仿真技術(shù)與應(yīng)用[M].北京:清華大學(xué)出版社,2002.
[2] CORKE P I.A robotics toolbox for matlab[J].IEEE Robotics and Automation Magzine,1996,3(1):24 -32.
[3] 林仕高,劉曉麟,歐元賢.機(jī)械手笛卡爾空間軌跡規(guī)劃研究[J].機(jī)械設(shè)計(jì)與制造,2013(3):49-52.
[4] 張禹,丁磊宇.基于Matlab的6R工業(yè)機(jī)器人運(yùn)動(dòng)學(xué)仿真與研究[J].機(jī)械工程,2017(1):24-27.
[5] 張舒曼,周亞軍.基于Matlab的機(jī)器人運(yùn)動(dòng)學(xué)分析與軌跡規(guī)劃仿真[J].工業(yè)控制計(jì)算機(jī),2014(8):12-14.
[6] 徐呈藝,李業(yè)農(nóng),周小青,等.MOTOMAN-UP6機(jī)器人運(yùn)動(dòng)學(xué)分析及仿真[J].機(jī)床與液壓,2013(9):144-149
[7] 蔡自興.機(jī)器人學(xué)基礎(chǔ) [M].2版.北京:機(jī)械工業(yè)出版社,2015.
[8] 王智興,樊文欣,張保成.基于Matlab的工業(yè)機(jī)器人運(yùn)動(dòng)學(xué)分析與仿真[J].機(jī)電工程,2012,29(1):33-37.
[9] 于天宇,李達(dá),宋寶玉.基于MATLAB-Robotics工具箱的工業(yè)機(jī)器人軌跡規(guī)劃及仿真研究[J].機(jī)械工程師,2011(7):81-83.
[10]扶宇陽,葛阿萍.基于MATLAB的工業(yè)機(jī)器人運(yùn)動(dòng)學(xué)仿真研究[J].機(jī)械工程與自動(dòng)化,2013(3):40-42.