李輝,宋詩
(1.安徽建筑工業(yè)學(xué)院機電學(xué)院,安徽合肥230601;2.中國科技大學(xué)信息科學(xué)技術(shù)學(xué)院,安徽合肥230088)
搖擺臺實際上是一種并聯(lián)機構(gòu),與串聯(lián)機構(gòu)相比具有剛度大、結(jié)構(gòu)穩(wěn)定、承載能力強、精度高、運動慣性較小、運動學(xué)位置反解易求和便于實時控制等優(yōu)點[1],具有廣闊的應(yīng)用前景。因此,國內(nèi)外許多學(xué)者開始研究并聯(lián)機構(gòu),從最初的六自由度并聯(lián)機構(gòu)到后來的少自由度并聯(lián)機構(gòu),在理論和應(yīng)用方面都取得了豐富的成果。
位置分析是并聯(lián)機構(gòu)分析和研究的基礎(chǔ),一切后續(xù)的應(yīng)用都是從位置分析開始的。所謂位置分析是指求解機構(gòu)運動平臺的位置和姿態(tài)與輸入桿長度之間的關(guān)系。機構(gòu)的位置分析同時也是機構(gòu)的速度分析、加速度分析、受力分析以及誤差分析等的基礎(chǔ),位置分析包括兩個問題,位置正解和位置反解。機構(gòu)位置正解的任務(wù)就是在給定各個移動副位移的情況下,求出上平臺在空間的位置和姿態(tài);反之,則為位置反解。位置反解的問題比較簡單,利用預(yù)先規(guī)劃好的位姿軌跡再結(jié)合機構(gòu)的尺寸采用坐標(biāo)變換的方法可以很快求出移動副的位移。而位置正解卻比較麻煩,其核心是求解一組維數(shù)較多、耦合性強的非線性方程組。目前,位置正解主要有兩種解法,封閉解法和數(shù)值解法。這兩種方法各有優(yōu)缺點:封閉解法的優(yōu)點是能夠得到方程的全部解,缺點是求解難度很大,并且一種機構(gòu)一種解法,沒有通用性[2];數(shù)值解法的優(yōu)點是能夠方便迅速地對任何機型機構(gòu)求解,缺點是不能求出所有的位置解,并且最終的結(jié)果與所選的初值有直接的關(guān)系。
在工程應(yīng)用中,如何快速的找到合理的解遠比找到全部的解有意義,并且文獻 [3-4]指出由桿長驅(qū)動的并聯(lián)機構(gòu)在其工作空間內(nèi)僅存在單解?;诖?,作者著重討論數(shù)值解法,提出一種粒子群優(yōu)化算法和Newton迭代法相結(jié)合的數(shù)值解法,并簡單介紹了如何在MATLAB中實現(xiàn)該方法。
粒子群優(yōu)化算法(PSO)是KENNEDY和EBERHART于1995年提出的一種基于群集智能的演化計算技術(shù)。該算法具有參數(shù)設(shè)置少、搜索能力強、并行性好、魯棒性強等特點,且搜索前期的收斂速度快,計算效率比傳統(tǒng)的隨機方法高,非常適合工程應(yīng)用。PSO算法中的每個粒子都是解空間的一個假想解,它根據(jù)自身的飛行經(jīng)驗和同伴的飛行經(jīng)驗來調(diào)整自己的飛行。其算法核心在于粒子的位置xi和速度vi更新公式:
式中:ω為慣性權(quán)重,c1、c2為學(xué)習(xí)因子,r1、r2為區(qū)間[0,1]上的隨機數(shù),pbi為第i個粒子的個體極值,gb為全局極值。此外,粒子的運動還受到最大速度的限制,當(dāng)vi>vmax時,取vi=vmax。
文中所討論的并聯(lián)機構(gòu)上、下平臺以5個分支相連,每個分支中間為移動副,與上平面用球鉸相連,與下平面中心點以轉(zhuǎn)動副相連,其余用球鉸相連。機構(gòu)示意圖如圖1所示。
圖1 五自由度搖擺臺機構(gòu)示意圖
由位置反解的分析可知,并聯(lián)機構(gòu)每支桿的長度li(i=0,1,…,4)由動坐標(biāo)系相對于定坐標(biāo)系的3個獨立轉(zhuǎn)角θx,θy,θz以及動坐標(biāo)系原點A0在定坐標(biāo)系中的坐標(biāo)P(xA0,yA0,zA0)決定,寫成函數(shù)表達式:
因為定坐標(biāo)系的原點處為轉(zhuǎn)動副,所以RPS分支只能在zA0y平面內(nèi)運動,即xA0≡0,故不予考慮。將式(3)改寫成以下形式:
于是,位置正解的問題就轉(zhuǎn)化成求解非線性方程組(4)的問題了。
令:
則有:
向量表示:
式中:a=(θx,θy,θz,yA0,zA0)T,
求解方程 (7)的問題可以轉(zhuǎn)化為等價的函數(shù)優(yōu)化問題
也就是說求解方程 (7)的解的問題就是尋找一向量a0(θx,θy,θz,yA0,zA0)使得P(a0)=0成立的問題。式(8)同時也是采用粒子群優(yōu)化 (PSO)算法搜索最優(yōu)解時的適應(yīng)度函數(shù)。
以方程 (7)為例,搜索位姿參數(shù)的具體步驟如下:
步驟一,設(shè)置種群規(guī)模N,在并聯(lián)機構(gòu)可達空間內(nèi)隨機初始化各個粒子的位置xi0和速度vi0,并確定最大進化代數(shù)Q和與全局極值相匹配的粒子占全部粒子的比例P。
步驟二,根據(jù)適應(yīng)度函數(shù)計算每個粒子的適應(yīng)度。
步驟三,由適應(yīng)度的大小確定個體最優(yōu)位置pbi及全局最優(yōu)位置gb。
步驟四,判斷全局最優(yōu)是否滿足精度要求,如果不滿足精度要求轉(zhuǎn)到步驟第三;反之,以當(dāng)前的全局最優(yōu)位置gb為要尋找的位姿輸出。
步驟五,看是否到達最大進化代數(shù)Q,如果到達最大進化代數(shù),則以當(dāng)前的全局最優(yōu)位置gb為要尋找的合適初始位姿輸出。否則,繼續(xù)步驟六。
步驟六,根據(jù)PSO迭代公式(1)、(2)分別對群體的位置xi和速度vi進行更新。更新完以后轉(zhuǎn)到步驟二。
由于PSO算法在搜索后期的收斂速度低,且容易陷入局部最優(yōu),既耗時又不精確。所以在搜索后期作者用經(jīng)典的具有較高精度的Newton迭代法取而代之,雖然Newton迭代法計算量大,但是由于之前的PSO算法已經(jīng)將搜索結(jié)果限定在離目標(biāo)值很近的范圍內(nèi),所以Newton迭代法只需要很少的幾步迭代就可以使結(jié)果在誤差范圍以內(nèi),對于實時性的影響并不大,可以同時滿足精度和實時性的雙重要求。
為了說明問題的方便,文中提出匹配的概念,解空間的任意兩個粒子xi和xj之間的距離σ(xi,xj)為:
對于給定的常數(shù)ε>0,如果有σ(xi,xj)<ε,則稱粒子xi和xj匹配。
通過大量的仿真試驗,發(fā)現(xiàn)當(dāng)種群中有一半以上的粒子與當(dāng)前全局最優(yōu)粒子匹配的時候,可以認(rèn)為PSO算法進入到后期搜索,此時以當(dāng)前全局最優(yōu)解為Newton迭代法的初始值。
對方程(7)采用Newton迭代法可得:
即:
在利用粒子群優(yōu)化算法搜索到合適的初始位姿a0后,將a0代入式 (11),反復(fù)利用上式進行迭代計算可以很快得到符合精度要求的位置解。
上述這種方法的流程圖如圖2所示。
圖2 算法流程
PSOt為PSO的工具箱,該工具箱將PSO算法的核心部分封裝起來,用戶只需要定義好自己需要優(yōu)化的函數(shù),并設(shè)置好函數(shù)自變量的取值范圍、每步迭代允許的最大變化量等,即可自行優(yōu)化。
PSO算法工具箱中的核心函數(shù)是pso_Trelea_ vectorized(),該函數(shù)實現(xiàn)了整個粒子群的初始化、個體最優(yōu)和全局最優(yōu)的計算與更新、個體速度和位置的更新。在實際操作過程中,只需要用pso_Trelea_ vectorized()調(diào)用已經(jīng)編寫好的目標(biāo)函數(shù),該函數(shù)會自動實現(xiàn)粒子群優(yōu)化算法的尋優(yōu)。
通過上面的分析,以式 (8)為目標(biāo)函數(shù)。根據(jù)指標(biāo)給出約束條件:
如圖3是使用粒子群優(yōu)化算法得到的誤差曲線,可以看出,執(zhí)行300次搜索以后誤差在0.001 6左右(當(dāng)然這個誤差不是一定的,幾乎每次搜索的誤差都不一樣,這個數(shù)據(jù)是筆者在做了很多次搜索以后得出的平均值)。對于精度要求不高的系統(tǒng)這個誤差是允許的,但是由于每次搜索的誤差都不一樣,并不能保證每次都能搜索到這么高的精度,所以對于精度要求比較高的系統(tǒng),這樣做是不能滿足精度要求的。而且由于搜索時間較長,對于實時性要求較高的系統(tǒng)而言,這個速度不一定能滿足要求。此外還可以看出在搜索初期粒子收斂的速度相當(dāng)快,通過大約50次搜索就可以使誤差限定在1以內(nèi);然而,再往后的搜索速度就明顯變慢了許多,在這種情況下如果還采用PSO算法,那么性價比就會比較低。
圖3 PSO算法求解的誤差曲線圖
圖4是采用粒子群優(yōu)化算法和 Newton迭代法相結(jié)合的方式得到的誤差曲線,可以看出這種算法具有很高的精度(0.001),幾乎可以滿足所有的工程要求,并且速度較快。
圖4 PSO結(jié)合Newton迭代法求解的誤差曲線圖
重點探討了某實用五自由度搖擺臺的位置正解,采用粒子群優(yōu)化算法和Newton迭代法相結(jié)合的方法,該方法利用粒子群優(yōu)化算法的全局搜索能力和前期快速收斂的特點,在整個解空間里快速搜索,并且能夠很快搜索到目標(biāo)值附近。然而,越靠近目標(biāo)值,PSO算法的收斂速度就越低,且容易陷入局部最優(yōu)。所以作者在搜索后期直接摒棄了PSO算法,取而代之的是經(jīng)典的Newton迭代法,這種經(jīng)典的迭代法求解精度高,可以使最終的解達到理想的精度。然而,Newton迭代法也有計算量大的缺點,不過沒有關(guān)系,因為在搜索前期,PSO算法已經(jīng)將搜索結(jié)果鎖定在目標(biāo)值附近很小的范圍內(nèi),所以采用Newton迭代法只要再迭代很少的幾次就可以滿足精度要求了。試驗表明:這種改進有很高的精度和較好的實時性,對多數(shù)基于桿長驅(qū)動的搖擺臺的位置正解具有借鑒意義。
【1】馮志友,李永剛,張策,等.并聯(lián)機器人機構(gòu)運動與動力分析研究現(xiàn)狀及展望[J].中國機械工程,2006,17(9): 979-984.
【2】黃真,趙永生,趙鐵石.高等空間機構(gòu)學(xué)[M].北京:高等教育出版社,2006.
【3】LEE T Y,SHIM J K.Improved Dialytic Elimination Algorithm for the Forward Kinematic of the General Stewart-Gough Platform[J].Mech Theory,2003,3(8):562-577.
【4】CODOUREY Alain.Dynamic Modeling of Parallel Robots for Computed-Torque Control Implementation[J].The International Journal of Robotics Research,1998,17(12): 1325-1336.
【5】芮鈞,陳守倫.Matlab粒子群算法工具箱求解水電站優(yōu)化調(diào)度問題[J].中國農(nóng)村水利水電,2009(1):114-116.