沈婷婷
(山東科技大學(xué),山東 青島 266590)
機(jī)械手主要由執(zhí)行機(jī)構(gòu)、驅(qū)動機(jī)構(gòu)和控制系統(tǒng)三大部分組成。
利用現(xiàn)有數(shù)據(jù)建立機(jī)械手運(yùn)動模型:
式(1)為模型的目標(biāo)函數(shù)。
(1)初始化群體。每個機(jī)械手運(yùn)動的逆解采用如下方式計算和生成:
式中[ ]為取整函數(shù);R為[0,1]內(nèi)的隨機(jī)數(shù)。
設(shè)置初始化進(jìn)化代數(shù)為Gen=10。根據(jù)式(9)及式(10)生成一個初始種群作為第一代解。
(2)評價群體。
在本文中,適應(yīng)度按如下公式計算:
(3)進(jìn)行遺傳操作。①選擇。每次隨機(jī)選取兩個個體,分別計算其適應(yīng)度,比較兩個個體適應(yīng)度大小,從中選出適應(yīng)度大的那個作為新個體,重復(fù)操作,直到選出的個體等于種群大小為止;②交叉。在文中采用單點交叉來計算新個體的基因。如不滿足,則重新選擇個體進(jìn)行交叉操作;
③變異。根據(jù)模型約束條件,把突變點的位置限制在第1位到第n-1位之間。
對完成交叉操作的個體,還需根據(jù)式(13)再進(jìn)行變異操作,從而得到最新一代種群。
(4)終止。當(dāng)Gen=Maxgen時,遺傳算法終止;否則,Gen=Gen+1,轉(zhuǎn)到第3步,繼續(xù)循環(huán)。
圖1 MATLAB仿真結(jié)果
由仿真結(jié)果可以看到,改進(jìn)后的遺傳算法在進(jìn)化到20代之前就已經(jīng)基本上達(dá)到了最優(yōu)解。
針對平面關(guān)節(jié)型機(jī)器人的運(yùn)動學(xué)進(jìn)行建模分析,為了避免傳統(tǒng)機(jī)器人求逆解方法的多解性、解的不存在性以及需多解的選取的缺點,本文采用了改進(jìn)的遺傳算法,算法的收斂速度更快,求解精度更高,穩(wěn)定性更好。