趙慧娟
(中國礦業(yè)大學(xué),江蘇徐州,221116)
基于MATLAB的機(jī)器人正運(yùn)動(dòng)學(xué)分析與仿真
趙慧娟
(中國礦業(yè)大學(xué),江蘇徐州,221116)
鑒于機(jī)器人技術(shù)的迅猛發(fā)展,不同用途的機(jī)器人活躍在各個(gè)領(lǐng)域。研究機(jī)器人,運(yùn)動(dòng)學(xué)分析是關(guān)鍵,包括運(yùn)動(dòng)學(xué)方程的正解和逆解。本文應(yīng)用坐標(biāo)系變換對機(jī)器人進(jìn)行建模分析,計(jì)算出機(jī)器人運(yùn)動(dòng)方程的正解求解公式,得到了關(guān)節(jié)末端坐標(biāo)與各個(gè)關(guān)節(jié)角之間的對應(yīng)關(guān)系。并應(yīng)用Matlab—Simulink下的SimMechanics仿真模塊進(jìn)行機(jī)器人的運(yùn)動(dòng)學(xué)三維仿真,驗(yàn)證仿真模型,為今后機(jī)器人運(yùn)動(dòng)學(xué)方面的研究提供一個(gè)直觀有效的環(huán)境。
機(jī)器人;運(yùn)動(dòng)分析;仿真
機(jī)器人技術(shù)是一門多學(xué)科綜合交叉的邊緣學(xué)科,涉及電子、機(jī)械、運(yùn)動(dòng)學(xué)、動(dòng)力學(xué)、控制理論、傳感器檢測、計(jì)算機(jī)技術(shù)和人機(jī)工程。計(jì)算機(jī)技術(shù)的不斷發(fā)展促使機(jī)器人技術(shù)的發(fā)展達(dá)到一個(gè)新水平。上至宇宙飛船、下至深海開發(fā),大到空間站,小到微型機(jī)器人,機(jī)器人技術(shù)已經(jīng)拓展到全球經(jīng)濟(jì)發(fā)展的諸多領(lǐng)域,成為高科技中非常重要的部分。
機(jī)器人機(jī)械設(shè)計(jì)與一般的機(jī)械設(shè)計(jì)相比,有很多不同之處。首先,從機(jī)構(gòu)學(xué)的角度來看,機(jī)器人的結(jié)構(gòu)是由一系列連桿通過旋轉(zhuǎn)關(guān)節(jié)連接起來的開式運(yùn)動(dòng)鏈。機(jī)械手是機(jī)器人系統(tǒng)的運(yùn)動(dòng)部分。作為自動(dòng)化工具的機(jī)械手,它有如下特點(diǎn):它的執(zhí)行機(jī)構(gòu)是用來保證復(fù)雜空間運(yùn)動(dòng)的綜合剛體,而且它自身也往往需要在機(jī)械加工或裝配等過程中作為統(tǒng)一體進(jìn)行運(yùn)動(dòng)。因此我們分析機(jī)器人需要一種可行性方法。
1.1連桿坐標(biāo)系的建立
圖1 坐標(biāo)系的建立
要想分析機(jī)器人的運(yùn)動(dòng),必須建立坐標(biāo)系,Denavit和Hatenberg提出構(gòu)造連桿D-H坐標(biāo)系方法,這種方法在各個(gè)連桿上固結(jié)一個(gè)坐標(biāo)系,命名與基座固結(jié)在一起的坐標(biāo)系為{0},與連桿i固結(jié)在一起的坐標(biāo)系為{i}。笛卡爾坐標(biāo)系用分為固聯(lián)坐標(biāo)系后置和固聯(lián)坐標(biāo)系前置兩種形式,本文默認(rèn)選為固聯(lián)坐標(biāo)系前置方式。
1.2連桿坐標(biāo)系的建立方法與原則連桿機(jī)構(gòu)的結(jié)構(gòu)模型如圖1所示:笛卡爾坐標(biāo)系的建立規(guī)則如下:
將各個(gè)關(guān)節(jié)軸延長并標(biāo)出。確定坐標(biāo)原點(diǎn)的位置。畫出關(guān)節(jié)軸i-1和i之間的公垂線,則公垂線與關(guān)節(jié)軸i-1的交點(diǎn)作為坐標(biāo)系{i-1}的原點(diǎn),公垂線與關(guān)節(jié)軸i的交點(diǎn)作為坐標(biāo)系{i}的原點(diǎn)。若兩關(guān)節(jié)軸線相交,則交點(diǎn)即為原點(diǎn)。確定坐標(biāo)系Z軸的方向。規(guī)定的方向與關(guān)節(jié)軸i-1的方向相同。確定坐標(biāo)系X軸的方向。規(guī)定軸與公垂線共線,方向由坐標(biāo)系{i-1}。的原點(diǎn)指向坐標(biāo)系{i}的原點(diǎn)。若關(guān)節(jié)軸i與i-1相交,規(guī)定軸垂直于關(guān)節(jié)軸i-1和i所在平面。確定坐標(biāo)系X軸的方向。規(guī)定的方向通過,由右手定則確定。坐標(biāo)系{0}的的位置和方向可以任意選取,基本上是遵循使用者的個(gè)人習(xí)慣確
1.3D-H參數(shù)
連桿坐標(biāo)系建立成功之后,為描述機(jī)器人的結(jié)構(gòu)和特性,規(guī)定一系列參數(shù),包括:
1.3.1單根連桿參數(shù)
用兩相鄰關(guān)節(jié)軸線間的相對位置關(guān)系來描述單根連桿的尺寸,有兩個(gè)參數(shù)就(見圖2)
1.3.2相鄰連桿之間的參數(shù)
相鄰兩連桿之間的參數(shù),用兩根公垂線之間的關(guān)系來描述。桿距離為兩根公垂線與之間的距離,即兩x軸與之間的距離,在軸上測量。對于轉(zhuǎn)動(dòng)關(guān)節(jié),=常數(shù);對于移動(dòng)關(guān)節(jié),=變量。連桿轉(zhuǎn)角為兩根公垂線與之間的夾角,即兩x軸與軸之間的夾角,繞軸從軸旋轉(zhuǎn)到軸,符合右手規(guī)則的為正。對于轉(zhuǎn)動(dòng)關(guān)節(jié),為變量;對于移動(dòng)關(guān)節(jié),為常數(shù)。
連桿坐標(biāo)系的建立為處理和分析機(jī)器人提供了便利,通過變換矩陣可以遞推求出末端執(zhí)行器的坐標(biāo)。機(jī)器人的連桿由四個(gè)參數(shù)描述,其中參數(shù)和將連桿本身的個(gè)各種特征描述出來。另兩個(gè)參數(shù)和用于將連桿之間的的關(guān)系描述出來,為后續(xù)正運(yùn)動(dòng)學(xué)提供基礎(chǔ)。
機(jī)器人運(yùn)動(dòng)學(xué)分析建立在機(jī)器人研究的基礎(chǔ)上,同時(shí)機(jī)器人仿真系統(tǒng)也是建立運(yùn)動(dòng)學(xué)分析上的。在工業(yè)應(yīng)用中對機(jī)械手進(jìn)行編程必須建立各種坐標(biāo)系以及設(shè)定關(guān)節(jié)坐標(biāo)。當(dāng)運(yùn)行程序時(shí),控制器的運(yùn)算單元分析出程序所給出的坐標(biāo)變化,通過這些坐標(biāo)變化進(jìn)一步轉(zhuǎn)變成關(guān)節(jié)位置的變化,這就是整個(gè)控制過程。而這些功能得以實(shí)現(xiàn)的最關(guān)鍵一步就是運(yùn)動(dòng)分析。
機(jī)器人的正運(yùn)動(dòng)學(xué)又稱為正解過程。其指的是給出了D-H參數(shù)及變換矩陣,當(dāng)給定一組連桿角度值,相應(yīng)的求出末端執(zhí)行器位姿矩陣的過程。
以PUMA560機(jī)器人為例,參照其D-H參數(shù)表中參數(shù),將表中的四個(gè)參數(shù)分別帶入到四階齊次變換矩陣,運(yùn)用傳遞公式,計(jì)算得
依據(jù)PUMA560機(jī)器人的D-H參數(shù),查閱參數(shù)得a2=431.8mm, a3=20.32mm;d2=149.09mm,
d4=433.07mm,立柱高660.4mm。采用迭代原理,并繪出正解結(jié)果折線圖。編寫matlab函數(shù)文件,令1到6關(guān)節(jié)角度為分別為:90°,0°,-90°,0,90°,0°那么它的形態(tài)應(yīng)該是桿3,4,5處于水平狀態(tài),且各個(gè)坐標(biāo)系遠(yuǎn)點(diǎn)位置可通過簡單幾何加減關(guān)系推到出如下:
圖2 機(jī)器人正運(yùn)動(dòng)學(xué)
以上結(jié)果與預(yù)測的坐標(biāo)點(diǎn)相同。
運(yùn)行程序的同時(shí)會(huì)得到各個(gè)坐標(biāo)點(diǎn)的折線圖如圖3所示,它可以直觀體現(xiàn)機(jī)器人各個(gè)關(guān)節(jié)的位置形態(tài)。
圖3 關(guān)節(jié)折線圖
可見其3,4,5關(guān)節(jié)水平和設(shè)想基本一致,可初步證明正解方程正確性。
MATLAB是Mathworks公司開發(fā)的一種集數(shù)值計(jì)算、符號(hào)計(jì)算和圖形可視化三大基本功能于一體的功能強(qiáng)大、操作簡單的優(yōu)秀工程計(jì)算應(yīng)用軟件。MATLAB不僅可以處理代數(shù)問題和數(shù)值分析問題,而且還具有強(qiáng)大的圖形處理及仿真模擬等功能。從而能夠很好的幫助工程師及科學(xué)家解決實(shí)際的技術(shù)問題。
Simulink 是 Matlab 的一個(gè)方便的、交互式的、可視化的程序編制系統(tǒng)。對于非線性動(dòng)態(tài)系統(tǒng)的模擬仿真極其有用,可以在圖形界面下,利用鼠標(biāo)操作,畫方框圖的方式建立系統(tǒng)模型和運(yùn)行仿真操作,可以應(yīng)用于線性、非線性、連續(xù)離散、多變量和多速率系統(tǒng)。SimMechanics 結(jié)合 Simulink 和 Matlab,對一個(gè)機(jī)械系統(tǒng)進(jìn)行建模仿真。通過一系列相關(guān)的模塊來表示一個(gè)機(jī)構(gòu)系統(tǒng),就如同 Simulink 模型一樣,而且你可以將SimMechanics作為 Simulink 的一個(gè)分級子系統(tǒng)嵌入 Simulink 當(dāng)中。在仿真之前,利用 Matlab 圖形系統(tǒng),SimMechanics 可視化工具可以簡化為機(jī)械結(jié)構(gòu)直觀顯示。
其基本步驟如下:選擇Groud、Body、和Joint模塊:從Bodies和Joints模塊組中拖放建立模型所必需的Body和Joint模塊,還包括Machine Environment模塊和至少一個(gè)Ground模塊到Simulink窗口中。這些模塊的功能已經(jīng)在本章第三小節(jié)說明過,在此不多作講解。定位于聯(lián)接模塊:將Joint和Body模塊拖放到適當(dāng)?shù)奈恢?,然后按正確的順序?qū)⑺鼈円来芜B接起來。
整個(gè)系統(tǒng)可以是一個(gè)開環(huán)的或者是閉環(huán)的拓?fù)浣Y(jié)構(gòu),但至少有一個(gè)構(gòu)件是Ground模塊,而且有一個(gè)環(huán)境設(shè)置模塊直接與其相連。
圖4 仿真圖
圖5 末端位置圖
一個(gè)構(gòu)件可能不止兩個(gè)鉸(Joint),即可以產(chǎn)生分支。但是一個(gè)鉸只能連接兩個(gè)構(gòu)件。配置Body模塊:雙擊模塊,打開參數(shù)對話框,配置質(zhì)量屬性(質(zhì)量和慣性矩),然后確定Body模塊和Ground模塊與整體坐標(biāo)系或其他坐標(biāo)系之間的關(guān)系。配置Joint模塊:雙擊模塊,打開參數(shù)對話框,設(shè)置移動(dòng)或轉(zhuǎn)動(dòng)軸,或球面鉸結(jié)點(diǎn)等。選擇、連接和配置Constraint模塊和Driver模塊:從它們的模塊庫中添加模塊到模型窗口中,打開并配置它們每一個(gè)對話框,為了限制或驅(qū)動(dòng)Constraint/Driver所連接的兩個(gè)構(gòu)件的相對運(yùn)動(dòng)。選擇、連接和配置Actuator和Sensor模塊:從對應(yīng)的模塊庫中添加所需模塊至模型窗口,并依次連接。通過Actuator模塊確定控制信號(hào),通過Sensor模塊測量運(yùn)動(dòng)。Actuator、Sensor模塊實(shí)現(xiàn)SimMechanics模塊與Simulink模塊的連接。利用這兩個(gè)模塊就能夠達(dá)到與Simulink環(huán)境實(shí)現(xiàn)信號(hào)傳遞。同時(shí),Actuator模塊從Simulink模塊接受信號(hào)(如Sources模塊庫)來激勵(lì)機(jī)構(gòu)運(yùn)動(dòng)。Sensor模塊的輸出端口向Simulink中輸出信號(hào)(Sinks模塊庫),反饋輸出結(jié)果。
由于第6軸只起到旋轉(zhuǎn)作用,模型圖只設(shè)置了五個(gè)角度驅(qū)動(dòng)器和一個(gè)末端位置傳感器。
運(yùn)行結(jié)構(gòu)模型仿真圖和示波器輸出的位置分別如圖4和圖5所示。
可見當(dāng)在結(jié)構(gòu)模型中輸入各個(gè)關(guān)節(jié)角度時(shí),該結(jié)構(gòu)模型可以得出末端的坐標(biāo)位置,這相當(dāng)于一個(gè)正解過程,不過這是一個(gè)直觀的物理仿真過程。
當(dāng)我們將軸3的角度約束去掉,同時(shí)在剛體2和剛體3之間加一角度傳感器如圖6所示。由于第3軸沒有了角度的約束驅(qū)動(dòng),那么整個(gè)機(jī)器人將在重力作用下作局部擺動(dòng),這樣我們通過傳感器就能觀察到軸角度和末端位置的變化,甚至有需要可以得到末端坐標(biāo)的變化速度和關(guān)節(jié)角速度。
圖6 加角度傳感器后局部視圖
運(yùn)行模型文件, 兩個(gè)示波器分別輸出軸3的角度和末端坐標(biāo),波形如下圖7和圖8。
圖7 軸3角度
圖8 末端坐標(biāo)位置
至此,機(jī)器人的三維仿真模型建立完畢,可以應(yīng)用它來輔助學(xué)習(xí)研究機(jī)器人相關(guān)理論。
本文根據(jù)坐標(biāo)變換理論,分析機(jī)器人對應(yīng)的結(jié)構(gòu)和參數(shù),建立D-H參數(shù)模型,對正運(yùn)動(dòng)學(xué)進(jìn)行求解。并運(yùn)用matlab編程對正運(yùn)動(dòng)學(xué)方程進(jìn)行驗(yàn)證,這是對運(yùn)動(dòng)學(xué)分析的一種自我肯定與檢驗(yàn)并且通過驗(yàn)證過程將正運(yùn)動(dòng)學(xué)過程熟練應(yīng)用。運(yùn)用matlab的機(jī)構(gòu)仿真模塊simmechanics建立了一種串聯(lián)機(jī)器人的的仿真模型。該仿真模型具有直觀性與易操作性,可以完成動(dòng)態(tài)分析和對不可預(yù)測的因素進(jìn)行排除。本結(jié)構(gòu)模型已經(jīng)有它的的作用所在,它可以為日后分析機(jī)器人提供一個(gè)直觀工具,為以后更深入的研究機(jī)器人的軌跡分析與運(yùn)動(dòng)規(guī)劃奠定基礎(chǔ)。
[1]王佳.一種六自由度工業(yè)機(jī)器人的軌跡規(guī)劃及仿真研究[D].西安:長安大學(xué),2011
[2]張煥.六自由度機(jī)器人結(jié)構(gòu)設(shè)計(jì)、運(yùn)動(dòng)學(xué)分析及仿真.西安:西安理工大學(xué),2004
[3]周國義,謝明紅,孫友生,劉仁中.6自由度解藕機(jī)器人運(yùn)動(dòng)學(xué)逆解優(yōu)化的研究[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2009,22(5):21-23.
[4]楊國良. 工業(yè)機(jī)器人動(dòng)力學(xué)仿真及有限元分析[D].武漢:華中科技大學(xué),2007.
[5]汪國平.仿真模擬技術(shù)及應(yīng)用[J].物理學(xué)與信息科學(xué)技術(shù)專題,2005,34(8):596-602
[6]石志新,羅玉峰,葉海燕.一般5R串聯(lián)機(jī)器人逆運(yùn)動(dòng)學(xué)通用求解方法研究[J].機(jī)械科學(xué)與技術(shù),2009,28(5):661-664.
[7]周品,何正風(fēng).MATLAB數(shù)值分析[M].北京:機(jī)械工業(yè)出版社,2013.1.
[8]陳偉華,張鐵.噴涂機(jī)器人軌跡規(guī)劃的研究[J].2009,3(37):16-18.
Robotic forward kinematics analysis and simulation based on MATLAB
Zhao Huijuan
(China University of Mining and Technology,Xuzhou,Jiangsu,221116)
In view of great progress of robot technology,robots with different function are used in various fields.kinematics analysis including forward and inverse solution is critical to study robots.This paper applies coordinate system transformation to make model analysis of robot, works out positive solution to robots equations of motion and at last gets correspondence between joint ends coordinate and corresponding joint angle.Then it utilizes SimMechanics under Matlab—Simulink to make robot 3D kinematics simulation aiming to vertify simulation model,which provides a effective environment for the research of robot kinematics.
robot;kinematics analysis;simulation
趙慧娟(1981-),女,江蘇泰州人,講師,工程碩士在讀,研究方向:電氣控制。