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