戴偉,陳峰,張玉芳
?
基于ADAMS與MATLAB的自平衡車系統(tǒng)控制仿真*
戴偉1,陳峰1,張玉芳2
(1.南通大學,江蘇 南通 226019;2.無錫職業(yè)技術(shù)學院,江蘇 無錫 214121)
雙輪自平衡車的自主平衡動態(tài)過程是一個復雜的非線性過程,定量觀察比較困難,利用ADAMS和MATLAB構(gòu)建的聯(lián)合仿真研究可以較好地解決這一問題。通過SoildWorks搭建系統(tǒng)機械3D模型,將其導入ADAMS建立出虛擬樣機系統(tǒng);在MATLAB/Simulink中利用模塊化結(jié)構(gòu)構(gòu)造出車輛平衡控制器;通過軟件之間的調(diào)用,就可以實現(xiàn)虛擬的機械力學系統(tǒng)與控制系統(tǒng)之間的信息交互,動態(tài)模擬出車輛平衡過程。仿真結(jié)果表明,設(shè)計出的控制律能實現(xiàn)車輛自主平衡,并可以直觀顯示動態(tài)過程,為后續(xù)優(yōu)化系統(tǒng)設(shè)計提供有力依據(jù)。
兩輪平衡車;MATLAB/Simulink;ADAMS;動力學仿真
機電一體化系統(tǒng)往往都離不開機械系統(tǒng)和控制系統(tǒng)兩大核心。傳統(tǒng)上把這2個系統(tǒng)進行分開設(shè)計,構(gòu)建各自的實物系統(tǒng),然后進行調(diào)試。一旦出現(xiàn)問題,往往需要修改設(shè)備硬件結(jié)構(gòu),費時費力。
為了解決這個問題,現(xiàn)代機電系統(tǒng)設(shè)計中引入了虛擬樣機技術(shù),比如美國Mechanical?Dynamics公司的ADAMS通用機械系統(tǒng)動力學仿真軟件[1],德國INTEC?Gmbh公司開發(fā)的SIMPACK多體動力學分析軟件包軟件[2]等,其中ADAMS的應用最廣泛。
利用這類軟件,可以將物理機械系統(tǒng)在計算機中以三維模型方式虛擬構(gòu)建,并加以相應運動約束,使其盡量接近實物系統(tǒng),即所謂的“虛擬樣機”。在產(chǎn)品研發(fā)過程中采用虛擬樣機技術(shù),可在制造物理樣機前進行虛擬測試以發(fā)現(xiàn)設(shè)計缺陷,并直接進行修改,不僅縮減研發(fā)周期,更大幅降低研發(fā)成本。在此基礎(chǔ)上,還可以結(jié)合MATLAB/Simulink開發(fā)控制模塊,以共用虛擬模型的方式,實現(xiàn)虛擬機械與虛擬控制系統(tǒng)之間的交互設(shè)計仿真,將力學原理與控制理論有機結(jié)合,為解決機械系統(tǒng)的控制問題提供了一條高效的途徑。
雙輪自平衡車是一種結(jié)構(gòu)簡單、車體靈活、驅(qū)動高效的機電系統(tǒng),具有廣泛的應用前景。其本質(zhì)上是一個復雜非線性、不穩(wěn)定的欠驅(qū)系統(tǒng),也是進行控制實驗研究的理想的平臺。以ADAMS中設(shè)計的虛擬機械模型和MATLAB中建立的平衡控制模型為基礎(chǔ),通過數(shù)據(jù)交互構(gòu)建聯(lián)合仿真系統(tǒng),可以高效分析系統(tǒng)運動學和動力學特性。
自平衡車作為一種機電系統(tǒng),常用的動力學建模方法有拉格朗日法[3]、牛頓—歐拉方程[4]、高斯原理[5]、阿佩爾方程[6]、凱恩法[7]以及旋量對偶數(shù)法[8]等。
自平衡車本質(zhì)上是一級直線倒立擺。平衡車的2個驅(qū)動輪轉(zhuǎn)軸處于一條直線,通過與之相連的左右2個相同規(guī)格直流有刷電機進行驅(qū)動,車身可以圍繞該轉(zhuǎn)軸線進行前后轉(zhuǎn)動。當車身出現(xiàn)向某個方向的傾斜時,可以通過驅(qū)動車輛向相同方向的加速運動,使車體恢復平衡狀態(tài)。
為了便于分析,對系統(tǒng)作一定程度的簡化。建模中認為系統(tǒng)運行道路環(huán)境平坦,且粘滯摩擦以及庫倫摩擦對車體運動的影響忽略不計。忽略傳感器支架的質(zhì)量對于車體重心和質(zhì)心影響。簡化的機械結(jié)構(gòu)如圖1所示。
選取參考坐標系為:將平衡車左右2個車輪的車軸所在直線設(shè)為軸,把小車前進的方向設(shè)為軸,2車輪車體重心與地面的垂線的方向設(shè)為軸,選定的正向為右輪方向,轉(zhuǎn)角的方向以笛卡爾坐標為原則。
圖1 車體的右視圖
采用拉格朗日法對自平衡車建立動力學模型,其優(yōu)勢在于可以避免牛頓-歐拉法中所存在的內(nèi)力作用項問題。涉及變量定義如表1所示。在上述坐標系中,從能量角度對車輛進行分析可以得到以下結(jié)果。
表1 車體的機械參數(shù)定義
參數(shù)名稱參數(shù)意義單位 L除2輪以外其余部分重心距車軸距離m R車輪半徑m D2輪間距離m mp除2輪以外其余部分質(zhì)量kg m車輪質(zhì)量kg Jx沿X軸的除2輪以外剛體的轉(zhuǎn)動慣量kg·m2 Jy沿Y軸的除2輪以外剛體的轉(zhuǎn)動慣量kg·m2 Jz沿Z軸的除2輪以外剛體的轉(zhuǎn)動慣量kg·m2 JΦ車輪繞軸心轉(zhuǎn)動慣量kg·m2 JR車輪繞半徑轉(zhuǎn)動慣量kg·m2 θ除2輪以外剛體的傾斜角度,以順時針為正rad θL左輪轉(zhuǎn)過角度,以順時針為正rad θR右輪轉(zhuǎn)過角度,以順時針為正rad ML左輪電機力矩,以順時針為正N·m MR右輪電機力矩,以順時針為正N·m
2.3.1 車體動能(不包含2輪)
車體動能由平動動能和轉(zhuǎn)動動能2部分組成,如下:
2.3.2 車輪動能
車輪動能由左右車輪動能共同組成,如下:
2.3.3 車體勢能
車體勢能p=pcos
2.3.4 求解動力學方程
從上述模型可以看出,當車體的傾斜角發(fā)生變化時,會同時影響左右電機的轉(zhuǎn)矩,進而改變車輛加速度,而所獲得的加速度又會對小車的傾角形成糾正與調(diào)整,使其回到平衡位置。
利用SoildWorks2014軟件,將車輛實際系統(tǒng)簡化為1個車架、1個電池、2個車輪、2個連桿、2個“L”形支架、2個電機、6個齒輪和6個齒輪軸的組合。其中,車架、車輪、連桿、齒輪和齒輪軸為塑料材質(zhì),其余的為金屬材質(zhì),并將車輪表面設(shè)置為橡膠表面。其中,輪胎直徑為64 mm,車架寬為120 mm,長150 mm。6個齒輪中,大齒輪2個,直徑為43.2 mm,齒數(shù)為100,中齒輪2個,直徑為19.4 mm,齒數(shù)為45,小齒輪2個,直徑為10.8 mm,齒數(shù)為25.將設(shè)計的三維模型導出為x_t格式,就可以在ADAMS軟件環(huán)境下調(diào)用。完成導入的車輛模型如圖2所示。
圖2 導入ADAMS后的車輛模型
三維模型成功導入ADAMS中后,還需要添加約束,以確定零件間相對運動關(guān)系。2輪自平衡車系統(tǒng)的約束副包含:車箱與支架之間的固定副連接,車箱與車軸之間的固定副連接,電機與車架之間的固定福連接,左右車輪與車軸之間的旋轉(zhuǎn)約束連接。
ADAMS通過其動力工具庫中的“轉(zhuǎn)矩(Torque)”模塊,為左右車輪與車軸之間的旋轉(zhuǎn)副施加旋轉(zhuǎn)力矩。
在Solid Works2014中,建立一個平板零件(尺寸為2 000 mm×2 000 mm,厚度為30 mm),導入ADAMS中作為車輛的運行平臺。輪胎模型在ADAMS/Car模塊中選取,其模型特性均根據(jù)實際試驗數(shù)據(jù)編寫,能夠使仿真結(jié)果能更接近實際情況。設(shè)置路面與輪胎之間的摩擦系數(shù)為0.3.
判斷自平衡車是否處于平衡狀態(tài),最直觀的依據(jù)就是觀察車體與地面的夾角。因此,平衡控制就是將車輛傾角控制在可以保持平衡的范圍內(nèi)。為了簡化控制復雜性,系統(tǒng)采用PID控制律調(diào)節(jié)平衡,即將車體當前傾斜角與設(shè)定角進行PID運算,獲取車體直立平衡的控制信號。并根據(jù)該信號驅(qū)動電機,使車輛左右電機產(chǎn)生相應驅(qū)動力。
根據(jù)上述控制策略,在MATLAB/Simulink中設(shè)計PID控制器如圖3所示。其中為設(shè)定值,根據(jù)系統(tǒng)給定,為平衡狀態(tài)下的傾斜角;為測量值,由ADAMS仿真輸出獲得當前傾角,并送給MATLAB;為根據(jù)PID控制率計算的控制偏差。
借助聯(lián)合仿真過程中的車輛動態(tài)演示過程,采用Ziegler-Nichols工程方法進行PID參數(shù)整定。首先根據(jù)車體擺動振蕩幅度大小情況確定p;然后依據(jù)車體擺動速率調(diào)節(jié)參數(shù)d;最后適當調(diào)節(jié)i,以確保車體反應的快速性。經(jīng)過調(diào)試得到的控制參數(shù)為:p=800,i=850,d=1.
通過ADAMS/Control模塊,可以將機械系統(tǒng)仿真分析環(huán)境與控制設(shè)計仿真環(huán)境有機聯(lián)合起來,將控制功能添加到虛擬樣機中,對形成的虛擬機電系統(tǒng)進行聯(lián)合仿真分析。
系統(tǒng)中,ADAMS軟件根據(jù)實際設(shè)計幾何尺寸和相關(guān)參數(shù)信息建立2輪自平衡電動車的虛擬樣機模型,設(shè)定好輸入輸出變量,導出控制文件與MATLAB對接,用MATLAB中的Simulink模塊建立好控制系統(tǒng),將控制系統(tǒng)反饋回來的控制信號作為ADAMS的輸入,從而控制2輪自平衡車在ADAMS中的虛擬樣機;同時,ADAMS輸出量會向MATLAB傳輸實時監(jiān)測到的車輛模型的角度值和角速度值,這樣控制模型的實時輸入量通過與目標值進行比較,得到誤差信號,經(jīng)過PID控制器進行控制調(diào)節(jié)。
ADAMS與其他創(chuàng)建控制系統(tǒng)模塊的軟件之間通過輸入、輸出狀態(tài)變量實現(xiàn)數(shù)據(jù)變換。
ADAMS通過菜單【Build】→【System Elements】→【State Variable】→【New】來定義狀態(tài)變量。創(chuàng)建狀態(tài)變量TWC_TorqueL、TWC_TorqueR,分別對應平衡車的左右輪轉(zhuǎn)矩,通過將其配置給“轉(zhuǎn)矩(Torque)”模塊的對應電機,實現(xiàn)實體與變量關(guān)聯(lián)。利用“Plant Input”設(shè)置,指定其為輸入變量。創(chuàng)建狀態(tài)變量DistanceX、VelocityX、TWC_AngleZ,TWC_VelocityZ分別是2輪自平衡車的位移、速度、車輛質(zhì)心傾角角度、傾角角速度。利用“Plant Output”設(shè)置,將其設(shè)為模型的輸出變量。
設(shè)置完相應狀態(tài)變量后,通過加載ADAMS/Control 模塊,可將相應變量MATLAB軟件進行關(guān)聯(lián)。完成控制參數(shù)輸出后,系統(tǒng)會自動在工作目錄下將生成 TWC.m、TWC.cmd和TWC.adm三個文件。
在ADAMS中創(chuàng)建好輸入、輸出變量,就可以生成如圖4所示的ADAMS聯(lián)合仿真模塊adams_sub,利用此模塊就可以在Simulink中創(chuàng)建聯(lián)合控制系統(tǒng)。
將MATLAB工作目錄指向ADAMS的工作目錄后,利用ADAMS與MATLAB的接口命令ADAMS_sys啟動MATLAB/Simulink的選擇窗口,通過新建模塊control_model.mdl,將ADAMS中建立的子模塊adams_sub拖拽到control_model.mdl窗口中,再添加相應的PID控制算法模塊,完成聯(lián)合控制系統(tǒng)搭建,如圖5所示。
在MATLAB/Simulink下運行聯(lián)合控制系統(tǒng),其會自動與ADAMS進行交互,實現(xiàn)聯(lián)合仿真。
圖3 基于Simulink的PID控制器
圖4 adams_sub 聯(lián)合仿真模塊
圖5 聯(lián)合控制系統(tǒng)結(jié)
仿真時系統(tǒng)自主在后臺進行動力學解算,結(jié)束后將運行結(jié)果數(shù)據(jù)存儲在系統(tǒng)二進制bin文件中,通過ADAMS可以讀取整個運行過程,如圖6所示。圖6中左側(cè)窗口顯示虛擬樣機姿態(tài)變化,右側(cè)為各觀測變量在仿真時段的變化曲線。
給處于平衡狀態(tài)的車輛施加一破壞平衡的擾動,利用上述仿真系統(tǒng),可以觀察到車輛恢復平衡的整個動態(tài)響應過程。圖6中右上圖為車輛質(zhì)心位移響應曲線,右下圖為車傾角角速度響應曲線。
圖6 平衡車動態(tài)仿真狀態(tài)圖
實驗結(jié)果說明,當虛擬車輛在平面路面處于平衡狀態(tài)時,給車體一個擾動,車輛發(fā)生傾倒動作。在向下傾倒1 s后車體質(zhì)心開始相對軸向上運動,去尋找平衡點;在4.5 s時相對在軸的速度達到頂峰,而后急速衰減;在5 s時降為0,相對軸的位移在這個時候達到最大;在3~6 s間傾角角速度曲線與動能曲線均發(fā)生了波動,說明此時車輛在進行自動的平衡調(diào)整。最終質(zhì)心位移會到初始大小,同時速度、角速度、動能都基本趨向為0,說明車輛一直沒有傾倒,并逐漸趨于平衡狀態(tài),驗證了系統(tǒng)及控制算法的有效性。
通過理論分析與仿真實驗表明,利用基于ADAMS構(gòu)建的多體系統(tǒng)動力學虛擬樣機模型,避免了非線性系統(tǒng)的精確建模問題,可更加全面地反映復雜系統(tǒng)的真實特性。利用MATLAB與ADAMS聯(lián)合構(gòu)建全虛擬的機電控制系統(tǒng),既可以實現(xiàn)系統(tǒng)的控制過程動態(tài)仿真,還可以降低開發(fā)的成本、提高效率。通過本文構(gòu)建的綜合仿真系統(tǒng),也可進一步研究在不同路面摩擦系數(shù)和不同控制算法下車輛平衡控制性能,為設(shè)計最優(yōu)控制策略提供依據(jù)。
[1]W.S. Badr,M. Fanni,Ali K.Abdel-Rahman,S.Abdel Rasoul. Dynamic Simulation and Optimization of Rhombic Drive Stirling Engine Using MSC ADAMS Software[J].Procedia Technology,2016(22).
[2]Haobin Jiang,Tao Wang,Jiaojiao Li.Closed-loop simulation and evaluation of vehicle handling stability on the basis of SIMPACK[P].Control and Decision Conference(CCDC),2010 Chinese,2010.
[3]王楊.分布式驅(qū)動電動汽車輪轂電機驅(qū)動控制研究[D].長春:吉林大學,2015.
[4]姜園,趙新華,楊玉維,等.基于牛頓-歐拉遞推法的3-RRRT并聯(lián)機器人動力學建模及仿真[J].高技術(shù)通訊,2016,26(Z1):780-785.
[5]劉延柱.基于高斯原理的多體系統(tǒng)動力學建模[J].力學學報,2014,46(06):940-945.
[6]崔彥博.一種變結(jié)構(gòu)自行車機器人動力學建模與控制[D].北京:北京郵電大學,2015.
[7]焦健,龐世偉,吳迎,等.基于Kane方程的柔性Stewart平臺動力學建模研究[G]//第十二屆全國振動理論及應用學術(shù)會議論文集.北京:中國振動工程學會、南京航空航天大學機械結(jié)構(gòu)力學及控制國家重點實驗室,2017:9.
[8]袁震.利用旋量和對偶數(shù)矩陣法的空間機構(gòu)動力學分析[J].紡織基礎(chǔ)科學學報,1994(03):217-221,249.
2095-6835(2018)20-0054-04
V414
A
10.15913/j.cnki.kjycx.2018.20.054
江蘇省科技項目-基礎(chǔ)研究計劃-面上項目(編號:BK20151273);南通市科技計劃項目(編號:MS12015012);南通大學實驗教學改革專項(編號:2014C08)
戴偉,工學碩士,講師。陳峰,工學博士,副教授。張玉芳,工學博士,講師。
〔編輯:張思楠〕