姚學(xué)峰 李 超
(1. 沈陽職業(yè)技術(shù)學(xué)院,遼寧 沈陽 110045;2. 遼寧科技大學(xué),遼寧 鞍山 114051)
隨著工業(yè)4.0時代的來臨,各國都著眼于制造業(yè)的轉(zhuǎn)型升級,提高制造和自動化水平[1]。在包裝、醫(yī)藥、食品等領(lǐng)域,大量的抓取和搬運需要反復(fù)進行。Delta機器人以其高剛度、高運動速度、高承載比等優(yōu)點在食品、醫(yī)療等輕工業(yè)中得到廣泛應(yīng)用[2]。為了實現(xiàn)Delta機器人的穩(wěn)定高速運行,充分發(fā)揮其高速運行的性能特點,有必要在工作環(huán)境中進行軌跡規(guī)劃,以實現(xiàn)機器人的軌跡最優(yōu)。
目前,國內(nèi)外研究人員對并聯(lián)機器人的軌跡規(guī)劃方法做了大量的研究,并取得了一些優(yōu)秀的成果。常用的軌跡規(guī)劃方法有多項式插值、B樣條曲線和Bezier曲線等[3]。韓基偉等[4]提出了一種基于過渡圓弧的Delta機器人運動軌跡規(guī)劃方法。結(jié)果表明,該機器人運動穩(wěn)定,無抖動缺陷,具有良好的動態(tài)特性。張浩宇等[5]提出了一種神經(jīng)網(wǎng)絡(luò)與NURBS算法相結(jié)合的軌跡規(guī)劃方法。結(jié)果表明,該策略的迭代次數(shù)和執(zhí)行時間相對較低,位置偏差控制在0.01 mm以內(nèi),方向偏差控制在0.01°以內(nèi)。劉現(xiàn)偉等[6]提出了一種基于疊加擺線運動規(guī)律的Delta機器人運動軌跡規(guī)劃方法。結(jié)果表明,該軌跡規(guī)劃方法相比于傳統(tǒng)方法運動更加平穩(wěn)、運行效率更高。劉現(xiàn)偉等[7]提出了一種基于合成運動的Delta機器人運動軌跡規(guī)劃方法。結(jié)果表明,基于合成運動的圓弧軌跡運動特性曲線比傳統(tǒng)方法軌跡運動特性曲線更平滑、更自然,角加速度峰值和終端加速度峰值分別降低了60%和80%。但上述研究也存在一些問題,如曲線連接不光滑、計算復(fù)雜等,需要進一步提高適應(yīng)性。
研究針對Delta并聯(lián)機器人的最優(yōu)運動時間,擬提出一種基于NURBS插值算法和改進遺傳算法的食品分揀機器人軌跡規(guī)劃方法,并采用改進的遺傳算法對NURBS樣條曲線進行優(yōu)化,通過仿真驗證該方法的可行性,以期為食品分揀機器人的研制提供一定的參考。
圖1所示高速并行食品分揀機器人的系統(tǒng)結(jié)構(gòu)。系統(tǒng)主要由兩部分組成:上位機系統(tǒng)和下位機系統(tǒng)。其中,下位機控制系統(tǒng)是Delta機器人的核心指令部分[8]。其主要功能是驅(qū)動機器人本體以穩(wěn)定、協(xié)調(diào)、快速的方式完成既定的運動規(guī)劃和抓取任務(wù),滿足工作要求。上位機系統(tǒng)的主要功能是可視化、模型分析、數(shù)據(jù)集成處理以及與下位機的信息交互。
圖1 系統(tǒng)結(jié)構(gòu)Figure 1 System structure
食品分揀機器人的本體結(jié)構(gòu)主要由三部分組成(見圖2):靜平臺、動平臺和3個運動支鏈[9]。動、靜平臺通過運動支鏈鏈接,靜平臺由電機座和固定座組成。動平臺安裝執(zhí)行器,主要完成物體抓取等操作。3個運動支鏈完成關(guān)節(jié)運動到空間位置的轉(zhuǎn)換。
圖3為機器人的簡化模型。對運動支鏈進行簡化,簡化為LA和LB。在動平臺和靜平臺上,3條支鏈的連接點以120°均勻分布,分別對動平臺和靜平臺進行簡化,得到兩個外圓半徑為R,r的等邊三角形機構(gòu)。
圖3 機器人簡化模型Figure 3 Food sorting robot model
為了規(guī)劃一條平滑的軌跡,并使任務(wù)時間最小化,提出了一種通過改進遺傳算法來優(yōu)化NURBS曲線。
2.1.1 目標函數(shù) 能耗和時間在Delta機器人軌跡優(yōu)化中應(yīng)用最為廣泛,文中采用最小時間法,其優(yōu)化函數(shù)如式(1)所示[10]。
(1)
式中:
T——規(guī)劃時間,ms;
hi——第i段曲線時間,ms;
n——型值點數(shù)。
2.1.2 約束條件 文中考慮插值點處的速度約束,如式(2)所示[11]。
(2)
式中:
Vmax——運行最大速度,mm/s;
ρi——曲率半徑,mm;
hmax——弓高誤差,μm;
An,max——法向加速度對速度的最大限值,mm/s2;
Ts——插補周期,ms。
NURBS作為通用數(shù)學(xué)描述方法,用于生成和表示曲線、曲面。NURBS曲線的一般形式定義如式(3)所示[12]。
(3)
式中:
u——曲線的控制變量,u∈[0,1];
n——插值點數(shù);
k——插值基函數(shù)次冪;
ωi——權(quán)值因子,ω1>0,ωn>0,其余均≥0;
Ni,k(u)——基函數(shù)。
節(jié)點向量選擇如式(4)所示[13]。
U=[u0,u1,…,uk,uk+1,…,un,un+1,…,un+k+1]。
(4)
其中僅規(guī)定開始節(jié)點向量和終止節(jié)點向量的選擇。通常選取u0=u=…=uk=0,un+1=…=un+k+1=1,有許多方法可以選擇中間n-k個向量。
Ni,k(u)基函數(shù)有許多表達式,文中采用deboor-Cox遞歸定義,如式(5)所示[14]。
(5)
從式(5)可以看出,插補過程用t表示u,然后對坐標點{F(t0),F(t1),…,F(tn)}進行計算。
插補是通過弦長直線來近似曲線,實際插補是求Δu的過程,可用式(3)和式(6)獲得所有插補點F(ui)[15]。
ui+1=ui+Δu。
(6)
如前所述,插補可以被視為將u看作是t的映射。同時,由于采用了離散控制系統(tǒng),得到了這種形式的離散形式。文中采用二階泰勒方法。
將u關(guān)于t的函數(shù)在時刻ti處展開,如等式(7)所示[16]。
(7)
由于插值時間非常短,因此省略余項O(t-ti)3,且取t=ti+1,插補周期Ts=ti+1-ti。將式(7)變換為如式(8)所示[17]。
(8)
插補的關(guān)鍵是求u對于t的一階導(dǎo)數(shù)和二階導(dǎo)數(shù)。如式(9)所示,速度可被視為曲線長度對時間的導(dǎo)數(shù)[18]。
(9)
如果已知當(dāng)前插值點ui,則可以獲得下一個時刻插值點的坐標ui+1。其中ui=u(ti),ui+1=u(ti+1)表示離散點的坐標,計算如式(10)所示[19]。
(10)
基于二階泰勒展開法插補算法流程圖如圖4所示。
圖4 算法流程圖Figure 4 Algorithm flow chart
為了規(guī)劃一條平滑的軌跡并盡可能縮短完成任務(wù)所需的時間,提出了一種通過改進遺傳算法來優(yōu)化NURBS曲線。文中采用一種改進的遺傳算法來加速種群的進化,可以取得更好的效果且降低運行時間。
2.3.1 初始化種群 初始種群分布要盡可能的均勻,以覆蓋所有類型的情況。這里,使用累積弦長法根據(jù)式(11)生成初始種群[20]。
(11)
式中:
Pi——型值點;
el——均勻遞增的實數(shù)序列。
由式(11)可以得到種群的初始值,分布也較為均勻。
2.3.2 優(yōu)化交叉和變異概率 為了實現(xiàn)保留最優(yōu)個體的目標,需要遵守兩個約束:① 盡可能多地保留最優(yōu)個體的基因來產(chǎn)生下一代,確保優(yōu)秀基因的遺傳[21];② 優(yōu)秀個體的變異概率要盡可能低,以避免破壞優(yōu)良基因[22]。為了滿足上述兩個條件,對交叉和變異概率進行優(yōu)化,如式(12)和式(13)所示。
(12)
(13)
式中:
pc1、pc2——交叉概率;
pm1、pm2——變異概率;
fmax、fmin——種群個體的最大和最小適應(yīng)度;
favg——種群個體的平均適應(yīng)度;
f——變異個體的適應(yīng)度;
f′、f″——選擇個體中最大和最小適應(yīng)度。
實現(xiàn)步驟:
步驟1:對優(yōu)化的問題進行描述,確定目的和適應(yīng)度函數(shù)。
步驟2:問題編碼。選擇適當(dāng)?shù)木幋a方法進行編碼。
步驟3:初始化。通過優(yōu)化方式產(chǎn)生生成一個約定大小的種群。
步驟4:計算適應(yīng)度。計算群體中各染色體的適應(yīng)度。
步驟5:通過遺傳操作(選擇、交叉、變異),生成新的個體。
步驟6:更新種群。將新產(chǎn)生的個體添加到種群中,并刪除原個體以獲得新的種群。
步驟7:確定終止條件。新生成的種群用于確定是否滿足預(yù)置的終止條件,滿足則優(yōu)化結(jié)束。否則,重復(fù)上述過程。優(yōu)化算法流程圖如圖5所示。
圖5 優(yōu)化算法流程圖Figure 5 Flow chart of optimization algorithm
為了評估所提規(guī)劃方法的性能,驗證所提方法的有效性,仿真設(shè)備為聯(lián)想PC,操作系統(tǒng)為Windows 10 64位旗艦,CPU為Intel I5 2450m,頻率為2.5 GHz,內(nèi)存為8 GB。利用仿真工具MATLAB完成仿真。如表1所示NUBRS曲線參數(shù)(型值點和權(quán)值)。每個點的權(quán)重初始化為1。
表1 NUBRS曲線參數(shù)Table 1 NUBRS curve parameters
仿真過程中必須遵循一定的參數(shù)約束,具體參數(shù)約束情況如表2所示。
表2 約束情況Table 2 Constraints
采用改進遺傳算法來優(yōu)化NURBS曲線,對并聯(lián)機器人進行軌跡規(guī)劃仿真,并與改進后的NURBS曲線進行比較。通過插補點和權(quán)值產(chǎn)生NURBS曲線,采用二階泰勒方法生成離散點信息,采用改進遺傳算法優(yōu)化NURBS曲線。不同規(guī)劃算法的比較如圖6所示。根據(jù)上述數(shù)據(jù),得到一條NURBS曲線,即圖中的虛線。改進遺傳算法優(yōu)化的曲線為圖中的實線。
圖6 分揀機器人笛卡爾空間軌跡Figure 6 Cartesian space trajectory of sorting robot
從圖6可以看出,優(yōu)化前后的曲線都經(jīng)過了類型值,有效滿足了笛卡爾空間的插補要求。優(yōu)化后的規(guī)劃軌跡更平滑、更短。通過運動學(xué)反解,將笛卡爾空間坐標信息轉(zhuǎn)化為關(guān)節(jié)空間坐標信息。優(yōu)化前關(guān)節(jié)空間曲線軌跡如圖7所示。表3為通過型值點的時間(優(yōu)化前)。圖8為優(yōu)化后關(guān)節(jié)空間曲線軌跡。表4為通過型值點的時間(優(yōu)化后)。
由圖7和圖8可以看出,改進遺傳算法優(yōu)化后的關(guān)節(jié)空間機器人曲線比優(yōu)化前的NURBS曲線更加平滑。由表3和表4可以看出,優(yōu)化后機器人通過型值點的時間由3 230 ms降低到3 070 ms,相比于優(yōu)化前降低了160 ms,時間優(yōu)化率提高了5.0%左右。說明該軌跡規(guī)劃方法可以有效地提高食品分揀機器人的穩(wěn)定性和效率。
表3 優(yōu)化前關(guān)節(jié)型值點時間Table 3 Joint type value point time before optimization
圖7 優(yōu)化前分揀機器人關(guān)節(jié)空間角度變化Figure 7 Changes of joint space angle of sorting robot before optimization
圖8 優(yōu)化后分揀機器人關(guān)節(jié)空間角度變化Figure 8 The joint space angle changes of the sorting robot after optimization
表4 優(yōu)化后關(guān)節(jié)型值點時間Table 4 Optimized joint type value point time
文中以運行時間最優(yōu)為目標,提出了一種結(jié)合NURBS插值算法和改進遺傳算法的食品分揀機器人軌跡規(guī)劃方法。采用改進的遺傳算法優(yōu)化NURBS曲線。結(jié)果表明,文中所提優(yōu)化方法在關(guān)節(jié)空間的機器人曲線比優(yōu)化前更加平滑,運行時間從優(yōu)化前的3 230 ms降低到優(yōu)化后的3 070 ms,在一定程度上提高了食品分揀機器人的穩(wěn)定性和效率。文中食品分揀機器人的軌跡規(guī)劃方法尚處于起步階段,僅對軌跡規(guī)劃方法進行仿真分析,后續(xù)將進行試驗分析,不斷提高軌跡規(guī)劃方法的性能,完善食品分揀機器人系統(tǒng)。