丁 康,方 敏,吳震宇
(合肥工業(yè)大學(xué) 電氣工程與自動化學(xué)院,安徽 合肥 230009)
LabVIEW是由美國國家儀器公司(NI)開發(fā)的一種圖形化編程語言,它廣泛地被工業(yè)界、學(xué)術(shù)界和研究實驗室所接受,視為一個標(biāo)準(zhǔn)的數(shù)據(jù)采集和儀器控制軟件,具有可視化、編程方便等特點[1]。NI公司的PXI-1050工控機帶有8個PXI插槽,配合圖像處理、數(shù)據(jù)采集、運動控制、嵌入式系統(tǒng)等模塊,可以構(gòu)成快速原型開發(fā)系統(tǒng)。在PXI-1050工控機上,利用LabVIEW軟件可以開發(fā)硬件在環(huán)仿真實驗平臺。與MATLAB軟件工具相比較,LabVIEW在硬件接口驅(qū)動、人機交互界面的設(shè)計方面更為方便。
倒立擺是一種典型的非線性不穩(wěn)定系統(tǒng),在控制理論算法驗證和課程教學(xué)中,將倒立擺作為經(jīng)典被控對象開發(fā)的實驗裝置有廣泛的應(yīng)用價值。本文以LQR控制算法為例,介紹了直線二級倒立擺控制系統(tǒng)的設(shè)計與實現(xiàn)。該系統(tǒng)提供了一個控制器設(shè)計、仿真和實時控制實驗平臺。根據(jù)二次型最優(yōu)指標(biāo),用戶可以進(jìn)行控制器參數(shù)設(shè)計、仿真調(diào)試和倒立擺的實時控制驗證,并且通過倒立擺3D模型和響應(yīng)曲線圖直觀地顯示實際倒立擺運動情況。
二級倒立擺物理系統(tǒng)是由小車和安裝在小車上的一級擺桿和二級擺桿組成。其中實際模型的參數(shù)如表1所示。
表1 實際模型參數(shù)
分別以小車位置 x、小車速度x˙、擺桿 1 的角度 θ1、擺桿 1 的角速度 θ˙1、 擺 桿 2 的 角度 θ2、 擺桿 2 的角速 度 θ˙2為狀態(tài)變量,以小車位置 x、擺桿 1的角度 θ1、擺桿 2的角度θ2為輸出變量,建立倒立擺的狀態(tài)空間模型如下[2]:
倒立擺控制的任務(wù)是使兩個擺桿的角度均保持為180°(豎直向下為 0°),并使小車的位置到達(dá)給定值,實現(xiàn)定位的功能。希望的輸出值可以用向量表示為:
本文設(shè)計的倒立擺控制系統(tǒng)采用NI公司的PXI-1050工控機為核心,控制系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。
圖1 倒立擺系統(tǒng)硬件框圖
擺桿角度和小車位置的測量采用3個OVW2-06-2MD編碼器。
PXI-7344的運動控制卡是NI公司的一款中檔的4軸步進(jìn)/伺服控制器,每軸可通過軟件設(shè)置步進(jìn)/伺服控制器的類型和參數(shù),結(jié)合LabVIEW Motion驅(qū)動軟件,可實現(xiàn)各種類型的控制任務(wù)。運動控制卡內(nèi)部高性能微處理器(DSP)完成控制器計算后,向交流伺服電機的驅(qū)動器發(fā)出控制指令[3]。
UMI-7774接線板為運動控制卡提供了豐富的布線和連接點,從而簡化了PXI-7344控制器與第三方驅(qū)動器、放大器、編碼器和限位開關(guān)之間的集成,同時也起到了過電流保護和信號隔離的作用[4]。
交流伺服電機驅(qū)動器采用日本松下公司的MSDA023D1A,它的作用是接收外部控制信號控制PWM輸出,調(diào)節(jié)電機轉(zhuǎn)速。同時可在其內(nèi)部形成速度控制環(huán)。
在圖1所示倒立擺系統(tǒng)中,交流伺服驅(qū)動器一方面采集編碼器3的信號,在其內(nèi)部形成速度控制環(huán),同時將編碼器3的信號送入UMI-7774接線板。PXI-7344運動控制卡通過接線板采集編碼器1~3的脈沖信號,以及倒立擺底座上兩個限位開關(guān)的數(shù)字信號。通過PXI-1050工控機的LabVIEW軟件系統(tǒng),將編碼器1和編碼器2的脈沖計數(shù)轉(zhuǎn)化為擺桿1和擺桿2的角度讀數(shù),將編碼器3的脈沖計數(shù)轉(zhuǎn)化為小車的水平位置,并按照一定的控制策略計算出小車的給定加速度,經(jīng)運動控制卡內(nèi)部控制器計算得到的控制量送入伺服電機驅(qū)動器,控制電機的加速度,實現(xiàn)對直線二級倒立擺的控制。限位開關(guān)輸出的數(shù)字信號用來決定相應(yīng)的關(guān)閉操作[5]。
本文采用LQR控制器實現(xiàn)倒立擺控制,控制系統(tǒng)的結(jié)構(gòu)如圖2所示。LQR控制器的輸出u(t)為小車的給定加速度 a*。x、θ1、θ2為小車位置、擺桿 1、擺桿 2 的實際值,x*、θ*1、θ*2是相應(yīng)的給定值。 內(nèi)環(huán)是加速度控制環(huán),采用PD控制器以保證伺服電機實際加速度能夠快速跟隨給定加速度a*。
圖2 倒立擺LQR控制系統(tǒng)方框圖
選擇最優(yōu)控制性能指標(biāo)為[6-8]:
其中 Q=QT≥0,R=RT>0為了便于計算,權(quán)矩陣 Q和R均取為對角陣。x?TQx?表示控制過程中的狀態(tài)偏差,uTRu表示控制過程中消耗的能量。其中:
控制量u(t)=-Kx?
反饋矩陣K=-R-1(t)BT(t)P(t)
其中,n×n維對稱非負(fù)矩陣 P(t)為下列黎卡提矩陣微分方程的解:
LabVIEW中的控制與仿真工具箱提供了LQR函數(shù),該函數(shù)允許輸入兩個參數(shù)Q和R,這兩個參數(shù)用來分配性能指標(biāo)中控制量和狀態(tài)偏差量的權(quán)重。LQR函數(shù)的輸出參數(shù)是使二次型性能指標(biāo)最優(yōu)的狀態(tài)反饋矩陣K。
在倒立擺LQR控制中,設(shè)R為某一固定值,Q=diag(Q11,Q22,Q33,0,0,0), 其 中 Q11 代 表 小 車 位 移 的 權(quán)重,Q22代表擺桿1角度偏差的權(quán)重,Q33代表擺桿2角度偏差的權(quán)重。權(quán)重值增大,對相應(yīng)的偏差量抑制能力增強。
本文通過二級倒立擺模型與LQR函數(shù)結(jié)合設(shè)計了倒立擺仿真VI。圖3是VI的前面板。用戶可通過前面板的左側(cè)修改模型參數(shù)、R值以及Q陣的權(quán)值,在前面板的右側(cè)可得出仿真的曲線圖,同時在圖4的程序框圖中,還可設(shè)置系統(tǒng)的仿真步長和仿真時間,默認(rèn)的仿真步長為 0.01。
圖3 倒立擺仿真VI的前面板
圖4 倒立擺仿真的程序框圖
當(dāng)取參數(shù) Q11=200,Q22=400,Q33=400,仿真步長為0.01,仿真時間為10 s時,在LabVIEW仿真平臺上可以得到小車位置、擺桿1以及擺桿2的仿真曲線圖。由圖3可以看出三者的超調(diào)量很小、上升時間也很短,具有一定的抗擾能力。
在倒立擺實時控制系統(tǒng)設(shè)計中,為了測試所編寫的程序能否正常采集擺桿1和擺桿2的角度數(shù)據(jù),本文編寫了擺桿角度測試程序。
通過運動控制卡PXI-7344采集的擺桿角度數(shù)據(jù)可以在程序的前面板上顯示出來。程序開始執(zhí)行時,擺桿處于垂直向下靜止?fàn)顟B(tài),編碼器輸出的脈沖數(shù)和換算后的弧度值均為0。當(dāng)人為地提起擺桿時,上述兩個數(shù)值立即隨著擺桿角度變化,可以方便地用來對編碼器進(jìn)行角度標(biāo)定。
圖5是角度測試的框圖程序。倒立擺控制對實時性要求高,本文設(shè)置的定時循環(huán)的采樣時間是10 ms。程序包括控制器初始化,控制器各個軸的設(shè)置和復(fù)位以及定時循環(huán)采樣。在每次循環(huán)中,調(diào)用了采集角度編碼器的驅(qū)動函數(shù),對各個擺桿采集一次數(shù)據(jù)。在顯示控件中將編碼器的實際脈沖數(shù)讀出來,換算成弧度值。
圖5 角度測試的程序框圖
在倒立擺實時控制系統(tǒng)設(shè)計中,本文利用LabVIEW良好的人機交互功能,設(shè)計用戶操作界面。使用LabVIEW8.6版本所提供的3D控件功能,搭建了一個直線二級倒立擺3D模型。在實時控制過程中,根據(jù)采集的小車位置和兩個擺桿角度的數(shù)據(jù),將倒立擺實際運動情況反映到虛擬的3D模型中。
在二級直線倒立擺LQR控制實驗平臺的用戶操作界面上,選擇“實時控制”選項卡時,并選擇“參數(shù)設(shè)置及顯示界面”如圖6所示,設(shè)置反饋矩陣K的值,這六個值來自于仿真的結(jié)果。點擊“開始控制”按鈕,小車位置、擺桿1弧度值、擺桿2弧度值以及左右限位開關(guān)狀態(tài)等數(shù)字信號反映到前面板上來,從而達(dá)到監(jiān)控的目的。
圖6 控制結(jié)果顯示
選擇“數(shù)據(jù)顯示界面”選項卡,如圖7所示,可顯示直線二級倒立擺3D模型和小車位置、擺桿1角度、擺桿2角度的曲線圖,并觀察各個擺桿的振蕩情況,而且可以通過在3D圖形中旋轉(zhuǎn)操作,選擇從不同的角度觀察3D演示。
點擊圖6下方的“停止”按鈕,整個倒立擺控制程序停止運行。
圖7 參數(shù)設(shè)置及顯示界面
本文基于NI公司的PXI-1050工控機和PXI-7344運動控制卡,在LabVIEW環(huán)境下開發(fā)了直線二級倒立擺LQR控制系統(tǒng)的仿真與實時控制實驗平臺。該實驗平臺提供的仿真工具可以根據(jù)給定的二次型指標(biāo),方便地完成最優(yōu)狀態(tài)反饋矩陣K的設(shè)計和仿真驗證。利用系統(tǒng)提供的實時控制工具,可以進(jìn)行參數(shù)設(shè)置和監(jiān)控。用戶界面提供的倒立擺3D運動模型、輸出響應(yīng)曲線和實時數(shù)據(jù)可以全面顯示倒立擺的實時控制效果。該平臺具有開放性和擴展性。
[1]楊忠仁.基于LABVIEW數(shù)據(jù)采集系統(tǒng)[J].重慶大學(xué)學(xué)報(自然科學(xué)版),2007,24(2):32-35.
[2]劉文斌,干樹川.二級倒立擺的建模與MATLAB仿真[J].自動化與儀器儀表,2008(5):6-7.
[3]Motion Control National Instruments 7344 UserManual.http://sine.ni.com/psp/app/doc/p/id/psp-493/lang/zhs/
[4]Motion Control National Instruments Universal Motion Interface(UMI)-7774/7772 User Manual.http://sine.ni.com/nips/cds/view/p/lang/zhs/nid/12534.
[5]李艷萍.基于LabVIEW的運動控制系統(tǒng)的設(shè)計[J].中國科技信息,2009(22):95-96.
[6]Chaiporn Wongsathan,Chanapoom Sirima. Application of GA to Design LQR Controller for an Inverted Pendulum System [C].InternationalConference on Robotics and Biomimetics, 2009, 951-954.
[7]Jyoti Krishen,Victor M.Becerra.Efficient Fuzzy Control of a Rotaty Inverted pendulum Based on LQR Mapping[C].International Symposium on Intelligent Control, 2006,2701-2706.
[8]Hongliang Wang.Design and Simulation of LQR Controller with the Linear Inverted Pendulum[C].2010 International Conference on Electrical and Control Engineering 699-702.