摘 要: 一種基于Linux系統(tǒng)雙內(nèi)核實時方案——RTAI和以圖形化仿真工具包" title="工具包">工具包Scilab/Scicos為目標設(shè)備建立實時測控模型的技術(shù)方法。該方法具有很強的描述能力和可擴展性,圖形模塊與實際物理環(huán)境具有一致性,并可對各種仿真資源進行統(tǒng)一管理。
關(guān)鍵詞: RTAI? Scicos? Linux? 建模? 數(shù)據(jù)采集
?
Linux作為開放源代碼的操作系統(tǒng)已得到迅猛發(fā)展,在各行各業(yè)都有廣泛應(yīng)用,在嵌入式領(lǐng)域中的應(yīng)用更加普遍。嵌入式系統(tǒng)往往具有實時性和應(yīng)用多樣性的特點。按照對延時時間的約束要求,一般把實時操作系統(tǒng)分為硬實時和軟實時兩種。測試系統(tǒng)" title="測試系統(tǒng)">測試系統(tǒng)作為一種特殊的工業(yè)平臺對其技術(shù)要求要高于一般的系統(tǒng),需要有高時效性和良好的時間確定性以及可靠性、穩(wěn)定性。因此需要對以穩(wěn)定著稱的Linux進行實時化" title="實時化">實時化擴展,使其具有硬實時能力,滿足實時應(yīng)用的需求。
1 Linux實時化擴展及Scicos軟件包" title="軟件包">軟件包
1.1 Linux系統(tǒng)的實時化實現(xiàn)
Linux系統(tǒng)的實時化實現(xiàn)的幾種主要方法:(1)兼容Linux內(nèi)核方法:如LynuxOS系統(tǒng)。(2)雙內(nèi)核方法:如RtLinux和RTAI。(3)為標準內(nèi)核打?qū)崟r補丁方法:KURT、TimeSys Linux、RED-Linux等。以上幾種方法和實現(xiàn)的比較,詳見參考文獻[1]。
1.2 RTAI框架
RTAI(Real-Time Application Interface)可為應(yīng)用程序提供一套實時的系統(tǒng)調(diào)用接口,它是一個具備了操作系統(tǒng)核心功能的實時系統(tǒng)內(nèi)核。RTAI接管了系統(tǒng)的所有硬件資源,RTAI的任務(wù)調(diào)度器把Linux操作系統(tǒng)當作一個空閑任務(wù),即優(yōu)先級最低的任務(wù)來運行。
RTAI中包含了一個RTAI-Lab的工具包。它定義了一個建立仿真、多任務(wù)控制、實時控制的框架,集成到建模仿真軟件中(如Matlab、Scilab)。其生成控制模型可以在Linux RTAI系統(tǒng)中編譯和執(zhí)行。
1.3 Scilab/Scicos建模工具包
Scilab(Scientific Laboratory)是以法國國立信息與自動化研究院(INRIA)的科學家為主共同開發(fā)的“開放源碼”式科學計算軟件。Scicos是包含于Scilab中用于動態(tài)系統(tǒng)建模" title="系統(tǒng)建模">系統(tǒng)建模和仿真的工具軟件包。
2 系統(tǒng)建模
2.1 方案設(shè)計
控制系統(tǒng)建模一般需要一個計算機輔助設(shè)計控制系統(tǒng)設(shè)計軟件(CACSD)和一個運行硬實時操作系統(tǒng)的硬件[5]。常見的計算機輔助設(shè)計控制系統(tǒng)設(shè)計軟件有MatlabSimulink/RTW工具軟件包和Scilab/Scicos軟件。它們可以為不同控制目標生成和編譯代碼。Matlab軟件包功能強大,但價格昂貴,會使整個控制系統(tǒng)成本增加很多。
一個比較可行的方案是基于開源的Scilab/Scicos工具包并以Linux RTAI系統(tǒng)為測試系統(tǒng)設(shè)計實時控制系統(tǒng)模型,并進行仿真、測試。本實驗針對GS-01A摩擦實驗機進行研究與測試。
2.2 建模環(huán)境
軟件環(huán)境:操作系統(tǒng)為Fedora core 4,Linux內(nèi)核版本為2.6.16,RTAI版本為3.3,Scilab版本為4.0,Comedilib版本為0.7.22。
硬件環(huán)境:IBM兼容PC,Intel Pentium 4 CPU 2.60GHz,512MB內(nèi)存,硬盤容量80GB,轉(zhuǎn)速7200 r/s; NI公司Pci6024e數(shù)據(jù)采集卡。待測系統(tǒng)為圖1所示的GS-01A摩擦實驗機。
待采集的信號有:
(1)摩擦盤的溫度A0:熱電偶傳感器。
(2)摩擦盤所受的拉力A1:壓電傳感器。
(3)氣缸對摩擦盤所施加的壓力A2:擴散硅傳感器。
(4)電機轉(zhuǎn)速信號CTR0:磁電轉(zhuǎn)速計。
2.3 控制系統(tǒng)建模
(1)模型建立:根據(jù)實驗方案確定控制模型。利用Scicos中的模塊和RTAI-Lab的模型庫,并根據(jù)各個參數(shù)之間數(shù)學、邏輯的關(guān)系建立如圖2所示的模型。各參數(shù)關(guān)系如下:
其中:V(t)為瞬時線速度(m/s),CTR0(t)為計算機采集到的轉(zhuǎn)速(r/m),R為摩擦半徑(m),μ(t)為瞬時摩擦系數(shù),μav為平均摩擦系數(shù),F(xiàn)A1(t)為瞬時拉力值,RA1為測力臂半徑,PA2(t)為氣缸對摩擦盤所施加的壓強(N/mm2),剎車面積CM(mm2)。
工作現(xiàn)場存在很多潛在的干擾源,使得采集到的信號被認為是訛誤的信號,使用FFT的最佳(維納)濾波方法對噪聲信號進行濾除。即假設(shè)信號S和噪聲N是不相關(guān)的,隨頻率f積分時,它們的叉積為零。從而得到最佳濾波函數(shù)的Φ(f)計算公式:
(2)代碼生成:把建立好的模型封裝到超級模塊superblock中,然后調(diào)用RTAICodeGen_.sci文件,生成C語言代碼。
(3)可執(zhí)行程序生成:把生成的C語言代碼與rtmain.c、libsciblk.a文件進行編譯和鏈接,就可生成執(zhí)行的程序文件,程序文件可以在任何安裝有相同RTAI版本的Linux機器上運行。
3 測試與分析
3.1 實驗測試
拖動電機通過傳動皮帶與主軸連接,當電機達到指定速度(如2000r/m)時按下剎車按鈕,離合器把主軸和電機脫離,主軸與摩擦實驗盤靠慣性轉(zhuǎn)動,下面的氣缸頂著安裝有待測材料的圓盤上升,與實驗盤相接觸,使得實驗盤依靠待測材料表面的摩擦力制動。與此同時給計算機一個高電平信號,由控制模型生成的程序開始運行,數(shù)據(jù)采集卡開始采樣,記錄整個過程,實時讀取數(shù)據(jù),并根據(jù)讀到的數(shù)據(jù)實時計算其他參數(shù),繪制曲線。
由于整個實驗過程較短,一般只有3~15秒,參數(shù)值變換很大,有一定波動,同時摩擦實驗機在實驗過程中存在一定振動,要詳細、真實反映整個實驗中各個參數(shù)的變化趨勢,應(yīng)該充分利用軟、硬件資源,實現(xiàn)實時數(shù)據(jù)采集、計算、曲線記錄,還原真實的摩擦過程。
3.2 結(jié)果分析
在Linux系統(tǒng)中沒有執(zhí)行其他非實時任務(wù)時進行實驗測量。在經(jīng)過86次實驗測定之后,得出比較有代表性的同一材料的實驗狀況如圖3所示。圖3(a)為理論摩擦系數(shù)曲線,圖3(b)為被測材料在Linux RTAI系統(tǒng)下測得的曲線,圖3(c)為沒有開啟RTAI硬實時測得的曲線。
由于被測材料的結(jié)構(gòu)、成分上的差異性,實際測得的曲線與理想狀況存在一定偏差,但只要測得的曲線能反映變化趨勢,并且波峰與波谷的出現(xiàn)在時間軸上與力矩的曲線變化一致,就認為是合理的曲線。從三個圖對比來看,圖3(a)為理想摩擦材料在剎車過程中的瞬時摩擦系數(shù)曲線,在開始和結(jié)束部分存在兩個明顯的峰值,中間部分摩擦系數(shù)的變化相對比較平滑;圖3(b)曲線能準確反映摩擦系數(shù)的變化趨勢,實時性好,曲線平滑,峰值點較明顯,但在采樣開始部分丟失一部分數(shù)據(jù),導致曲線數(shù)據(jù)不完整。這一問題由于系統(tǒng)啟動方式——采樣手動剎車按鈕信號使系統(tǒng)采樣存在一定延時,丟失部分數(shù)據(jù)。圖3(c)的圖形失真嚴重,主要因為摩擦系數(shù)是由其他參數(shù)計算而來,采樣來的數(shù)據(jù)實時性不好,致使波形抖動,造成曲線反映不出參數(shù)變化,不能滿足測試系統(tǒng)使用要求。
(1)在Linux RTAI系統(tǒng)下使用Scilab/Scicos工具包搭建了一個低成本、高效、開放源代碼的控制模型。所有的設(shè)計任務(wù),包括系統(tǒng)分析、控制器設(shè)計、仿真、代碼執(zhí)行都在一個統(tǒng)一的工作環(huán)境下完成,保證了設(shè)計工作的連貫性。
(2)通過實驗驗證了系統(tǒng)的有效性和良好的應(yīng)用效果。結(jié)果表明,Scilab/Scicos和Linux RTAI是一個非常理想的實時平臺搭建方案。其開源特性使得科研設(shè)計及應(yīng)用具有更大的靈活性,對于嵌入式系統(tǒng)的研發(fā)、應(yīng)用有很重要的現(xiàn)實意義。
(3)本實驗方案還存在信號受工作臺中的振動影響等問題,有待于進一步解決。
參考文獻
[1] 林滸,蔡光起,李鳳憲,等.實時化的Linux系統(tǒng)及其實時性能的研究[J].小型微型計算機系統(tǒng),2004,25(8):1454-1457
[2] 葉步財,楊晨暉.基于RTAI可擴展的實時調(diào)度模型的研究與實現(xiàn)[J].廈門大學學報,2005,44(增):289-293
[3] 喬海泉,王奇霞,梁加紅.基于RTLinux的MATLAB實時仿真[J].計算機仿真,2002,19(6):115-118
[4] NAJAFI M,NIKOUKHAH R,STEER S,et al.New features?and new chanllenges in modeling and simulation in Scicos[A].
???? Proceeding of the 2005 IEEE Conference on Control Appli-cations[C],Canada:IEEE,2005.
[5] BUCHER R,BALEMI S.Scilab/Scicos and Linux RTAI-A?unified approach[A].Proceeding of the 2005 IEEE Confer-
???? ence on Control Applications[C],Canada:IEEE,2005.
[6] AMBIKE A,KIM W J,JI K.Real-time operating environ-ment for networked control system[A].2005 American?Control Conference[C],USA:AACC,2005.
?