孫 軍,張 鵬,沈卓群,崔 楠
(沈陽建筑大學(xué)機(jī)械學(xué)院,遼寧 沈陽 110168)
軌跡跟蹤在機(jī)械臂控制領(lǐng)域十分重要,但由于機(jī)器人本身的強(qiáng)耦合、非線性、多變量等特性,使得軌跡跟蹤控制精度不高[1]。目前國內(nèi)外學(xué)者對于機(jī)械臂關(guān)節(jié)軌跡跟蹤控制的研究很多:文獻(xiàn)[2]提出一種PID滑膜控制算法,通過引入飽和函數(shù)趨近律削弱了機(jī)械臂的振動,提高了運(yùn)動的控制精度和系統(tǒng)的穩(wěn)定性;文獻(xiàn)[3]針對肌腱仿生關(guān)節(jié)難以達(dá)到位置控制的精度要求,設(shè)計了一種模糊神經(jīng)網(wǎng)絡(luò)復(fù)合控制器,使其位置控制精度提高了2.4°;文獻(xiàn)[4]基于分層控制思想,提出一種雙模態(tài)的模糊PID控制策略,通過Matlab與ADAMS的聯(lián)合仿真,驗證了其方法在位姿控制時是可行有效的。上述幾種方法能夠在一定程度上實現(xiàn)對機(jī)器人關(guān)節(jié)位置的軌跡跟蹤,但是仍存在控制器設(shè)計過程復(fù)雜、編程繁瑣、耗時較長等問題,這使其在實際工程中難以實現(xiàn)。所以針對以上幾個問題,在LabVIEW環(huán)境中研究了機(jī)械臂軌跡跟蹤模糊PID控制算法。
LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench)[5]不同于其他的文本語言程序開發(fā)軟件,使用圖形化語言來編輯程序,其VI代碼由框圖組成,并且LabVIEW具有豐富的硬件接口,程序代碼可通過功能強(qiáng)大的硬件驅(qū)動直接應(yīng)用于NI完備的硬件。將LabVIEW應(yīng)用于機(jī)器人動力學(xué)仿真和控制,既能達(dá)到機(jī)械手臂較高的控制要求,還大大簡化了程序開發(fā)過程,提高了開發(fā)效率。首先對Dobot機(jī)器人進(jìn)行動力學(xué)建模,然后在LabVIEW環(huán)境中完成了仿真模型的搭建,最后在此基礎(chǔ)上對機(jī)器人控制算法進(jìn)行了研究。通過傳統(tǒng)PID、模糊PID兩種控制算法,實現(xiàn)對Dobot機(jī)械臂的軌跡跟蹤控制,并對仿真實驗結(jié)果進(jìn)行比對和分析。
研究對象是一款桌面型機(jī)械臂,其由腰部、大臂、小臂、支撐架四部分組成。其前三個旋轉(zhuǎn)關(guān)節(jié)均由步進(jìn)電機(jī)驅(qū)動,末端支撐架關(guān)節(jié)為被動關(guān)節(jié),其目的是維持自身水平。
每個控制過程都是一個動力學(xué)任務(wù)。因此為了研究控制問題,就要討論機(jī)器人的動力學(xué),采用直接簡便的Lagrange法,其函數(shù)L表示系統(tǒng)的動力學(xué)模型的描述形式如下[1]:
式中:τi—作用在機(jī)械臂上第i個關(guān)節(jié)上的力矩;qi—第i個關(guān)節(jié)的速度;q˙i—第i個關(guān)節(jié)的速度和角度。機(jī)械臂第i個連桿的動能ki可以表示為:
式中:vCi和iωi—q 和q˙的函數(shù)。
第i個連桿的勢能ui可以表示為:
式中:0g—3×1的重力矢量;0PCi—第i個連桿質(zhì)心的矢量。
為了計算方便也可以寫成矩陣形式:
由于Dobot第四個關(guān)節(jié)為被動關(guān)節(jié)所以只建立前三關(guān)節(jié)動力學(xué)模型,因為只對機(jī)械臂進(jìn)行數(shù)值仿真,暫且不計摩擦和擾動對控制系統(tǒng)的影響,其中連桿質(zhì)量m、質(zhì)心矢徑r、慣量I都可以在Solidworks模型中獲得。
為完成動態(tài)系統(tǒng)的仿真和分析,首先要搭建機(jī)器人的仿真模型。在LabVIEW環(huán)境中使用LabVIEW MathScript RT[6]控件可以進(jìn)行文本數(shù)學(xué)運(yùn)算,使用LabVIEW控制與仿真控件可以進(jìn)行動態(tài)系統(tǒng)的仿真和復(fù)雜控制器的設(shè)計。
機(jī)械臂仿真模型由系數(shù)矩陣求解部分和加速度求解部分組成[7]。各系數(shù)矩陣的符號表達(dá)在MathScript RT模塊進(jìn)行編寫,將具體數(shù)值帶入此處進(jìn)行求解。加速度求解部分對應(yīng)下式:
PID控制算法易于實現(xiàn)、穩(wěn)定性強(qiáng)、準(zhǔn)確度高,被廣泛使用在各領(lǐng)域的控制系統(tǒng),在機(jī)器人領(lǐng)域也是極其重要的一部分。PID的原理是:將測量值與期望值的偏差e經(jīng)過比例、積分、微分產(chǎn)生控制量τ,從而完成對被控對象的控制??刂坡蔀椋?/p>
式中:τ—控制器的輸出;KP—比例放大系數(shù);Tl—積分時間;TD—微分時間;e—偏差信號。
模糊控制器是模糊PID算法的核心?;趥鹘y(tǒng)PID控制,以被控對象的偏差和偏差變化率作為輸入,ΔKP、ΔKI、ΔKD作為輸出[10],經(jīng)過對預(yù)先設(shè)定好的比例、積分、微分增益進(jìn)行在線整定,得到新的增益參數(shù):KP=KP0+ΔKP、KI=KI0+ΔKI、KD=KD0+ΔKD。模糊控制器可以依據(jù)實時變化的角度誤差和誤差變化率將PID控制器增益進(jìn)行及時整定,使得機(jī)械臂具有良好的穩(wěn)態(tài)特能。
根據(jù)的人們的語言慣例,通常將e、ec以及控制量的變更采用“大”“小”等語言描述。通過觀察PID控制實驗結(jié)果和控制經(jīng)驗將誤差及其變化率和控制量分為“NB(負(fù)大)”“NM(負(fù)中)”“NS(負(fù)?。薄癦O(零)”“PS(正小)”“PM(正中)”“PB(正大)”七個等級。誤差及其變化率論域分別為[-1,1]、[-3,3];ΔKP的論域為[-1,1]、ΔKI的論域為[-10,10]、ΔKD的論域為[-1,1]。
隸屬度函數(shù)μ(x)可以用來表示輸入量與輸出量的模糊集合。它表示精確量與模糊語言接近的程度,即一具體數(shù)值在多大程度上可以用該語言進(jìn)行描述。三角形隸屬度函數(shù)[8]描述形式如下:
式中:a,b,c—模糊區(qū)間常數(shù)。
模糊推理規(guī)則[9],實際上是對專家在控制過程中的實踐經(jīng)驗進(jìn)行歸納而獲得的條件語句,它是控制器的核心,通過查閱相關(guān)文獻(xiàn)模糊規(guī)則,如表1所示。
表1 模糊規(guī)則Tab.1 Fuzzy Rules
模糊規(guī)則也可以使用條件語句來表示,模糊條件句的格式:IF‘e’IS‘NB’AND‘ec’IS‘NB’THEN‘ΔKp’IS‘PB’ALSO‘ΔKi’IS‘NB’ALSO‘ΔKd’IS‘PS’。按照以上格式將49條語句輸入到labview模糊系統(tǒng)設(shè)計器。
采用面積中心法[8]作為輸出變量的精確化方法,其原理是將模糊集的隸屬度函數(shù)和坐標(biāo)軸所組成圖形的中心作為去模糊后的準(zhǔn)確數(shù)值,面積中心法的計算公式為:
式中:u—輸出量;u*—精確化的輸出量;μ—模糊隸屬度函數(shù);max—精確值的上限;min—精確值的下限。
在LabVIEW環(huán)境中,使用PID和模糊邏輯控制工具包(PID And Fuzzy Logic Toolkit)建立了模糊系統(tǒng),其中隸屬度函數(shù)、模糊規(guī)則及精確化方法設(shè)置完畢后,保存成擴(kuò)展名為.fs的文件。
在LabVIEW程序面板中通過“拆分路徑”與“創(chuàng)建路徑”兩個函數(shù)將.fs文件載入FL加載模糊系統(tǒng)VI,另一端連接FL模糊控制器并將其設(shè)置為MIMO模式。其輸出端通過“索引數(shù)組”函數(shù)將ΔKP、ΔKI、ΔKD依次輸入各個關(guān)節(jié)的PID控制器。Dobot機(jī)械臂模糊PID控制的程序設(shè)計面板,如圖1所示。
圖1 機(jī)械臂模糊PID控制Fig.1 Manipulator Fuzzy PID Control
通過試湊法確定了三個控制器的參數(shù),設(shè)定三關(guān)節(jié)期望軌跡為y=15sinπt;初始角度都為4°;仿真時間設(shè)為4s即兩個循環(huán)周期。關(guān)節(jié)一軌跡跟蹤曲線與誤差,如圖2所示。關(guān)節(jié)二軌跡跟蹤曲線與誤差,如圖3所示。關(guān)節(jié)三軌跡跟蹤曲線與誤差,如圖4所示??刂菩阅苤笜?biāo),如表2所示。
圖2 關(guān)節(jié)一軌跡跟蹤曲線與誤差Fig.2 Joint 1 Trajectory Tracking Curve and Error
圖3 關(guān)節(jié)二軌跡跟蹤曲線與誤差Fig.3 Joint 2 Trajectory Tracking Curve and Error
圖4 關(guān)節(jié)三軌跡跟蹤曲線與誤差Fig.4 Joint 3 Trajectory Tracking Curve and Error
表2 控制性能指標(biāo)Tab.2 Control Performance Indicators
通過分析三個關(guān)節(jié)位置跟蹤曲線和誤差曲線,我們可以得知PID控制器能夠完成軌跡跟蹤任務(wù),基本滿足控制要求:三個關(guān)節(jié)響應(yīng)時間大約在1s左右;穩(wěn)態(tài)誤差基本保持在[0.3,0.3]內(nèi);由圖3和圖4可以看出仿真輸出具有較大超調(diào),并且由圖2看出關(guān)節(jié)一誤差曲線存在較大震蕩,這意味著機(jī)械臂在運(yùn)動過程中會存在振動,由于第一關(guān)節(jié)是腰部關(guān)節(jié)存在較大的慣性,所以控制誤差較大。
同時由圖2、圖3和圖4可以看出模糊PID控制器能夠很好地控制關(guān)節(jié)跟蹤期望的軌跡,并且響應(yīng)十分迅速,調(diào)節(jié)時間基本在0.5s左右;最大誤差為0.2;穩(wěn)態(tài)誤差在[-0.1,0.1]之間;且沒有較大超調(diào),誤差曲線震蕩較小沒有突變。由表2的數(shù)據(jù)可以看出在相同的仿真參數(shù)設(shè)定下,模糊PID的控制效果優(yōu)于傳統(tǒng)的PID控制,其軌跡跟蹤精度由0.3°提高到0.1°,響應(yīng)時間降低了0.5s,同時控制量輸出平穩(wěn),可以防止由于關(guān)節(jié)振動對機(jī)械結(jié)構(gòu)產(chǎn)生額外損傷,使系統(tǒng)具有較好的控制效果。
(1)在LabVIEW環(huán)境中建立了Dobot機(jī)械臂仿真模型和控制系統(tǒng)。該仿真平臺為機(jī)器人運(yùn)動控制分析提供了一種快捷有效的方法,程序算法可以直接部署到硬件系統(tǒng),提高了其開發(fā)效率。
(2)使用LabVIEW模糊系統(tǒng)工具包設(shè)計了模糊PID控制器,通過與常規(guī)PID控制仿真對比發(fā)現(xiàn),模糊PID控制可以對軌跡跟蹤的動態(tài)過程進(jìn)行在線調(diào)節(jié),其控制精度提高了0.2°,響應(yīng)時間降低了0.5s,超調(diào)量降低了15%,具有更好的控制效果。