,,, ,
(裝甲兵工程學(xué)院 控制工程系,北京 100072)
RecurDyn是一款優(yōu)秀的多體動(dòng)力學(xué)仿真軟件,它采用相對(duì)坐標(biāo)系運(yùn)動(dòng)方程理論和完全遞歸算法,非常適用于求解大規(guī)模及復(fù)雜接觸的多體系統(tǒng)動(dòng)力學(xué)問(wèn)題。RecurDyn的接口模塊(Communicators)主要包括同其他第三方軟件聯(lián)合仿真的接口,其中Control可以結(jié)合Matlab/Simulink進(jìn)行機(jī)械---控制系統(tǒng)的聯(lián)合仿真。
Simulink是Matlab最重要的組件之一,它提供一個(gè)動(dòng)態(tài)系統(tǒng)建模、仿真和綜合分析的集成環(huán)境。在該環(huán)境中,無(wú)需書(shū)寫(xiě)大量程序,而只需要通過(guò)簡(jiǎn)單直觀的鼠標(biāo)操作,就可以構(gòu)造出復(fù)雜的系統(tǒng)。Simulink支持幾乎所有類(lèi)型的真實(shí)動(dòng)態(tài)系統(tǒng)仿真,同時(shí)它是一種圖形化的仿真工具,利用其可視化的建模方式,可迅速建立動(dòng)態(tài)系統(tǒng)的框圖模型;Simulink允許自定義模塊的使用,也允許將C、FORTRAN、Ada代碼直接移植到Simulink模型當(dāng)中;Simulink仿真模擬快速、精準(zhǔn),具有良好的分析交互性。
聯(lián)合仿真能夠綜合各個(gè)軟件的優(yōu)點(diǎn),發(fā)揮更好的效果。結(jié)合RecurDyn與Simulink的優(yōu)點(diǎn),在RecurDyn中建立動(dòng)力學(xué)模型,通過(guò)接口連接到Simulink,在Simulink中建立控制模型,通過(guò)聯(lián)合仿真驗(yàn)證模型的性能。聯(lián)合仿真為模型的實(shí)物研制與實(shí)驗(yàn)提供了相應(yīng)的參考。
利用RecurDyn中的Control模塊可以與Matlab/Simulink實(shí)現(xiàn)聯(lián)合仿真[1]。
聯(lián)合仿真的基本流程包括:構(gòu)造動(dòng)力學(xué)模型、確定虛擬樣機(jī)的輸入輸出、構(gòu)造控制系統(tǒng)、聯(lián)合仿真。針對(duì)RecurDyn與Simulink,對(duì)應(yīng)的流程如圖1所示。
圖1 RecurDyn與Simulink聯(lián)合仿真流程
動(dòng)力學(xué)模型的建立方法主要有兩種,既可以在RecurDyn中直接建立模型,也可以在其他的建模軟件中建立三維模型然后導(dǎo)入到RecurDyn中,本文采用的就是在SolidWorks中建立模型然后導(dǎo)入到RecurDyn中[2],導(dǎo)入后的模型如圖2所示。
具體操作為在SolidWorks中建立好三維模型,另存為.x_t格式,然后導(dǎo)入到RecurDyn中,然后在RecurDyn中添加約束,摩擦,調(diào)整仿真參數(shù)。
圖2 平臺(tái)整體
整個(gè)平臺(tái)由車(chē)體、主動(dòng)輪、萬(wàn)向輪、電源模塊、控制模塊幾大部分組成。地面模塊可以在RecurDyn中建立,也可以在SolidWorks中建立。當(dāng)路面的路況比較簡(jiǎn)單時(shí),在RecurDyn中直接建立更加方便快捷,當(dāng)路況比較復(fù)雜時(shí),比如有多個(gè)上、下坡,不平路面等,在SolidWorks中建立然后導(dǎo)入更加方便快捷。需要注意的是,導(dǎo)入的路面模塊需要與系統(tǒng)路面一致,可以用固定副將兩者固定。
在RecurDyn中設(shè)定各個(gè)零件的材料,具體設(shè)定為:車(chē)體為鋁合金,主動(dòng)輪與萬(wàn)向輪為橡膠,電源模塊與控制模塊為尼龍。
在RecurDyn中設(shè)定相應(yīng)的摩擦系數(shù),具體設(shè)定為主動(dòng)輪與萬(wàn)向輪間的動(dòng)摩擦系數(shù)0.7,最大靜摩擦系數(shù)0.75;各轉(zhuǎn)動(dòng)副間的動(dòng)摩擦系數(shù)0.2,最大靜摩擦系數(shù)0.25。
在RecurDyn的Control模塊中建立模型的輸入與輸出,將平臺(tái)左、右兩輪的速度作為兩個(gè)輸入,平臺(tái)質(zhì)心的速度與位移作為輸出。
確定模型的輸入時(shí),首先在Control模塊中選擇與Simulink模塊連接,然后新建兩個(gè)輸入,分別命名為Rsudu與Lsudu,分別代表右輪與左輪的速度。
建立好模型的輸入后,在平臺(tái)的左輪與右輪的驅(qū)動(dòng)上建立與輸入的聯(lián)系。將兩輪的驅(qū)動(dòng)分別設(shè)置為兩個(gè)PIN函數(shù),均為PIN(1)格式,分別對(duì)應(yīng)Rsudu與Lsudu。
確定模型的輸出時(shí),在Control模塊中建立兩個(gè)輸出,分別命名為sudu與weiyi,sudu對(duì)應(yīng)的函數(shù)為VM(1),weiyi對(duì)應(yīng)的函數(shù)為DM(1),兩個(gè)輸出的參考點(diǎn)都選擇平臺(tái)的質(zhì)心。
確定好模型的輸入與輸出后,將模型保存然后輸出,將接口設(shè)定為2.0,主程序設(shè)定為Simulink,在Matlab中打開(kāi)保存的文件,則會(huì)自動(dòng)生成一個(gè)可以在Simulink中參與仿真的模塊,模塊的結(jié)構(gòu)如圖3所示。模塊有兩個(gè)輸入,即:右主動(dòng)輪速度(Rsudu)與左主動(dòng)輪速度(Lsudu);有兩個(gè)輸出,即:質(zhì)心的速度(sudu)與位移(weiyi)。
圖3 聯(lián)合仿真模塊
無(wú)刷直流電機(jī):
本文選取電機(jī)模型為無(wú)刷直流電機(jī)模型,調(diào)速控制為變頻調(diào)速。
為了方便分析,假設(shè):
1)三相繞組使用星形連接且保持對(duì)稱(chēng),氣隙磁場(chǎng)近似為方波,定子電流產(chǎn)生的磁場(chǎng)和轉(zhuǎn)子磁場(chǎng)都對(duì)稱(chēng);
2)不考慮定子的齒槽、進(jìn)行的換相和電樞上面的影響;
3)電樞繞組持續(xù)平均的分布在定子內(nèi)表面;
4)不考慮磁路飽和,不計(jì)算渦流、磁滯等損耗[3]。
則電壓平衡方程為:
(1)
式中,ua、ub、uc是定子相繞組電壓(V);ea、eb、ec是定子相繞組反電動(dòng)勢(shì)(V);ia、ib、ic是定子相繞組電流(A);r為定子相繞組電阻(Ω);L為定子相繞組之間的自感(H);M為定子相繞組之間的互感(H)。
無(wú)刷直流電機(jī)的轉(zhuǎn)矩方程為:
(2)
式中,ω為電機(jī)角速度(rad/s)。
無(wú)刷直流電機(jī)的運(yùn)動(dòng)方程為:
(3)
式中,Te為電磁轉(zhuǎn)矩;TL為負(fù)載轉(zhuǎn);B為阻尼系數(shù);ω為電機(jī)機(jī)械角速度;J為電機(jī)的轉(zhuǎn)動(dòng)慣量。
根據(jù)直流無(wú)刷電機(jī)的數(shù)學(xué)模型可以建立其Simulink模型,其中電機(jī)相關(guān)參數(shù)參照表1設(shè)定。
表1 電機(jī)相關(guān)參數(shù)參照表
設(shè)定好電機(jī)參數(shù)后,建立與之匹配的調(diào)速系統(tǒng)[4-5]。調(diào)速系統(tǒng)主要包括:直流電源、逆變器、永磁同步電機(jī)、轉(zhuǎn)速調(diào)節(jié)模塊、PWM脈寬調(diào)制器、控制單元等部分。整體框圖如圖4所示。
圖4 電機(jī)調(diào)速系統(tǒng)
系統(tǒng)中的ASR模塊即為轉(zhuǎn)速調(diào)節(jié)模塊,采用比例積分調(diào)節(jié)[6],其結(jié)構(gòu)如圖5所示,其中,比例系數(shù)kp=10.7,積分系數(shù)ki=0.15。
圖5 轉(zhuǎn)速調(diào)節(jié)模塊
系統(tǒng)中的PWM Generator模塊即為PWM脈寬調(diào)制器,作用就是調(diào)節(jié)脈沖寬度,其中載波頻率設(shè)為3 000 Hz。
系統(tǒng)中的Controller模塊即為控制單元,其作用是根據(jù)轉(zhuǎn)子磁極位置分配電機(jī)三項(xiàng)繞組的通電,即控制逆變器模塊6個(gè)開(kāi)關(guān)器件的開(kāi)關(guān)次序。
各個(gè)模塊建立好并完成各自封裝,然后完成與聯(lián)合仿真模塊的連接,如圖6所示。
圖6 聯(lián)合仿真模型
其中,K1與K2是減速比,在實(shí)際中相當(dāng)于齒輪或者減速箱,K1與K2均取0.2。Rmotor與Lmotor分別代表平臺(tái)的右側(cè)與左側(cè)電機(jī)及其調(diào)速機(jī)構(gòu),右參考速度與左參考速度作為兩個(gè)輸入,速度(sudu)與位移(weiyi)作為輸出,通過(guò)觀察輸出可以驗(yàn)證模型的正確性。
設(shè)定好參數(shù)后就可以進(jìn)行聯(lián)合仿真了,為了驗(yàn)證模型的正確性,本文進(jìn)行了平臺(tái)的直行和轉(zhuǎn)彎的仿真。
首先對(duì)平臺(tái)的直行與轉(zhuǎn)彎進(jìn)行理論分析。當(dāng)平臺(tái)直行時(shí),其質(zhì)心速度與兩主動(dòng)輪的線(xiàn)速度一樣,位移為:
(4)
當(dāng)平臺(tái)轉(zhuǎn)彎時(shí),速度分析如圖7所示。
圖7 平臺(tái)轉(zhuǎn)彎速度分析
O為轉(zhuǎn)彎時(shí)速度瞬心,兩前輪間距為L(zhǎng),右前輪轉(zhuǎn)彎半徑為r1,左前輪轉(zhuǎn)彎半徑為r2,前輪軸線(xiàn)與質(zhì)心距離為X,右前輪的速度為v1,左前輪的速度為v2,右后輪的速度為v3,左后輪的速度為v4,質(zhì)心的速度為vc。
由運(yùn)動(dòng)學(xué)理論[7]有:
(5)
(6)
r2=L+r1
(7)
根據(jù)設(shè)計(jì)可知,前輪為主動(dòng)輪,直徑為D=100 mm,兩前輪間距L=350 mm,前輪軸線(xiàn)與質(zhì)心距離X=56 mm左右。
通過(guò)仿真實(shí)驗(yàn)發(fā)現(xiàn),平臺(tái)的初始位置即初始化條件對(duì)平臺(tái)的仿真有重要的影響,但是往往在初始狀態(tài)時(shí),平臺(tái)的條件并不是完全靜止的,為了消除這一不利因素,增加了一個(gè)滯后模塊,即要求平臺(tái)正在仿真開(kāi)始的0.1秒時(shí)間內(nèi),其速度保持不變,而后0.5秒時(shí)間內(nèi)加速到預(yù)設(shè)速度。這一功能具體是在Matlab/Simulink中利用S-function功能實(shí)現(xiàn)的[8],具體的函數(shù)如下所示:
function [sys,x0,str,ts]=nbijiao(t,x,u,flag)
switch flag
case 0,
[sys,x0,str,ts]=mdlInitializeSizes;
case 3,
sys = mdlOutputs(t,x,u);
case 2,
sys = [];
case 9,
sys = [];
otherwise
error(['unhandled flag = ',num2str(flag)]);
end
function [sys,x0,str,ts]=mdlInitializeSizes()
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 1;
sizes.NumInputs = 2;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0 = [];
str = [];
ts = [-1 0];
function sys=mdlOutputs(t,x,u)
global clock;
global n;
clock=u(1);
n=u(2);
if clock<=0.1
sys=0;
else
sys=n;
end
將左右兩電機(jī)的參考速度均設(shè)定為2 000 r/min,仿真后,平臺(tái)的速度如圖8(a)所示,位移如圖8(b)所示。
圖8 平臺(tái)的直行
電機(jī)轉(zhuǎn)速為2 000 r/min時(shí),輸入到主動(dòng)輪的轉(zhuǎn)速則為ω=ω0*i=2 000*0.2=400 r/min,整個(gè)平臺(tái)的速度與兩主動(dòng)輪的線(xiàn)速度相同為:v=rω=2 094 mm/s,由圖8(a)可以看出:平臺(tái)在前0.1秒內(nèi)受到控制并不加速,在0.1秒后開(kāi)始加速,大約經(jīng)過(guò)0.5秒時(shí)間后加速到2 100 mm/s左右,仿真結(jié)果與理論計(jì)算相一致,同時(shí)所用到的控制系統(tǒng)也發(fā)揮了相應(yīng)的作用。
當(dāng)平臺(tái)的左右兩側(cè)電機(jī)的轉(zhuǎn)速分別為2 000 r/min與1 000
r/min時(shí),平臺(tái)的兩主動(dòng)輪的線(xiàn)速度為v1與v2,如圖9所示,內(nèi)側(cè)主動(dòng)輪速度為:v1=r1ω1=1 047 mm/s,外側(cè)主動(dòng)輪速度為:v2=r2ω2=2 094 mm/s,將v2與v1帶入到式(5)至式(7),得到:r1=L=350 mm,r2=2L=700 mm,ωr=2.99 rad/s,rc=527.98 mm,vc=1 578.65 mm/s。
圖9 平臺(tái)的轉(zhuǎn)彎
由圖9(a)可知,前0.1秒平臺(tái)由于控制系統(tǒng)的存在并不加速,0.7秒左右,平臺(tái)加速到1 580 mm/s左右,這與理論計(jì)算一致;由圖9(b)可知,平臺(tái)從0.5 s左右開(kāi)始做圓周運(yùn)動(dòng),周期為2 s左右,說(shuō)明平臺(tái)能夠完成轉(zhuǎn)彎,并且與理論計(jì)算一致。
通過(guò)仿真實(shí)驗(yàn)可以看出:平臺(tái)能夠完成直行、轉(zhuǎn)彎等動(dòng)作,建立的電機(jī)調(diào)速模型能夠完成對(duì)電機(jī)的模擬及其調(diào)速,聯(lián)合仿真能夠?yàn)閷?shí)車(chē)研制提供良好的參考,兩電機(jī)轉(zhuǎn)速應(yīng)該滿(mǎn)足一定的條件,在控制時(shí)應(yīng)該遵循。
[1] 劉 義.RecurDyn多體動(dòng)力學(xué)仿真基礎(chǔ)應(yīng)用與提高[M].北京:電子工業(yè)出版社,2013.
[2] 張忠將.SolidWorks 2014 機(jī)械設(shè)計(jì)完全實(shí)例教程[M].北京:機(jī)械工業(yè)出版社,2015.
[3] 譚建成.永磁無(wú)刷直流電機(jī)技術(shù)[M]. 北京:機(jī)械工業(yè)出版社,2011.
[4] 洪乃剛.電力電子、電機(jī)控制系統(tǒng)的建模和仿真[M].北京:機(jī)械工業(yè)出版社,2010.
[5] 楊向宇,楊 進(jìn),鄒利平.直流無(wú)刷電機(jī)控制系統(tǒng)的建模與仿真[J]. 華南理工大學(xué)學(xué)報(bào),2005,33:28-32.
[6] 陶永華,尹怡欣,葛蘆生.新型 PID 控制及其應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2002.
[7] 余志生.汽車(chē)?yán)碚揫M].北京:北京機(jī)械工業(yè)出版社,2010.
[8] 石良臣.MATLAB/Simulink系統(tǒng)仿真超級(jí)學(xué)習(xí)手冊(cè)[M]. 北京:人民郵電出版社,2014.