天天看點

matlab兩輪自平衡小車,基于MATLAB的兩輪自平衡小車系統模型辨識.pdf

基于MATLAB的兩輪自平衡小車系統模型辨識

學兔兔

第1期 (總第170期) 機 械 工程 與 自動 化 NO.1

2012年 2月 MECHANICAL ENGINEERING & AUTOMATION Feb.

文章編号:1672—6413(2012)01—0067—03

基于MATLAB的兩輪自平衡小車系統模型辨識

俞曉峰

(太原理工大學 機械工程學院.山西 太原 030024)

摘要:針對某兩輪自平衡4、車進行了系統模型辨識。通過示波器采集實際輸入輸出資料,運用MATLAB軟

件環境下的系統辨識工具箱進行了資料的預處理、模型類型的選擇、參數估計以及模型驗證和比較等工作.

并最終确定系統模型.為兩輪自平衡小車控制系統的設計提供依據。

關鍵詞:系統辨識;自平衡小車;MATLAB

中圖分類号:TP273 文獻辨別碼:A

0 引言 樣頻率2 kHz),輸入資料為小車電機驅動電壓,輸

兩輪自平衡小車的想法來源于倒立擺系統,是以 出資料為傳感器輸出電壓,可通過計算獲得小車傾斜

其系統也相應地具有非線性、強耦合、多變量以及本 角度。其原始采集資料如圖l所示,圖2與圖3分别

質不穩定等多個特點[1],正是由于這些特點的存在, 為資料導入MATLAB中所繪制的輸入和輸出曲線。

使我們運用機理模組化所确定的小車系統模型無法用于

實測中,達不到滿意的控制效果。而通過系統辨識

(system identification)所确定的系統模型則可以有效

地解決這一問題。系統辨識是一種利用系統的輸入輸

出資料模組化的方法,是黑箱模組化問題,即使對系統的

結構和參數一無所知,也可以通過多次測量得到的系統

的輸入和輸出的資料來求得系統的模型,是對實際系統

的一個合适的近似[2]。是以,隻需要通過采集小車實際

輸人輸出資料,并結合運用MATLAB軟體環境中的系

統辨識工具箱,就可以完成兩輪自平衡小車的模組化。

1 MATLAB系統辨識工具箱

圖l 示波器實測輸入輸出曲線

MATLAB的系統辨識工具箱提供了多種進行系統

3 資料預處理

模型辨識的工具[3],包括:①參數模型辨識工具,如

在MATLAB指令視窗中鍵入ident即可打開系統

ARx、ARMAX、OE、BJ及狀态空間模型辨識等;②

辨識工具箱的互動式界面,如圖4所示。其中在

非參數模型辨識工具,如脈沖響應模型、頻域描述模

Preprocess操作框中,可以對資料進行預處理操作,包

型;③模型驗證工具,可将真實資料與模型預測資料

括選擇實驗資料組、合并實驗資料、選擇資料區域、

進行對比,并計算殘差;④遞推參數估計,利用遞推

平均值去除、消除資料趨勢項、濾波器、重新采樣

算法對ARMAX、BJ等模型進行遞推參數估計;⑤各

等[43。由于通過實測所得的資料當中包括許多幹擾項,