劉雙龍,金曉怡,王安然,奚鷹
(1.201620 上海市 上海工程技術(shù)大學(xué) 機(jī)械與汽車(chē)工程學(xué)院;2.201804 上海市 同濟(jì)大學(xué) 機(jī)械與能源工程學(xué)院 )
工業(yè)機(jī)器人的末端執(zhí)行器是機(jī)器人的一個(gè)重要組成部分,它通過(guò)直接抓取部件工作,其運(yùn)動(dòng)軌跡直接關(guān)系到工件的加工質(zhì)量。通過(guò)算法優(yōu)化末端執(zhí)行器的運(yùn)動(dòng)軌跡,可以減少工作時(shí)間,簡(jiǎn)化工作過(guò)程,減少能量消耗,減少工作過(guò)程中的沖擊。
依據(jù)算法中優(yōu)化目標(biāo)個(gè)數(shù)的差異,優(yōu)化算法可以分為單目標(biāo)優(yōu)化和多目標(biāo)優(yōu)化。在優(yōu)化單個(gè)目標(biāo)時(shí),時(shí)間通常作為優(yōu)化目標(biāo),這樣就能得到一個(gè)軌跡,使機(jī)器人用最短的時(shí)間工作。付榮等[1]為了獲得運(yùn)行軌跡,利用3-5-3 多項(xiàng)式插值得到關(guān)節(jié)軌跡方程,然后利用粒子群優(yōu)化算法(PSO)進(jìn)行時(shí)間最優(yōu)的軌跡優(yōu)化,最后證明在運(yùn)行時(shí)間和平穩(wěn)性方面,這種算法能得到比通常的3-5-3 多項(xiàng)式插值更好的結(jié)果。
對(duì)于單目標(biāo)優(yōu)化問(wèn)題,利用粒子群算法可以快速高效地解決,但在多目標(biāo)優(yōu)化問(wèn)題中,往往某一特定目標(biāo)函數(shù)的最優(yōu)解對(duì)其他目標(biāo)函數(shù)來(lái)說(shuō)并不一定合適,故需要引入Pareto 最優(yōu)解集對(duì)解進(jìn)行篩選得到非劣解集[2],并引入自適應(yīng)網(wǎng)格對(duì)非支配解集的粒子引導(dǎo)更新,確保粒子的多樣性。
本文中首先采用五次B 樣條曲線(xiàn)函數(shù)得到關(guān)節(jié)空間機(jī)械臂的運(yùn)行軌跡曲線(xiàn),然后根據(jù)多目標(biāo)粒子群優(yōu)化算法(MOPSO)計(jì)算簡(jiǎn)便、參數(shù)易調(diào)等優(yōu)點(diǎn),利用多目標(biāo)粒子群優(yōu)化算法實(shí)現(xiàn)對(duì)上述五次B 樣條運(yùn)行軌跡的多目標(biāo)優(yōu)化,最后通過(guò)對(duì)利用多目標(biāo)粒子群算法得到優(yōu)化后的各關(guān)節(jié)的運(yùn)動(dòng)角度、角加速度和角加加速度的運(yùn)動(dòng)曲線(xiàn),進(jìn)一步證明多目標(biāo)粒子群算法對(duì)運(yùn)動(dòng)軌跡優(yōu)化的可行性。
B 樣條曲線(xiàn)是由貝濟(jì)埃曲線(xiàn)(又稱(chēng)貝塞爾曲線(xiàn)、或貝茲曲線(xiàn))進(jìn)一步演變得到的,該曲線(xiàn)不僅繼承了貝濟(jì)埃曲線(xiàn)的所有優(yōu)點(diǎn),同時(shí)也補(bǔ)充了貝濟(jì)埃曲線(xiàn)所欠缺的局部可控性[3-4]。
一般B 樣條曲線(xiàn)用式(1)描述:
式中:di(i=0,1,…,n)——B 樣條曲線(xiàn)的控制頂點(diǎn);i——B 樣條曲線(xiàn)的控制頂點(diǎn)的序號(hào);P(u)——u 時(shí)刻曲線(xiàn)上的型值點(diǎn),特別的時(shí)刻u 要與控制頂點(diǎn)的序號(hào)i 一一對(duì)應(yīng)。
B 樣條基函數(shù)為:
式中:k——B 樣條曲線(xiàn)的階數(shù)。
在得到的五次B 樣條曲線(xiàn)上確定某一指定點(diǎn)在坐標(biāo)系上的對(duì)應(yīng)位置P(u),需滿(mǎn)足3 個(gè)基本條件:(1)確定五次B 樣條曲線(xiàn)的控制頂點(diǎn)di;(2)保證曲線(xiàn)的次數(shù)k 已知;(3)確定各節(jié)點(diǎn)的矢量U。
根據(jù)文獻(xiàn)[5]的五次B 樣條曲線(xiàn)軌跡的構(gòu)造方法,可得n+5 個(gè)與n+5 控制頂點(diǎn)有關(guān)的方程:
式中:D=[d0,d1,…,dn,…,dn+4]T;P=[P0,P1,…,Pn,ω0,ωf,a0,af]T;An——系數(shù)矩陣,
根據(jù)式(3)可以求出曲線(xiàn)的控制頂點(diǎn):
事實(shí)上,許多運(yùn)動(dòng)約束和空間約束會(huì)對(duì)加工過(guò)程產(chǎn)生影響,但五次B 樣條插值曲線(xiàn)是采用各關(guān)節(jié)運(yùn)動(dòng)同一運(yùn)動(dòng)時(shí)間,并且沒(méi)有對(duì)任何加工條件進(jìn)行約束,因此我們采用多目標(biāo)粒子(MOPSO)算法,并將時(shí)間最短、能量消耗最小和沖擊最少作為約束條件,來(lái)確定運(yùn)動(dòng)軌跡的最佳規(guī)劃,提高加工的生產(chǎn)效率和裝置的使用壽命。
多目標(biāo)粒子群(MOPSO)算法由CarlosA Coello Coello 等學(xué)者提出[6],是基于單目標(biāo)粒子群算法的進(jìn)一步研究,將粒子群算法從單一約束問(wèn)題尋優(yōu)算法轉(zhuǎn)換為解決多個(gè)目標(biāo)約束的智能算法。
若無(wú)法確定該顆粒的最優(yōu)位置是否適于所有目標(biāo)函數(shù)的最優(yōu)解,多目標(biāo)粒子群算法將隨機(jī)搜尋所有最優(yōu)解中的粒子歷史最優(yōu)解[7]。在搜尋群體的歷史最優(yōu)解時(shí),利用網(wǎng)格法劃分粒子的位置,依據(jù)網(wǎng)格中粒子密度進(jìn)行審查得到一個(gè)非劣解集,之后在非劣解集中進(jìn)一步審查粒子,最后對(duì)粒子進(jìn)行存檔[8]。整體的多目標(biāo)粒子群算法的流程如圖1 所示。
圖1 多目標(biāo)粒子群流程圖Fig.1 Flow chart of multi-objective particle swarm optimization
本文所研究軌跡優(yōu)化問(wèn)題的優(yōu)化目標(biāo)為時(shí)間最短、沖擊最小和能量消耗最少3 個(gè)目標(biāo),定義的優(yōu)化目標(biāo)函數(shù)為:
在處理多目標(biāo)函數(shù)問(wèn)題時(shí),將3 個(gè)目標(biāo)函數(shù)做加權(quán)求和處理,作為整體運(yùn)動(dòng)過(guò)程的目標(biāo)函數(shù)為:
式中:Stotal——整體目標(biāo)函數(shù);S1——時(shí)間目標(biāo)函數(shù);S2——沖擊目標(biāo)函數(shù);S3——能量消耗大??;λ1,λ2,λ3——3 個(gè)分目標(biāo)函數(shù)的權(quán)重。本文所研究對(duì)象對(duì)時(shí)間間隔要求較高,故確定為λ1=0.4,λ2=0.3,λ3=0.3。
在實(shí)際生產(chǎn)加工中,不僅要考慮機(jī)器人各個(gè)關(guān)節(jié)物理位置所能達(dá)到的運(yùn)動(dòng)極限、驅(qū)動(dòng)裝置性能限制、超負(fù)荷工作對(duì)機(jī)器人造成的不可逆?zhèn)Φ?,還要考慮其關(guān)節(jié)的強(qiáng)度極限[9],因此本文工業(yè)機(jī)器人的運(yùn)動(dòng)特性,如角度、加速度和加加速度,不僅要考慮裝置的最大性能極限,還要考慮關(guān)節(jié)本身的強(qiáng)度極限。約束情況如表1 所示。
表1 機(jī)械臂各關(guān)節(jié)運(yùn)動(dòng)約束Tab.1 Robotic joint motion constraints of mechanical arm
工業(yè)機(jī)器人的關(guān)節(jié)i 在運(yùn)動(dòng)過(guò)程中存在約束條件主要有
對(duì)于其中的非線(xiàn)性約束條件,本文利用自適應(yīng)網(wǎng)格法進(jìn)行處理,如圖2 所示。
圖2 自適應(yīng)網(wǎng)格法流程圖Fig.2 Flow chart of adaptive grid method
本文中粒子的迭代學(xué)習(xí)過(guò)程由適應(yīng)加權(quán)控制,其值隨適應(yīng)函數(shù)值變化??偟?yīng)可以通過(guò)適應(yīng)函數(shù)值控制,以避免在局部最優(yōu)解出現(xiàn)。調(diào)整后的權(quán)重方程為:
式中:f——當(dāng)前適應(yīng)度值;favg——平均適應(yīng)度值;fmin——最小適應(yīng)度。
由式(8)可知,自適應(yīng)權(quán)重的取值由當(dāng)前適應(yīng)度、平均適應(yīng)度和最小適應(yīng)度值來(lái)決定,可通過(guò)控制迭代速度,以避免局部最大或最小值出現(xiàn)。除此之外,通過(guò)對(duì)權(quán)重的自適應(yīng)控制,可以避免發(fā)生全局最優(yōu)解強(qiáng),但局部最優(yōu)解弱的情況;或者局部最優(yōu)解強(qiáng),但全局最優(yōu)解弱的情況。
學(xué)習(xí)因子c1負(fù)責(zé)自我認(rèn)知部分,c2負(fù)責(zé)社會(huì)認(rèn)知部分。c1=0 時(shí)稱(chēng)為無(wú)私型算法,這導(dǎo)致群體多樣性的喪失,從而陷入局部最優(yōu)解;c2=0 時(shí)稱(chēng)為自我認(rèn)識(shí)型算法,完全缺失社會(huì)認(rèn)知部分,沒(méi)有社會(huì)信息的共享,算法的收斂相對(duì)緩慢。為了避免這2種情況發(fā)生,可以引入異步學(xué)習(xí)因子,限制粒子群的更新速度。異步學(xué)習(xí)因子公式為:
將本文中的各權(quán)重與學(xué)習(xí)因子代入多目標(biāo)粒子群算法后得到的相應(yīng)優(yōu)化結(jié)果見(jiàn)表2,優(yōu)化后的五次B 樣條插值軌跡的控制頂點(diǎn)見(jiàn)表3。
表2 MOPSO 算法尋優(yōu)之后與尋優(yōu)之前的時(shí)間序列對(duì)比Tab.2 Time series comparison of MOPSO algorithm before and after optimization
表3 MOPSO 算法尋優(yōu)之后的控制頂點(diǎn)Tab.3 Control points of MOPSO algorithm after optimization
由粒子群算法得到新的運(yùn)行控制點(diǎn),代入MATLAB 軟件進(jìn)行五次B 樣條曲線(xiàn)的繪制,得到新的機(jī)器人在指定末端位置和初始位置情況下的各關(guān)節(jié)的運(yùn)動(dòng)特征曲線(xiàn),如圖3 所示。
圖3 優(yōu)化后的運(yùn)動(dòng)特性曲線(xiàn)Fig.3 Motion characteristic curve after optimization
利用多目標(biāo)粒子群算法,以沖擊最小、運(yùn)行時(shí)間最短和能量消耗最少為約束條件得出優(yōu)化后的各關(guān)節(jié)運(yùn)動(dòng)特征曲線(xiàn)。分析優(yōu)化后的各關(guān)節(jié)運(yùn)動(dòng)曲線(xiàn),在各關(guān)節(jié)的運(yùn)動(dòng)時(shí)間限制在20 s 左右時(shí),根據(jù)角加速度和角加速度曲線(xiàn)的變化趨勢(shì)可知,優(yōu)化后的軌跡平穩(wěn)且起伏少,可進(jìn)一步證實(shí)多目標(biāo)粒子群算法對(duì)工業(yè)機(jī)器人的運(yùn)動(dòng)曲線(xiàn)的優(yōu)化效果。
本文研究了多目標(biāo)粒子群(MOPSO)算法原理,通過(guò)五次B 樣條曲線(xiàn)得到各關(guān)節(jié)的運(yùn)動(dòng)特征,將能量消耗最少、沖擊最小和時(shí)間最短作為多目標(biāo)約束條件,采用Pareto 臨時(shí)最優(yōu)邊界面和自適應(yīng)網(wǎng)格法對(duì)約束條件進(jìn)行迭代優(yōu)化,并且引入自適應(yīng)適應(yīng)系數(shù)和異步學(xué)習(xí)因子來(lái)控制迭代速度,可以防止優(yōu)化過(guò)程中的局部最優(yōu)解等問(wèn)題。
運(yùn)用MATLAB 得到優(yōu)化后的各關(guān)節(jié)的運(yùn)動(dòng)特征曲線(xiàn)和新的控制頂點(diǎn)以及各關(guān)節(jié)的運(yùn)動(dòng)時(shí)間,進(jìn)一步驗(yàn)證了該算法對(duì)工業(yè)機(jī)器人添加運(yùn)動(dòng)約束的優(yōu)化可行性。