運(yùn)動學(xué)方程和動力學(xué)模型運(yùn)動學(xué)方程是建立動力學(xué)模型的基礎(chǔ)。對并聯(lián)機(jī)床的定、動平臺形狀假定如所示,在上、下平臺上分別建立坐標(biāo)系o′x′y′z′和oxyz,其中o′和o點(diǎn)分別為2個六邊形的質(zhì)心,ox和o′x′軸取2個短邊A1A6和B1B6的垂線,oz和o′z′分別垂直于2個平臺,oy和o′y′的方向根據(jù)右手法則而定。
1并聯(lián)機(jī)床結(jié)構(gòu)示意2上、下平臺的坐標(biāo)系統(tǒng)設(shè)r1和r2分別為上、下平臺所對應(yīng)的外接圓半徑,Α1和Α2分別為2個六邊形短邊所對應(yīng)的中心角,{xoi′yoi′zoi′}為上平臺的第i個鉸點(diǎn)。在o′x′y′z′坐標(biāo)中,由于o′點(diǎn)是活動的,故為相對坐標(biāo),{xi′yi′zi′}為上平臺的第i個鉸點(diǎn)在oxyz中的坐標(biāo),即絕對坐標(biāo),{xoi
yoi
zoi}為下平臺的第i個鉸點(diǎn)在oxyz中的坐標(biāo)。則由坐標(biāo)系o′x′y′z′到oxyz坐標(biāo)系的方向余弦矩陣為=cosΑcosΒ-sinΑcosΒsinΒxPsinΑcosΧ+cosΑsinΒsinΧcosΑcosΧ-sinΑsinΒsinΧ-cosΒsinΧyPsinΑsinΧ-cosΑsinΒcosΧcosΑsinΧ+sinΑsinΒcosΧcosΒcosΧzP01{Vi}={Ui}(1)其中,{Vi}={xi′yi′zi′1},{Ui}={xoi′yoi′zoi′1}.
Α、Β、Χ為上平臺繞z、y、x軸旋轉(zhuǎn)的角度,xP、yP、zP為上平臺幾何中心點(diǎn)的絕對坐標(biāo),{Vi}、{Ui}可以由機(jī)床的幾何參數(shù)算出。當(dāng)給定活動平臺的位置{xP
yPzPΑΒΧ}時,其平臺機(jī)構(gòu)的位置反解方程為si=ViDi(2)其中,{Di}={xoiyoizoi1},由此可求得各分支的長度。因?yàn)閟i=f(xPyPzPΑΒΧ),對si求一次導(dǎo)數(shù)得到并聯(lián)機(jī)床的速度反解關(guān)系式。Matlab在動力學(xué)模型計(jì)算中的應(yīng)用Matlab提供了一個人機(jī)交互的數(shù)學(xué)系統(tǒng)環(huán)境,并以矩陣作為基本數(shù)據(jù)結(jié)構(gòu)。在VC平臺上實(shí)現(xiàn)符號運(yùn)算并非容易,但Matlab提供了基本符號運(yùn)算和擴(kuò)展符號運(yùn)算2個子工具箱。在這2個子工具箱的輔助下,可以編寫自己的M文件和M函數(shù),且很方便地建立起動力學(xué)模型中的各個符號變量及其相互關(guān)系,程序一目了然,便于修改。Matlab不但提供用于創(chuàng)建符號方程的命令,且還提供用于求解線性和非線性方程組的命令,節(jié)省了純VC編程的時間。
?。?)參數(shù)輸入模塊負(fù)責(zé)接受機(jī)構(gòu)的結(jié)構(gòu)參數(shù)、初始條件等必要參數(shù),然后打開Matlab引擎,將參數(shù)傳遞給Matlab.
?。?)調(diào)用模型運(yùn)算模塊進(jìn)行運(yùn)動學(xué)和動力學(xué)模型的符號推導(dǎo)、數(shù)值計(jì)算和繪。這一模塊以帶參數(shù)的M函數(shù)表示,它是整個編程的核心部分,從M函數(shù)可輸出符號表達(dá)的轉(zhuǎn)換矩陣、影響系統(tǒng)矩陣、動力學(xué)正問題和動力學(xué)逆問題。
?。?)運(yùn)行信息顯示模塊顯示模型計(jì)算的文結(jié)果、提示錯誤和警告信息等。由Matlab引擎返回到應(yīng)用程序的可視化仿真結(jié)果,便于與實(shí)測結(jié)果進(jìn)行對照分析,找出影響并聯(lián)機(jī)床系統(tǒng)動態(tài)特性因素。
?。?)軌跡規(guī)劃模塊對設(shè)計(jì)的運(yùn)動軌跡進(jìn)行優(yōu)化處理,使其在工作空間內(nèi)不出現(xiàn)奇異位置,然后與轉(zhuǎn)換矩陣及影響系數(shù)矩陣聯(lián)立求解運(yùn)動學(xué)問題,運(yùn)動學(xué)方程和動力學(xué)正問題可以用來進(jìn)行動力學(xué)控制。這些模塊中涉及的矩陣運(yùn)算、符號推導(dǎo)、解線性或非線性微分方程組等復(fù)雜運(yùn)算均可在Matlab中實(shí)現(xiàn),而界面、參數(shù)輸入和運(yùn)算信息顯示可在VC平臺上完成。
結(jié)束語(1)通過VC和Matlab接口的引擎方法在VC應(yīng)用程序中調(diào)用Matlab的函數(shù)或命令,可充分利用Matlab強(qiáng)大的矩陣計(jì)算、符號推導(dǎo)和方便的繪功能,完成并聯(lián)機(jī)床動力學(xué)模型的運(yùn)算和仿真,減輕純VC編程的工作量和調(diào)試?yán)щy,保證計(jì)算的可靠性和準(zhǔn)確性。
?。?)VC和Matlab的接口技術(shù)使程序繼承了良好的用戶界面,可直接輸入?yún)?shù),得到所需要的文結(jié)果,便于與儀器測量結(jié)果比較分析。
?。?)引入影響系數(shù)法給編程帶來方便,上述框中的各個模塊可以獨(dú)立編程,在各個模塊之間建立相應(yīng)的數(shù)據(jù)接口,這些接口可以通過界面交互式進(jìn)行,由此體現(xiàn)了C語言的面向?qū)ο缶幊烫攸c(diǎn)和模塊化設(shè)計(jì)的好處。