王安然, 金曉怡*, 奚 鷹
(1.上海工程技術(shù)大學(xué) 機(jī)械與汽車工程學(xué)院, 上海 201620; 2.同濟(jì)大學(xué) 機(jī)械與能源工程學(xué)院, 上海 201804)
隨著工業(yè)加工領(lǐng)域自動(dòng)化程度的不斷提高,手工上下料已經(jīng)無(wú)法滿足目前的加工效率的要求,所以自動(dòng)上下料機(jī)械手越來(lái)越多的投入到機(jī)械生產(chǎn)中,如此一來(lái)機(jī)械手的移動(dòng)空間的研究具有重要意義[1-4]。目前已有很多學(xué)者針對(duì)上下料機(jī)械手進(jìn)行了研究[5-8]。傳統(tǒng)機(jī)械手的運(yùn)動(dòng)軌跡規(guī)劃方法通常對(duì)其運(yùn)動(dòng)時(shí)間和沖擊程度進(jìn)行優(yōu)化,針對(duì)運(yùn)動(dòng)空間的優(yōu)化較少。課題組結(jié)合PSO算法以運(yùn)動(dòng)空間作為目標(biāo)函數(shù)進(jìn)行優(yōu)化,可優(yōu)化機(jī)器人的工作空間,滿足各種復(fù)雜的工作空間要求。
機(jī)器人軌跡的相關(guān)優(yōu)化是機(jī)器人實(shí)際生產(chǎn)中的關(guān)鍵環(huán)節(jié)[9]。我們需要根據(jù)不同的機(jī)器人初始位置與終止位置結(jié)合特定的加工要求和阻礙因子對(duì)機(jī)器人的運(yùn)動(dòng)軌跡進(jìn)行規(guī)劃及優(yōu)化[10]。在路徑優(yōu)化過(guò)程中我們對(duì)各關(guān)節(jié)分別進(jìn)行研究,將平動(dòng)和旋轉(zhuǎn)關(guān)節(jié)的最大移動(dòng)空間作為目標(biāo)函數(shù),結(jié)合蒙特卡洛法得到機(jī)器人的整體移動(dòng)空間,運(yùn)用粒子群算法對(duì)行動(dòng)軌跡進(jìn)行優(yōu)化設(shè)計(jì)。與傳統(tǒng)路徑規(guī)劃方式以末端加持器的移動(dòng)軌跡作為研究對(duì)象不同,課題組對(duì)各個(gè)關(guān)節(jié)進(jìn)行基于粒子群算法的多目標(biāo)函數(shù)優(yōu)化,并利用五次多項(xiàng)式插值運(yùn)動(dòng)軌跡對(duì)速度和加速度進(jìn)行平滑處理,實(shí)現(xiàn)整體路徑規(guī)劃。課題組對(duì)機(jī)械手的整體研究更加全面。
課題組以6自由度機(jī)器人作為研究對(duì)象,末端球型腕和機(jī)械手相連接可實(shí)現(xiàn)對(duì)零件的抓取和放置等工作;以表殼作為研究零件,表殼零件需要車床對(duì)其進(jìn)行拋光打磨等加工工序,該步驟人工上下料的效率低且對(duì)工人的身體健康有損害,故設(shè)計(jì)自動(dòng)上下料裝置以代替人工,提高加工效率和自動(dòng)化程度。具體布置方案如圖1所示:①機(jī)械手在配料盤上抓取加工零件;②通過(guò)整體移動(dòng)框架將機(jī)械手移動(dòng)到車床加工中心位置上方,通過(guò)豎直方向移動(dòng)裝置將機(jī)械手移動(dòng)到與加工中心水平位置;③通過(guò)機(jī)械手的肘部關(guān)節(jié)進(jìn)行短距離推進(jìn)實(shí)現(xiàn)下料,待零件加工完成后將其取下;④腕部關(guān)節(jié)旋轉(zhuǎn)90°將新零件安裝到車床卡盤上進(jìn)行新一輪加工。
圖1 機(jī)械手布置方案Figure 1 Manipulator layout plan
該上下料機(jī)械手的自由度分布為RR+PRPP。機(jī)械手分為肩部、肘部和腕部3部分,且由6關(guān)節(jié)6自由度組成。其中前2個(gè)為平動(dòng)關(guān)節(jié)主要實(shí)現(xiàn)X軸和Y軸方向的進(jìn)給,其他平動(dòng)及旋轉(zhuǎn)關(guān)節(jié)實(shí)現(xiàn)對(duì)末端執(zhí)行器位姿的調(diào)整。機(jī)械手結(jié)構(gòu)如圖2所示。由圖2我們可以得出機(jī)械手的D-H參數(shù)表,進(jìn)而得到機(jī)械手的正運(yùn)動(dòng)學(xué)解。
圖2 機(jī)械手結(jié)構(gòu)Figure 2 Manipulator structure
由圖2中的運(yùn)動(dòng)形式和機(jī)械手的加工要求可求得機(jī)械手的D-H參數(shù)如表1所示。
表1 機(jī)械手D-H參數(shù)表
表1中:θi表示第i個(gè)關(guān)節(jié)繞其Z軸的旋轉(zhuǎn)角度;di表示第i個(gè)關(guān)節(jié)在其Z軸方向上與前一個(gè)關(guān)節(jié)的X軸之間的公垂線上的距離;ai表示第i個(gè)關(guān)節(jié)在Z軸方向上與前一個(gè)關(guān)節(jié)的Z軸之間的直線距離;αi表示第i個(gè)關(guān)節(jié)與前一個(gè)關(guān)節(jié)之間的夾角。
由表1可得出機(jī)械手在上下料加工過(guò)程中的正運(yùn)動(dòng)解為:
(1)
式中:
G=cosα1cosα3cosα4+sinα1sinα4;
H=cosα1sinα1sinα4-cosα1sinα4;
I=cosα1cosα3sinα4-sinα1cosα4;
E=a3cosα1cosα3-sinα1d3+a2cosα1+a1cosα1;
F=a3cosα3sinα1+cosα1d3+a2sinα1+a1sinα1;
J=cosα3sinα1sinα4+cosα1cosα4。
公式(1)中連桿偏置和關(guān)節(jié)旋轉(zhuǎn)角度為關(guān)節(jié)變量分別為θ1,θ2,θ3,d3,d5。其中:θi為角度變量,di為平動(dòng)關(guān)節(jié)變量。
我們采用幾何法對(duì)機(jī)械手進(jìn)行逆運(yùn)動(dòng)學(xué)求解,首先將機(jī)械手運(yùn)動(dòng)關(guān)節(jié)分為2部分,將前3個(gè)關(guān)節(jié)的運(yùn)動(dòng)按照關(guān)節(jié)型位形進(jìn)行求解,由幾何法和前面的正運(yùn)動(dòng)學(xué)解我們可以得出前3個(gè)關(guān)節(jié)的關(guān)節(jié)角為:
θ1=Atan 2(xc,yc);
Atan 2(a2+a3cosα4,a3sinα4);
式中:xc,yc,zc分別為末端執(zhí)行器距離坐標(biāo)系中心的X軸、Y軸和Z軸方向的距離。
(2)
我們將平動(dòng)關(guān)節(jié)也按照幾何法可求得其平動(dòng)關(guān)節(jié)
(3)
由于其他平動(dòng)關(guān)節(jié)為普通平動(dòng)關(guān)節(jié)不涉及關(guān)節(jié)角度的變化,所以其他平動(dòng)距離為已知量。結(jié)合公式(2)與公式(3),我們可以得到相應(yīng)的加工空間方程,并與圖3所示的CNC車床實(shí)際加工空間比較,判斷是否會(huì)出現(xiàn)干涉現(xiàn)象。
圖3 CNC車床實(shí)際加工空間Figure 3 Actual processing space of CNC lathe
PSO粒子群算法是模擬鳥群覓食行為又稱為微粒群算法,其覓食決策的產(chǎn)生來(lái)源于兩方面:一方面是自身的判斷;另一方面是對(duì)于群體決策趨勢(shì)的思考[11-13]。粒子群算法通過(guò)個(gè)體對(duì)環(huán)境的適應(yīng)度作為進(jìn)化依據(jù),將適應(yīng)性強(qiáng)的個(gè)體移動(dòng)到備選區(qū)域,借此尋找到最優(yōu)的位置[14-15]。每個(gè)粒子都具有一定的初始速度和位置,每次迭代都會(huì)根據(jù)自身的經(jīng)驗(yàn)和群體的經(jīng)驗(yàn)進(jìn)行速度和位置的調(diào)整,改變其自身的速度和位置[11]258。粒子的速度更新公式為:
(4)
(5)
vj(k+1)=慣性部分+認(rèn)知部分+社會(huì)部分。
式中:vj(k+1)為第j個(gè)粒子在第k+1次迭代后的速度。
粒子的位置更新為:
圖4中,x(k)為該粒子k次迭代后的位置;v(k)為當(dāng)前速度;PBest為粒子在k次迭代后的歷史最優(yōu)位置;P為粒子可能出現(xiàn)的位置偏差。結(jié)合相關(guān)運(yùn)動(dòng)關(guān)節(jié)的
圖4 PSO算法速度更新方程組成Figure 4 Velocity update equation of PSO algorithm
函數(shù)方程式,我們將在坐標(biāo)系上各方向的移動(dòng)參數(shù)作為自變量,運(yùn)用PSO算法對(duì)關(guān)節(jié)運(yùn)動(dòng)空間進(jìn)行迭代規(guī)劃,PSO算法相關(guān)參數(shù)如表2所示。
表2 粒子群算法參數(shù)表
運(yùn)用MATLAB軟件對(duì)關(guān)節(jié)參數(shù)進(jìn)行迭代得到其在限定范圍內(nèi)的最大運(yùn)動(dòng)空間,得到相應(yīng)的優(yōu)化結(jié)果如表3所示,相應(yīng)迭代效果如圖5~6所示。
表3 迭代計(jì)算各關(guān)節(jié)參數(shù)
圖5 各關(guān)節(jié)尋優(yōu)狀態(tài)圖Figure 5 Optimization diagram of each joint
圖6 各關(guān)節(jié)迭代效果圖Figure 6 Iteration renderings of each joint
課題組以機(jī)械手的移動(dòng)空間作為目標(biāo)函數(shù),在已知起始點(diǎn)和終止點(diǎn)位姿的情況下通過(guò)幾何法和代入法相結(jié)合對(duì)機(jī)械手的行動(dòng)軌跡進(jìn)行反解,得出機(jī)械手的行動(dòng)空間方程,并結(jié)合粒子群算法通過(guò)對(duì)適應(yīng)度函數(shù)的計(jì)算添加相應(yīng)的約束條件得出最大的工作空間范圍。
上文中我們通過(guò)PSO粒子群算法得到了各關(guān)節(jié)的相應(yīng)工作空間,我們通過(guò)MATLAB robotic toolbox工具箱結(jié)合D-H參數(shù)表對(duì)機(jī)械手的初始狀態(tài)進(jìn)行建模仿真,得到相應(yīng)的機(jī)械手初始工作狀態(tài)如圖7所示。
圖7 機(jī)械手初始狀態(tài)仿真圖Figure 7 Initial state simulation of manipulator
蒙特卡洛法又稱統(tǒng)計(jì)試驗(yàn)或隨機(jī)抽樣方法,是利用概率模型結(jié)合隨機(jī)抽樣的方法得到各種概率分布抽樣,并建立各種估計(jì)值[16-17]。
具體算法流程如下:
1) 在已知的機(jī)械手MATLAB仿真模型基礎(chǔ)上設(shè)置給關(guān)節(jié)的參數(shù)限制。
2) 隨機(jī)獲取在參數(shù)限制范圍內(nèi)的3 000個(gè)點(diǎn)作為示范隨機(jī)分布的情況。
3) 各關(guān)節(jié)分別隨機(jī)取得范圍內(nèi)參數(shù)。
4)在MATLAB robotic toolbox工具箱的模擬仿真情況下按照獲得的隨機(jī)參數(shù)進(jìn)行動(dòng)畫演示并且畫出范圍內(nèi)選取的相關(guān)點(diǎn)。
結(jié)合上文中利用PSO粒子群算法對(duì)關(guān)節(jié)空間的優(yōu)化,并通過(guò)MATLAB robotic toolbox工具箱仿真得出圖8所示仿真過(guò)程。
圖8 仿真流程圖Figure 8 Simulation flow chart
將由PSO算法迭代得到的各關(guān)節(jié)最大移動(dòng)空間作為限制條件,隨機(jī)抽取3 000個(gè)隨機(jī)分布點(diǎn),結(jié)合MATLAB robotic toolbox工具箱仿真的機(jī)械手結(jié)構(gòu)進(jìn)行模擬得出的工作空間如圖9所示。
圖9 機(jī)械手工作空間仿真Figure 9 Workspace simulation of manipulator
由圖9可知引入粒子群算法并以各關(guān)節(jié)的目標(biāo)函數(shù)作為限制函數(shù)對(duì)加工空間進(jìn)行優(yōu)化,得到優(yōu)化前后的加工空間仿真圖作為對(duì)比,可看出該優(yōu)化方法可將加工空間大大縮小,并完全限制在加工范圍內(nèi)。該研究方法以各關(guān)節(jié)的移動(dòng)空間作為研究目標(biāo),利用粒子群優(yōu)化算法求得各關(guān)節(jié)的最大工作空間,利用蒙特卡洛法及MATLAB robotic toolbox工具箱將各關(guān)節(jié)的移動(dòng)空間與機(jī)械臂整體相結(jié)合,實(shí)現(xiàn)了機(jī)械手整體的工作空間優(yōu)化。
課題組在已知機(jī)械手在上下料加工中的起始加工點(diǎn)的情況下,對(duì)機(jī)械手的行動(dòng)軌跡進(jìn)行設(shè)計(jì)與分析,進(jìn)而得出其D-H參數(shù)表,運(yùn)用機(jī)械手的運(yùn)動(dòng)學(xué)知識(shí),分別求得各關(guān)節(jié)的正運(yùn)動(dòng)解。結(jié)合幾何法和代數(shù)法兩種逆運(yùn)動(dòng)學(xué)解法,我們得到旋轉(zhuǎn)關(guān)節(jié)和平動(dòng)關(guān)節(jié)的相應(yīng)函數(shù)表達(dá)式,再將坐標(biāo)系內(nèi)各方向上的移動(dòng)變量作為自變量的情況下,引入PSO粒子群算法對(duì)其運(yùn)動(dòng)空間進(jìn)行優(yōu)化,最后利用蒙特卡洛法結(jié)合粒子群算法求得的優(yōu)化結(jié)果得出了完整的工作空間范圍。
本研究對(duì)上下料機(jī)械手的軌跡優(yōu)化更加完整,避免了僅對(duì)末端軌跡優(yōu)化而造成的關(guān)節(jié)限制,并且得出的機(jī)械手加工空間范圍,也可作為在復(fù)雜加工空間下(如狹小的加工空間)不與加工機(jī)器發(fā)生干涉的重要依據(jù)。