, ,,,
(1.華中科技大學(xué)船舶與海洋工程學(xué)院,湖北 武漢 430074; 2.武漢第二船舶設(shè)計研究所,湖北 武漢 430064;3.武漢空軍預(yù)警學(xué)院,湖北 武漢 430019)
隨著工業(yè)自動化水平的日益提高,機械臂在自動化生產(chǎn)中正發(fā)揮越來越重要的作用。應(yīng)用機械臂,可以代替人在高溫、高腐蝕性等惡劣環(huán)境中完成指定任務(wù),還可以在精度要求較高及重復(fù)性較大的生產(chǎn)過程中完成抓取、搬運、裝配、噴涂、焊接等動作。在國外,工業(yè)機械臂產(chǎn)品已經(jīng)具有了成熟完善的行業(yè)標(biāo)準(zhǔn),而在國內(nèi)這個領(lǐng)域還需完善,這為工業(yè)機械臂的發(fā)展提供廣闊的應(yīng)用前景[1-2]。
為了更好地分析和研究工業(yè)機械臂的性能及操作,建立了一個六自由度機械臂的模擬樣機,通過仿真分析得出機械臂的動力學(xué)特性,然后在MATLAB中進行控制。
本文所述六自由度機械臂末端安裝有標(biāo)準(zhǔn)接口,用于支持和轉(zhuǎn)運專業(yè)人員的訓(xùn)練和試驗。六自由度機械臂主要由機械臂主體(各臂桿、關(guān)節(jié))、控制模塊、基座等設(shè)備組成。機械臂主體各關(guān)節(jié)采用直流無刷電機驅(qū)動,共配置6臺電機。安裝于電機中的高精度關(guān)節(jié)信息傳感器,可用于對六自由度機械臂位姿的精確控制。電機采用模塊化設(shè)計,在外殼上安裝有接插件用于傳輸動力和信息。為減少電機規(guī)格,6個關(guān)節(jié)共配置3種規(guī)格的電機,其中基座上的2臺電機規(guī)格相同,腕部的3臺電機規(guī)格相同。另外,電機模塊采用模塊化冗余設(shè)計,在運行故障時,可以方便地進行拆卸和換裝,最大限度避免因機械故障帶來的損失。在此,主要研究六自由度機械臂主體的動力學(xué)仿真及位置控制。
六自由度機械臂的工作流程,如圖1所示。
圖1 六自由度機械臂工作流程
為了實現(xiàn)設(shè)計要求,所述的六自由度機械臂需要具有6個自由度,它由基座、肩部、大臂、小臂和腕部等部件組成,通過三維繪圖軟件SolidWorks構(gòu)建六自由度機械臂的三維模型,如圖2所示。
圖2 六自由度機械臂的三維模型
六自由度機械臂在作業(yè)時,基座固定于地面上,以確保機械臂在作業(yè)時保持穩(wěn)定。肩部電機內(nèi)置于基座中,可以帶動大臂及其他關(guān)節(jié)繞肩部電機主軸旋轉(zhuǎn),理論轉(zhuǎn)角為360°。大臂通過活塞和法蘭盤與肩部連接,大臂電機安裝在肩關(guān)節(jié)的頂部。小臂與大臂之間由法蘭盤和活塞連接,大臂內(nèi)安裝有驅(qū)動小臂旋轉(zhuǎn)的電機。腕部1與腕部2及腕部2與腕部3之間的連接方式與前述相同。腕部電機1內(nèi)置安裝于小臂末端,驅(qū)動腕部關(guān)節(jié)1可以繞其軸360°旋轉(zhuǎn)。腕部電機2內(nèi)置于腕部1末端,腕部電機3內(nèi)置于腕部2末端,其轉(zhuǎn)角理論上都為360°。
ADAMS的求解器采用拉格朗日方程方法,可用來建立動力學(xué)方程,對虛擬樣機進行動力學(xué)及運動學(xué)的仿真分析[3-4]。在此,采用ADAMS對各關(guān)節(jié)運動所需力矩進行分析。
由于直接使用ADAMS進行三維建模較為困難,故采用SolidWorks建立好的模型,為了減少計算量,需要對建立好的六自由度機械臂模型進行一定簡化并導(dǎo)入ADAMS中,然后對機械臂模型添加約束,將各部分裝配成一個整體。根據(jù)設(shè)計要求,機械臂各關(guān)節(jié)采用電機驅(qū)動,故需要對6個關(guān)節(jié)分別添加旋轉(zhuǎn)副,對基座添加固定副,詳細約束如表1所示。
表1 模型約束
約束添加好之后,需對六自由度機械臂的材料進行定義,考慮到實際應(yīng)用環(huán)境,所述六自由度機械臂采用鈦合金(TC4)制造,密度ρ=4.5×103kg/m3,彈性模量E=1.05×105GPa,泊松比u=0.31。因?qū)嶋H使用工況所限,需對機械臂各關(guān)節(jié)添加恒定的阻尼并忽略重力加速度的影響。
因六自由度機械臂樣機選用電機驅(qū)動,故在每個轉(zhuǎn)動副處都添加驅(qū)動,根據(jù)設(shè)計要求中末端運動速度(150 mm/s)及各臂長,可計算得出各個關(guān)節(jié)相應(yīng)的運動函數(shù)。輸入每個電機的驅(qū)動函數(shù)后,就建立起了六自由度機械臂樣機完整的動力學(xué)仿真模型,然后選擇運行時間為10 s,通過仿真測量,得到了每個關(guān)節(jié)轉(zhuǎn)動所需力矩,如圖3~圖8所示。
圖3 肩部關(guān)節(jié)力矩曲線
圖4 大臂關(guān)節(jié)力矩曲線
圖5 小臂關(guān)節(jié)力矩曲線
圖6 腕部關(guān)節(jié)1力矩曲線
圖7 腕部關(guān)節(jié)2力矩曲線
圖8 腕部關(guān)節(jié)3力矩曲線
圖3~圖8的結(jié)果是六自由度機械臂6個關(guān)節(jié)達到指定運動速度所需的力矩在ADAMS軟件中的仿真結(jié)果輸出,通過觀察各個曲線,可知每個關(guān)節(jié)達到指定運動速度后所需力矩曲線都逐漸收斂,這是因為從零速度加速到最大速度時所需力矩最大,因為忽略重力,阻力恒定,故達到最大速度后關(guān)節(jié)做勻速運動,所需力矩逐漸減小趨向于零。結(jié)合每個關(guān)節(jié)角速度的運動圖像,各關(guān)節(jié)角速度圖像為一個遞增的曲線最后達到一個穩(wěn)定值,所以推斷力矩的圖像是合理的。選取力矩圖像峰值作為選取每個關(guān)節(jié)電機功率的依據(jù),結(jié)果如表2所示。
表2 模型各關(guān)節(jié)所需最大力矩
設(shè)計和制造六自由度機械臂樣機的主要目標(biāo)就是為了獲得較快的運動速度及高精度的控制性能[5]。由于機械臂的動力學(xué)方程比較復(fù)雜,直接使用MATLAB構(gòu)建動力學(xué)模型會很困難,而且動力學(xué)方程本身附帶的代數(shù)環(huán)不好消除,而ADAMS求解器正好可以解決這一難題。因此,本文所述機械臂樣機采用ADAMS和Simulink聯(lián)合仿真,具體步驟為:在ADAMS中建立六自由度機械臂的三維模型,并將機械臂模型的信息輸出為Simulink可以識別的格式,然后在Simulink中構(gòu)建控制系統(tǒng),對上述模型樣機進行分析研究[6]。
六自由度機械臂的位置控制是使其末端到達指定位置或跟蹤指定的軌跡,通常為實現(xiàn)這一目標(biāo)有2種方法:末端控制,既以末端位置為輸出對機械臂進行輸出跟蹤和調(diào)節(jié);關(guān)節(jié)控制,通過控制關(guān)節(jié)角來控制機械臂末端的位置[7]。在此,采用第2種控制方法來對六自由度機械臂末端位置進行精確控制。因為PID控制算法簡單,魯棒性較強且適應(yīng)性較廣,故采用PID控制。
根據(jù)上一節(jié)在ADAMS中所建立的六自由度機械臂樣機模型,對每個關(guān)節(jié)進行單獨控制,即其中一個關(guān)節(jié)運行時,其余5個關(guān)節(jié)均為鎖死狀態(tài)。對于每個關(guān)節(jié)來說,系統(tǒng)有1個輸入變量:所控制關(guān)節(jié)兩部件之間的關(guān)節(jié)角。關(guān)節(jié)角由兩部件上重合的MARKER定義,輸入的關(guān)節(jié)角由ADAMS自帶函數(shù)VARVAL傳遞到2個MARKER上。有2個輸出變量:關(guān)節(jié)的相對轉(zhuǎn)動角度(通過ADAMS內(nèi)部函數(shù)AZ實現(xiàn))、關(guān)節(jié)相對轉(zhuǎn)動角速度(通過ADAMS內(nèi)部函數(shù)WZ實現(xiàn))。
仿真系統(tǒng)的流程如圖9所示。
圖9 控制系統(tǒng)原理
在ADAMS搭建好模型后,需導(dǎo)出MATLAB可以識別的格式。此處主要使用ADAMS中的control模塊,它需要跟MATLAB之間進行信息交換,因此需要在control模塊中設(shè)置相關(guān)的輸入輸出變量,把六自由度機械臂輸入輸出變量和用ADAMS輸入輸出函數(shù)表示的同一組狀態(tài)變量聯(lián)系起來[8]。本文所述的機械臂樣機的輸入變量為6個關(guān)節(jié)的關(guān)節(jié)角,輸出變量為通過控制模塊處理的關(guān)節(jié)角及關(guān)節(jié)角速度。
在MATLAB主界面中使用ADAMS_sys命令,會自動生成機械臂的仿真模型,通過ADAMS_sys內(nèi)部結(jié)構(gòu)可以清晰地看出輸入變量為1個關(guān)節(jié)的相對轉(zhuǎn)動角度,此處可以選擇階躍、正弦曲線或者常數(shù),輸出變量為關(guān)節(jié)的相對轉(zhuǎn)對角度及相對轉(zhuǎn)動角速度。整個系統(tǒng)仿真的基本思路是:先給定1個關(guān)節(jié)的相對轉(zhuǎn)動角度,將其輸入到ADAMS_sys動力學(xué)模型中,并且根據(jù)模型輸出的角度反饋進行PID調(diào)節(jié)。如圖10所示,整個系統(tǒng)由3部分組成:輸入、PID控制和輸出。
圖10 Simulink控制方案
給定一個常數(shù)5,使六自由度機械臂每個關(guān)節(jié)運行后輸出的相對運動角度都為5°。通過多次試湊,可以得到6個關(guān)節(jié)的PID參數(shù),由于ADAMS輸入的參數(shù)的單位為N·mm,故所加的控制系數(shù)比較大。運行后所輸出的圖像如圖11所示。
圖11 6個關(guān)節(jié)角的變化曲線
通過仿真圖像可知,PID反饋控制可以實現(xiàn)六自由度機械臂每個關(guān)節(jié)角的精確控制,此外,還可以通過改變比例微分積分環(huán)節(jié)增益系數(shù)的大小來調(diào)節(jié)整個系統(tǒng)的快速性、穩(wěn)定性和準(zhǔn)確性。
由于所述控制理論是為了驗證ADAMS和MATLAB聯(lián)合仿真對于控制六自由度機械臂的可行性,故相對簡單,后期可以通過求出六自由度機械臂的運動學(xué)方程,并將以上算法解出的關(guān)節(jié)角帶入運動學(xué)方程中求出正解及反解來對其進行優(yōu)化,實現(xiàn)對六自由度機械臂末端的精確控制。
以六自由度機械臂為例,分別介紹了ADAMS建立動力學(xué)模型的過程,并仿真得出了六自由度機械臂的運動特性和動力學(xué)特性,為關(guān)節(jié)電機的選型提供了依據(jù)。最后在MATLAB/Simulink中建立控制方案,采用ADAMS與MATLAB聯(lián)合仿真的方法,對六自由度機械臂6個關(guān)節(jié)角進行調(diào)節(jié)控制,驗證了PID反饋控制方案的可行性,對分析六自由度機械臂的動力學(xué)特性及控制方法具有一定的參考價值。
參考文獻:
[1] 高程遠.六自由度機械臂動力學(xué)仿真分析[J].內(nèi)燃機與配件,2017(22):52-53.
[2] 周霏.四自由度關(guān)節(jié)機械臂運動仿真研究[D].南京:南京航空航天大學(xué),2015.
[3] 鄭凱,胡仁喜,陳鹿民,等.ADAMS 2005機械設(shè)計高級應(yīng)用實例[M].北京:機械工業(yè)出版社,2006.
[4] 王穎,張維強.基于ADAMS的偏置曲柄滑塊機構(gòu)的運動學(xué)及動力學(xué)仿真研究[J].科學(xué)技術(shù)與工程,2010,10(32):8042-8045.
[5] Zhang J,Li W,Yu J,et al.Development of a virtual platform for telepresence control of an underwater manipulator mounted on a submersible vehicle[J].IEEE Transactions on Industrial Electronics,2017,64(2):1716-1727.
[6] 馮高.一種開放式深海機械手結(jié)構(gòu)及其動力學(xué)優(yōu)化研究[D].武漢:華中科技大學(xué),2009 .
[7] Ismail Z H, Dunnigan M W. Tracking control scheme for an underwater vehicle-manipulator system with single and multiple sub-regions and sub-task objectives[J].IET Control Theory & Applications, 2011, 5(5):721-735.
[8] 朱秋晨,楊東超,陳龍,等.水下航行器對接裝置的多關(guān)節(jié)聯(lián)動控制系統(tǒng)仿真[J].機械與電子,2017,35(6):60-63.