劉 冬,張振國(guó),封繼軍,辛利斌,王順平
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
遺傳算法在Delta機(jī)器人剛度優(yōu)化中的應(yīng)用
劉 冬,張振國(guó),封繼軍,辛利斌,王順平
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
針對(duì)Delta機(jī)器人剛度性能指標(biāo)的優(yōu)化,提供一種基于其尺度參數(shù)切實(shí)可行的設(shè)計(jì)方案。通過(guò)逆運(yùn)動(dòng)學(xué)、雅可比矩陣和剛度公等數(shù)學(xué)方法,求解該并聯(lián)機(jī)構(gòu)的剛度和尺度參數(shù)之間的函數(shù)關(guān)系,并以此為目標(biāo)函數(shù)。繼而,經(jīng)過(guò)對(duì)遺傳算法運(yùn)行機(jī)理的分析和對(duì)適應(yīng)度函數(shù)、遺傳操作的研究,實(shí)現(xiàn)了在Matlab環(huán)境下的遺傳算法求解函數(shù)優(yōu)化問(wèn)題的仿真。仿真結(jié)果表明,該算法可以快速地收斂到全局最優(yōu)解,適用于在滿足Delta機(jī)器人設(shè)計(jì)的其他特性要求的前提下優(yōu)化機(jī)器人機(jī)構(gòu)的剛度。
遺傳算法;Delta機(jī)器人;剛度;雅可比矩陣;Matlab
機(jī)器人主要分為串聯(lián)機(jī)器人和并聯(lián)機(jī)器人兩大類。并聯(lián)機(jī)構(gòu)相比于串聯(lián)機(jī)構(gòu)而言,具有剛度大、承載能力強(qiáng)、結(jié)構(gòu)穩(wěn)定、運(yùn)動(dòng)慣性小、實(shí)時(shí)控制性強(qiáng)等特點(diǎn)[1-3]。
遺傳算法作為經(jīng)典的全局優(yōu)化算法,具有高度并行、隨機(jī)、自適應(yīng)度高等特點(diǎn)。Matlab是一款應(yīng)用廣泛的數(shù)學(xué)工具,在算法開(kāi)發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境等方面都有應(yīng)用[4]。遺傳算法與Matlab的結(jié)合,較好地解決了許多函數(shù)優(yōu)化問(wèn)題。
1.1 Delta機(jī)器人概述
1985年, Delta這個(gè)名字第一次被提及,是一個(gè)叫Clavel的人,他提出了一種稱為Delta的移動(dòng)機(jī)構(gòu)。到目前為止,Delta機(jī)器人已經(jīng)是最典型的空間三自由度運(yùn)動(dòng)的并聯(lián)機(jī)構(gòu)[5]。如圖1所示為本研究的對(duì)象──Delta機(jī)器人的模型示意圖。
圖1 Delta機(jī)器人模型示意圖
作為并聯(lián)機(jī)器人,剛度是衡量其性能重要指標(biāo)之一。而影響剛度的因素,有機(jī)器人拓?fù)浣Y(jié)構(gòu)和并聯(lián)機(jī)構(gòu)尺度參數(shù)。所以,設(shè)計(jì)出一種剛度大的并聯(lián)機(jī)器人的關(guān)鍵,是在于基于剛度性能分析和參數(shù)優(yōu)化設(shè)計(jì)[6-8]。本研究主要從機(jī)構(gòu)的尺度參數(shù)出發(fā),來(lái)優(yōu)化機(jī)器人的剛度。
1.2 目標(biāo)函數(shù)
在本研究中,筆者將剛度作為目標(biāo)函數(shù)。假設(shè)并聯(lián)機(jī)器人的末端執(zhí)行器的位置固定,那么機(jī)械臂的長(zhǎng)度不同,則該并聯(lián)機(jī)器人的剛度性能也會(huì)不同。這里的優(yōu)化問(wèn)題是求解使得整個(gè)機(jī)構(gòu)剛度最大的c臂和d臂的長(zhǎng)度,這可以通過(guò)如圖2所示步驟解決。
圖2 求解目標(biāo)函數(shù)步驟示意圖
(1)根據(jù)逆運(yùn)動(dòng)學(xué),找出θ和x,y,z,a,b,c,d,e之間的關(guān)系[9-11]。
建立如圖3所示坐標(biāo)系,末端執(zhí)行器(點(diǎn)E)的位置為(x,y,z),θ為驅(qū)動(dòng)環(huán)節(jié)的旋轉(zhuǎn)角。
1)x+e-a>0
圖3 機(jī)械臂在直角坐標(biāo)系中的模型(x+e-a>0)
由圖3能夠得到如下的數(shù)學(xué)關(guān)系
θ=∠D″AD′-∠BAD′
(1)
在ΔD″AD′中,有
(2)
在ΔBAD′中,有
(3)
因此,有
(4)
上式中
(5)
2)x+e-a<0
圖4 機(jī)械臂在直角坐標(biāo)系中的模型(x+e-a<0)
同理可得
(6)
以上分析均是針對(duì)沿x軸的OA臂,對(duì)于另外兩條不在x軸的機(jī)械臂,需要做坐標(biāo)轉(zhuǎn)換。由于3條機(jī)械臂兩兩相差120°,所以所做坐標(biāo)變化如下式
(1)
(8)
(9)
(3)找出剛度和雅可比矩陣間的關(guān)系。C.Gossilin在1990年提出并聯(lián)機(jī)構(gòu)的剛度矩陣可以通過(guò)機(jī)構(gòu)的靜力方程和運(yùn)動(dòng)學(xué)方程得到,并定義并聯(lián)機(jī)構(gòu)的剛度矩陣為
S=kJTJ
(10)
其中,k為剛度系數(shù)。
對(duì)矩陣S來(lái)說(shuō),S[1,1],S[2,2],S[3,3]分別是在x,y,z方向上末端執(zhí)行器的瞬時(shí)剛度。而S則是總的剛度;
(4)已知量x,y,z,a,b,e與剛度和c,d之間的關(guān)系。
1.3 約束條件
(1)C點(diǎn)應(yīng)始終高于D點(diǎn):如果C點(diǎn)低于D點(diǎn)機(jī)械臂就會(huì)進(jìn)入工作區(qū)域,可能會(huì)破壞被操作的對(duì)象;
(2)末端執(zhí)行器的y值必須小于0.9d:如果>0.9d,并聯(lián)機(jī)器人機(jī)構(gòu)發(fā)生奇異,從而導(dǎo)致自由度失控,運(yùn)動(dòng)不確定,剛度下降,所以奇異位型應(yīng)該避免;
(3)旋轉(zhuǎn)角θ需在0°和85°之間:如果θ<0°或>85°,并聯(lián)機(jī)器人機(jī)構(gòu)發(fā)生奇異。
由以上3個(gè)約束條件,易得到式(11)中所示的不等式
(2)
懷其他優(yōu)化算法相同,遺傳算法首先定義變量產(chǎn)生初始種群,最后通過(guò)測(cè)試收斂結(jié)束。遺傳算法執(zhí)行過(guò)程如圖5的流程圖所示。
圖5 遺傳算法流程圖
3.1 個(gè)體的編碼和群體的初始化
遺傳算法的運(yùn)算對(duì)象是表示個(gè)體的符號(hào)串,文中使用二進(jìn)制數(shù)進(jìn)行個(gè)體的編碼,也就是將初始解的所有控制變量信息用二進(jìn)制編碼的形式表示出來(lái)[13]。針對(duì)本研究建立的模型,設(shè)問(wèn)題的一組解為[p1,p2]。其中,p1和p2都是二進(jìn)制數(shù)字串,就像一個(gè)包含不同的基因組合的染色體。當(dāng)然,有很多行染色體,所述遺傳算法將產(chǎn)生一組染色體,如下式所示
(3)
其中,每個(gè)元素都是介于0和1之間的隨機(jī)數(shù),每行是兩個(gè)變量(c和d)組成的個(gè)體。
3.2 適應(yīng)度函數(shù)
在遺傳算法中,為了評(píng)定各個(gè)個(gè)體的優(yōu)劣程度,定義一個(gè)“個(gè)體適應(yīng)度”,并以其大小來(lái)決定個(gè)體遺傳機(jī)會(huì)的大小。適應(yīng)度函數(shù)的選擇,直接影響到整個(gè)遺傳算法的性能。因此,不僅要結(jié)合求解問(wèn)題本身的要求而定,而且它還是進(jìn)行選擇操作的依據(jù)。從某種意義上來(lái)說(shuō),適應(yīng)度函數(shù)意味著最大化問(wèn)題。而在本研究中,筆者正在努力尋找目標(biāo)函數(shù)的最大值,因此,可以直接使用目標(biāo)函數(shù)作為適應(yīng)度函數(shù)。
3.3 遺傳算子
(1)選擇方式。選擇是指把當(dāng)前群體中對(duì)環(huán)境適應(yīng)度較高的個(gè)體遺傳到下一代群體中。自然界中,適應(yīng)度越高的個(gè)體就越有可能繁殖后代。在本研究中,使用輪盤賭的方法來(lái)幫助選擇。首先,必須找出每個(gè)個(gè)體被選中的概率,如式(13)所示
(13)
其中,n為種群數(shù)目;fi為該個(gè)體適應(yīng)度。
例如,有3個(gè)個(gè)體,它們所對(duì)應(yīng)的適應(yīng)度值分別15,18,17。所以,每個(gè)個(gè)體被選中的概率分別如式(14)所示
(14)
(2)交叉方式。交叉是指把一個(gè)種群中的兩個(gè)個(gè)體的部分染色體串相互替換,而生成新個(gè)體的操作。為簡(jiǎn)化計(jì)算過(guò)程和方便操作,本研究中交叉是按交叉概率PC從種群中隨機(jī)選擇兩個(gè)個(gè)體,采用單點(diǎn)交叉的方式交換這兩個(gè)個(gè)體的某些位,產(chǎn)生新的個(gè)體。
對(duì)于交叉概率PC的選擇: 如果PC太大的話,會(huì)使高適應(yīng)值的結(jié)構(gòu)很快被破壞掉;PC太小則會(huì)使搜索停止不前。一般情況,PC取 0.25~0.75。
例如,從編碼長(zhǎng)度為10的二進(jìn)制數(shù)字串中任取兩個(gè)X1和X2,如式(15)所示
X1=1001001010
X2=0101101001
(15)
(16)
其中,“ |”表示交叉的位置。
(3)變異方式。變異是指一個(gè)種群中,每個(gè)個(gè)體染色體串的某些位上的基因值發(fā)生變動(dòng),產(chǎn)生新的個(gè)體。變異操作分為單點(diǎn)變異和多點(diǎn)變異,為簡(jiǎn)化計(jì)算過(guò)程和方便操作,本研究采用單點(diǎn)變異。變異操作的基本步驟為:設(shè)定一個(gè)變異概率Pm,交叉操作后生成的每一個(gè)新的個(gè)體的每一位都對(duì)應(yīng)一個(gè)0~1 之間的隨機(jī)數(shù)。若該隨機(jī)數(shù)小于變異的概率Pm,則該位的值保持不變,否則該位的值做 0~1翻轉(zhuǎn)變化。
對(duì)于變異概率Pm的選擇:如果Pm太小的話,則不會(huì)產(chǎn)生新的基因塊;Pm太大的話,遺傳算法就可能變成隨機(jī)搜索。一般情況,Pm取 0.01 ~ 0.2。
(17)
筆者選擇Matlab2013b作為仿真工具,來(lái)實(shí)現(xiàn)該遺傳算法的優(yōu)化程序,程序初始化如表1所示。
表1 遺傳算法的相關(guān)參數(shù)
表2 相關(guān)設(shè)計(jì)參數(shù)的邊界值
仿真結(jié)果如圖6~圖9所示。圖6顯示的是目標(biāo)函數(shù)隨著進(jìn)化代數(shù)的增加的變化趨勢(shì),可以看出在第93代時(shí)候達(dá)到最優(yōu)解;圖7和圖8分別顯示的是c和d大小的變化圖,隨著代數(shù)的增加最佳個(gè)體不斷變化直到尋到如表3所示的最優(yōu)解。
圖6 剛度優(yōu)化結(jié)果
圖7 機(jī)械臂c優(yōu)化結(jié)果
圖8 機(jī)械臂d優(yōu)化結(jié)果
stiffness/N·m-1c/md/m7.49e+070.160.22
本研究通過(guò)遺傳算法求得了Delta機(jī)器人剛度的最優(yōu)解,從仿真的結(jié)果可以看出,該算法能快速收斂于全局最優(yōu)解,可給出最優(yōu)解時(shí)的機(jī)構(gòu)尺度參數(shù)[14-15]。因此,該方法適用于Delta機(jī)器人剛度優(yōu)化問(wèn)題的解決,也算是為并聯(lián)機(jī)器人的剛度優(yōu)化提供了一種新的思路。
[1] 趙杰.我國(guó)工業(yè)機(jī)器人發(fā)展現(xiàn)狀與面臨的挑戰(zhàn)[J].航空制造技術(shù),2012(12):26-29.
[2] 蔡自興.機(jī)器人學(xué)[M].北京:清華大學(xué)出版社,2000.
[3] 柳洪義,宋偉剛.機(jī)器人技術(shù)基礎(chǔ)[M].北京:冶金工業(yè)出版社,2005.
[4] 王小平,曹立明.遺傳算法:理論、應(yīng)用與軟件實(shí)現(xiàn)[M].西安:西安交通大學(xué)出版社,2002.
[5] 黃真,孔令富,方躍法.并聯(lián)機(jī)器人機(jī)構(gòu)學(xué)控制及理論[M].北京:機(jī)械工業(yè)出版社,1997.
[6] 馮李航,張為公,龔宗洋,等.Delta系列并聯(lián)機(jī)器人研究進(jìn)展與現(xiàn)狀[J].機(jī)器人,2014,36(3):375-384.
[7] 胡曉雄.并聯(lián)機(jī)器人機(jī)構(gòu)剛度和正解的研究[D].太原:太原科技大學(xué),2014.
[8] 梁香寧.Delta機(jī)器人運(yùn)動(dòng)學(xué)建模及仿真[D].太原:太原理工大學(xué),2008.
[9] 董云,楊濤,李文.基于解析法和遺傳算法的機(jī)械手運(yùn)動(dòng)學(xué)逆解[J].計(jì)算機(jī)仿真,2012,29(3):239-243.
[10] Klein J, Spencer S, Allington J, et al. Optimization of a Parallel shoulder mechanism to achieve a high-force, low-mass, robotic-arm exoskeleton[J]. IEEE Transactions on Robotics, 2010, 26(4):710-715.
[11] Liu X J, Wang J. A new methodology for optimal kinematic design of parallel mechanisms[J]. Mechanism & Machine Theory, 2007, 42(9):1210-1224.
[12] 米士彬,金振林.基于雅克比矩陣求解并聯(lián)機(jī)器人位置正解方法[J].燕山大學(xué)學(xué)報(bào),2011,35(5):391-395.
[13] 金芬.遺傳算法在函數(shù)優(yōu)化中的應(yīng)用研究[D].蘇州:蘇州大學(xué),2008.
[14] 衣勇,宋雪萍.機(jī)器人仿真研究的現(xiàn)狀與發(fā)展趨勢(shì)[J].機(jī)械工程師,2009(07):63-65.
[15] 張春鳳,趙輝.3RRR并聯(lián)機(jī)器人的優(yōu)化設(shè)計(jì)研究[J].中國(guó)機(jī)械工程,2006,17(18):1938-1943.
Application of the Genetic Algorithm in the Optimization of Delta Robot’s Stiffness
LIU Dong,ZHANG Zhenguo,F(xiàn)ENG Jijun,XIN Libin,WANG Shunping
(School of Optoelectronic Information and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 20093, China)
This study focuses on optimizing the stiffness performance indicators of the Delta robot and provides a practical design scheme based on its scale parameter. Firstly, many mathematical methods are quoted, such as the inverse kinematics, Jacobian matrix, stiffness formula. And then, the relationship between stiffness and scale parameters is derived and set as the objective function. After the operation mechanism of genetic algorithm is analyzed and the fitness function and genetic operations are discussed and simulation of the genetic algorithm in optimization is realized in Matlab. The simulation result shows that the genetic algorithm converges to the global optimal solution quickly, and is applicable to optimize the stiffness of robot on the premise of satisfying the design requirements of Delta robots.
genetic algorithm; Delta robot; stiffness; Jacobian matrix; Matlab
2016- 04- 04
滬江基金資助項(xiàng)目(B1402/D1402)
劉冬(1991-),女,碩士研究生。研究方向:電力電子與電力傳動(dòng)。
10.16180/j.cnki.issn1007-7820.2017.02.009
TP242.2
A
1007-7820(2017)02-033-05