李 京, 葉曉帥, 費(fèi) 燁
(1.沈陽建筑大學(xué) 機(jī)械工程學(xué)院, 遼寧 沈陽 110168; 2.杭州國(guó)辰正域科技有限公司, 浙江 杭州 311200)
機(jī)械系統(tǒng)運(yùn)動(dòng)學(xué)和控制理論是計(jì)算機(jī)建模仿真的關(guān)鍵, 通常使用專業(yè)的仿真軟件完成所需要的建模與仿真分析。 西門子公司的AMESim 是一個(gè)面向?qū)I(yè)人士的物理系統(tǒng)仿真平臺(tái)。 它以圖標(biāo)的形式表示仿真系統(tǒng)中各個(gè)元件之間的關(guān)系,不僅可以傳遞元件之間的負(fù)載受力,還可以反映出系統(tǒng)中能量的流動(dòng)[1]。在AMESim 仿真過程中,子模型的一個(gè)接口能傳輸多個(gè)變量,所以可將不同類型的子模型連接在一起,極大的簡(jiǎn)化仿真模型結(jié)構(gòu)[2]。
AMESim 中的模型庫(kù)雖然很龐大,但是并非包羅萬象,對(duì)于一些特殊的設(shè)計(jì)并沒有對(duì)性的模塊, 或者只能搭建出近似的等效模型。為了更好的仿真出實(shí)際的運(yùn)動(dòng)情況,最優(yōu)方案是制作一個(gè)相應(yīng)的子模型, 并將實(shí)際控制的數(shù)學(xué)模型和函數(shù)應(yīng)用到子模型中。 尤其對(duì)于一些復(fù)雜的控制模型,往往只能選擇Matlab 聯(lián)合仿真的方法,使仿真模型更為復(fù)雜,仿真參數(shù)更加難以調(diào)試。
本文在AMESim 中利用軟件新功能Submodel Editor完成六自由度并聯(lián)機(jī)構(gòu)反解模塊的制作, 實(shí)現(xiàn)了在AMESim 軟件內(nèi)部完成較為復(fù)雜的控制。
在實(shí)際設(shè)備調(diào)試過程中, 控制六自由度并聯(lián)機(jī)構(gòu)的運(yùn)動(dòng)時(shí), 并不是直接且單獨(dú)給每一個(gè)運(yùn)動(dòng)支鏈設(shè)定一個(gè)桿長(zhǎng)值,從而控制平臺(tái)的運(yùn)動(dòng)。 是給出平臺(tái)在中位時(shí)相對(duì)空間中需要移動(dòng)的位移以及角度, 控制系統(tǒng)再將對(duì)應(yīng)的位移和角度轉(zhuǎn)換為每個(gè)支鏈的桿長(zhǎng)值。 若有相應(yīng)的軌跡規(guī)劃,則在運(yùn)動(dòng)過程中不停的下發(fā)相應(yīng)的軌跡點(diǎn)指令。
在AMESim 仿真中亦是如此,給每一個(gè)支鏈下發(fā)對(duì)應(yīng)的桿長(zhǎng)值固然可行,也失去了仿真的意義,所以在六自由度并聯(lián)機(jī)構(gòu)中需要完善相應(yīng)的控制反解模塊。 為了更合理的制作相應(yīng)的反解模塊,將對(duì)其中反解的算法進(jìn)行梳理。設(shè)計(jì)為動(dòng)平臺(tái)在下,實(shí)現(xiàn)平臺(tái)的調(diào)姿;靜平臺(tái)在上,靜平臺(tái)與大地固定。
圖1 為動(dòng)平臺(tái)和靜平臺(tái)的坐標(biāo)及鉸點(diǎn)的示意圖。靜平臺(tái)坐標(biāo)系原點(diǎn)O’位于上平臺(tái)中心,動(dòng)平臺(tái)的坐標(biāo)系原點(diǎn)O 為于下平臺(tái)中心。其中,Bi為靜平臺(tái)各個(gè)鉸點(diǎn)位置,Bi所在圓為靜平臺(tái)鉸點(diǎn)圓;Pi為動(dòng)平臺(tái)各個(gè)鉸點(diǎn)位置,Pi所在圓為動(dòng)平臺(tái)鉸點(diǎn)圓。
圖1 動(dòng)靜平臺(tái)坐標(biāo)系圖[3]
在靜平臺(tái)及動(dòng)平臺(tái)其上分別固聯(lián)坐標(biāo)系B-xyz與P-xyz。 動(dòng)平臺(tái)的空間姿態(tài)分別用參數(shù)a、b、c、α、β、γ表達(dá)。 a、b、c 是動(dòng)平臺(tái)坐標(biāo)系原點(diǎn)O 在靜平臺(tái)坐標(biāo)系中的表示,α、β、γ 是繞X’、Y’、Z’三根軸的順序轉(zhuǎn)角。
如已知在動(dòng)平臺(tái)P 上的點(diǎn)Pi, 它在另一平面E 上的變換V 表示為V=RPi,其中R 為4×4 變換矩陣,Pi和V 為列向量,動(dòng)平臺(tái)P 到E 的變換是:E=PR-1,其中R-1為R的逆陣,P 和E 為平面行向量。
用向量h=ai+bj+ck 進(jìn)行平移,其相應(yīng)的H 變換矩陣是:
如圖2,己知在平面P 上點(diǎn)u,繞x,y,z 軸旋轉(zhuǎn)一個(gè)α、β、γ 角的相應(yīng)變換是:
圖2 坐標(biāo)旋轉(zhuǎn)變換示意圖
由于視覺識(shí)別系統(tǒng)獲得的是對(duì)接管道與目標(biāo)管道相差的姿態(tài),即動(dòng)平臺(tái)坐標(biāo)中心的平移和角度,也就是獲得了目標(biāo)平面位置的情況。如圖3 為已知目標(biāo)位置的坐標(biāo)旋轉(zhuǎn)示意圖。
圖3 已知目標(biāo)位置的坐標(biāo)旋轉(zhuǎn)示意圖
動(dòng)平臺(tái)依次靜平臺(tái)坐標(biāo)系旋轉(zhuǎn)α、β、γ;動(dòng)平臺(tái)原點(diǎn)O 移動(dòng)a、b、c。
Pi為動(dòng)平臺(tái)P-xyz 上的鉸點(diǎn),Bi為靜平臺(tái)B-xyz 上的鉸點(diǎn)。 設(shè)動(dòng)平臺(tái)坐標(biāo)系原點(diǎn)的空間位置在靜平臺(tái)坐標(biāo)系中的表示為:
反解模塊的制作首先需要一個(gè)圖標(biāo), 在軟件的icon designer 中設(shè)計(jì)相應(yīng)的圖標(biāo)及需要使用的端口,并保存為svg 格式。 由反解過程可知, 對(duì)于模型外部需要12 個(gè)接口, 分別是笛卡爾坐標(biāo)系下6 個(gè)自由度的輸入和經(jīng)過反解后對(duì)應(yīng)于六自由度平臺(tái)6 個(gè)支鏈位移的輸出。 接著將繪制的圖標(biāo)導(dǎo)入為component(元件),這樣就可以在AMESim 草圖界面的元件庫(kù)中找到這個(gè)模塊,由于反解模塊屬于控制信號(hào)的模塊,故導(dǎo)入時(shí)的parent category(父類)到signal(信號(hào))庫(kù)中。
由反解算法可知, 反解除了12 個(gè)輸入輸出變量外,還需要對(duì)平臺(tái)的鉸點(diǎn)進(jìn)行定義。 這里采用極坐標(biāo)的方式對(duì)鉸點(diǎn)進(jìn)行定義,可以減少變量的數(shù)量,所以平臺(tái)常量參數(shù)主要有5 個(gè):動(dòng)平臺(tái)鉸點(diǎn)形成的圓的半徑、靜平臺(tái)鉸點(diǎn)形成的圓的半徑、動(dòng)平臺(tái)鉸點(diǎn)間的夾角、靜平臺(tái)鉸點(diǎn)間的夾角,兩個(gè)鉸點(diǎn)圓平面在運(yùn)動(dòng)初始位置時(shí)的距離。整理得到反解模塊對(duì)應(yīng)的參數(shù)表,見表1,表2。
表1 反解模塊變量表
表2 反解模塊常量表
打開Submodel Editor 主程序的界面參數(shù)設(shè)置框見圖4。
圖4 參數(shù)定義框界面
其中Ports(端口)對(duì)應(yīng)的是表1 中的6 個(gè)輸入變量和6 個(gè)輸出變量,計(jì)算過程所需的中間變量在internal variable, 平臺(tái)常數(shù)參數(shù)的定義在real parameters。 以支鏈1 輸出位移端口為例,對(duì)各個(gè)變量及參數(shù)進(jìn)行定義:數(shù)據(jù)類型、名稱、單位、初始值等。 參數(shù)設(shè)置示例見圖6。
設(shè)置好所有的變量及參數(shù)后, 進(jìn)入到Submodel code 界面, 此時(shí)關(guān)于參數(shù)的部分定義已經(jīng)在軟件的幫助下編寫完成,主要完成單位轉(zhuǎn)換和算法,算法部分用C 語言編寫,并不支持矩陣的計(jì)算,可通過角標(biāo)定義矩陣內(nèi)各個(gè)元素,角標(biāo)定義矩陣T 示意見圖6。
圖6 T 矩陣的角標(biāo)定義示意
可通過嵌套雙層循環(huán)對(duì)二維矩陣進(jìn)行運(yùn)算,見圖7。
圖7 矩陣的計(jì)算示意
將上節(jié)算法轉(zhuǎn)化為C 語言編寫完成后保存, 軟件會(huì)對(duì)整個(gè)子模型進(jìn)行檢查, 等待完成彈窗即說明制作完成。
圖5 支鏈1 的參數(shù)定義
反解模塊的驗(yàn)證路線為,在反解模塊中輸入指定的姿態(tài)值,解算得到六個(gè)支鏈的桿長(zhǎng)變化曲線,將相應(yīng)的桿長(zhǎng)值或桿長(zhǎng)變化曲線作為目標(biāo)值輸入到六自由度并聯(lián)機(jī)構(gòu)試驗(yàn)樣機(jī)中, 再由試驗(yàn)樣機(jī)的上安裝的航姿參考系統(tǒng)來檢測(cè)動(dòng)平臺(tái)姿態(tài)的變化。 航姿參考系統(tǒng)安裝在動(dòng)平臺(tái)的運(yùn)動(dòng)中心處。 航姿參考系統(tǒng)是為飛機(jī)提供準(zhǔn)確可靠的姿態(tài)和導(dǎo)航信息的重要儀器,如橫滾、俯仰和航向[5]。
定點(diǎn)仿真姿態(tài):x=0mm,y=0mm,z=0mm,Rx=-10°,Ry=10°,Rz=0°。
將試驗(yàn)樣機(jī)的平臺(tái)參數(shù)輸入到反解模塊中,并設(shè)置定點(diǎn)運(yùn)動(dòng)工況的姿態(tài)值。反解模塊解算得到六個(gè)支鏈的桿長(zhǎng)值,見圖8。
圖8 軟件內(nèi)反解模塊計(jì)算得到的桿長(zhǎng)值
可獲得反解模塊解算得到的桿長(zhǎng)值:Axis1=74.108mm,Axis2=-114.910,Axis3=-111.074,Axis4=13.358,Axis5=46.085,Axis6=91.043。
將支鏈位移輸入到試驗(yàn)樣機(jī)中,采集航姿儀數(shù)據(jù),見圖9。
圖9 航姿儀測(cè)得Rx、Ry 方向旋轉(zhuǎn)角
穩(wěn)定后數(shù)據(jù):Rx=10.41°、Ry=9.53°,最大誤差為4.9%,在誤差范圍內(nèi),反解模塊定點(diǎn)運(yùn)動(dòng)解算正確,此處包含平臺(tái)運(yùn)動(dòng)誤差和航姿儀的測(cè)量誤差。
連續(xù)運(yùn)動(dòng)工況:取X 方向幅值A(chǔ)=100mm,周期T=5s和Z 方向A=100mm,T=5s 的復(fù)合正弦運(yùn)動(dòng)。
反解解算得到六個(gè)支鏈的桿長(zhǎng)變化值見圖10。
圖10 連續(xù)運(yùn)動(dòng)下六個(gè)支鏈桿長(zhǎng)變化曲線圖
將六個(gè)支鏈的桿長(zhǎng)曲線輸入到試驗(yàn)樣機(jī)中, 取航姿儀中x 和z 方向的姿態(tài)曲線。 圖11 為反解模塊連續(xù)運(yùn)動(dòng)工況下的X 方向平移姿態(tài)仿真曲線與試驗(yàn)曲線對(duì)比圖。
圖12 為反解模塊連續(xù)運(yùn)動(dòng)工況下的Z 方向平移姿態(tài)仿真曲線與試驗(yàn)曲線對(duì)比圖。
從試驗(yàn)數(shù)據(jù)來看,通過反解算法解算出來的結(jié)果與試驗(yàn)值相差不超過1%,證實(shí)了反解算法和反解模塊的準(zhǔn)確性,此處包含平臺(tái)運(yùn)動(dòng)誤差和航姿儀的測(cè)量誤差。
圖11 X 方向平移姿態(tài)仿真曲線與試驗(yàn)曲線對(duì)比圖
圖12 Z 方向平移姿態(tài)仿真曲線與試驗(yàn)曲線對(duì)比圖
本文基于AMESim 中的Submodel Editor 功能設(shè)計(jì)一款較為復(fù)雜的控制元件,有以下結(jié)論:
基于AMESim 的Submodel Editor 功能制作了一個(gè)新的子模型集成到Amesim 元件庫(kù)中, 并進(jìn)行了試驗(yàn)驗(yàn)證。在六自由度并聯(lián)機(jī)構(gòu)仿真模型時(shí)可以方便的調(diào)用, 并且能適應(yīng)所有同類型的并聯(lián)機(jī)構(gòu), 可效提高了同類型產(chǎn)品的設(shè)計(jì)效率。
控制子模型的制作, 給所有希望在AMESim 中實(shí)現(xiàn)一些新設(shè)計(jì)和操作的仿真工作者一個(gè)新思路:對(duì)于一些元件庫(kù)中沒有的元件,不是選擇搭建準(zhǔn)確度較差的等效模型或者操作繁瑣的聯(lián)合仿真,而是根據(jù)所需元件的數(shù)學(xué)模型搭建新的子模型,從而實(shí)現(xiàn)軟件內(nèi)更高效,更便捷的仿真。