本發(fā)明涉及一種六自由度并聯(lián)機(jī)構(gòu)優(yōu)化方法,屬于結(jié)構(gòu)設(shè)計(jì)及優(yōu)化領(lǐng)域。
背景技術(shù):
目前關(guān)于六自由度并聯(lián)機(jī)構(gòu)優(yōu)化設(shè)計(jì)方法可分為兩類(lèi):一類(lèi)是基于ADAMS機(jī)械仿真軟件,利用ADAMS中提供的傳統(tǒng)優(yōu)化算法來(lái)優(yōu)化機(jī)構(gòu)參數(shù),即OPTDES-GRG和OPTDES-SQP。這兩種算法都是Design Synthesis公司提供的OPTDES代碼,并且都要求設(shè)計(jì)變量有一定的變化范圍,目標(biāo)函數(shù)在一定范圍內(nèi)工作。缺點(diǎn)是這些傳統(tǒng)算法在實(shí)際工作中,很難達(dá)到理想效果,易陷入局部最優(yōu)解,并且變量多于4個(gè)時(shí),容易出現(xiàn)軟件錯(cuò)誤提示。
第二類(lèi)是基于C語(yǔ)言或MATLAB等編程,使用不同優(yōu)化算法進(jìn)行六自由度并聯(lián)機(jī)構(gòu)的優(yōu)化計(jì)算。優(yōu)化算法可以靈活選擇,除去傳統(tǒng)優(yōu)化算法,還有基于模擬生物體系的仿生優(yōu)化算法,比如遺傳算法和蟻群算法。專(zhuān)利CN201310626619.9提供的《一種標(biāo)準(zhǔn)六自由度并聯(lián)機(jī)構(gòu)全局優(yōu)化設(shè)計(jì)方法》考慮并聯(lián)機(jī)構(gòu)的負(fù)載特性,給出了滿(mǎn)足局部最佳動(dòng)態(tài)各向同性的標(biāo)準(zhǔn)Stewart并聯(lián)機(jī)構(gòu)結(jié)構(gòu)參數(shù)設(shè)計(jì)。但是方法比較繁瑣,不利于提高優(yōu)化效率。這些人工智能或其他復(fù)雜優(yōu)化方法具有全局搜索能力強(qiáng),但是得到的界面不夠直觀,無(wú)法與動(dòng)力學(xué)、運(yùn)動(dòng)學(xué)相結(jié)合,不夠靈活方便。
技術(shù)實(shí)現(xiàn)要素:
:
本發(fā)明解決的技術(shù)問(wèn)題是:克服背景技術(shù)中的不足,提供一種六自由度并聯(lián)機(jī)構(gòu)優(yōu)化方法,綜合考慮并聯(lián)機(jī)構(gòu)的負(fù)載特性、工作空間、定位精度、包絡(luò)尺寸、經(jīng)濟(jì)技術(shù)方案,結(jié)合ADAMS參數(shù)化建模靈活、效率高和動(dòng)力學(xué)分析準(zhǔn)確方便的優(yōu)勢(shì),與遺傳算法全局優(yōu)化能力強(qiáng)、魯棒性強(qiáng)和并行處理的優(yōu)點(diǎn),針對(duì)ADAMS軟件提供優(yōu)化算法的用戶(hù)接口,利用動(dòng)態(tài)鏈接庫(kù)技術(shù),將遺傳算法添加到ADAMS中,并在ADAMS中建立了并聯(lián)機(jī)構(gòu)參數(shù)化模型,建立ADAMS與目標(biāo)函數(shù)的鏈接。從而進(jìn)行對(duì)六自由度并聯(lián)機(jī)構(gòu)結(jié)構(gòu)參數(shù)的優(yōu)化設(shè)計(jì)。
本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:
一種六自由度并聯(lián)機(jī)構(gòu)優(yōu)化方法,步驟如下:
(1)在ADAMS中建立六自由度并聯(lián)機(jī)構(gòu)模型;
(2)根據(jù)六自由度并聯(lián)機(jī)構(gòu)模型中的結(jié)構(gòu)優(yōu)化參數(shù)和目標(biāo)函數(shù),編寫(xiě)六自由度并聯(lián)機(jī)構(gòu)遺傳算法;
(3)利用動(dòng)態(tài)鏈接庫(kù)技術(shù)把六自由度并聯(lián)機(jī)構(gòu)遺傳算法添加到ADAMS中,在ADAMS中,在優(yōu)化設(shè)計(jì)對(duì)話(huà)框中選定運(yùn)動(dòng)方式、優(yōu)化目標(biāo)函數(shù),優(yōu)化參數(shù)以及約束條件;在優(yōu)化算法中調(diào)用六自由度并聯(lián)機(jī)構(gòu)的遺傳算法,從而完成六自由度并聯(lián)機(jī)構(gòu)的優(yōu)化。
所述步驟(1)中,在ADAMS中建立六自由度并聯(lián)機(jī)構(gòu)仿真模型如下:
選取結(jié)構(gòu)優(yōu)化參數(shù)為上鉸點(diǎn)分布圓半徑、上鉸點(diǎn)分布角、下鉸點(diǎn)分布圓半徑、下鉸點(diǎn)分布角和中位時(shí)支桿長(zhǎng)度,并確定結(jié)構(gòu)優(yōu)化參數(shù)的上下限;在ADMAS中根據(jù)結(jié)構(gòu)優(yōu)化參數(shù)變化時(shí)支桿的行程變化,得出六自由度并聯(lián)機(jī)構(gòu)在不同方向運(yùn)動(dòng)時(shí)的特點(diǎn),并基于此確定優(yōu)化目標(biāo)函數(shù)為支桿伸長(zhǎng)最大值的最小值,仿真的運(yùn)動(dòng)形式為沿Z軸的正弦運(yùn)動(dòng),最后建立約束條件函數(shù)。
所述步驟(3)中,將六自由度并聯(lián)機(jī)構(gòu)遺傳算法的程序生成.obj文件,并通過(guò)ADAMS軟件編譯產(chǎn)生動(dòng)態(tài)鏈接庫(kù)文件.dll,利用動(dòng)態(tài)鏈接庫(kù)技術(shù),建立ADAMS/View與目標(biāo)函數(shù)的鏈接,從而實(shí)現(xiàn)優(yōu)化設(shè)計(jì)時(shí)成功運(yùn)行自定義算法,即所述遺傳算法。
本發(fā)明與現(xiàn)有技術(shù)相比具有如下優(yōu)點(diǎn):
(1)本發(fā)明基于ADAMS機(jī)械系統(tǒng)動(dòng)力學(xué)仿真軟件,在該軟件的平臺(tái)上可以方便地建立機(jī)械系統(tǒng)的動(dòng)力學(xué)模型,直接清晰地演示機(jī)械系統(tǒng)的動(dòng)力學(xué)過(guò)程,創(chuàng)建完全參數(shù)化的機(jī)械系統(tǒng)幾何模型。利用它可以在很大程度上簡(jiǎn)化建模步驟,提高建模速度,將運(yùn)動(dòng)學(xué)動(dòng)力學(xué)和優(yōu)化相結(jié)合,提高仿真分析效率。
(2)本發(fā)明使用的遺傳算法,是模擬生物進(jìn)化過(guò)程的計(jì)算模型。遺傳算法作為一種新的全局優(yōu)化搜索算法,有簡(jiǎn)單通用、魯棒性強(qiáng)、適用于并行處理以及應(yīng)用范圍廣等顯著特點(diǎn)。
(3)本發(fā)明利用了ADAMS參數(shù)化建模靈活、效率高和動(dòng)力學(xué)分析準(zhǔn)確方便的優(yōu)勢(shì),同時(shí)綜合利用了遺傳算法全局優(yōu)化能力強(qiáng)、魯棒性強(qiáng)和并行處理的優(yōu)點(diǎn),實(shí)現(xiàn)了人工智能算法和機(jī)械優(yōu)化相結(jié)合,能夠高效完成六自由度并聯(lián)機(jī)構(gòu)的結(jié)構(gòu)優(yōu)化設(shè)計(jì)。
附圖說(shuō)明
圖1為本發(fā)明實(shí)現(xiàn)流程圖;
圖2為本發(fā)明中ADAMS六自由度并聯(lián)機(jī)構(gòu)參數(shù)化模型;
圖3為本發(fā)明中遺傳算法流程圖;
圖4為ADAMS優(yōu)化設(shè)計(jì)的設(shè)計(jì)框;
圖5為ADAMS優(yōu)化算法的設(shè)置框。
具體實(shí)施方式:
下面結(jié)合附圖和實(shí)施方式對(duì)本發(fā)明進(jìn)一步說(shuō)明。
如圖1所示,本發(fā)明一種基于ADAMS仿真軟件結(jié)合遺傳算法的對(duì)六自由度并聯(lián)機(jī)構(gòu)的優(yōu)化方法,步驟如下:
步驟一、在ADAMS中建立正確的仿真模型,如圖2所示。整個(gè)六自由度并聯(lián)機(jī)構(gòu)系統(tǒng)簡(jiǎn)化為動(dòng)平臺(tái)、靜平臺(tái)、12個(gè)支桿、6個(gè)球鉸鏈和6個(gè)虎克鉸鏈。首先單擊ADAMS建模工具條中的圓柱體按鈕分別建立動(dòng)平臺(tái)、靜平臺(tái)和12個(gè)支桿,包括6個(gè)上支桿與6個(gè)下支桿。為模擬并聯(lián)機(jī)構(gòu)的運(yùn)動(dòng),還需要給各個(gè)部件之間添加正確的約束。靜平臺(tái)與大地之間采用固定副約束,使靜平臺(tái)固定于大地;下支桿與靜平臺(tái)之間以虎克鉸約束,使下支桿與靜平臺(tái)之間只具有2個(gè)轉(zhuǎn)動(dòng)自由度;上支桿與動(dòng)平臺(tái)之間以球鉸約束,使上支桿與動(dòng)平臺(tái)之間只具有3個(gè)轉(zhuǎn)動(dòng)自由度;上支桿與下支桿之間以移動(dòng)副約束,使二者之間只具有1個(gè)平移自由度,實(shí)現(xiàn)支桿的伸縮。然后對(duì)上、下鉸點(diǎn)分布圓半徑和上、下鉸點(diǎn)分布角以及中位時(shí)支桿長(zhǎng)度進(jìn)行參數(shù)化,分別得到相應(yīng)參數(shù):r、R、α、β和L。其中,r和α決定了上支桿與動(dòng)平臺(tái)的球鉸鉸點(diǎn)位置,R與β決定了下支桿與靜平臺(tái)的虎克鉸鉸點(diǎn)位置,在此基礎(chǔ)上,L就決定了動(dòng)平臺(tái)的中位高度。至此,六自由度并聯(lián)機(jī)構(gòu)的結(jié)構(gòu)尺寸可以由r、R、α、β和L確定。
步驟二、選取上鉸點(diǎn)分布圓半徑r、上鉸點(diǎn)分布角α、下鉸點(diǎn)分布圓半徑R、下鉸點(diǎn)分布角β和中位時(shí)支桿長(zhǎng)度L為優(yōu)化參數(shù),并確定它們相應(yīng)的上下限。
以上平臺(tái)沿X、Y、Z各單自由度方向平移運(yùn)動(dòng)相同位移來(lái)比較各支桿的行程變化,再以上平臺(tái)繞X、Y、Z各軸單自由度旋轉(zhuǎn)相同角度時(shí)來(lái)比較各支桿的行程變化,得到支桿行程變化曲線。結(jié)合運(yùn)動(dòng)范圍和支桿行程變化曲線,可得到Z方向平移時(shí)支桿行程變化最大。從而可以確定研究該并聯(lián)機(jī)構(gòu)參數(shù)優(yōu)化問(wèn)題時(shí),可以?xún)H研究沿Z軸單自由度運(yùn)動(dòng)時(shí)任一支桿的行程。因此確定運(yùn)動(dòng)方式為沿Z軸的正弦運(yùn)動(dòng),研究對(duì)象為任一支桿,不妨取支桿1。這樣可以大大簡(jiǎn)化計(jì)算過(guò)程和減少計(jì)算量。
當(dāng)支桿的最大行程最小時(shí),并聯(lián)機(jī)構(gòu)的動(dòng)態(tài)力、極限位姿的靜態(tài)力以及雅克比矩陣都能夠得到比較合理的值,因此在ADAMS建立最優(yōu)目標(biāo)函數(shù)為支桿的伸縮量絕對(duì)值的最大值最小,即
f(x)=min(max|L(x)-L(0)|)
x是自變量,由設(shè)計(jì)變量r、R、α、β、L組成,x=[r R α β L]=[x1 x2 x3 x4 x5],L(0)表示在中位時(shí)第一個(gè)支桿的長(zhǎng)度,L(x)表示上平臺(tái)沿Z軸位移z時(shí)第一個(gè)支桿的長(zhǎng)度。并定義xmin=[rmin Rmin αmin βmin Lmin]和xmax=[rmax Rmax αmax βmax Lmax]。
在ADAMS中建立約束函數(shù),包括支桿上下平臺(tái)尺寸約束、支桿長(zhǎng)度約束和上下鉸鏈轉(zhuǎn)角范圍約束等。
步驟三、設(shè)計(jì)遺傳優(yōu)化算法,包含編碼和產(chǎn)生初始群體、適應(yīng)度值評(píng)估檢測(cè)、選擇、交叉、變異和終止,流程如圖3所示。
(1)編碼和產(chǎn)生初始群體。首先通過(guò)實(shí)值編碼方式把解空間變量,也就是六自由度并聯(lián)機(jī)構(gòu)的五個(gè)優(yōu)化參數(shù)r、R、α、β和L表示成遺傳空間的基因型浮點(diǎn)數(shù),然后隨機(jī)產(chǎn)生若干個(gè)染色體,使其均勻分布在解空間,構(gòu)造遺傳算法的初始群體,種群的規(guī)模為N=100,N為種群大小。染色體空間與解空間一致,為連續(xù)的實(shí)數(shù)區(qū)間[L,U](L=xmin和U=xmax)。
(2)適應(yīng)度值評(píng)估檢測(cè)。遺傳算法是對(duì)適值函數(shù)的最大化尋優(yōu),因此將最小化目標(biāo)函數(shù)轉(zhuǎn)化為最大化適值函數(shù),即F(x)=1/f(x)。
(3)選擇、交叉和變異。選擇:采用賭輪選擇法來(lái)實(shí)現(xiàn)選擇操作,對(duì)于個(gè)體xi的適應(yīng)度值為F(x)i,i為個(gè)體的序號(hào),則個(gè)體xi的選擇概率pi為累計(jì)概率共轉(zhuǎn)輪N次,每次輪轉(zhuǎn)時(shí),隨機(jī)產(chǎn)生0到1之間的隨機(jī)數(shù)t,當(dāng)PPk-1≤t≤PPk時(shí),選擇個(gè)體xk,作為遺傳的父代,k為選中的個(gè)體序號(hào);交叉:隨機(jī)產(chǎn)生概率,概率小于交叉概率pc時(shí),計(jì)算交叉算子x'k=axk+(1-a)xl作為新一代個(gè)體x'k,否則x'k=xk,其中a為(0,1)上的常數(shù),xl為隨機(jī)選擇的另一個(gè)父代,l為其序號(hào);變異:隨機(jī)產(chǎn)生概率,概率小于變異概率pm時(shí),等概率的生成二值隨機(jī)數(shù)q(q∈{0,1}),然后按照下式進(jìn)行變異得到新的個(gè)體否則x”k=x'k,其中Δ(n,y)=y(tǒng)r(1-n/T)b,r為[0,1]上均勻分布的隨機(jī)數(shù),y為變量,n為當(dāng)前已迭代的代數(shù),T為最大迭代代數(shù),b為預(yù)先給定的常數(shù)。
(4)終止。當(dāng)?shù)螖?shù)達(dá)到最大迭代代數(shù)T時(shí),終止運(yùn)算,輸出遺傳過(guò)程中所得到的最大適應(yīng)度函數(shù)值對(duì)應(yīng)的解作為最優(yōu)解輸出,即為最終優(yōu)化的結(jié)構(gòu)參數(shù)r、R、α、β和L。
在ADAMS安裝目錄下\aview\user_subs中vc_init_usr.c和mdi_c.h中,用C語(yǔ)言編寫(xiě)遺傳優(yōu)化算法和優(yōu)化算法調(diào)用接口等相關(guān)程序,添加到相應(yīng)的函數(shù)中。
利用VC++6.0將修改帶有遺傳優(yōu)化算法的程序vc_ini_usr.c,生成vc_ini_usr.obj文件。再將此文件拷貝到ADAMS安裝目錄\common下。并且在cmd界面輸入mdi.bat aview cr-u n vc_init_usr.obj-n vc_init_usr.dll生成動(dòng)態(tài)鏈接庫(kù)文件vc_init_usr.dll。然后在cmd中輸入mdi.bat aview ru-u i vc_init_usr.dll后回車(chē),即可從ADAMS/View調(diào)用遺傳算法。
步驟四、編寫(xiě)ADAMS與調(diào)用程序的接口函數(shù),明確接口為“user1~user3”任一接口,導(dǎo)入相應(yīng)的數(shù)據(jù)。打開(kāi)ADAMS優(yōu)化設(shè)計(jì)的設(shè)計(jì)框,如圖4所示,選擇步驟2里確定的運(yùn)動(dòng)方式,以及建立的目標(biāo)函數(shù)、設(shè)計(jì)變量以及約束函數(shù)。點(diǎn)擊“optimizer”,則出現(xiàn)優(yōu)化算法的設(shè)置框,如圖5所示。其中User1、User2和User3是用戶(hù)自定義算法,可以調(diào)用之前編譯好的遺傳優(yōu)化算法,然后點(diǎn)擊圖3中“Start”鍵即可調(diào)用遺傳算法進(jìn)行優(yōu)化。
總之,本發(fā)明在ADAMS中建立了并聯(lián)機(jī)構(gòu)參數(shù)化模型,應(yīng)用ADMAS對(duì)并聯(lián)機(jī)構(gòu)的運(yùn)動(dòng)方式與機(jī)構(gòu)性能之間的關(guān)系進(jìn)行了研究,得出機(jī)構(gòu)在不同方向運(yùn)動(dòng)時(shí)的特點(diǎn),并選取優(yōu)化參數(shù)、確定目標(biāo)函數(shù)及其約束條件。編寫(xiě)六自由度并聯(lián)機(jī)構(gòu)遺傳算法,然后將人工智能遺傳算法和ADAMS相結(jié)合,即將遺傳算法優(yōu)化代碼生成動(dòng)態(tài)鏈接庫(kù)添加到ADAMS/View中,在ADAMS優(yōu)化設(shè)計(jì)模塊中,調(diào)用編寫(xiě)的遺傳算法完成六自由度并聯(lián)機(jī)構(gòu)的優(yōu)化。本發(fā)明利用了ADAMS建模效率高、參數(shù)化、動(dòng)力學(xué)分析準(zhǔn)確方便的優(yōu)勢(shì),同時(shí)綜合利用了遺傳算法全局優(yōu)化能力強(qiáng)、魯棒性強(qiáng)和并行處理的優(yōu)點(diǎn),實(shí)現(xiàn)了人工智能算法和機(jī)械優(yōu)化相結(jié)合,能夠高效完成六自由度并聯(lián)機(jī)構(gòu)的結(jié)構(gòu)優(yōu)化設(shè)計(jì)。
本發(fā)明說(shuō)明書(shū)中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員的公知技術(shù)。