何亞林,趙新龍
(浙江理工大學(xué) 機(jī)械與自動(dòng)控制學(xué)院,杭州 310018)
Stewart 微動(dòng)平臺(tái)由動(dòng)平臺(tái)、定平臺(tái)和連桿通過鉸鏈鏈接而成,可以實(shí)現(xiàn)6 自由度運(yùn)動(dòng).作為一種并聯(lián)機(jī)器結(jié)構(gòu),具有結(jié)構(gòu)剛度大、位置精度高、載重比高等優(yōu)點(diǎn),被廣泛應(yīng)用于電子元件生產(chǎn)中的夾持系統(tǒng)、精密機(jī)床中的刀具控制和鉆銑等領(lǐng)域.Stewart 平臺(tái)具有運(yùn)動(dòng)空間小、魯棒性強(qiáng)、慣性小、運(yùn)動(dòng)精度高以及成本較低等優(yōu)點(diǎn),同時(shí)具有較大的剛度和良好的定位能力,是串聯(lián)機(jī)構(gòu)所不能代替的.從Stewart 平臺(tái)的控制方面看,Stewart 平臺(tái)包含兩個(gè)最基本的問題:位姿正解和位姿反解.位姿反解即Stewart 的運(yùn)動(dòng)學(xué)反解是已知求解平臺(tái)的位姿,即已知3 個(gè)線性坐標(biāo)X、Y、Z 和3個(gè)旋轉(zhuǎn)坐標(biāo)參量 α、β、γ[1],求解平臺(tái)的6 個(gè)支腿長度.位姿正解即Stewart 的運(yùn)動(dòng)學(xué)正解則是已知平臺(tái)的6 個(gè)支腿長度求解平臺(tái)位姿.對(duì)Stewart 平臺(tái)來說,運(yùn)動(dòng)學(xué)反解的求解較容易求得,而運(yùn)動(dòng)學(xué)正解的求解比較困難[2].位姿正解的求解對(duì)于Stewart 平臺(tái)空間分析、機(jī)構(gòu)設(shè)計(jì)以及機(jī)構(gòu)在故障中恢復(fù)均有重要作用[3],因此,合理有效快速的位姿正解求解方法是十分必要的.然而,由于Stewart 平臺(tái)具有高耦合性、非線性等特點(diǎn),其位姿正解的求解問題一直是一個(gè)難題.無法進(jìn)行準(zhǔn)確的位姿正解將使系統(tǒng)無法準(zhǔn)確得知目前的平臺(tái)運(yùn)動(dòng)狀態(tài),會(huì)導(dǎo)致產(chǎn)生較大誤差或引起系統(tǒng)震蕩等問題.
目前,位姿正解的求解方法主要有數(shù)值法和解析法兩種.數(shù)值法[4-7]采用迭代法進(jìn)行求解,迭代法對(duì)迭代初值的要求較高,初值選擇不當(dāng)會(huì)導(dǎo)致迭代無法正常收斂,從而無法獲得正確解.解析法[8-10]是通過構(gòu)建多組約束方程并消去未知數(shù)的方法,該法的求解過程較復(fù)雜、消元方法不確定,同時(shí)求解過程慢,無法滿足實(shí)時(shí)控制的要求.近年來,基于智能算法的位姿正解方法引起學(xué)者的關(guān)注,劉偉銳等提出采用一種改進(jìn)的粒子群算法求解并聯(lián)機(jī)構(gòu)的位姿正解[11].張宗之等[12]采用BP 神經(jīng)網(wǎng)絡(luò)來對(duì)Stewart 平臺(tái)進(jìn)行位姿正解,收斂速度較慢,容易陷入局部極值.
為了改進(jìn)迭代法和解析法的缺點(diǎn),首先建立Stewart平臺(tái)支腿長度與平臺(tái)位姿的運(yùn)動(dòng)學(xué)模型,然后利用Elman神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)位姿正解的求解并實(shí)驗(yàn)驗(yàn)證.該方法具有良好的動(dòng)態(tài)特性[13],精度高,能夠快速準(zhǔn)確的實(shí)現(xiàn)Stewart 平臺(tái)位姿正解的求解.
Stewart 平臺(tái)結(jié)構(gòu)如圖1所示,驅(qū)動(dòng)器利用萬向節(jié)和平臺(tái)、底座鏈接,通過伸縮運(yùn)動(dòng)驅(qū)動(dòng)動(dòng)平臺(tái)運(yùn)動(dòng),從而在三維空間中實(shí)現(xiàn)6 自由度的運(yùn)動(dòng)[14].
圖1 Stewart 平臺(tái)結(jié)構(gòu)圖
建立動(dòng)坐標(biāo)系Op-XpYpZp和靜坐標(biāo)系O-XYZ.兩坐標(biāo)系原點(diǎn)分別為動(dòng)、靜平臺(tái)的質(zhì)心,坐標(biāo)平面OpXpYp與動(dòng)平臺(tái)重合,坐標(biāo)平面OXY 與靜平臺(tái)重合,Zp軸和Z軸垂直O(jiān)XY 平面豎直向上.
在對(duì)平臺(tái)進(jìn)行控制時(shí),涉及到從任務(wù)空間至關(guān)節(jié)空間的轉(zhuǎn)換,任務(wù)空間采用位姿q=進(jìn)行描述,關(guān)節(jié)空間采用l=[l1l2l3l4l5l6]T進(jìn)行描述.支腿i上端坐標(biāo)為下端坐標(biāo)為繞Z 軸的偏轉(zhuǎn)角 γ,繞Y 軸的俯仰角為 β,繞X 軸的滾動(dòng)角為 α,可以得到繞各軸轉(zhuǎn)動(dòng)的坐標(biāo)變換矩陣
動(dòng)平臺(tái)相對(duì)于定平臺(tái)的旋轉(zhuǎn)矩陣為:
計(jì)算長度時(shí),需要統(tǒng)一坐標(biāo)系,即通過轉(zhuǎn)換矩陣將動(dòng)坐標(biāo)系Op-XpYpZp中的坐標(biāo)轉(zhuǎn)換到靜坐標(biāo)系O-XYZ中,變換矩陣為:
式中,Sα=sinα,Cα=cosα,其他類似.xp、yp、zp表示動(dòng)坐標(biāo)系原點(diǎn)在靜坐標(biāo)系中的坐標(biāo).將動(dòng)坐標(biāo)系中的坐標(biāo)轉(zhuǎn)換至靜坐標(biāo)系后為:
根據(jù)支腿兩端坐標(biāo),可得支腿長度為:
從數(shù)學(xué)模型可見,6 條支腿長度l=[l1l2l3l4l5l6]T與位姿q=[xp yp zpα β γ]T之間的關(guān)系可以用6 個(gè)結(jié)構(gòu)相同的非線性方程表示:
對(duì)式(5)所示的方程組進(jìn)行求解,就可以得到平臺(tái)的位姿參數(shù),即得到動(dòng)平面對(duì)應(yīng)的動(dòng)坐標(biāo)系Op-XpYpZp原點(diǎn)Op的坐標(biāo)和動(dòng)平臺(tái)的歐拉角(α β γ).
由式(5)可得,Stewart 平臺(tái)的模型是由6 個(gè)多元非線性方程構(gòu)成,無法通過常規(guī)的公式推導(dǎo)進(jìn)行簡化和求解.在實(shí)際應(yīng)用中,由于模型失配、測量誤差等,所建立的非線性方程組不完全守恒,從而會(huì)造成求解失敗的現(xiàn)象.Elman 神經(jīng)網(wǎng)絡(luò)作為一種具有局部記憶單元和局部反饋連接的遞歸神經(jīng)網(wǎng)絡(luò)[10],具有良好的動(dòng)態(tài)特性,收斂速度快,因此,基于Elman 神經(jīng)網(wǎng)絡(luò)建立Stewart 平臺(tái)的位姿正解模型.
Elman 神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)一般分為4 層:輸入層、輸出層(中間層)、承接層和輸出層.輸入層、隱含層、輸出層的連接類似于前饋式網(wǎng)絡(luò),輸入層的單元僅起信號(hào)傳輸作用,輸出層單元起線性加權(quán)作用.隱含層單元的傳遞函數(shù)可采用線性或者非線性函數(shù),承接層又稱為上下文層或者狀態(tài)層,它用來記憶隱含層單元前一時(shí)刻的輸出值并返回給網(wǎng)絡(luò)的輸入,可以認(rèn)為是一個(gè)一步延時(shí)算子.Elman 神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)圖如圖2所示.
圖2 Elman 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
采用Elman 神經(jīng)網(wǎng)絡(luò)進(jìn)行位姿正解時(shí),輸入為6 條支腿長度輸出為位姿y=
數(shù)學(xué)模型可以表示為:
其中,α為增益因子,f(·)和g(·)為 激活函數(shù),k=2,3,···,n,n為樣本數(shù).
Elman 神經(jīng)網(wǎng)絡(luò)的輸出可表示為:
學(xué)習(xí)指標(biāo)函數(shù)為:
神經(jīng)網(wǎng)絡(luò)的權(quán)重更新公式為:
學(xué)習(xí)指標(biāo)E關(guān)于的偏導(dǎo)數(shù)為:
同理,學(xué)習(xí)指標(biāo)E關(guān)于的偏導(dǎo)數(shù)為:
?xj(k)/可由下式得到:
若不考慮xc(k),式(14)可寫為:
同理,學(xué)習(xí)指標(biāo)E關(guān)于的偏導(dǎo)數(shù)為:
其中,
圖3所示為本次的實(shí)驗(yàn)對(duì)象Stewart 平臺(tái).
圖3 Stewart 平臺(tái)
根據(jù)表1和表2的Stewart 平臺(tái)參數(shù),圓上任意一點(diǎn)坐標(biāo)計(jì)算公式:
其中,x′、y′分別代表任意一點(diǎn)在圓上的X、Y軸坐標(biāo),r′為圓半徑,α′為任意一點(diǎn)與圓心的連線與X軸之間的角度.可得支腿各個(gè)連接點(diǎn)在靜平臺(tái)坐標(biāo)系中的初始坐標(biāo)如表3、表4.參數(shù)化模型如圖4所示.
表1 Stewart 平臺(tái)尺寸參數(shù)
表2 Stewart 平臺(tái)支腿連接點(diǎn)位置參數(shù)(單位:°)
表3 支腿動(dòng)平臺(tái)連接點(diǎn)坐標(biāo)
表4 支腿靜平臺(tái)連接點(diǎn)坐標(biāo)
圖4 Stewart 平臺(tái)參數(shù)化模型
Elman 神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)選擇為6-5-6,輸入為支腿長度u=輸出為位姿y=隱含層使用Sigmoid 函數(shù),輸出層使用Purelin 線性傳遞函數(shù),樣本通過位姿反解求得.
根據(jù)表5,可選取運(yùn)動(dòng)函數(shù)為:
對(duì)應(yīng)的6 個(gè)支腿長度變化曲線如圖5所示.
最終結(jié)果如圖6與圖7所示,分別為X、Y、Z 和α、β、γ方向上的Elman 神經(jīng)網(wǎng)絡(luò)輸出與實(shí)際輸出圖,圖中黑色虛線代表Elman 神經(jīng)網(wǎng)絡(luò)輸出,綠色點(diǎn)虛線代表實(shí)際輸出,誤差統(tǒng)計(jì)見表6.圖8與圖9分別表示X、Y、Z 和α、β、γ方向上的誤差圖.
表5 Stewart 平臺(tái)運(yùn)動(dòng)范圍參數(shù)
圖5 樣本支腿長度變化圖
圖7 α、β、γ 輸出結(jié)果
表6 Elman 神經(jīng)網(wǎng)絡(luò)輸出結(jié)果誤差統(tǒng)計(jì)
圖8 X、Y、Z 誤差
由于Stewart 平臺(tái)的位姿正解方程組由6 個(gè)多元非線性方程構(gòu)成,普通方法難以得位姿正解.更快更準(zhǔn)確地求出其位姿有助于對(duì)Stewart 平臺(tái)的分析.根據(jù)平臺(tái)結(jié)構(gòu)與其運(yùn)動(dòng)學(xué)模型建立了相應(yīng)動(dòng)平臺(tái)與靜平臺(tái)坐標(biāo)系,用以描述支腿各連接點(diǎn)位置坐標(biāo)和平臺(tái)位姿,通過坐標(biāo)法表示運(yùn)動(dòng)位姿與支腿長度之間的關(guān)系.建立了模型基于Elman 神經(jīng)網(wǎng)絡(luò)的Stewart 平臺(tái)位姿正解模型,對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和實(shí)驗(yàn)驗(yàn)證.實(shí)驗(yàn)結(jié)果表明:基于elman 神經(jīng)網(wǎng)絡(luò)的Stewart 平臺(tái)位姿正解方法對(duì)于Stewart 平臺(tái)的位姿正解問題效果良好,位移誤差和旋轉(zhuǎn)角度誤差范圍都在10-7~10-9mm 左右,精準(zhǔn)度高,驗(yàn)證了該法的有效性.
圖9 α、β、γ 誤差