馬輝輝, 胡秋野, 黃海濤, 徐 強(qiáng)
(上海無線電設(shè)備研究所,上海201109)
伺服機(jī)構(gòu)是導(dǎo)彈導(dǎo)引頭的重要組成部分,主要用于初始對(duì)準(zhǔn)、隔離彈體擾動(dòng)和跟蹤目標(biāo),完成目標(biāo)探測(cè)、識(shí)別與跟蹤。作為一個(gè)復(fù)雜的機(jī)電系統(tǒng),如果按照傳統(tǒng)的“樣機(jī)-試驗(yàn)-改進(jìn)”設(shè)計(jì)模式反復(fù)進(jìn)行,不僅很難準(zhǔn)確有效地提高伺服機(jī)構(gòu)的性能,而且會(huì)耗費(fèi)大量的物力和時(shí)間,因此引入虛擬樣機(jī)技術(shù)對(duì)伺服機(jī)構(gòu)的設(shè)計(jì)具有重要的指導(dǎo)意義。在初始設(shè)計(jì)完成、制造物理樣機(jī)之前,首先建立虛擬樣機(jī)系統(tǒng),然后輸入相應(yīng)的條件測(cè)試系統(tǒng)性能,發(fā)現(xiàn)其不足與缺陷,并加以改進(jìn),最終獲得虛擬系統(tǒng)的最優(yōu)設(shè)計(jì)方案,從而減少昂貴、耗時(shí)的物理樣機(jī)試驗(yàn),提高產(chǎn)品設(shè)計(jì)水平、縮短產(chǎn)品開發(fā)周期和產(chǎn)品開發(fā)成本。ADAMS能夠方便的實(shí)現(xiàn)復(fù)雜機(jī)械系統(tǒng)的運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)仿真,而MATLAB具有強(qiáng)大的計(jì)算功能,并可以快速構(gòu)建控制系統(tǒng)數(shù)學(xué)模型。因此,ADAMS 與MATLAB 通過二者之間的接口模塊ADAMS/Controls建立伺服機(jī)構(gòu)的聯(lián)合仿真系統(tǒng),既可以在ADAMS中對(duì)伺服機(jī)構(gòu)的運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)進(jìn)行仿真分析,又可以在MATLAB 中搭建控制系統(tǒng)數(shù)學(xué)模型,實(shí)現(xiàn)交互式聯(lián)合仿真分析。[1]可以有效地提高伺服機(jī)構(gòu)的性能,為實(shí)際物理樣機(jī)的研制提供技術(shù)依據(jù)。
ADAMS具有強(qiáng)大的運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)仿真能力,但是CAD 能力不足,很難快速精確地建立復(fù)雜的三維實(shí)體模型。通常方式為選擇專業(yè)的CAD 設(shè)計(jì)軟件建模,利用專業(yè)CAD 軟件設(shè)計(jì)某伺服機(jī)構(gòu),機(jī)構(gòu)模型如圖1所示。設(shè)計(jì)的伺服機(jī)構(gòu)采用力矩電機(jī)直接驅(qū)動(dòng)方式的雙軸內(nèi)框架結(jié)構(gòu),實(shí)現(xiàn)俯仰與偏航兩自由度運(yùn)動(dòng)。俯仰的力矩電機(jī)固定在機(jī)座上,通過剛性同心軸傳遞負(fù)載的運(yùn)動(dòng)給俯仰角電位器,同時(shí)驅(qū)動(dòng)與該同心軸固聯(lián)的內(nèi)框負(fù)載;同樣,偏航的力矩電機(jī)固定在天線底座上,通過垂直方向上交叉固聯(lián)的另一剛性同心軸傳遞負(fù)載的運(yùn)動(dòng)給偏航電位器,同時(shí)驅(qū)動(dòng)與該同心軸固聯(lián)的負(fù)載平臺(tái)。整個(gè)機(jī)構(gòu)使用單個(gè)撓性陀螺來敏感空間運(yùn)動(dòng)的俯仰和偏航角速度,電位器位置反饋回路采用同步無級(jí)傳動(dòng)來檢測(cè)機(jī)構(gòu)運(yùn)動(dòng)的俯仰和偏航角位置。
圖1 伺服機(jī)構(gòu)3D 模型
伺服機(jī)構(gòu)的運(yùn)動(dòng)學(xué)及動(dòng)力學(xué)仿真需在ADAMS中進(jìn)行,因此需要將伺服機(jī)構(gòu)的3D 模型文件保存為Parasolid文檔格式(*.x_t),然后導(dǎo)入ADAMS/View 模塊中。在ADAMS/View 界面中,需要對(duì)導(dǎo)入的幾何模型構(gòu)件信息進(jìn)行修改和編輯,定義材料、密度、質(zhì)量、轉(zhuǎn)動(dòng)慣量等相關(guān)屬性,確保虛擬樣機(jī)盡可能接近實(shí)際系統(tǒng)的物理特性,以便取得更好的仿真效果。要模擬系統(tǒng)的真實(shí)運(yùn)動(dòng)情況,需要根據(jù)實(shí)際情況抽象出相應(yīng)的運(yùn)動(dòng)副,并在ADAMS模型的構(gòu)件間定義運(yùn)動(dòng)副約束,施加驅(qū)動(dòng)和載荷[2],如圖2所示。
圖2 定義約束后的仿真模型
俯仰/偏航的力矩電機(jī)驅(qū)動(dòng)伺服機(jī)構(gòu)作相對(duì)回轉(zhuǎn)運(yùn)動(dòng),因此需要在兩電機(jī)的回轉(zhuǎn)軸線上定義旋轉(zhuǎn)副(Revolute)約束,其他沒有相對(duì)運(yùn)動(dòng)的構(gòu)件間均定義為固定副(Fixed)約束。在正確定義約束完畢后,各構(gòu)件之間便具有確定的約束關(guān)系,可以確保仿真時(shí)伺服機(jī)構(gòu)有正確的運(yùn)動(dòng)軌跡。
在定義好的旋轉(zhuǎn)副約束處添加旋轉(zhuǎn)驅(qū)動(dòng)(Rotational Motion)或者力矩(Torque),之后便可以進(jìn)行運(yùn)動(dòng)學(xué)及動(dòng)力學(xué)仿真。在ADAMS 運(yùn)動(dòng)仿真系統(tǒng)中,可以通過驅(qū)動(dòng)函數(shù)和力矩函數(shù)來定義所需要的驅(qū)動(dòng)方式。該伺服機(jī)構(gòu)的工作方式為雙軸的力矩電機(jī)同時(shí)施加運(yùn)動(dòng)驅(qū)動(dòng)力,因此分別定義其驅(qū)動(dòng)函數(shù)方程。
俯仰方程:
Function(time)=50 d*COS(2*PI*0.2*time)
偏航方程:
Function(time)=50 d*SIN(2*PI*0.2*time)
設(shè)置仿真時(shí)間為20 s,仿真步數(shù)為Steps=500,仿真分析后可以輸出伺服機(jī)構(gòu)中任意構(gòu)件的屬性信息,在后處理模塊中可以顯示,例如天線負(fù)載質(zhì)心圍繞旋轉(zhuǎn)中心坐標(biāo)軸的角速度,如圖3所示。
圖3 運(yùn)動(dòng)學(xué)及動(dòng)力學(xué)仿真
利用運(yùn)動(dòng)學(xué)仿真分析,ADAMS 自帶的Clearance工具可以有效檢測(cè)構(gòu)件間的干涉信息,可以在設(shè)計(jì)過程中發(fā)現(xiàn)問題,優(yōu)化機(jī)構(gòu)設(shè)計(jì)。如圖4顯示結(jié)果表明,機(jī)座與天線底座之間的間隙檢測(cè)結(jié)果表明兩零件間隙最小值為0,需要重新設(shè)計(jì)修改零件,保證零件間距安全不干涉。
圖4 Clearance間隙檢測(cè)
ADAMS/Controls可以將ADAMS 的機(jī)械系統(tǒng)模型與控制系統(tǒng)應(yīng)用軟件(如:MATLAB、EASY5或者M(jìn)ATRIX)連接起來,實(shí)現(xiàn)在控制系統(tǒng)軟件環(huán)境下進(jìn)行交互式仿真,還可以在ADAMS/View 中觀察結(jié)果。在仿真計(jì)算過程中,ADAMS可采取兩種方式:其一,機(jī)械系統(tǒng)采用ADAMS解算器,控制系統(tǒng)采用控制軟件解算器,二者之間通過狀態(tài)方程進(jìn)行聯(lián)系;其二,利用控制軟件書寫描述控制系統(tǒng)的控制框圖,然后將該控制框圖提交給ADAMS,應(yīng)用ADAMS解算器進(jìn)行包括控制系統(tǒng)在內(nèi)的復(fù)雜機(jī)械系統(tǒng)虛擬樣機(jī)的同步仿真計(jì)算。[3]
本文采用第二種計(jì)算方式,伺服機(jī)構(gòu)ADAMS機(jī)械系統(tǒng)模型與MATLAB 控制系統(tǒng)框圖通過ADAMS/Controls控制模塊接口來實(shí)現(xiàn)聯(lián)合仿真。
機(jī)電系統(tǒng)聯(lián)合仿真設(shè)計(jì)流程主要有以下四個(gè)步驟,如圖5所示。
圖5 機(jī)電系統(tǒng)聯(lián)合仿真設(shè)計(jì)流程
將伺服機(jī)構(gòu)機(jī)械系統(tǒng)的ADAMS模型通過ADAMS/Controls 接口模塊導(dǎo)入 MATLAB/Simulink仿真模塊,實(shí)現(xiàn)ADAMS與MATLAB之間的數(shù)據(jù)傳遞。為實(shí)現(xiàn)機(jī)械系統(tǒng)與控制系統(tǒng)之間的參數(shù)傳遞,需要在ADAMS中確定聯(lián)合仿真系統(tǒng)所需的輸入輸出變量,并由此在ADAMS與MATLAB之間形成一個(gè)閉合回路,如圖6所示。
圖6 ADAMS的輸入輸出變量
在ADAMS/Controls模塊中,將電機(jī)的力矩變量定義為輸入變量,用于存儲(chǔ)MATLAB 中控制系統(tǒng)的力矩指令;將角速度變量定義為輸出變量,用于控制系統(tǒng)中的角速度反饋輸入。導(dǎo)出控制參數(shù)后,在ADAMS的工作目錄下將生成后綴為*.m、*.cmd、*.adm 的3個(gè)文件用于數(shù)據(jù)傳遞。在MATLAB 中輸入接口命令:adams_sys,將會(huì)彈出伺服機(jī)構(gòu)的接口模塊,如圖7所示。
從圖中可以看出,接口模塊中ADAMSPlant的輸入變量為力矩V_Torque,輸出變量為角速度f(wàn)y_V。
圖7 聯(lián)合仿真接口模塊
伺服機(jī)構(gòu)是一個(gè)多變量的復(fù)雜機(jī)電系統(tǒng),控制回路一般分為預(yù)定回路和穩(wěn)定跟蹤回路。在此針對(duì)預(yù)定回路做詳細(xì)仿真,預(yù)定回路采用增益控制,并通過超前—滯后相關(guān)頻域校正設(shè)計(jì)方法,保證回路的動(dòng)態(tài)性能和穩(wěn)定性。
根據(jù)前面圖6 表示的變量關(guān)系轉(zhuǎn)換,ADAMS利用其函數(shù)實(shí)時(shí)地調(diào)用控制系統(tǒng)輸出的力矩變量值V-Torque,并將其作為該時(shí)刻的電機(jī)力矩指令驅(qū)動(dòng)伺服機(jī)構(gòu)運(yùn)動(dòng),而伺服機(jī)構(gòu)的角速度變量fy_V 又被實(shí)時(shí)地反饋到控制系統(tǒng)中,從而構(gòu)成完整的閉環(huán)控制系統(tǒng),實(shí)現(xiàn)伺服機(jī)構(gòu)的精確控制。
為驗(yàn)證伺服機(jī)構(gòu)的聯(lián)合仿真結(jié)果,以俯仰電機(jī)所在通道為例,以階躍信號(hào)測(cè)試系統(tǒng)的響應(yīng)特性,如圖8、圖9、圖10所示。
通過分析可見,在階躍信號(hào)作用下,伺服機(jī)構(gòu)能在在特定的響應(yīng)時(shí)間內(nèi),由初始位置上升并迅速穩(wěn)定到指令給定的目標(biāo)位置,從而實(shí)現(xiàn)位置的快速、精確控制。通過ADAMS中的仿真動(dòng)畫也可以觀察到,電機(jī)驅(qū)動(dòng)天線負(fù)載由初始位置快速旋轉(zhuǎn)到達(dá)指定位置,并在該位置穩(wěn)定保持不變。
圖8 力矩變量V_Torque輸入曲線
圖9 角速度f(wàn)y_V 輸出曲線
圖10 聯(lián)合仿真系統(tǒng)階躍響應(yīng)特性
同理,向仿真系統(tǒng)的穩(wěn)定跟蹤控制回路輸入斜坡響應(yīng)信號(hào),可獲得斜坡響應(yīng)特性曲線,如圖11所示。結(jié)果顯示機(jī)構(gòu)可精確跟隨斜坡信號(hào),僅有較小的穩(wěn)態(tài)誤差,表明伺服機(jī)構(gòu)具有良好的穩(wěn)定跟蹤特性。
圖11 聯(lián)合仿真系統(tǒng)斜坡響應(yīng)特性
利用虛擬樣機(jī)設(shè)計(jì)方法,應(yīng)用Solid Edge、ADAMS、MATLAB 三個(gè)軟件,先建立伺服機(jī)構(gòu)的機(jī)械系統(tǒng)模型,再對(duì)其進(jìn)行運(yùn)動(dòng)學(xué)及動(dòng)力學(xué)仿真,后實(shí)現(xiàn)機(jī)電系統(tǒng)聯(lián)合仿真,驗(yàn)證伺服機(jī)構(gòu)的可行性,有助于物理樣機(jī)的設(shè)計(jì)和研制。因此,在研制物理樣機(jī)之前,應(yīng)用此設(shè)計(jì)分析方法可優(yōu)化設(shè)計(jì)方案,降低研發(fā)成本,縮短研制時(shí)間,為伺服機(jī)構(gòu)的研發(fā)提供了一種新的思路和途徑。