摘要:針對(duì)機(jī)械手臂在運(yùn)動(dòng)過程中出現(xiàn)的不穩(wěn)定現(xiàn)象,本文利用多項(xiàng)式插值規(guī)劃關(guān)節(jié)空間的軌跡,并利用MATLAB中的SimMechanics建立逆運(yùn)動(dòng)學(xué)仿真模型,由軌跡規(guī)劃模塊得到的各關(guān)節(jié)變量的角度、角速度和角加速度來驅(qū)動(dòng)各關(guān)節(jié)運(yùn)動(dòng);同時(shí)對(duì)機(jī)械手臂末端軌跡規(guī)劃進(jìn)行分析仿真。
關(guān)鍵詞:機(jī)械臂;SimMechanics;仿真;軌跡規(guī)劃
1、機(jī)械手臂模型建立
為了具體分析機(jī)械臂運(yùn)動(dòng)詳情,建立運(yùn)動(dòng)學(xué)方程是必要的,而現(xiàn)在大多數(shù)是多自由度的機(jī)械臂,具有多根連桿和關(guān)節(jié),也就需要針對(duì)每一根連桿和關(guān)節(jié)來建立坐標(biāo)系,并建立起各個(gè)坐標(biāo)系的關(guān)聯(lián)。為了論述鄰近兩連桿之間空間位置關(guān)系,引入了D-H參數(shù)法。D-H參數(shù)法為關(guān)節(jié)鏈中的每一根連桿桿件建立了對(duì)應(yīng)坐標(biāo)系。[1]
2、基于SimMechanics的機(jī)械臂模型
根據(jù)圖1和圖2,并利用SimMechanics中的模塊,建立模擬人體手臂的機(jī)械模型。其中,肩部關(guān)節(jié)的3個(gè)自由度分別繞X軸、Y軸和Z軸旋轉(zhuǎn),以實(shí)現(xiàn)3個(gè)自由度相互正交;肘部關(guān)節(jié)的2個(gè)自由度分別繞Y軸和Z軸旋轉(zhuǎn);腕關(guān)節(jié)繞Z軸旋轉(zhuǎn)。上臂關(guān)節(jié)的Body模塊參數(shù)設(shè)置如圖2所示。
在各關(guān)節(jié)放置JointActuator模塊,輸入運(yùn)動(dòng)信號(hào)Motion,包括角度、角速度、角加速度等。將關(guān)節(jié)傳感器Sensors模塊連接到轉(zhuǎn)動(dòng)副端口上,測(cè)量角加度、角度、角速度等,然后輸出到Scope示波器模塊,打開Scope觀察各參數(shù)曲線軌跡的變化情況。在執(zhí)行器末端放置BodySensor剛體傳感器,連接X,Ygraph模塊和Terminator模塊,以顯示末端運(yùn)動(dòng)軌跡、狀態(tài)以及軌跡到達(dá)目標(biāo)位置停止,完成運(yùn)動(dòng)仿真模型。
采用軌跡規(guī)劃方法可以驗(yàn)證模型的正確性。期望軌跡為1條直線,起始點(diǎn)為(0.05,0.305,0.225),終止點(diǎn)為(0.25,0.345,0.45),運(yùn)用SimMechanics建立六自由度機(jī)械手臂模型,其中Pathplanning模塊是根據(jù)運(yùn)動(dòng)學(xué)方程的逆解,通過Simulink編寫程序建立的軌跡規(guī)劃模塊。已知機(jī)械手臂的位置和姿態(tài),求出各個(gè)關(guān)節(jié)變量的角度,并在此基礎(chǔ)上依次對(duì)角度進(jìn)行微分,得到角速度和角加速度,驅(qū)動(dòng)關(guān)節(jié)(JointActuator)模塊來驅(qū)動(dòng)各個(gè)關(guān)節(jié)的運(yùn)行仿真。
3、機(jī)械臂軌跡規(guī)劃仿真
機(jī)械臂軌跡仿真需要利用MATLAB自帶畫圖程序來實(shí)現(xiàn),用到拆分窗口函數(shù),以及畫圖函數(shù)。[2]將預(yù)先規(guī)劃好的時(shí)間、關(guān)節(jié)旋轉(zhuǎn)角度、角速度及其加速度等參數(shù)輸入進(jìn)函數(shù),即可繪圖模擬。用分析函數(shù)進(jìn)行曲線擬合分析。
3.1仿真軌跡規(guī)劃
關(guān)節(jié)空間中機(jī)械臂的每一條軌跡運(yùn)動(dòng)通過拆解為每個(gè)關(guān)節(jié)轉(zhuǎn)動(dòng)一定角度所形成,反映各關(guān)節(jié)轉(zhuǎn)角與機(jī)器人末端執(zhí)行器的位置或姿態(tài)一一對(duì)應(yīng)。對(duì)機(jī)械臂仿真,進(jìn)行軌跡規(guī)劃時(shí),用到工具箱中的 jtraj 函數(shù)和 ctraj 函數(shù)。Jtraj 函數(shù)是已知初始和終止的關(guān)節(jié)角度,利用五次多項(xiàng)式公式來進(jìn)行關(guān)節(jié)空間軌跡分析; ctraj 函數(shù)是已知初始和終止的末端關(guān)節(jié)姿態(tài),利用勻速加速度和勻速減速度來規(guī)劃笛卡爾空間坐標(biāo)軌跡規(guī)劃。
3.2軌跡曲線擬合
在現(xiàn)實(shí)生活中,機(jī)械臂接收信號(hào)頻率過疏,則會(huì)造成機(jī)械臂的反應(yīng)遲鈍,不能很好地?cái)M合理想化的規(guī)劃軌跡。但接收信號(hào)過密,則會(huì)造成機(jī)械臂為了更好地?cái)M合理想化的規(guī)劃軌跡產(chǎn)生過平滑,而不停抖動(dòng)或偏離規(guī)劃軌跡。因此在軌跡規(guī)劃時(shí)要選擇更高效實(shí)惠的軌跡規(guī)劃,兼顧軌跡平滑與機(jī)械臂動(dòng)作平滑。為了驗(yàn)證仿真中更符合實(shí)際需求的軌跡規(guī)劃,先設(shè)置橫向比較,再進(jìn)行縱向排除,得到最優(yōu)軌跡規(guī)劃。選擇有效的關(guān)節(jié)角函數(shù)圖像,挑選出第一關(guān)節(jié)角的旋轉(zhuǎn)角度、角速度和角加速度作為參考基準(zhǔn)圖像。
4、結(jié)束語
本文根據(jù)D-H參數(shù)方法建立了機(jī)械手臂坐標(biāo)系,并基于MATLAB中的SimMechanics工具箱,對(duì)機(jī)械手臂進(jìn)行建模和運(yùn)動(dòng)仿真;同時(shí)利用軌跡規(guī)劃模塊,合理的對(duì)機(jī)械手臂末端運(yùn)行軌跡提前預(yù)定,仿真模型輸出軌跡和預(yù)定軌跡相吻合,但仿真軌跡變粗,說明運(yùn)行過程中出現(xiàn)忽快忽慢的現(xiàn)象。針對(duì)這一點(diǎn)可以進(jìn)一步對(duì)控制的準(zhǔn)確性進(jìn)行分析研究,并可考慮用PID控制。利用SimMechanics可以對(duì)機(jī)械手臂多個(gè)關(guān)節(jié)軌跡進(jìn)行仿真規(guī)劃,既快速又準(zhǔn)確。MATLAB軟件為機(jī)械手臂的研究提供了強(qiáng)大的分析運(yùn)算和仿真能力,也為機(jī)械手臂的運(yùn)動(dòng)控制提供可靠的數(shù)據(jù)。
參考文獻(xiàn):
[1] 羅家佳,胡國(guó)清.基于MATLAB的機(jī)器人運(yùn)動(dòng)仿真研究[J].廈門大學(xué)學(xué)報(bào),2005.
[2] 王永龍,張兆忠,張桂紅.Matlab 語言基礎(chǔ)與應(yīng)用[M].北京: 電子工業(yè)出版社,2010.
作者簡(jiǎn)介:夏明(1996.05-),山東交通學(xué)院本科學(xué)生,指導(dǎo)老師:李光。