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