張新榮,馬 杰,張才斗,吳學(xué)前
(1.長安大學(xué) 道路施工技術(shù)與裝備教育部重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710064;2.陜西工業(yè)職業(yè)技術(shù)學(xué)院 機(jī)械工程學(xué)院,陜西 咸陽 712000)
倒立擺作為教學(xué)、科研、產(chǎn)品開發(fā)過程中經(jīng)常使用的研究和實(shí)驗(yàn)對象,一直被科研人員當(dāng)作機(jī)械系統(tǒng)控制研究中的主要工具之一。作為典型的非線性、強(qiáng)耦合、多變量的不穩(wěn)定系統(tǒng),其可以直觀的展現(xiàn)控制理論中許多經(jīng)典抽象的概念,如系統(tǒng)的快速性、穩(wěn)定性、抗干擾能力等[1-3]。目前多種控制算法均被應(yīng)用于倒立擺的控制,如模糊控制、自適應(yīng)控制、變結(jié)構(gòu)控制及經(jīng)典的PID控制等,顯然倒立擺系統(tǒng)已成為驗(yàn)證各種控制理論的有力平臺[4-8]。
文獻(xiàn)[9]介紹了基于MATLAB的倒立擺控制算法及仿真,通過建立其數(shù)學(xué)模型,在MATLAB上進(jìn)行3種控制方法的對比仿真分析;文獻(xiàn)[10]分析了直線一級倒立擺的建模過程,采用MATLAB進(jìn)行了仿真分析。在倒立擺建模、仿真和控制研究中使用最多的方法是理論建模,也可以采用Adams、Ansys、Pro/E、Solidworks等軟件進(jìn)行物理建模和仿真。文獻(xiàn)[11]利用Pro/E與SimMechanics對曲柄搖桿機(jī)構(gòu)進(jìn)行聯(lián)合仿真,并應(yīng)用在機(jī)械原理教學(xué)中;文獻(xiàn)[12]提出在Simulink和SimMechanics環(huán)境下進(jìn)行動(dòng)力學(xué)建模與分析的計(jì)算機(jī)輔助方法,對六自由度并聯(lián)機(jī)器人動(dòng)力學(xué)模型進(jìn)行充分驗(yàn)證和分析;文獻(xiàn)[13]提出了利用三維Pro/E模型轉(zhuǎn)換成SimMechanics模型的建模方法,建立三自由度并聯(lián)機(jī)器人機(jī)械系統(tǒng)模型,并設(shè)計(jì)PID控制器模型進(jìn)行仿真分析;文獻(xiàn)[14]基于Matlab/SimMechanics平臺建立了3-RPS型并聯(lián)機(jī)器人仿真模型,進(jìn)行運(yùn)動(dòng)學(xué)仿真對比研究,驗(yàn)證了該建模方法的正確性。
本文提出使用Pro/E和Matlab/Simulink中的SimMechanics工具箱完成機(jī)械系統(tǒng)建模,利用Matlab強(qiáng)大的科學(xué)計(jì)算能力在Simulnk中完成控制算法仿真,在此基礎(chǔ)上直接用于實(shí)物控制,實(shí)現(xiàn)了系統(tǒng)的建模、仿真和控制的集成,極大地提高了系統(tǒng)分析與產(chǎn)品開發(fā)效率。該方法使得復(fù)雜系統(tǒng)建??梢暬?、簡化了理論推導(dǎo)、提高了建模的可靠性,可用于控制算法的仿真實(shí)驗(yàn)、控制器在環(huán)PIL(processor-in-the-loop)以及硬件在環(huán)HIL(hardware-in-the-loop)實(shí)驗(yàn)中。首先基于Pro/E軟件建立環(huán)形一級倒立擺精確三維物理模型,聯(lián)合SimMechanics將該模型導(dǎo)入Matlab/Simulink中,然后在Simulink中加入控制算法,進(jìn)行聯(lián)合仿真,并通過環(huán)形倒立擺控制實(shí)驗(yàn)驗(yàn)證仿真結(jié)果,最后給出結(jié)論。
SimMechanics工具箱本身可以對被控對象進(jìn)行物理建模,但相比于三維建模軟件其功能相對較弱,因此,本文采用Pro/E三維建模軟件對環(huán)形倒立擺進(jìn)行物理建模,代替常用的理論分析推導(dǎo)法建立數(shù)學(xué)模型,其流程如圖1所示。三維模型繪制后,在Pro/E軟件里安裝SimMechanics Link接口插件,并以.XML文件導(dǎo)出該模型,然后在Matlab中導(dǎo)入這個(gè).XML文件,于是在Matlab中即可自動(dòng)生成環(huán)形倒立擺的SimMechanics仿真模型框架。模型生成后在Simulink中試運(yùn)行,檢查模型是否有誤,各模塊質(zhì)量是否與測量結(jié)果一致。這種建模方式得到的控制模型,對數(shù)學(xué)基礎(chǔ)要求低,少了繁瑣的數(shù)學(xué)推導(dǎo)過程,從而減少不必要的可能的推導(dǎo)錯(cuò)誤,可以更加準(zhǔn)確地表達(dá)出實(shí)際的被控對象,使得建立的模型更加準(zhǔn)確、可靠。
圖1 建模流程
為了準(zhǔn)確建立控制對象的模型,首先對實(shí)驗(yàn)室的環(huán)形一級倒立擺系統(tǒng)進(jìn)行了測繪,如圖2水平連桿結(jié)構(gòu)尺寸,對各零件形狀尺寸進(jìn)行精確測量記錄。表1為主要零部件幾何和物理參數(shù)。在此基礎(chǔ)上,利用Pro/E三維建模軟件建立各零件的準(zhǔn)確模型。零件模型繪制過程中,各零件的密度、質(zhì)量也要進(jìn)行相應(yīng)設(shè)置并保存。零件繪制完成后對各零件進(jìn)行精確約束裝配,實(shí)現(xiàn)與實(shí)驗(yàn)室倒立擺相同的運(yùn)動(dòng)效果,最終的環(huán)形一級倒立擺裝配體如圖3所示。
圖2 水平連桿結(jié)構(gòu)
表1 環(huán)形倒立擺參數(shù)
不同于多數(shù)的拉格朗日數(shù)學(xué)計(jì)算建模,SimMecha-nics作為一種全新的物理建模方式,可以輕松的對及其復(fù)雜的機(jī)械系統(tǒng)進(jìn)行快速的建模仿真。Simulink環(huán)境下的SimMechanics工具箱提供了快速的建模工具,可以將表示系統(tǒng)各部件及連接關(guān)系的模塊通過Simulink窗口展現(xiàn)出來,并通過其自身提供的檢測與驅(qū)動(dòng)模塊和普通的Simulink模塊完成搭接,組成一個(gè)完整的仿真系統(tǒng)。充分利用Matlab的科學(xué)計(jì)算能力及Simulink動(dòng)態(tài)仿真能力,獲得整個(gè)系統(tǒng)的動(dòng)態(tài)仿真結(jié)果,并可以將仿真三維動(dòng)態(tài)圖形展示出來。
圖3 環(huán)形一級倒立擺三維模型
在MATLAB中讀取Pro/E導(dǎo)出的.XML文件,導(dǎo)入Simulink中生成環(huán)形一級倒立擺系統(tǒng)SimMechanics模型,圖4所示為導(dǎo)入的初始模型。SimMechanics模型中所有模塊的屬性,如各模塊質(zhì)量、轉(zhuǎn)動(dòng)慣量、坐標(biāo)位置等均根據(jù)三維模型自動(dòng)導(dǎo)入。對于Pro/E裝配基準(zhǔn)、順序的不同,此處導(dǎo)入的模塊連接形式也會(huì)有所不同。圖4中我們可以看到,生成的模型圖主要包括的SimMechanics模塊有:剛體模塊組的機(jī)架和剛體、轉(zhuǎn)動(dòng)副模塊組中的旋轉(zhuǎn)模塊。導(dǎo)入后各主要模塊參數(shù)見表2。這些模塊只是通過SimMechanics Link導(dǎo)入的環(huán)形倒立擺物理模型,相當(dāng)于數(shù)學(xué)推導(dǎo)得到的倒立擺數(shù)學(xué)模型,要與普通的Simulink模塊進(jìn)行信息交換,還需要加入其它一些激勵(lì)、控制和測試模塊等,如控制器模塊、檢測與驅(qū)動(dòng)模塊、示波器模塊等作為連接,進(jìn)行控制系統(tǒng)仿真設(shè)計(jì)。
圖4 環(huán)形一級倒立擺SimMechanics模型
表2 SimMechanics模塊參數(shù)
導(dǎo)入到Matlab中的SimMechanics物理模型可以被認(rèn)為是被控對象,在仿真時(shí)系統(tǒng)會(huì)將其自動(dòng)轉(zhuǎn)換為數(shù)學(xué)模型。仿真過程中水平連桿的角度θ1從Revolute旋轉(zhuǎn)副連接的encoder1編碼器輸出,擺桿的角度θ2從encoder2編碼器模塊轉(zhuǎn)軸中進(jìn)行輸出,而電機(jī)輸出的控制力矩即設(shè)計(jì)的控制力矩則從圓盤的Revolute加入。為此,需要從SimMecha-nics庫中加入與Simulink連接的驅(qū)動(dòng)模塊和角度檢測模塊,圖4所示的模型已經(jīng)加入了驅(qū)動(dòng)模塊和檢測模塊。
PID控制作為一種經(jīng)典的線性控制調(diào)節(jié)器,其控制方法已發(fā)展完善且在工業(yè)生產(chǎn)中得到極其廣泛的應(yīng)用。對被控對象的輸出值與參考值的偏差,進(jìn)行比例、積分、微分下的控制。
建立如圖5中A所示的PID控制系統(tǒng),Plant模塊為前面建立的環(huán)形倒立擺模型(圖2)經(jīng)過封裝后的模塊,PID模塊為Simulink庫中自帶模塊。仿真過程中設(shè)置倒立擺擺桿與垂直向上方向的角度θ2在仿真初始時(shí)刻其起始角度為0.1 rad。通過Matlab/Simulink中對PID控制器的仿真調(diào)節(jié)工具,經(jīng)過仿真最終選定PID控制參數(shù)為:KP=48,Ti=100,Td=7。點(diǎn)擊運(yùn)行后,系統(tǒng)會(huì)自動(dòng)打開三維模型動(dòng)態(tài)仿真圖,與用Pro/E繪制的模型完全一致,更加立體、直觀地顯示出仿真過程,包括連桿轉(zhuǎn)動(dòng)情況、擺桿穩(wěn)定情況等。
圖5 仿真控制框架
極點(diǎn)配置法作為一種線性最優(yōu)控制,對控制對象的狀態(tài)空間模型進(jìn)行分析,設(shè)計(jì)出合理的控制參數(shù)。極點(diǎn)配置法的控制規(guī)律為:u(t)=-Kx+v,其中u(t)為輸入控制力矩,x為狀態(tài),K為狀態(tài)反饋矩陣。
圖6是在Simulink上仿真得到的環(huán)形一級倒立擺模型在PID及極點(diǎn)配置控制下的擺桿響應(yīng)曲線。
圖6 仿真曲線結(jié)果
從擺桿響應(yīng)曲線可以看出,在初始角度為θ2(0)=0.1rad的情況下,控制器可以快速響應(yīng),將倒立擺穩(wěn)定在垂直倒立位置。且PID控制器比極點(diǎn)配置法響應(yīng)的更快,超調(diào)更小。
本文提出的建模方法實(shí)際上相當(dāng)于快速、準(zhǔn)確地建立起了被控對象的物理和數(shù)學(xué)模型,為設(shè)計(jì)和驗(yàn)證控制算法提供了一個(gè)可靠的仿真平臺。為了進(jìn)一步驗(yàn)證此方法的有效性,可以針對實(shí)際系統(tǒng)進(jìn)行實(shí)驗(yàn)驗(yàn)證。利用固高的環(huán)形倒立一級擺作為實(shí)驗(yàn)平臺,其參數(shù)見表1。搭建如圖7所示的實(shí)時(shí)控制系統(tǒng),與前面的仿真系統(tǒng)相同,該系統(tǒng)工作在Windows7環(huán)境下,控制算法基于Matlab2012b開發(fā),控制參數(shù)選擇仿真時(shí)得到的數(shù)值。
圖7 倒立擺實(shí)時(shí)控制系統(tǒng)
利用Simulink設(shè)計(jì)的控制算法經(jīng)過前面的仿真實(shí)驗(yàn)后得到了較好的控制效果,這里通過運(yùn)動(dòng)控制卡(GT400)將控制指令發(fā)出,驅(qū)動(dòng)伺服電機(jī)(MSMJ022G1U)的轉(zhuǎn)動(dòng)。伺服電機(jī)驅(qū)動(dòng)水平連桿從而控制擺桿在指定位置;水平連桿角度θ1通過電機(jī)轉(zhuǎn)臺相連接的編碼器1(OVW2-06-2MD)反饋回伺服驅(qū)動(dòng)器及運(yùn)動(dòng)控制卡,擺桿的角度θ2通過與其相連的編碼器2送回運(yùn)動(dòng)控制卡,運(yùn)動(dòng)控制卡再將這些信息反饋給控制程序,實(shí)現(xiàn)閉環(huán)實(shí)時(shí)控制。圖8所示為實(shí)驗(yàn)控制設(shè)備及環(huán)形倒立擺。
圖8 環(huán)形倒立擺實(shí)時(shí)控制實(shí)驗(yàn)
通過Simulink平臺可以很方便地將運(yùn)動(dòng)控制卡送來的信息保存起來,方便進(jìn)一步分析。圖9為PID控制算法及極點(diǎn)配置法用于實(shí)時(shí)控制的實(shí)驗(yàn)結(jié)果曲線。和仿真實(shí)驗(yàn)一樣,也為方便對比,實(shí)時(shí)控制實(shí)驗(yàn)過程中擺桿的起始角度θ2(0)=0.1 rad。由于仿真時(shí)采用的各種信號都為理想信號,實(shí)驗(yàn)結(jié)果曲線與仿真曲線存在一定差異,但從總體趨勢中可以看到實(shí)驗(yàn)與仿真結(jié)果基本一致。從兩組曲線中我們可以看到PID控制下的擺桿響應(yīng)更快、更穩(wěn)定。驗(yàn)證了我們利用Pro/E與SimMechanics聯(lián)合建模的這種方法對于環(huán)形倒立擺控制研究具有方便、可靠、直觀、高效的特點(diǎn)。
圖9 環(huán)形倒立擺實(shí)驗(yàn)結(jié)果曲線
通過三維建模軟件Pro/E建立環(huán)形一級倒立擺三維模型,配合Matlab插件搭建了基于SimMechanics的物理模型,并在Simulink中建立了環(huán)形倒立擺控制仿真平臺,通過PID控制和極點(diǎn)配置法兩種控制算法進(jìn)行仿真,得到了較好的仿真效果。配合仿真參數(shù),在相同的控制條件下進(jìn)行了實(shí)時(shí)控制實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果與仿真數(shù)據(jù)基本一致,達(dá)到了預(yù)期效果。
仿真和實(shí)驗(yàn)結(jié)果表明,利用ProE/SimMechanics建模方法可以解決復(fù)雜模型的建模問題,縮短建模時(shí)間、提高建模質(zhì)量,而且模型參數(shù)修改簡單方便,使研究人員更能專注于控制算法研究,并在仿真過程中可以直觀地看到動(dòng)態(tài)效果,為機(jī)械系統(tǒng)建模、仿真和控制以及控制算法驗(yàn)證都提供了一種很便利的工具。