邱 棟
(黃淮學(xué)院國際教育學(xué)院,河南 駐馬店 463000)
機(jī)器人工作空間是指操作器執(zhí)行末端滿足約束條件所能夠達(dá)到的位置點(diǎn)的集合[1],機(jī)器人工作空間是衡量機(jī)器人運(yùn)動(dòng)操作性能優(yōu)劣的重要指標(biāo),其主要取決于機(jī)構(gòu)的尺寸參數(shù)和關(guān)節(jié)限位[2],研究工作空間對(duì)機(jī)器人結(jié)構(gòu)設(shè)計(jì)與運(yùn)動(dòng)軌跡規(guī)劃具有重要意義[3]。
工作空間的形狀和尺寸分析方法有很多,諸如幾何法、解析法、數(shù)值法等[4]。幾何法主要靠通過幾何分析得到剖操作空間的截面線或剖截線,僅適用于平面機(jī)構(gòu)、低自由度的機(jī)器人工作空間分析,且無法精確描述機(jī)構(gòu)的工作空間[5];解析法是根據(jù)雅克比矩陣得到機(jī)構(gòu)的解析式,其求解過程復(fù)雜,直觀性不強(qiáng),不適用于高自由度機(jī)構(gòu)工作空間分析[6];數(shù)值法求解機(jī)器人工作空間直觀性性強(qiáng)、過程簡單、通用性強(qiáng)[7]。
因此,適用于任意形式的機(jī)器人的工作空間分析。數(shù)值法主要有網(wǎng)格劃分法、蒙特卡洛法、極坐標(biāo)搜索法等[8]。其中最常用的方法為蒙特卡洛搜索法,此方法通用性強(qiáng)、操作簡單。文獻(xiàn)[9]為解決精度不高問題提出采用一種改進(jìn)的蒙特卡洛法,此方法是基于標(biāo)準(zhǔn)動(dòng)態(tài)的可調(diào)的正態(tài)分布對(duì)子工作空間進(jìn)行閥值計(jì)算,得到準(zhǔn)確描述的工作空間邊界。文獻(xiàn)[10]中結(jié)合并集和交集思想,離散化處理將四維度的工作空間轉(zhuǎn)化為三維工作空間。文獻(xiàn)[11]中針對(duì)按列劃分法所得邊界點(diǎn)均勻性差且無法識(shí)別空洞的缺點(diǎn),將按角度劃分法與局部坐標(biāo)法結(jié)合的思想搜索出精確的工作空間邊界。
文獻(xiàn)[12]提出一種改進(jìn)的粒子群搜索算法,將工作空間邊界點(diǎn)搜索轉(zhuǎn)化目標(biāo)優(yōu)化函數(shù)尋優(yōu)過程,實(shí)現(xiàn)并聯(lián)機(jī)器人的工作空間邊界搜索。
受改進(jìn)粒子群搜索算法啟發(fā),提出了一種基于變步長天牛須優(yōu)化算法的并聯(lián)機(jī)構(gòu)工作空間邊界求解算法。結(jié)合變步長天牛須算法搜索原理,定義了速度、速度衰減系數(shù)等參數(shù),研究了二維和三維機(jī)構(gòu)的算例,考察了各參數(shù)對(duì)搜索過程的影響,為此算法的在并聯(lián)機(jī)構(gòu)工作空間搜索應(yīng)用提供理論依據(jù)。
機(jī)構(gòu)的所有構(gòu)件位態(tài)可以用向量q表示,其為:q=[q1,q2,,q3,,…qnq],矢量q一般通過輸入、輸出和中間坐標(biāo)表示,分別表示為u,v,w,機(jī)構(gòu)逆解表達(dá)式根據(jù)輸出坐標(biāo)u表示為:
機(jī)構(gòu)的工作空間是指滿足桿長、干涉、運(yùn)動(dòng)副轉(zhuǎn)角等約束條件情況下的執(zhí)行末端運(yùn)動(dòng)范圍A。
通過數(shù)值法的求解過程一般建立在機(jī)構(gòu)逆解的基礎(chǔ)上分析,即滿足所有約束條件的輸出坐標(biāo)點(diǎn)u點(diǎn)的集合可表示為機(jī)構(gòu)的工作空間,這些約束可以用約束函數(shù)fCi表示,約束函數(shù)fCi一般形式如下所示:
式中:n—給定約束條件的數(shù)量。
假設(shè)在工作空間邊界內(nèi)部有一個(gè)任意可達(dá)的輸出坐標(biāo)C。為了找到邊界,機(jī)構(gòu)工作空間邊界搜索的目標(biāo)函下:
式中:‖ · ‖—?dú)W氏距離,等式(2)和式(3)表示如果f(u)的值不滿足任何約束條件,f(u)的值將為0。
由于二維平面機(jī)構(gòu)的工作空間是個(gè)二維平面區(qū)域,因此將二維平面區(qū)域經(jīng)過點(diǎn)C分割成N等份,如圖1(a)所示,查找出N個(gè)局部最大點(diǎn)uMi滿足以下條件:
圖1 工作空間搜索示意圖Fig.1 Sketch Map of Workspace Search
因此,最大值f(u) 將在邊界dA上。根據(jù)相應(yīng)η以及目標(biāo)函數(shù)可得到局部最大值的uMi,將這些局部最大值(邊界點(diǎn))點(diǎn)的集合構(gòu)成工作空間邊界。
三維機(jī)構(gòu)原理也是相似的,坐標(biāo)空間將由二維擴(kuò)展成3維,此時(shí)搜索的三維空間區(qū)域類似于不規(guī)則球面,如圖1(b)所示。
最大值將在邊界dA上,其集合即是工作空間邊界。從示意圖1可以發(fā)現(xiàn)搜索的路徑將是一個(gè)從起始點(diǎn)出發(fā)的射線,這是由歐式距離決定的搜索路徑。
天牛須搜索算法(Beetle Antennae Search,BAS),文獻(xiàn)[13]根據(jù)對(duì)天牛覓食行為的模擬的原理所提出的一種新型智能優(yōu)化算法。該算法具有魯棒性、求解速度快、精度高等特點(diǎn)[14]。是一種類似于模擬退火、遺傳算法、粒子群算法、等生物啟發(fā)智能優(yōu)化算法。天牛主要利用頭頂上兩只長觸角根據(jù)食物氣味強(qiáng)弱來完成覓食過程,如果左邊觸角獲取的氣味強(qiáng)度大于右邊的觸角氣味強(qiáng)度,則天牛沿著左邊尋找食物,反之則反,根據(jù)這一簡單原理有效或獲取食物。
該算法的主要優(yōu)點(diǎn)在于不需要函數(shù)的具體形式、梯度信息就能實(shí)現(xiàn)高效尋優(yōu),而且與其他算法相比,僅需要一個(gè)個(gè)體(一只天牛),極大的減少運(yùn)算量。針對(duì)原始BAS算法步長為固定值導(dǎo)致搜索過程中搜索效率和精度會(huì)降低問題,設(shè)計(jì)變步長天牛須搜索算法具有先粗略搜索大致范圍再精細(xì)化搜索的優(yōu)點(diǎn)。極大的提高了搜索效率,算法搜索過程示意圖,如圖2所示。
圖2 算法搜索過程示意圖Fig.2 Schematic Diagram of Algorithm Search Process
傳統(tǒng)數(shù)值搜索法中搜索效率低通用性差,如極坐標(biāo)搜索法要提高搜索精度往往通過縮減步長實(shí)現(xiàn),導(dǎo)致搜索效率極低,針對(duì)此類問題,結(jié)合變步長天牛須搜索優(yōu)化算法中搜索效率高的特點(diǎn),提出一種基于變步長天牛須搜索優(yōu)化算法的機(jī)器人工作空間搜索方法,其搜索原理如下:
(1)建立基于工作空間位置與機(jī)構(gòu)約束條件的優(yōu)化目標(biāo)函數(shù),基本形式為:
式中:f(u)的值為0 或1,滿足約束為1,不滿足約束為0,其中u—坐標(biāo)值。
(2)因搜索路徑是由起始點(diǎn)出發(fā)的固定方向的射線,將變步長天牛須優(yōu)化算法中的隨機(jī)搜索方向變?yōu)楣潭ǚ较颉?/p>
(3)變步長天牛須優(yōu)化算法中左須和右須是不同方向的,根據(jù)步驟(2),現(xiàn)將左須和右須變?yōu)榫哂胁煌俣群妥兓康奶炫m殹?/p>
(4)根據(jù)步驟(3)中的速度變化量,得出左右須的目標(biāo)函數(shù)值,決定天牛的移動(dòng)方向。
(5)通過步長和速度衰減以及迭代,最終逼近工作空間邊界值。
算法流程,如圖3所示。具體描述如下:
圖3 機(jī)構(gòu)工作空間搜索算法流程Fig.3 Algorithm Flow of Mechanism Workspace Search
(1)定義天牛群的個(gè)數(shù)sizenum 以及初始位置x0,定義每個(gè)天牛的左須和右須的速度vl和vr,左須和右須速度的衰減指數(shù)γ,定義天牛步長step,兩須的距離d0,變步長參數(shù)η;定義機(jī)構(gòu)參數(shù)和約束空間。
(2)計(jì)算每個(gè)天牛在初始位置的目標(biāo)函數(shù)值:
fitness(i),i= 1,2,3,…,sizeness
(3)天牛左須和右須位置更新公式:
根據(jù)式(6)計(jì)算左須位置和右須位置的目標(biāo)函數(shù)值Fleft和Fright:
根據(jù)上述的式(7)計(jì)算新位置的目標(biāo)函數(shù)值,若新位置的目標(biāo)函數(shù)值較大,則更新新位置,否則保留舊位置,衰減式(8)所示,步長按照式(8)衰減。
(4)重復(fù)步驟(2)~步驟(3),記錄當(dāng)前最佳位置和天牛移動(dòng)速度等。
(5)判斷迭代次數(shù)是否超出最大迭代次數(shù),如果不滿足繼續(xù)移動(dòng),若滿足計(jì)算終止。
3RPR平面并聯(lián)機(jī)構(gòu)的結(jié)構(gòu)簡圖,如圖4所示。它由三條支鏈、動(dòng)平臺(tái)、靜平臺(tái)構(gòu)成,其靜、動(dòng)平臺(tái)形狀都是等邊三角形,分別為ΔA1A2A3、ΔB1B2B3,其中ΔA1A2A3的外接圓半徑為R,ΔB1B2B3外接圓半徑為r,分別在靜平臺(tái)、動(dòng)平臺(tái)的中心建立靜、動(dòng)坐標(biāo)系,動(dòng)坐標(biāo)系中心為點(diǎn)P,動(dòng)坐標(biāo)系中U軸平行B1B2,V軸垂直于B1B2,靜坐標(biāo)系中心為點(diǎn)O,動(dòng)坐標(biāo)系X軸平行A1A2,Y軸垂直于A1A2,機(jī)構(gòu)的姿態(tài)角為θ,為B1B2與A1A2的夾角。機(jī)構(gòu)的輸出(x,y,θ)即執(zhí)行末端的位姿。
圖4 3RPR平面并聯(lián)機(jī)構(gòu)的結(jié)構(gòu)簡圖Fig.4 Structural Diagram of RPR Planar Parallel Mechanism
已知機(jī)構(gòu)靜平臺(tái)上的點(diǎn)Ai靜坐標(biāo)系下的坐標(biāo),分別為,,,其中,動(dòng)平臺(tái)上Bi動(dòng)坐標(biāo)系坐標(biāo),可分別用表達(dá)式表示為:,,,靜坐標(biāo)系中點(diǎn)Bi的位置矢量可表示為:
式中:rp—?jiǎng)幼鴺?biāo)原點(diǎn)P在靜坐標(biāo)系中的坐標(biāo)(x,y);Rot(z,θ)—坐標(biāo)旋轉(zhuǎn)矩陣。
根據(jù)以上坐標(biāo)變換公式,能得到動(dòng)平臺(tái)上點(diǎn)Bi的坐標(biāo)。
因此,可根據(jù)上述表達(dá)式可得到AiBi的表達(dá)式:
工作空間求解的約束條件是移動(dòng)副Pi在范圍[a,b],以3RPR 平面并聯(lián)機(jī)構(gòu)為例,算法搜索機(jī)構(gòu)的結(jié)構(gòu)參數(shù)值,如表1所示。
表1 3RPR并聯(lián)機(jī)構(gòu)參數(shù)值Tab.1 Parameter Values of 3RPR Parallel Mechanism
下面需要給定基于變步長天牛須搜索優(yōu)化算法的機(jī)構(gòu)空間算法的參數(shù)的初始值,給定大小合適的平面區(qū)域,選擇點(diǎn)C(0,0)作為粒子群的初始位置,且該點(diǎn)屬于工作空間內(nèi)的點(diǎn),天牛群在迭代搜索之前,先將平面區(qū)域分割成N等份,分割線經(jīng)過C點(diǎn),每條分割線的坐標(biāo)向量di=[ sin(βi),cos(βi)) ],粒子群沿著直線以式(4)作為目標(biāo)函數(shù)進(jìn)行搜索,其中,具體的參數(shù)值選擇,如表2所示。
表2 算法初始化參數(shù)Tab.2 Algorithm Initialization Parameters
根據(jù)上述的搜索流程圖以及參數(shù),基于matlab軟件進(jìn)行編程,搜索出每個(gè)方向上(分割線)的最優(yōu)值,將所有的最優(yōu)值可視化繪圖,即完成了基于變步長天牛須搜索優(yōu)化算法的機(jī)構(gòu)空間算法工作空間邊界點(diǎn)的求解過程。其中圖5表示姿態(tài)角為60°,在迭代過程中搜索的定姿態(tài)工作空間邊界變化情況,第30個(gè)點(diǎn)的位置坐標(biāo)收斂圖,如圖6所示。
圖5 迭代過程中搜索的定姿態(tài)(60)工作空間邊界變化Fig.5 Boundary Change of Attitude(60)Workspace During Iteration
圖6 迭代過程中第30個(gè)點(diǎn)的位置變化過程Fig.6 The Position Change Process of Thirtieth Points in Iteration Process
第30個(gè)點(diǎn)的速度和加速度的變化情況,如圖7所示。圖7顯示了搜索的過程邊界點(diǎn)的變化,隨著迭代次數(shù)t的增加,邊界點(diǎn)由內(nèi)向外逐步不對(duì)稱擴(kuò)散,t=15時(shí)已得到基本的工作空間邊界點(diǎn),t=100時(shí)已得到光滑的邊界點(diǎn)。圖6中可以發(fā)現(xiàn)第30個(gè)天牛的每代位置收斂過程,在約t=60時(shí),以完成較好的收斂。圖7可以發(fā)現(xiàn)第30 個(gè)天牛的速度和加速度的收斂過程,成振蕩收斂模式,表明了天牛在邊界點(diǎn)的來回搜索過程,最終加速度和速度逐步趨于0。
圖7 迭代過程中第30個(gè)點(diǎn)的天牛移動(dòng)速度和加速度變化過程Fig.7 The Change Process of the Moving Speed and Acceleration of the 30 the Point in the Iterative Process
更換機(jī)構(gòu)的約束條件可以得到3RPR的可達(dá)工作空間的搜索圖,如圖8所示。
圖8 迭代過程中搜索的可達(dá)工作空間邊界變化Fig.8 Boundary Change of Reachable Workspace During Iteration
3RPR的可達(dá)工作空間形狀的搜索圖,如圖8所示。機(jī)構(gòu)工作空間形狀沿著x=0對(duì)稱,且內(nèi)部無空洞情況,整體連續(xù)性較好,無論是可達(dá)工作空間還是定姿態(tài)工作空間都能快速搜尋。
從精度上分析,與極坐標(biāo)搜索法(采用間隔為0.01,360 等分)對(duì)比,如圖9所示。
圖9 極坐標(biāo)搜索法的可達(dá)工作空間Fig.9 Polar Search Method of the Workspace
其中一色為極坐標(biāo)搜索法得到的可達(dá)工作空間,另一色為天牛群搜索法得到的邊界,兩種情況搜索結(jié)果基本一致,說明此算法的有效性,另外,極坐標(biāo)搜索法受限于間隔精度,得到的是較為粗略的可達(dá)工作空間,當(dāng)搜索角度為90°時(shí),搜索邊界點(diǎn)坐標(biāo),如表3所示。
表3 極坐標(biāo)算法和天牛須算法精確值對(duì)比Tab.3 Comparison Between Polar Coordinate Algorithm and Antenna Whisker Algorithm
顯然天牛群搜索算法獲得了較高精度,若選擇極坐標(biāo)要獲得高精度邊界搜索時(shí)間較長。因此,該算法與極坐標(biāo)搜索法相比具有快速高效的特點(diǎn)。
空間3UPRR并聯(lián)機(jī)構(gòu)結(jié)構(gòu)簡圖,如圖10所示。機(jī)構(gòu)構(gòu)型呈對(duì)稱分布,機(jī)構(gòu)的運(yùn)動(dòng)學(xué)逆解過程可參考文獻(xiàn)[15],在此就不詳述,機(jī)構(gòu)的逆解表達(dá)式可表示為:
圖10 機(jī)構(gòu)結(jié)構(gòu)簡圖Fig.10 Schematic Diagram of Mechanism Structure
機(jī)構(gòu)工作空間搜索約束條件為:機(jī)構(gòu)的逆解存在,同時(shí)機(jī)構(gòu)的位置逆解滿足其移動(dòng)的范圍,為驗(yàn)證基于變步長天牛須搜索優(yōu)化算法的機(jī)構(gòu)空間算法(MBSA)對(duì)3維并聯(lián)機(jī)構(gòu)搜索工作空間邊界的有效性,3UPRR并聯(lián)機(jī)構(gòu)的參數(shù)值選擇同樣參考文獻(xiàn)[15]中的參數(shù)值,3UPRR并聯(lián)機(jī)構(gòu)的結(jié)構(gòu)參數(shù)值如,如表4所示。算法參數(shù)選擇,如表5所示。給定天牛群初始位置都為C(0,0,0),每個(gè)天牛群的固定方向采用極坐標(biāo)搜索法方法確定,具體的搜索過程,如圖11~圖13所示。
表4 3UPRR并聯(lián)機(jī)構(gòu)結(jié)構(gòu)參數(shù)值Tab.4 Structural Parameters of 3UPRR Parallel Mechanism
表5 算法初始化參數(shù)Tab.5 Algorithm Initialization Parameters
圖11 迭代過程中搜索的工作空間邊界變化Fig.11 Changes in Workspace Boundary Searched During Iteration
由圖11分析發(fā)現(xiàn),在3UPRR空間并聯(lián)機(jī)構(gòu)邊界的搜索過程中,呈球面搜索過程,t=5時(shí),由于天牛速度快,很快接近邊界區(qū)域,t=8時(shí),天牛群已經(jīng)分區(qū)域聚集,達(dá)到t=100時(shí),已完成了規(guī)定的搜索,圖12表明第30個(gè)點(diǎn)的搜索收斂過程,在t=50時(shí),基本完成了搜索,印證了搜索的有效性。
圖12 迭代過程中第30個(gè)點(diǎn)的位置變化過程Fig.12 The Position Change Process of Thirtieth Points in Iteration Process
通過圖13,可以發(fā)現(xiàn)與二維平面機(jī)構(gòu)相比,速度和加速度振蕩過程更加劇烈,但搜索過程很快收斂,基本和位置收斂一致。
圖13 迭代過程中第30個(gè)點(diǎn)的天牛移動(dòng)速度和加速度變化過程Fig.13 The Change Process of the Moving Speed and Acceleration of the 30th Point in the Iterative Process
同時(shí)與極坐標(biāo)搜索法(采用間隔為0.1)對(duì)比,如圖14所示。
圖14 極坐標(biāo)搜索法的工作空間Fig.14 Workspace of Polar Coordinate Search Method
其中一色為點(diǎn)陣法得到的可達(dá)空間圖,另一色為天牛群搜索法得到的邊界。
可以發(fā)現(xiàn),點(diǎn)陣搜索法受限于間隔精度,得到的是較為粗略的切片式可達(dá)空間,當(dāng)點(diǎn)陣搜索的間隔為0.1時(shí),搜索邊界點(diǎn)坐標(biāo),如表6所示。此算法與極坐標(biāo)搜索法相比具有搜索精度高的特點(diǎn)。
表6 極坐標(biāo)算法和天牛須算法精確值與耗時(shí)對(duì)比Tab.6 Comparison Between Polar Coordinate Algorithm and Antenna Whisker Algorithm
以上分析表明:該算法能夠?qū)崿F(xiàn)空間并聯(lián)機(jī)構(gòu)搜索與平面并聯(lián)機(jī)構(gòu)的工作空間邊界搜索,且能實(shí)現(xiàn)不同維度與不同構(gòu)型的并聯(lián)機(jī)構(gòu)的工作空間求解。
說明了此算法的通用性強(qiáng),同時(shí)也驗(yàn)證了算法具有搜索效率高、有效性。
以平面機(jī)構(gòu)3RPR的可達(dá)工作空間為例,給出不同初始位置C1(-0.5,0.5)、C2(0.5,0.5)、C3(-0.5,-0.5),研究初始位置對(duì)搜索結(jié)果和過程的影響。其他參數(shù),如表1、表2所示。
根據(jù)圖15分析可得:在迭代過程中,在t=5時(shí),搜索邊界最靠近初始點(diǎn)的位置率先獲得大致輪廓,表明,初始點(diǎn)的偏離對(duì)搜索過程具有一定的影響,搜索距離越短越好,這與原理一致;但在初始點(diǎn)所得最終的工作空間邊界是完全一致的,搜索時(shí)間上基本一樣,因此結(jié)果表明:在工作空間內(nèi)的任意初始點(diǎn)并不影響此工作空間邊界搜索算法求解。一般情況下定義初始點(diǎn)為原點(diǎn)。
圖15 不同初始位置的可達(dá)工作空間邊界搜索過程(第1至3排為C1,C2,C3)Fig.15 Boundary Searching Process of Reachable Workspace at Different Initial Positions(Rows 1 to 3 are C1,C2,C3)
同樣以平面機(jī)構(gòu)3RPR的可達(dá)工作空間,給出不同天牛須初始速度組合,第一組:vl=0.1,vr=0.2,第二組:vl=0.1,vr=0.3,其他參數(shù)同表1、表2,初始位置都為C(0,0)。
由圖16分析可得:在迭代過程中,在t=5時(shí),左須和右須初始速度相差較大的第二組參數(shù),獲得的當(dāng)前邊界已經(jīng)接近2,而第一組組合才接近1,這表明搜索組合的最大速度對(duì)搜索位置的影響較大,但最后得到的工作空間是一致的,根據(jù)圖17發(fā)現(xiàn):第二組平均天牛須速度更快的組合具有更多的振蕩次數(shù),為了減少振蕩幅度和次數(shù),可以選擇較低的速度組合,可以根據(jù)具體的機(jī)構(gòu)選定。
圖16 不同初始天牛須速度組合的可達(dá)工作空間邊界搜索過程(第1至2排為組合1和2)Fig.16 Boundary Searching Process of Reachable Workspace for Different Initial Velocity Combinations of Cercaria(Rows 1 to 2 are Combinations 1 and 2)
圖17 迭代過程中不同天牛須速度組合對(duì)天牛移動(dòng)速度的變化過程Fig.17 Changes of the Speed of the Long Horned Beetle During the Process of Iteration
(1)針對(duì)傳統(tǒng)離散化方法極坐標(biāo)搜索法中搜索效率低的問題,提出一種集合變步長天牛須高效的尋優(yōu)算法的優(yōu)點(diǎn)的工作空間求解算法。
(2)重點(diǎn)介紹變步長天牛須優(yōu)化算法的機(jī)構(gòu)空間邊界搜索算法的原理和流程,分別以不同構(gòu)型的平面與空間并聯(lián)機(jī)構(gòu)進(jìn)行算例分析驗(yàn)證其方法的有效性、通用性,同時(shí)與極坐標(biāo)搜索對(duì)比驗(yàn)證搜索算法搜索效率高。結(jié)果表明:此算法搜索具有效率高、通用性強(qiáng)、搜索過程簡單等特點(diǎn),可作為一種通用性的并聯(lián)機(jī)構(gòu)工作空間快速搜索算法。
(3)比較不同初始位置和天牛須速度下工作空間邊界的搜索過程表明,工作空間邊界內(nèi)初始點(diǎn)對(duì)搜索結(jié)果無影響,天牛須速度不同組合也對(duì)搜索結(jié)果無影響,兩者只影響搜索過程。這表明了算法的優(yōu)異性。