馮 斌,劉 峰,鄭飂默,3
(1.中國科學(xué)院大學(xué), 北京 100049;2.中國科學(xué)院沈陽計(jì)算技術(shù)研究所,沈陽 110168;3.沈陽高精數(shù)控智能技術(shù)股份有限公司 高檔數(shù)控國家工程研究中心,沈陽 110168)
隨著工業(yè)自動化程度的提高,對機(jī)器人的要求越來越高。軌跡規(guī)劃是機(jī)器人控制的關(guān)鍵[1]。也是近幾年研究的熱點(diǎn)。目前軌跡規(guī)劃優(yōu)化分為兩種:一種是對時(shí)間進(jìn)行優(yōu)化,另一種是對系統(tǒng)能量進(jìn)行優(yōu)化。為了提高機(jī)器人的工作效率,對機(jī)器人關(guān)節(jié)空間運(yùn)動軌跡進(jìn)行優(yōu)化。選擇運(yùn)動時(shí)間作為優(yōu)化對象可以提高機(jī)器人工作效率,改善機(jī)器人的性能。論文中將采用粒子群算法完成對機(jī)器人關(guān)節(jié)空間運(yùn)動軌跡的時(shí)間優(yōu)化。
對軌跡規(guī)劃進(jìn)行時(shí)間優(yōu)化有多種方法,如采用遺傳算法[2-5],粒子群算法[6-9]等。當(dāng)前國內(nèi)外多數(shù)機(jī)器人關(guān)節(jié)空間軌跡研究都是采用遺傳算法展開,如文獻(xiàn)[2-5]。采用粒子群算法還需要進(jìn)一步探討研究,但也有一定的研究基礎(chǔ),如文獻(xiàn)[6-9]都是采用粒子群算法在軌跡規(guī)劃方面展開研究。將作為論文研究的基礎(chǔ)。
論文選用PUMA560機(jī)器人為例,研究機(jī)器人點(diǎn)到點(diǎn)之間的軌跡規(guī)劃時(shí)間。采用高次多項(xiàng)式插值和粒子群算法,完成對軌跡規(guī)劃運(yùn)動時(shí)間的優(yōu)化。通過實(shí)際測試和仿真實(shí)驗(yàn)相結(jié)合驗(yàn)證研究結(jié)果的實(shí)用性和預(yù)期結(jié)果。實(shí)驗(yàn)表明,該方法不僅可以完成對軌跡規(guī)劃時(shí)間的優(yōu)化,縮短了機(jī)器人關(guān)節(jié)空間運(yùn)動的時(shí)間,縮短40%左右,而且可以在實(shí)際中應(yīng)用。這對于改善機(jī)器人的性能,提高工作效率有很大的幫助。
PUMA560是一款6自由度的機(jī)器人,它的D-H參數(shù)如表1所示。根據(jù)D-H參數(shù)表可以構(gòu)造機(jī)器人模型。表中的為變量θ,a和d為常量。其中a1=0.4318,a2=0.0203,d3=0.1501,d4=0.4318。本文中將使用Robotics Tools 9.0中的PUMA560機(jī)器人模型及相應(yīng)的函數(shù)。
表1 PUMA560機(jī)器人的D-H參數(shù)
對PUMA560關(guān)節(jié)機(jī)器人運(yùn)動學(xué)原理及仿真進(jìn)行詳細(xì)分析[10-11],結(jié)合MATLAB機(jī)器人仿真庫,可以求得機(jī)器人運(yùn)動的正解和逆解。為了對機(jī)器人的關(guān)節(jié)空間運(yùn)動進(jìn)行規(guī)劃,需要求得關(guān)節(jié)運(yùn)動的位置點(diǎn)。根據(jù)機(jī)器人逆運(yùn)動學(xué)特征可以求出關(guān)節(jié)的運(yùn)動位置點(diǎn)。
為了確保機(jī)器人末端爪手的笛卡爾空間坐標(biāo)是可達(dá)的,選擇使用機(jī)器人的正向運(yùn)動求解起點(diǎn)和終點(diǎn)。起點(diǎn)位置用js=[0 0 0 0 0 0]求得,終點(diǎn)用je=[pi/2 0 pi/2 0 0 pi/2]求得。根據(jù)MATLAB機(jī)器人仿真函數(shù)庫Robotics Tools 9.0對其進(jìn)行正向求解。式(1)求得末端爪手的起點(diǎn)位置,式(2)求得末端爪手的終點(diǎn)位置。式子中的fkine()為求正解函數(shù),p560為PUMA560機(jī)器人模型,js和je為各關(guān)節(jié)起止位置的角度關(guān)節(jié)起止位置的角度,Hs和He為末端的齊次變化坐標(biāo)矩陣。
Hs=fkine(p560,js)
(1)
He=fkine(p560,je)
(2)
為了將路徑分為多個(gè)區(qū)間,使用函數(shù)ctraj()將路徑分為多個(gè)區(qū)間,如式(3)所示:
Hc=ctraj(Hs,He,4)
(3)
Hc中包含4個(gè)齊次變換坐標(biāo)矩陣,將路徑分為3個(gè)區(qū)間。由Hc可以獲得4個(gè)路徑點(diǎn)的笛卡爾空間坐標(biāo)點(diǎn),如表2所示。
表2 機(jī)器人末端運(yùn)動軌跡路徑點(diǎn)
根據(jù)齊次坐標(biāo)變換矩陣可以求得機(jī)器人的運(yùn)動學(xué)逆解,即求得關(guān)節(jié)運(yùn)動軌跡區(qū)間路徑點(diǎn)。求逆解如式(4)所示:
Q=ikine6s(p560,Hc)
(4)
式(4)求得關(guān)節(jié)的路徑點(diǎn)解,前3個(gè)關(guān)節(jié)的路徑點(diǎn)的解如表3所示。
表3 路徑點(diǎn)各關(guān)節(jié)的解
(1)采用高次多項(xiàng)式插值的方法對機(jī)器人關(guān)節(jié)空間運(yùn)動進(jìn)行插值,實(shí)驗(yàn)中將關(guān)節(jié)空間運(yùn)動路徑分為3個(gè)區(qū)間。設(shè)關(guān)節(jié)運(yùn)動的位置為q1~q3,不同區(qū)間的時(shí)間為t1~t3。關(guān)節(jié)空間運(yùn)動位置與時(shí)間的關(guān)系如式(5)~式(7)所示:
(5)
(6)
(7)
根據(jù)式(5)~式(7)可以求出機(jī)器人關(guān)節(jié)運(yùn)動各點(diǎn)的速度和加速度計(jì)算公式。速度計(jì)算如式(8)~式(10)所示,加速度如式(11)~式(13)所示。
(8)
(9)
(10)
(11)
(12)
(13)
根據(jù)已知條件,不同時(shí)刻所經(jīng)過的路徑點(diǎn)和不同時(shí)刻機(jī)器人的運(yùn)動狀態(tài),可以得出以下3組式子。設(shè)4個(gè)路徑點(diǎn)的值為Q(1)~Q(4),3個(gè)區(qū)間的運(yùn)動時(shí)間為t(1)~t(3)。
第一區(qū)間求解參數(shù)公式如式(14)所示:
(14)
第二區(qū)間求參數(shù)公式如式(15)所示:
(15)
第三區(qū)間求參數(shù)公式如式(16)所示:
(16)
根據(jù)式(14)~式(16)可以求出高次多項(xiàng)式的參數(shù)。從而可以求出關(guān)節(jié)空間運(yùn)動的軌跡公式、速度公式和加速度公式,可以根據(jù)公式求出任意時(shí)刻的位置、速度和加速度。
(2)基于粒子群算法的關(guān)節(jié)空間軌跡規(guī)劃優(yōu)化需要選取若干粒子作為優(yōu)化對象。實(shí)驗(yàn)中以完成三個(gè)區(qū)間的運(yùn)動所用時(shí)間(t1,t2,t3)組成一個(gè)三維粒子,隨機(jī)生成20組粒子。粒子的值均在[4,5]之間。粒子的適應(yīng)函數(shù)如式(17)所示:
fitness=t1+t2+t3
(17)
根據(jù)適應(yīng)度函數(shù)計(jì)算粒子的適應(yīng)度值。選取單個(gè)粒子中適應(yīng)度值最小的作為局部最優(yōu)粒子pBest和所有粒子中適應(yīng)度值最小的作為全局最優(yōu)粒子gBest。
除適應(yīng)度函數(shù)外還需要確定更新粒子速度公式(18)中的各個(gè)參數(shù)。慣性權(quán)重W,W最大為Wmax=0.9,最小為Wmin=0.5,W隨著迭代次數(shù)n的增加不斷減小,變化如公式(20)所示。學(xué)習(xí)因子C1和C2均為1.5。隨機(jī)因子r1和r2為[0,1]之間的隨機(jī)數(shù),通過MATLAB函數(shù)rand()生成。
v[m]=w·v[m]+c1·r1·(pBest[m]-
present[m])+c2·r2·
(pBest[m]-present[m])
(18)
present[m]=present[m]+v[m]
(19)
W=Wmax-(Wmax-Wmin)·(n/N)
(20)
在本次實(shí)驗(yàn)過程中除了滿足普通約束條件外還需要滿足機(jī)器人關(guān)節(jié)空間運(yùn)動的 約束條件,即關(guān)節(jié)運(yùn)動的速度和加速度不能超過規(guī)定的最大速度Vmax和最大加速度amax。由公式(8)~公式(13)可以求出不同粒子下的最大速度V和最大加速度a。所以約束條件如式(21)所示:
(21)
通過帶約束條件的粒子群優(yōu)化算法完成對關(guān)節(jié)空間運(yùn)動軌跡規(guī)劃的時(shí)間優(yōu)化,獲得關(guān)節(jié)運(yùn)動的最短運(yùn)動時(shí)間。
實(shí)現(xiàn)優(yōu)化過程,首先驗(yàn)證粒子是否符合式(21)中的約束條件。滿足則使用式(17)將適應(yīng)度值計(jì)算出來,否則置為無窮大。將各個(gè)粒子的適應(yīng)度值保存起來。從20個(gè)粒子中通過比較適應(yīng)度值,選取適應(yīng)度值最小,即完成規(guī)劃運(yùn)動所用時(shí)間最少,作為全局最優(yōu)粒子。通過N次迭代不斷更新粒子,計(jì)算適應(yīng)度值,選出最優(yōu)粒子,從而得到約束條件下的最優(yōu)解,即關(guān)節(jié)空間軌跡規(guī)劃最短時(shí)間。
本文中采用基于粒子群優(yōu)化算法的高次多項(xiàng)式插值方法對機(jī)器人關(guān)節(jié)空間運(yùn)動進(jìn)行軌跡優(yōu)化。保證了關(guān)節(jié)運(yùn)動軌跡的平滑穩(wěn)定。
對于關(guān)節(jié)機(jī)器人如圖1a所示,是一款自主研發(fā)的關(guān)節(jié)型通用機(jī)器人,運(yùn)動精度高,靈活性好,結(jié)構(gòu)緊湊,占地面積小,可連續(xù)作業(yè),提高設(shè)備的利用率,保障生產(chǎn)效率,可運(yùn)用于機(jī)床上下料等多個(gè)領(lǐng)域。
為了最大限度的發(fā)揮該款機(jī)器人的優(yōu)勢,自主研發(fā)了與該款機(jī)器人配套的專用控制器,如圖1b所示。圖1b中的控制器具有簡單易用的操作界面和國際領(lǐng)先的總線數(shù)據(jù)傳輸形式,非PLC控制,降低干擾,定位更精確,響應(yīng)速度快,可存儲多種程序,換產(chǎn)更便捷。
(a)關(guān)節(jié)型通用機(jī)器人 (b)關(guān)節(jié)型通用機(jī)器人控制器圖1 關(guān)節(jié)型通用機(jī)器人
將優(yōu)化程序加入控制終端,通過控制器操作可以完成預(yù)期的軌跡運(yùn)動。說明該軌跡優(yōu)化算法可以運(yùn)用于實(shí)際機(jī)器人控制中。
按照圖1a、圖1b所示的機(jī)器人與控制器之間的工作原理在表4中的約束條件下進(jìn)行仿真驗(yàn)證,各個(gè)關(guān)節(jié)的速度和加速度約束條件如表4所示。
表4 速度和加速度約束條件
得到以下結(jié)果。關(guān)節(jié)運(yùn)動的位置和時(shí)間關(guān)系如圖2所示。
圖2 位置-時(shí)間關(guān)系圖
關(guān)節(jié)運(yùn)動的速度和時(shí)間關(guān)系如圖3所示,從圖中可以看出速度在整個(gè)運(yùn)動過程中都是連續(xù)的。
圖3 速度-時(shí)間關(guān)系圖
關(guān)節(jié)運(yùn)動的加速度和時(shí)間關(guān)系如圖4所示,從圖中可以看出整個(gè)過程中加速度是連續(xù)的,并且在開始和終止時(shí)都為零,使關(guān)節(jié)能夠平穩(wěn)的停下來。
圖4 加速度-時(shí)間關(guān)系圖
關(guān)節(jié)空間軌跡運(yùn)動時(shí)間與迭代次數(shù)的收斂關(guān)系如圖5所示,從圖中可以看出迭代若干次之后,時(shí)間快速收斂到最優(yōu)時(shí)間。
圖5 時(shí)間收斂圖
從圖2中可以看出關(guān)節(jié)在相應(yīng)的時(shí)刻到達(dá)預(yù)期的位置。從圖3中可以看出,關(guān)節(jié)的起始速度和結(jié)束速度均為0,并且運(yùn)動過程速度連續(xù),保證了機(jī)器人關(guān)節(jié)運(yùn)動的穩(wěn)定。從圖4中可以看出關(guān)節(jié)運(yùn)動的加速度連續(xù),并且始末加速度均為0,既保證了機(jī)器人關(guān)節(jié)運(yùn)動的穩(wěn)定性,減少了關(guān)節(jié)運(yùn)動過程中的震蕩。
在圖2~圖4的前提下,以關(guān)節(jié)1的優(yōu)化結(jié)果為例得出如表5所示的優(yōu)化結(jié)果。
表5 關(guān)節(jié)優(yōu)化結(jié)果
從表5中可以看出,完成規(guī)定的運(yùn)動初始時(shí)間是12s。經(jīng)過優(yōu)化后有了明顯的改善,由原來的12s降到了現(xiàn)在的7.4s甚至5s就可以完成,說明該方法真實(shí)可行。在保證運(yùn)動軌跡平滑穩(wěn)定的前提下,提高了機(jī)器人的工作效率。
通過論文中的設(shè)計(jì)實(shí)驗(yàn)使機(jī)器人關(guān)節(jié)空間軌跡運(yùn)動時(shí)間縮短超過40%,由原來的12s縮短到優(yōu)化后的7.4s。與使用遺傳算法等優(yōu)化算法比較,用粒子群算法對機(jī)器人空間軌跡進(jìn)行優(yōu)化,不僅優(yōu)化結(jié)果明顯,而且粒子群算法結(jié)構(gòu)簡單,易于實(shí)現(xiàn)。結(jié)果表明按照論文中的方法對機(jī)器人的關(guān)節(jié)空間軌跡運(yùn)動時(shí)間進(jìn)行優(yōu)化,對改善機(jī)器人的性能有很大幫助。
論文中的實(shí)驗(yàn)是使用基于約束條件下的粒子群算法進(jìn)行優(yōu)化。通過改進(jìn)粒子群算法也能完成對機(jī)器人關(guān)節(jié)空間運(yùn)動軌跡時(shí)間優(yōu)化,優(yōu)化的關(guān)鍵點(diǎn)在于選取優(yōu)化對象,如可以選取路徑點(diǎn)作為優(yōu)化目標(biāo)等。后續(xù)將在這些方面展開進(jìn)一步研究。
[參考文獻(xiàn)]
[1] 馬睿,胡曉兵,殷國富,等.六關(guān)節(jié)工業(yè)機(jī)器人最短時(shí)間軌跡優(yōu)化[J].機(jī)械設(shè)計(jì)與制造,2014(4):30-32,35.
[2] 馬丹妮,李傳江,張自強(qiáng).基于遺傳算法的七自由度機(jī)器人軌跡規(guī)劃[J].實(shí)驗(yàn)室研究與探索,2016(9):33-37.
[3] 赫建立,朱龍英,成磊,等.基于遺傳算法的6-DOF機(jī)器人最優(yōu)時(shí)間軌跡規(guī)劃[J].機(jī)械傳動,2015(9):41-45.
[4] 郭清達(dá),萬傳恒,史步海.基于遺傳算法的工業(yè)機(jī)器人時(shí)間最優(yōu)軌跡規(guī)劃及仿真研究[J].計(jì)算機(jī)測量與控制,2014,22(4):1240-1242.
[5] 惲為民,席裕庚.基于遺傳算法的機(jī)器人關(guān)節(jié)空間最優(yōu)運(yùn)動規(guī)劃[J].機(jī)器人, 1995(4): 206-217.
[6] 勾月凱,葛為民,王肖鋒,等.基于粒子群算法的可重構(gòu)模塊化機(jī)器人速度約束下軌跡規(guī)劃[J].天津理工大學(xué)學(xué)報(bào),2016,32(5):6-11,47.
[7] 李小為,胡立坤,王琥.速度約束下PSO的六自由度機(jī)械臂時(shí)間最優(yōu)軌跡規(guī)劃[J].智能系統(tǒng)學(xué)報(bào),2015,10(3):393-398.
[8] Fang Gao,Qiang Zhao,Gui-Xian Li. Path Planning of Continuum Robot Base donaNew Improved Particle Swarm Optimization Algorithm [J].Journal of Harbin Institute of Technology,2013(4):78-84.
[9] Ellips MASEHIAN, Davoud SEDIGHIZADEH. Multi-objective robot motion planning using aparticle swarm optimization model [J].Journal of Zhejiang University- Science C(Computers & Electronics),2010 (8):607-619.
[10] 于楚泓.基于MATLAB的機(jī)器人運(yùn)動學(xué)建模及仿真分析[J].機(jī)電信息,2017(9):78-79.
[11] 董慧穎,梁爽.基于MATLAB的PUMA560機(jī)器人運(yùn)動學(xué)仿真[J].無線互聯(lián)科技,2014(5):179-180.
[12] 姚禹.粒子群優(yōu)化算法的發(fā)展及應(yīng)用[J]. 信息記錄材料,2009(4):50-54.