于春梅, 易 奎, 侯惠讓, 畢效輝
(西南科技大學 信息工程學院, 四川 綿陽 621010)
自動控制類課程是自動化、電氣工程、機電一體化等專業的主要課程,其中包括控制類專業的研究生入學考試重點課程“自動控制理論”。盡管各個學校均給予該課程足夠的重視,但由于學時數、設備數的限制,控制類實驗課程仍存在驗證性實驗偏多的問題。不少學校增加了設計性和綜合性實驗,但多以電子電路模擬和Matlab仿真為主,學生往往對實際系統感覺陌生。
西南科技大學控制理論與控制工程教學團隊在四川省精品課程和四川省精品資源共享課程等項目支持下,開發了以Flash動畫為主的電子教材[1]以及基于Matlab仿真軟件的電子輔助教材[2]。這些教材對激發學生學習興趣、增強學生對課程內容的理解具有很好的效果。但是,Matlab只能針對數學模型,而Flash無法隨系統參數變化而改變。為了改善這一狀況,我校控制技術實驗室購買了一些典型控制對象如吊車擺、倒立擺、機械臂等;但這些設備價格昂貴,只能進行演示,滿足少數特別優秀本科生、研究生的實驗要求,絕大多數學生不能得到良好鍛煉。
虛擬樣機技術可以將一些分散的零部件組成完整的機械模型,并對模型進行運動學、動力學仿真,可方便地虛擬出工程實際場景,大大縮短了產品開發周期[3-5]。將虛擬樣機技術與Matlab等軟件結合的聯合仿真手段也在機車制造等行業得到了較廣泛的應用[6-8]。
隨著虛擬樣機技術的普及,不少高校將其作為構建虛擬實驗室的工具。這其中,美國MDI公司開發的虛擬樣機分析軟件ADAMS (Automatic Dynamic Analysis of Mechanical Systems)因具有預測模型性能,計算運動路徑、速度和加速度等功能,并且直觀、明了,成為許多高校的首選。北京航空航天大學將其用于全校性公共選修課程“建模與仿真”的實驗,主要面向有一定ADAMS 軟件基礎的學生[9]。天津理工大學機電控制實驗課搭建起了3-RRRT 并聯機器人的虛擬樣機,主要使用對象為機電專業的研究生[10]。
借助ADAMS開發出在控制類課程中普遍適用的虛擬平臺,使學生能感受到實際系統控制的情境,而又不需要掌握ADAMS軟件本身,是西南科技大學控制理論與控制工程教學團隊的研究目標。
基于此,本文主要完成以下工作:
(1) 設計構成典型控制對象的物理模型,并提供與Matlab聯合仿真的接口供學生設計控制器并觀察控制效果;
(2) 錄制控制器加入前后仿真運行動畫,使學生對控制器的作用有直觀感受;
(3) 添加各種測量信號并記錄運行過程中相關數據和曲線,作為系統辨識課程的輸入輸出數據。
物理模型的構建是控制系統實驗平臺的基礎。本團隊主要挑選了倒立擺、吊車擺、2自由度機械臂、加速度計等典型控制對象作為學生的實驗對象,一方面是因為這些對象具有鮮明的應用背景,另一方面是因為實驗室有這些對象的實物,便于學生與實際系統進行比較。而一旦幾何模型搭建完成,學生僅用計算機就可以對其進行控制。建立模型的步驟如下。
步驟1:建立物理模型并修改參數。
啟動MSC.ADAMS/View并建立一個新的數據文件;設置長度、力等單位和合適的柵格尺寸;由各零件構建幾何模型,比如連桿(關節、擺桿等)、長方體(質塊、小車)、彈簧阻尼器等組成所需要的系統。
步驟2:添加約束。
當建立了虛擬模型后,還需要加一些約束來表明構件之間的約束關系,同時將不同的構件連接在一起,組成一個完整的機械系統。加入約束還能夠減少系統的自由度數,不同的約束減少的自由度數不同。平移副包括小車沿地面的運動、質塊的直線運動等,轉動副包括擺桿的旋轉、機械臂關節的運動等。
步驟3:添加驅動。
添加驅動是為了約束未被約束的自由度。從某種意義上說,驅動也是一種約束,只是這種約束是時間的函數。驅動分為旋轉驅動(如機械臂關節力矩)和滑移驅動(如小車的運動力)。
步驟4:建立測量。
這一步將需要觀測的變量標示出來,這樣可以在仿真結束后觀察這些變量的曲線,比如小車位移、速度、擺角、角速度等變量曲線。通過這幾個步驟建立起來的吊車單擺模型的多角度圖如圖1所示。

圖1 吊車單擺物理模型
一旦建立好幾何模型,只需要指定系統的輸入和輸出(即與Matlab的接口)就可以了。
ADAMS與Matlab的聯合控制由ADAMS/Controls將兩者連接,由Matlab/Simulink讀入ADAMS中描述系統方程的有關參數,通過其建立的控制方案計算輸出驅動物理模型。然后,ADAMS中物理模型的位移、速度等輸出又反饋給控制模型,實現在控制系統軟件環境下的交互式仿真。在計算過程中,ADAMS與Matlab進行數據交換的過程如圖2所示。
建立ADAMS/Matlab聯合仿真的步驟如下。

圖2 聯合仿真數據交換過程
步驟1:創建狀態變量,并將狀態變量與模型相關聯。
步驟2:指定輸入變量和輸出變量,并將輸入變量數值設為零。比如在吊車單擺中將小車力指定為輸入,小車的位移和速度、擺角和角速度指定為系統輸出。
步驟3:加載ADAMS/Controls模塊,導出控制參數。選擇Matlab為ADAMS的外部控制軟件,在ADAMS工作目錄中生成*.m、*.cmd和*.adm這3個文件。
至此,物理模型與Matlab的接口已經完成。學生只需在Matlab命令窗口運行所生成的*.m文件,輸入命令adams_sys,在ADAMS中建立的物理模型就可以像Simulink中的模塊一樣方便地使用。學生根據自己的需要搭建不同的控制器,即可以觀看運行效果和運行曲線。圖3中分別為針對吊車單擺系統設計的雙回路PID控制器和狀態反饋控制器。通過修改PID參數或者狀態反饋系數就可以得到不同的控制效果。

圖3 吊車單擺系統的控制
該控制系統實驗平臺除了為學生學習控制理論課程提供直觀演示外,還可以完成PID控制器的設計、狀態反饋控制器的設計、最優控制器的設計、模糊控制器的設計、各類最小二乘辨識方法和極大似然法等實驗。該平臺可以作為控制理論、控制系統仿真、運動控制、計算機控制、智能控制、系統辨識等課程實驗和課程設計的平臺,為學生設計控制器提供對象,也為辨識實驗提供輸入輸出數據[11]。
控制系統實驗平臺的優點體現在以下幾個方面:(1)可利用ADAMS設計不同類型的控制對象,只需要提供與Matlab仿真的接口即可,甚至還可以利用其他機械設計軟件如Pro/E等實現很多復雜的對象再載入ADAMS[12];(2)與Matlab的仿真曲線相比,ADAMS生成的實際運行動畫效果更加直觀;(3)只需要計算機,即可完成復雜控制系統的實驗,大大節約了設備成本。
筆者注意到,該平臺還存在以下缺點:(1)聯合仿真對計算機的要求較高,必須同時安裝ADAMS和Matlab兩種軟件;(2)可以滿足控制器設計的要求,但不能模擬組成系統的傳感器、執行器等元件。至于第一個缺點,隨著集成化程度的提高,計算機的性能滿足聯合仿真的要求已不是難事;對第二個缺點,比如傳感器的非線性、執行器的死區等特性,還是要與實際系統結合。學生可分組測量實驗室吊車擺、倒立擺、機械臂、液位控制等系統的傳感器特性、執行器特性等,以獲得第一手資料。總之,通過該平臺可完成自動控制理論到運動控制、過程控制、計算機控制的順利過渡。
[1] 畢效輝,于春梅,陳淼.《自動控制原理》電子教材[M].武漢:武漢理工大學出版社,2005.
[2] 畢效輝,于春梅,張春峰.MATLAB自控理論學習與仿真[M].北京:中國輕工業出版社,2007.
[3] 廖英英,劉永強,劉金喜,等.時滯對高速鐵道車輛懸掛系統半主動控制的影響[J].北京交通大學學報,2011,35(1):113-118.
[4] 康博,翟敬梅.基于ADAMS的6R機器人控制模型研究[J].機床與液壓,2012,40(9):123-125.
[5] Liu Yongqiang , Yang Shaopu, Liao Yingying.A quantizing method for determination of controlled damping parameters of magnetorheological damper models[J].Journal of Intelligent Material Systems and Structures,2011,22(18):2127-2136.
[6] 梁棟,鄧兆祥,郝軍,等.ADAMS/Matlab環境下車輛懸架聯合仿真分析[J].現代制造工程,2012(8):71-75.
[7] 范元勛,卜廷春,李水水,等.基于ADAMS/MATLAB的橋式起重機起升動載荷的聯合仿真[J].重型機械,2011(5):30-32.
[8] 徐中明,余烽,張志飛,等.基于ADAMS和Simlink的車輛轉彎制動ABS聯合仿真[J].中國機械工程,2009,20(7):877-881.
[9] 王江云.機電系統一體化建模與仿真實驗課程建設[J].電氣電子教學學報,2009,31(增刊2):53-55.
[10] 李彬,魏璇.虛擬樣機技術在機電控制實驗中的應用[J].實驗室科學,2008(8):80-81.
[11] 廖英英,劉永強,劉金喜,等.MRD模型參數識別及其在振動控制中的應用[J].振動、測試與診斷,2012,32(2):223-228.
[12] 李金恒,肖慧,胡志華.基于ADAMS的機械手臂運動仿真分析[J].機床與液壓,2009,37(8):206-209.