趙聰慧,趙長(zhǎng)海,朱明超
(1.中國(guó)科學(xué)院 長(zhǎng)春光學(xué)精密機(jī)械與物理研究所,吉林 長(zhǎng)春 130033;2.中國(guó)科學(xué)院大學(xué) 材料科學(xué)與光電技術(shù)學(xué)院,北京 100049 )
目前,機(jī)械臂被廣泛應(yīng)用于工業(yè)自動(dòng)化生產(chǎn)線,數(shù)控加工等領(lǐng)域。由于傳統(tǒng)機(jī)械臂構(gòu)型不可改變,在面對(duì)多變化、小批量的生產(chǎn)需求時(shí),存在設(shè)計(jì)周期長(zhǎng)、生產(chǎn)成本高的問(wèn)題。為此,模塊化機(jī)械臂以其構(gòu)型可重構(gòu)、模塊可替換等特點(diǎn),已經(jīng)成為替代傳統(tǒng)機(jī)械臂的首選方案[1-3]。目前,模塊化機(jī)械臂被廣泛應(yīng)用在工業(yè)生產(chǎn)、林業(yè)建筑、農(nóng)業(yè)采摘、航天作業(yè)等各個(gè)領(lǐng)域[4-5]。
CHEN、YANG[6]在1996年提出了一種新型的模塊化可重構(gòu)機(jī)器人系統(tǒng),其特點(diǎn)是將模塊數(shù)量作為設(shè)計(jì)變量,用盡量少的模塊滿足任務(wù)要求。該系統(tǒng)基于搭積木原理,所有的模塊被設(shè)計(jì)為立方體的形式,可以在立方體不同的方向上進(jìn)行連接。這種類型的機(jī)械臂模塊具有很好的通用性,但在面向具體任務(wù)進(jìn)行機(jī)械臂構(gòu)型設(shè)計(jì)時(shí)專用性不強(qiáng),且構(gòu)型設(shè)計(jì)過(guò)程中構(gòu)型的表示方式較為復(fù)雜。
近年來(lái),模塊化機(jī)械臂的研究方向多集中在模塊設(shè)計(jì)、構(gòu)型設(shè)計(jì)、運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)模型、控制系統(tǒng)等幾個(gè)方面[7]。模塊化機(jī)械臂的設(shè)計(jì)都是面向給定任務(wù)的,設(shè)計(jì)的參數(shù)是機(jī)械臂的完整構(gòu)型[8],可以用連桿裝配矩陣、有根樹(shù)狀拓?fù)浣Y(jié)構(gòu)圖[9-10]、Denavit-Hartenberg參數(shù)(DH矩陣)[11]等方式表示。在對(duì)模塊化機(jī)械臂構(gòu)型進(jìn)行優(yōu)化設(shè)計(jì)時(shí),常用遺傳算法、模擬退火法、粒子群算法和枚舉法等優(yōu)化方法對(duì)構(gòu)型進(jìn)行尋優(yōu)和選取。同時(shí),為保證機(jī)械臂的綜合性能,CHOI[12]提出了采用動(dòng)力學(xué)和運(yùn)動(dòng)學(xué)指標(biāo)相結(jié)合的多目標(biāo)加權(quán)融合方法,作為機(jī)械臂構(gòu)型優(yōu)劣的判斷標(biāo)準(zhǔn)。但對(duì)模塊化機(jī)械臂而言,由于構(gòu)型是根據(jù)給定模塊靈活組合而成的,系統(tǒng)動(dòng)力學(xué)模型很難獲得[13],這就使得針對(duì)動(dòng)力學(xué)性能的構(gòu)型評(píng)價(jià)指標(biāo)難以獲取。
為了提升構(gòu)型設(shè)計(jì)效率,筆者提出一種基于重力勢(shì)能的多目標(biāo)機(jī)械臂構(gòu)型設(shè)計(jì)方法,在保證機(jī)械臂靈活性的同時(shí),能夠減小自重對(duì)機(jī)械臂輸出精度的影響。
為采用模塊化機(jī)械臂設(shè)計(jì)方案,首先須建立模塊化機(jī)械臂模塊庫(kù),主要包括關(guān)節(jié)模塊和連桿模塊。
(1)關(guān)節(jié)模塊。作為機(jī)械臂最基礎(chǔ)的模塊,關(guān)節(jié)模塊為機(jī)械臂的運(yùn)動(dòng)提供驅(qū)動(dòng)力,其簡(jiǎn)圖如圖1所示。
圖1 關(guān)節(jié)模塊
筆者選擇兩種轉(zhuǎn)動(dòng)關(guān)節(jié)模塊,分別為水平型和豎直型,關(guān)節(jié)轉(zhuǎn)角范圍為±120°,質(zhì)量為4.8 kg。
(2)連桿模塊。連桿模塊連接相鄰的關(guān)節(jié)模塊,用來(lái)固定關(guān)節(jié)的相對(duì)位置。當(dāng)關(guān)節(jié)模塊種類較少時(shí),可以通過(guò)選用軸線方向不同的連桿模塊來(lái)改變關(guān)節(jié)的轉(zhuǎn)動(dòng)方向[14-16],從而增加機(jī)械臂構(gòu)型的種類。
為了保證關(guān)節(jié)之間的每種連接都能實(shí)現(xiàn),連桿模塊如圖2所示。
圖2 連桿模塊
筆者選取的連桿模塊有兩種類型,每種連桿模塊有4種不同的長(zhǎng)度。圓柱型連桿長(zhǎng)度為0.06 m、0.11 m、0.16 m和0.21 m,拐角型連桿長(zhǎng)度為0.09 m、0.17 m、0.25 m和0.33 m。模塊庫(kù)中所有模塊的接口都是相同的,能夠滿足裝配關(guān)系。
筆者將機(jī)械臂坐標(biāo)系建立在機(jī)械臂的每個(gè)關(guān)節(jié)處,機(jī)械臂構(gòu)型可以由改進(jìn)DH矩陣表示;為了便于構(gòu)型的進(jìn)一步優(yōu)化設(shè)計(jì),對(duì)模塊進(jìn)行編碼,其示意圖如圖3所示。
圖3 編碼示意圖
n自由度的機(jī)械臂構(gòu)型可以由6n位二進(jìn)制字符串表示,字符串分為n組,每組有6位二進(jìn)制字符,每組字符串的第1位表示關(guān)節(jié)模塊的類型,包括水平型(J1)和豎直型(J2);第2和第3位表示機(jī)械臂當(dāng)前關(guān)節(jié)與前一個(gè)關(guān)節(jié)的相對(duì)位置關(guān)系(第1個(gè)關(guān)節(jié)的2、3位表示機(jī)械臂第一關(guān)節(jié)與大地坐標(biāo)系z(mì)軸的關(guān)系),分為關(guān)節(jié)軸線平行(0°、180°)和關(guān)節(jié)軸線垂直(-90°、90°)兩種;第4位表示連接當(dāng)前關(guān)節(jié)與下一個(gè)關(guān)節(jié)的連桿類型,包括圓柱型(L0)和拐角型(L1);第5和第6位表示連桿的長(zhǎng)度(L01~L04,L11~L14)。
2.1.1 評(píng)價(jià)函數(shù)
在對(duì)模塊化機(jī)械臂進(jìn)行構(gòu)型設(shè)計(jì)時(shí),需要設(shè)定評(píng)價(jià)標(biāo)準(zhǔn)用以判斷機(jī)械臂的優(yōu)劣。模塊化機(jī)械臂的構(gòu)型設(shè)計(jì)都是面向任務(wù)的,對(duì)構(gòu)型優(yōu)劣的評(píng)價(jià)標(biāo)準(zhǔn)也要根據(jù)任務(wù)設(shè)定。一般任務(wù)要求下的構(gòu)型評(píng)價(jià)標(biāo)準(zhǔn)有:
(1)可操作度。
可操作度是評(píng)價(jià)機(jī)械臂靈活性的常用指標(biāo)。為保證機(jī)械臂靈活性,通過(guò)機(jī)械臂關(guān)節(jié)空間的運(yùn)動(dòng)控制機(jī)械臂末端的運(yùn)動(dòng)時(shí),須使機(jī)械臂在末端空間每一個(gè)方向上的運(yùn)動(dòng)能力是相同的,即機(jī)械臂關(guān)節(jié)空間速度轉(zhuǎn)換為末端速度時(shí),末端各個(gè)方向上速度的轉(zhuǎn)換能力相同。
機(jī)械臂的運(yùn)行學(xué)特征方程可以表示為:
(1)
一般情況下,選用雅克比矩陣的條件數(shù)表示機(jī)械臂的可操作度。對(duì)于機(jī)械臂運(yùn)動(dòng)學(xué)傳遞(1)來(lái)說(shuō),可操作度的值越大,機(jī)械臂關(guān)節(jié)空間的靈活性越好;但當(dāng)可操作度趨于無(wú)窮大時(shí),即:
(2)
此時(shí),機(jī)械臂末端速度的各向同性變差,機(jī)械臂末端某些方向的速度將不受關(guān)節(jié)空間速度的影響,此時(shí)的機(jī)械臂處于奇異位姿。
機(jī)械臂可操作度作為評(píng)價(jià)函數(shù)可以表示為:
(3)
E1≤ε
(4)
式中:n—給定任務(wù)點(diǎn)數(shù);Ji—機(jī)械臂在第i個(gè)任務(wù)點(diǎn)處的雅克比矩陣;cond(J(q)i)—機(jī)械臂在第i個(gè)任務(wù)點(diǎn)處雅克比矩陣的條件數(shù);ε—雅克比矩陣允許的最大奇異值,一般取ε=100。
(2)在任務(wù)點(diǎn)處所需克服重力。
對(duì)于處于完整約束的機(jī)械臂系統(tǒng),可以用拉格朗日方程來(lái)描述該系統(tǒng)隨時(shí)間的變化。拉格朗日函數(shù)定義為:
L=K-P
(5)
式中:L—拉格朗日函數(shù);K—系統(tǒng)總動(dòng)能;P—系統(tǒng)總勢(shì)能。
系統(tǒng)的拉格朗日-歐拉方程可以表示為:
(6)
將拉格朗日-歐拉方程展開(kāi)可以得到:
(7)
式中:D—機(jī)械臂系統(tǒng)的能量損耗。
在不考慮能耗時(shí),拉格朗日-歐拉方程可以表示為:
(8)
對(duì)于工業(yè)機(jī)械臂而言,其關(guān)節(jié)變量可以通過(guò)電位計(jì)、軸角編碼器等傳感器測(cè)量得到,所以工業(yè)機(jī)械臂的廣義坐標(biāo)可以由機(jī)械臂的關(guān)節(jié)變量來(lái)表示。對(duì)于一個(gè)n自由度機(jī)械臂系統(tǒng),其機(jī)械臂運(yùn)動(dòng)學(xué)轉(zhuǎn)換關(guān)系為:
(9)
其動(dòng)能可以表示為:
(10)
式中:D(q)—機(jī)械臂慣性矩陣;vi—第i個(gè)關(guān)節(jié)質(zhì)心的速度。
系統(tǒng)勢(shì)能可以表示為:
(11)
式中:hi—第i個(gè)關(guān)節(jié)質(zhì)心到參考平面的高度。
將式(5~11)進(jìn)行整理,可以得到如下表達(dá)式:
(12)
由力矩方程可知:影響力矩的因素,除了機(jī)械臂角速度和角加速度以外,主要是機(jī)械臂自身的構(gòu)型參數(shù)。對(duì)于工業(yè)機(jī)械臂來(lái)說(shuō),如果在其運(yùn)動(dòng)過(guò)程中所需克服的重力過(guò)大,不僅會(huì)增加機(jī)械臂的運(yùn)動(dòng)能耗,還會(huì)降低機(jī)械臂的輸出精度。
筆者對(duì)機(jī)械臂力矩重力項(xiàng)進(jìn)行優(yōu)化,選用機(jī)械臂在任務(wù)點(diǎn)處運(yùn)動(dòng)所需克服重力作為評(píng)價(jià)標(biāo)準(zhǔn)。對(duì)于給定空間任務(wù)的機(jī)械臂,在執(zhí)行任務(wù)過(guò)程中,機(jī)械臂滿足軌跡規(guī)劃終端條件,即在任務(wù)點(diǎn)處有:
(13)
(14)
此時(shí),機(jī)械臂力矩全部用來(lái)克服自身重力,機(jī)械臂傳遞函數(shù)為:
T1=A1
(15)
Ti=Ti-1A2
(16)
式中:Ai—機(jī)械臂第i個(gè)關(guān)節(jié)的連桿變換矩陣;Ti—機(jī)械臂第i個(gè)連桿末端位置相對(duì)于世界坐標(biāo)系的變換矩陣。
以機(jī)械臂在任務(wù)點(diǎn)處所需克服的重力作為評(píng)價(jià)函數(shù),可以表示為:
(17)
式中:[Ti]34—機(jī)械臂第i個(gè)關(guān)節(jié)的高度位置坐標(biāo)(下標(biāo)34表示傳遞函數(shù)矩陣第3行第4列的元素);mi—機(jī)械臂第i個(gè)連桿的質(zhì)量;—機(jī)械臂第i個(gè)關(guān)節(jié)的質(zhì)量。
根據(jù)可重構(gòu)機(jī)械臂構(gòu)型設(shè)計(jì)特點(diǎn),多目標(biāo)構(gòu)型優(yōu)化設(shè)計(jì)評(píng)價(jià)函數(shù)定義為,可操作度和目標(biāo)點(diǎn)處所需克服重力加權(quán)求差,即:
E=α1E1-α2E2
(18)
式中:α1,α2—評(píng)價(jià)標(biāo)準(zhǔn)的權(quán)重參數(shù)。
2.1.2 約束條件
(1)在機(jī)械臂面向任務(wù)進(jìn)行構(gòu)型設(shè)計(jì)時(shí),為了保證機(jī)械臂執(zhí)行器能夠順利到達(dá)目標(biāo)點(diǎn),需要考慮機(jī)械臂末端執(zhí)行器對(duì)任務(wù)點(diǎn)的可達(dá)性,即機(jī)械臂的誤差值需小于允許的最大誤差,即:
max(Δi+δi)≤σ
(19)
式中:Δi,δi—第i個(gè)目標(biāo)點(diǎn)處的位置誤差和姿態(tài)誤差;σ—機(jī)械臂所允許的最大誤差值。
(2)為了使機(jī)械臂能夠在完成任務(wù)的過(guò)程中避開(kāi)機(jī)械奇異點(diǎn),對(duì)機(jī)械臂進(jìn)行構(gòu)型設(shè)計(jì)時(shí),需要考慮機(jī)械臂每個(gè)關(guān)節(jié)的轉(zhuǎn)角范圍,機(jī)械臂的轉(zhuǎn)角需滿足如下約束:
ai≤qi≤bi
(20)
式中:qi—機(jī)械臂第i個(gè)關(guān)節(jié)的關(guān)節(jié)角;ai,bi—第i個(gè)關(guān)節(jié)的轉(zhuǎn)角范圍。
在進(jìn)行機(jī)械臂構(gòu)型設(shè)計(jì)時(shí),首先要根據(jù)任務(wù)特點(diǎn)選擇適應(yīng)度值評(píng)價(jià)標(biāo)準(zhǔn),適應(yīng)度評(píng)估的標(biāo)準(zhǔn)決定了機(jī)械臂對(duì)給定任務(wù)的適應(yīng)性。
適應(yīng)度評(píng)估流程如圖4所示。
圖4 適應(yīng)度評(píng)估流程
在進(jìn)行適應(yīng)度值計(jì)算之前,須先驗(yàn)證該構(gòu)型是否滿足約束條件。對(duì)滿足約束條件的構(gòu)型,用式(3,7,18)計(jì)算機(jī)械臂的適應(yīng)度值。
對(duì)于模塊種類少且所需自由度少的機(jī)械臂,可以用枚舉法列舉出所有構(gòu)型并逐一分析;但當(dāng)模塊變量較多或自由度需求較大時(shí),需要借助優(yōu)化算法進(jìn)行構(gòu)型設(shè)計(jì)。
常用的優(yōu)化算法有模擬退火法、粒子群算法和遺傳算法。其中:(1)模擬退火法。初始溫度設(shè)置較為復(fù)雜,設(shè)置溫度過(guò)高會(huì)使計(jì)算時(shí)間過(guò)長(zhǎng),設(shè)置溫度過(guò)低搜索易陷入局部最優(yōu);(2)粒子群算法。主要應(yīng)用在連續(xù)問(wèn)題中,應(yīng)用于機(jī)械臂構(gòu)型設(shè)計(jì)時(shí)容易陷入局部最優(yōu);(3)遺傳算法。是一種全局算法,在構(gòu)型設(shè)計(jì)時(shí)能夠得到一組最優(yōu)解的集合,在得到全局最優(yōu)解的同時(shí)增加構(gòu)型的選擇性。
所以筆者采用遺傳算法對(duì)構(gòu)型進(jìn)行優(yōu)化設(shè)計(jì),其構(gòu)型設(shè)計(jì)流程如圖5所示。
圖5 構(gòu)型設(shè)計(jì)流程
在遺傳算法中,機(jī)械臂構(gòu)型的初始種群是根據(jù)編碼形式隨機(jī)生成的,通過(guò)交叉變異運(yùn)算和最優(yōu)值保存策略,可使設(shè)計(jì)結(jié)果具有全局性和收斂性。
給定一個(gè)噴涂路徑,按照路徑順序選取10個(gè)空間點(diǎn)作為目標(biāo)任務(wù)點(diǎn),如表1所示。
表1 目標(biāo)任務(wù)點(diǎn)
設(shè)計(jì)一個(gè)噴涂機(jī)械臂,要求設(shè)計(jì)得到的機(jī)械臂末端能夠依次經(jīng)過(guò)給定任務(wù)點(diǎn)。對(duì)于給定的空間噴涂任務(wù)來(lái)說(shuō),只要設(shè)計(jì)得到的機(jī)械臂末端能夠到達(dá)目標(biāo)位置,對(duì)于機(jī)械臂末端姿態(tài)沒(méi)有要求,所以可以確定設(shè)計(jì)機(jī)械臂為三自由度。
要使設(shè)計(jì)的機(jī)械臂更好地滿足任務(wù)要求,還需要在上述基礎(chǔ)上,考慮機(jī)械臂在任務(wù)點(diǎn)處的可操作度和所需克服的重力,采用運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)相結(jié)合的多目標(biāo)評(píng)價(jià)標(biāo)準(zhǔn),選用遺傳算法對(duì)機(jī)械臂構(gòu)型進(jìn)行優(yōu)化設(shè)計(jì)。
筆者設(shè)定遺傳算法中每代機(jī)械臂種群大小為50,優(yōu)化代數(shù)為100,交叉概率為0.2,變異概率為0.05,適應(yīng)度權(quán)重參數(shù)為α1=0.5,α2=0.5。優(yōu)化設(shè)計(jì)結(jié)果
機(jī)械臂DH參數(shù)如表2所示。
表2 機(jī)械臂DH參數(shù)
θi—機(jī)械臂第i個(gè)關(guān)節(jié)的關(guān)節(jié)變量
機(jī)械臂模型示意圖如圖6所示。
圖6 機(jī)械臂模型示意圖
該機(jī)械臂由3個(gè)旋轉(zhuǎn)關(guān)節(jié)組成,機(jī)械臂第一個(gè)關(guān)節(jié)坐標(biāo)系與地面坐標(biāo)系重合,第三連桿末端連接執(zhí)行器模塊。
此時(shí)得到的機(jī)械臂構(gòu)型滿足可達(dá)性和關(guān)節(jié)角度約束,可以滿足給定任務(wù)要求。
其適應(yīng)度變化曲線如圖7所示。
圖7 適應(yīng)度變化曲線
由圖7可以看出:在第10代左右出現(xiàn)了能夠滿足任務(wù)要求的機(jī)械臂構(gòu)型;在第28代出現(xiàn)了滿足任務(wù)要求的最優(yōu)構(gòu)型;此后適應(yīng)度值最大的機(jī)械臂構(gòu)型由最優(yōu)值保留策略保存下來(lái);滿足任務(wù)的最優(yōu)構(gòu)型的適應(yīng)度為28.963 8。
綜上所述,綜合考慮機(jī)械臂靈活性和所需克服重力,在滿足任務(wù)要求的前提下最后得到的構(gòu)型擁有最優(yōu)性能,既保證了機(jī)械臂的靈活性,又使得機(jī)械臂在完成任務(wù)過(guò)程中所需克服的重力最小。
面對(duì)模塊化機(jī)械臂構(gòu)型設(shè)計(jì)時(shí)減小自重的需求,筆者提出了一種基于重力勢(shì)能的多目標(biāo)機(jī)械臂構(gòu)型設(shè)計(jì)方法,采用遺傳算法對(duì)機(jī)械臂進(jìn)行了優(yōu)化設(shè)計(jì),并通過(guò)焊接機(jī)械臂實(shí)例驗(yàn)證了該設(shè)計(jì)方法的可行性;為了保證機(jī)械臂在減小自重的同時(shí)擁有更好的靈活性,選用機(jī)械臂在任務(wù)點(diǎn)處的可操作度和機(jī)械臂在運(yùn)動(dòng)過(guò)程中所需要克服的重力,作為綜合定量指標(biāo);為了保證優(yōu)化結(jié)果的全局性,選用遺傳算法對(duì)機(jī)械臂構(gòu)型進(jìn)行了優(yōu)化設(shè)計(jì)。
仿真結(jié)果表明:滿足任務(wù)的最優(yōu)構(gòu)型適應(yīng)度為28.963 8,說(shuō)明經(jīng)過(guò)優(yōu)化設(shè)計(jì)所得到的機(jī)械臂,在滿足任務(wù)要求的基礎(chǔ)上,能夠擁有更好的靈活性和更小的自重。