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