王洪濤,李占賢
(1.華北理工大學(xué) 機(jī)械工程學(xué)院,河北 唐山 063210;2.河北省工業(yè)機(jī)器人產(chǎn)業(yè)研究院,河北 唐山 063010)
平面并聯(lián)五桿機(jī)構(gòu)[1]是一種結(jié)構(gòu)簡(jiǎn)單,并可適用于復(fù)雜惡劣應(yīng)用環(huán)境的并聯(lián)機(jī)構(gòu)。它具有剛度大,可實(shí)現(xiàn)復(fù)雜運(yùn)動(dòng)軌跡、承載能力強(qiáng)等特點(diǎn),在并聯(lián)和混聯(lián)機(jī)器人機(jī)構(gòu)中得到廣泛應(yīng)用。
在平面并聯(lián)機(jī)構(gòu)設(shè)計(jì)中,尤其是平面五桿機(jī)構(gòu)的設(shè)計(jì),目前以基于工作空間的圖解法為主,解析法的應(yīng)用相對(duì)較少。在工程應(yīng)用越來越多的高速運(yùn)動(dòng)環(huán)境中,對(duì)機(jī)構(gòu)的動(dòng)力響應(yīng)特性及機(jī)構(gòu)慣量等要求越來越高,使得圖解法求解精度較低,不能同時(shí)滿足多目標(biāo)參數(shù)設(shè)計(jì)的缺點(diǎn)越發(fā)明顯。解析法求解精度高,但需要大量的數(shù)學(xué)運(yùn)算支持,這就使得可以快速得到機(jī)構(gòu)設(shè)計(jì)參數(shù)的解析算法需求越發(fā)突出。
平面連桿機(jī)構(gòu)的諧波特征參數(shù)方法是借助傅里葉級(jí)數(shù)理論,將連桿機(jī)構(gòu)輸出運(yùn)動(dòng)采用傅里葉級(jí)數(shù)方法進(jìn)行描述[2]。在此基礎(chǔ)上,借助快速傅里葉變換等數(shù)學(xué)工具,對(duì)連桿機(jī)構(gòu)需要輸出的諧波特征參數(shù)進(jìn)行分析,找到機(jī)構(gòu)諧波特征參數(shù)與平面機(jī)構(gòu)尺寸之間的關(guān)系,從而得到基于連桿機(jī)構(gòu)輸出特征參數(shù)進(jìn)行尺寸綜合的一般方法。
遺傳優(yōu)化算法是一種基于生物自然選擇與遺傳機(jī)理的隨機(jī)與優(yōu)化方法,在1950年代被提出后,鑒于其在求解復(fù)雜優(yōu)化問題中的良好適應(yīng)性,在工業(yè)設(shè)計(jì)領(lǐng)域被廣泛應(yīng)用。 Deb等人提出NSGA-II(Non-dominated Sorting Genetic Algorithm 2)后,因其簡(jiǎn)單、高效、解集收斂性好等優(yōu)點(diǎn),在多目標(biāo)優(yōu)化領(lǐng)域被廣泛應(yīng)用。 孔民秀等[3]針對(duì)高速高加速度的平面并聯(lián)機(jī)構(gòu),基于NSGA-II算法來求解多目標(biāo)優(yōu)化問題,進(jìn)行尺度綜合,提升了機(jī)構(gòu)的動(dòng)態(tài)性能。Baviskar等[4]提出了2種基于漸進(jìn)式步長(zhǎng)機(jī)制的算法,并與非支配排序遺傳算法的搜索方式相結(jié)合,通過控制步長(zhǎng)和分割數(shù)目等參數(shù),在子代中生成更好的染色體,實(shí)現(xiàn)了快速收斂。李新超等[5]針對(duì)NSGA-II算法中非支配排序耗時(shí)多的問題,提出了偏好順序淘汰的算法,減少了參與非支配排序解的數(shù)量,進(jìn)而減少了求解時(shí)間,降低了偏好評(píng)價(jià)結(jié)果較差的個(gè)體解被選中后再進(jìn)行交叉、變異的概率,提高了算法效率。
多目標(biāo)遺傳優(yōu)化算法滿足了多參數(shù)設(shè)計(jì)的要求,適用于求解較復(fù)雜的優(yōu)化問題,但仍存在收斂速度慢、局部搜索能力不強(qiáng)、易陷入局部最優(yōu)解等問題,不易得到穩(wěn)定的全域最優(yōu)解,且對(duì)算法初值敏感,對(duì)算法初值的依賴性較強(qiáng)。針對(duì)平面并聯(lián)五桿機(jī)構(gòu)的設(shè)計(jì)問題,采用多目標(biāo)遺傳算法計(jì)算最優(yōu)解,算法初值問題是決定算法效率的重點(diǎn)。但在實(shí)際應(yīng)用中,算法初值是不易確定的,造成了算法效率不高、收斂速度慢等問題。該項(xiàng)研究采用遺傳優(yōu)化算法與諧波特征參數(shù)法相結(jié)合的方法,主要解決遺傳算法的初值問題、在初代搜索盲目、算法收斂速度慢的問題。
平面五桿機(jī)構(gòu)的諧波參數(shù)設(shè)計(jì)方法[6,7],是在已知機(jī)構(gòu)運(yùn)動(dòng)軌跡的情況下,無需建立特征庫及其他參數(shù),用解析的方法來計(jì)算出符合目標(biāo)運(yùn)動(dòng)軌跡特征的機(jī)構(gòu)設(shè)計(jì)參數(shù)。諧波參數(shù)法分析中,可將平面五桿機(jī)構(gòu)分解為2個(gè)二自由度的開鏈機(jī)構(gòu),即CBA和CDE在鉸點(diǎn)C處結(jié)合而成,可分解成2個(gè)鉸鏈二桿組進(jìn)行分析,如圖1所示。
圖1 平面五桿機(jī)構(gòu)二桿組示意圖
如機(jī)構(gòu)在平面內(nèi)向兩側(cè)方向運(yùn)動(dòng)軌跡對(duì)稱,則兩側(cè)桿組參數(shù)一致,只需計(jì)算其中一側(cè)桿組的參數(shù)即可。由諧波參數(shù)法的機(jī)構(gòu)軌跡綜合設(shè)計(jì)方程[2]有:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
式中,j=0,1,…,n,j≠k,m2=0,±1,…,±k, …,±(n-j)
確定五桿機(jī)構(gòu)中C點(diǎn)的目標(biāo)軌跡,并將目標(biāo)軌跡根據(jù)實(shí)際需要離散為若干個(gè)點(diǎn),將C點(diǎn)位于坐標(biāo)系中的位置采用傅里葉形式表示。然后利用諧波參數(shù)法將C點(diǎn)目標(biāo)軌跡中離散后的點(diǎn)計(jì)算得到目標(biāo)軌跡點(diǎn)的諧波參數(shù)。將計(jì)算所得到的設(shè)計(jì)參數(shù)帶入平面五桿機(jī)構(gòu)綜合設(shè)計(jì)方程中,得到符合機(jī)構(gòu)目標(biāo)運(yùn)動(dòng)軌跡的桿組設(shè)計(jì)參數(shù)。
NSGA-Ⅱ算法是在第一代非支配排序遺傳算法(NSGA算法)的基礎(chǔ)上改進(jìn)而來,是在低維目標(biāo)(2-,3-目標(biāo))優(yōu)化問題中被應(yīng)用最多的多目標(biāo)遺傳算法,它主要降低了非劣排序遺傳算法的復(fù)雜性,相比NSGA算法具有運(yùn)行速度快,解集收斂性好的特點(diǎn)。針對(duì)該項(xiàng)研究的三目標(biāo)優(yōu)化問題,NSGA-II算法相對(duì)適用。
NSGA-II算法中,初值的選擇尤為關(guān)鍵,它決定了整個(gè)算法效率和計(jì)算成本。本研究根據(jù)平面五桿機(jī)構(gòu)的設(shè)計(jì)特點(diǎn)和諧波參數(shù)法得到的設(shè)計(jì)初值,為達(dá)到提高優(yōu)化算法效率的目的,對(duì)NSGA-II算法進(jìn)行了針對(duì)性調(diào)整,具體算法過程如下:
(1)根據(jù)諧波參數(shù)法得到的平面五桿機(jī)構(gòu)的設(shè)計(jì)參數(shù)分別生成初代個(gè)體,將初代種群擴(kuò)充至指定種群數(shù);
(2)將個(gè)體的3個(gè)目標(biāo)參數(shù)分別計(jì)算出對(duì)應(yīng)數(shù)值解。將得到的解進(jìn)行可行性篩選,留下可行解;
(3)尋找非支配解,并進(jìn)行分層操作,將解分成若干層,進(jìn)行快速非支配排序;
(4)將父代種群和子代種群合并,生成新的父代種群;
(5)進(jìn)行實(shí)數(shù)編碼的二進(jìn)制交叉操作;
(6)進(jìn)行多項(xiàng)式變異,進(jìn)行帶有偏好性的二進(jìn)制錦標(biāo)賽選擇;
(7)計(jì)算個(gè)體擁擠度;
(8)選擇合適個(gè)體組成新的父代;
(9)循環(huán)5~8步驟,直到進(jìn)化至最大代數(shù)。
綜合平面五桿機(jī)構(gòu)[7],使平面五桿機(jī)構(gòu)中C點(diǎn)在傳動(dòng)比為1的條件下,實(shí)現(xiàn)如圖2所示目標(biāo)運(yùn)動(dòng)軌跡。
圖2 平面五桿機(jī)構(gòu)C點(diǎn)目標(biāo)運(yùn)動(dòng)軌跡
將圖2所示的點(diǎn)用諧波參數(shù)法進(jìn)行表示,然后得到目標(biāo)軌跡的諧波參數(shù),因涉及的五桿機(jī)構(gòu)的目標(biāo)運(yùn)動(dòng)軌跡對(duì)稱,故傳動(dòng)比為1,根據(jù)目標(biāo)軌跡的特征,計(jì)算得到C點(diǎn)目標(biāo)軌跡的-4到4次諧波參數(shù),如表1所示。
表1 目標(biāo)軌跡的諧波參數(shù)
將計(jì)算所得到的諧波參數(shù)帶入平面五桿機(jī)構(gòu)的綜合設(shè)計(jì)方程,可以得到符合目標(biāo)運(yùn)動(dòng)軌跡的機(jī)構(gòu)桿組設(shè)計(jì)參數(shù),如表2所示。
表2 計(jì)算所得二桿組設(shè)計(jì)參數(shù)
將上述計(jì)算所得到機(jī)構(gòu)桿組設(shè)計(jì)參數(shù)應(yīng)用于NSGA-II算法中,生成算法的初代個(gè)體,為達(dá)到提高優(yōu)化算法效率的目的,對(duì)NSGA-II算法進(jìn)行了針對(duì)性調(diào)整,具體算法過程如下:
(1)依據(jù)表2中計(jì)算所得的4組設(shè)計(jì)參數(shù)分別生成初代個(gè)體,并將初代種群擴(kuò)充至指定種群數(shù);
(2)將主動(dòng)臂扭矩T、主動(dòng)臂轉(zhuǎn)角A、機(jī)構(gòu)慣量IM,3個(gè)參數(shù)分別計(jì)算出對(duì)應(yīng)數(shù)值解。將得到的解集進(jìn)行可行性篩選,留下可行解;
(3)尋找非支配解,然后進(jìn)行分層操作,將解分成若干層,進(jìn)行快速非支配排序;
(4)將父代種群和子代種群合并,生成新的父代種群;
(5)進(jìn)行實(shí)數(shù)編碼的二進(jìn)制交叉操作;
(6)進(jìn)行多項(xiàng)式變異,然后進(jìn)行帶有偏好性的二進(jìn)制錦標(biāo)賽選擇;
(7)計(jì)算個(gè)體擁擠度;
(8)選擇合適的個(gè)體組成新的父代;
(9)循環(huán)5~8步驟,直到進(jìn)化至最大代數(shù)。
其中,第(6)項(xiàng)中的偏好性選擇,是根據(jù)計(jì)算所得的初值中主動(dòng)臂與從動(dòng)臂的長(zhǎng)度,在主動(dòng)臂及從動(dòng)臂之和的總長(zhǎng)度變化不超過5%的條件下,分別向增長(zhǎng)與縮短2個(gè)方向變異,如主動(dòng)臂長(zhǎng)度增加,則從動(dòng)臂長(zhǎng)度減小。
設(shè)計(jì)變量:x、y、u、v、w,目標(biāo)函數(shù):
(10)
約束條件:
(11)
本算例的目標(biāo)函數(shù)采用主動(dòng)臂扭矩T、主動(dòng)臂轉(zhuǎn)角A、機(jī)構(gòu)慣量IM,3個(gè)參數(shù)原因的如下:
(1) 主動(dòng)臂扭矩T:在機(jī)構(gòu)設(shè)計(jì)中,主動(dòng)臂扭矩值關(guān)系到驅(qū)動(dòng)電機(jī)的選取范圍問題,電機(jī)扭矩范圍又與電機(jī)的體積相關(guān),電機(jī)體積又與兩個(gè)主動(dòng)臂間距相關(guān),主動(dòng)臂間距與機(jī)構(gòu)的尺寸相關(guān)。所以,在五桿機(jī)構(gòu)設(shè)計(jì)中,要盡可能的降低主動(dòng)臂扭矩,以利于減小機(jī)構(gòu)的體積,并降低電機(jī)選用要求;
(2) 主動(dòng)臂轉(zhuǎn)角A:在平面五桿機(jī)構(gòu)設(shè)計(jì)重,尤其是有副桿的平面五桿機(jī)構(gòu)設(shè)計(jì)中,需要避免機(jī)構(gòu)桿組之間的干涉,這就使得主動(dòng)臂轉(zhuǎn)角范圍相較理論值相應(yīng)減小,所以在機(jī)構(gòu)設(shè)計(jì)是需要盡量降低主動(dòng)臂轉(zhuǎn)角范圍,在設(shè)計(jì)完成后進(jìn)行仿真確認(rèn)。同時(shí),在高速機(jī)構(gòu)設(shè)計(jì)中,降低了主動(dòng)臂轉(zhuǎn)角范圍,會(huì)對(duì)機(jī)構(gòu)的響應(yīng)特性有正面影響;
(3) 機(jī)構(gòu)慣量IM:在高速運(yùn)動(dòng)環(huán)境中,機(jī)構(gòu)慣量需要滿足一定設(shè)計(jì)要求,若機(jī)構(gòu)的慣量過大,容易造成高速運(yùn)動(dòng)機(jī)構(gòu)失效。機(jī)構(gòu)慣量對(duì)機(jī)構(gòu)的動(dòng)態(tài)響應(yīng)特性也有影響,在高速運(yùn)動(dòng)機(jī)構(gòu)應(yīng)用中要求機(jī)構(gòu)慣量要盡量小,以提高機(jī)構(gòu)的動(dòng)態(tài)響應(yīng)特性。
由NSGA-II算法得到的Pareto最優(yōu)解如圖3所示。
圖3 Pareto最優(yōu)解
表3 多目標(biāo)優(yōu)化結(jié)果
(1)將平面五桿機(jī)構(gòu)的諧波參數(shù)法與NSGA-II遺傳優(yōu)化算法相結(jié)合,對(duì)遺傳算子加入偏好性選擇,可以得到一個(gè)基于機(jī)構(gòu)工作空間,不需要設(shè)計(jì)初值的多目標(biāo)遺傳優(yōu)化設(shè)計(jì)方法,既滿足了機(jī)構(gòu)高速運(yùn)動(dòng)要求,同時(shí)又滿足了機(jī)構(gòu)驅(qū)動(dòng)關(guān)節(jié)的低扭矩要求,且滿足了平面機(jī)構(gòu)的高響應(yīng)特性要求。
(2)本設(shè)計(jì)方法所涉及的算法,根據(jù)機(jī)構(gòu)的工作空間,可以單獨(dú)計(jì)算出單個(gè)設(shè)計(jì)參數(shù)的范圍,以供設(shè)計(jì)者參考。使設(shè)計(jì)者在選用驅(qū)動(dòng)單元、確定機(jī)構(gòu)運(yùn)動(dòng)節(jié)拍、設(shè)計(jì)機(jī)構(gòu)強(qiáng)度等參數(shù)時(shí)提供可靠的取值范圍,還可以根據(jù)具體設(shè)計(jì)要求,指定其中某個(gè)設(shè)計(jì)參數(shù)的優(yōu)先級(jí),使設(shè)計(jì)者在機(jī)構(gòu)設(shè)計(jì)計(jì)算中,可以根據(jù)不同設(shè)計(jì)要求采用更加靈活實(shí)用的計(jì)算模型。
(3)應(yīng)用諧波-多目標(biāo)遺傳優(yōu)化算法后,程序的運(yùn)算時(shí)間由無固定初值時(shí),在300~400代左右收斂,運(yùn)行時(shí)間為30~40 h,對(duì)比由諧波參數(shù)法計(jì)算遺傳算法初值并生成初代個(gè)體值,對(duì)遺傳算子進(jìn)行偏好性改進(jìn)后,算法在100~150代左右收斂,運(yùn)行時(shí)間為12~18 h,算法效率可以提高50%以上。諧波-多目標(biāo)遺傳優(yōu)化算法在解決了遺傳算法的初值問題后,算法效率得到了大幅度提升,在平面五桿機(jī)構(gòu)的設(shè)計(jì)中,提供了更為快速有效的解決方案。