陳旸CHEN Yang
(漳州職業(yè)技術學院智能制造學院,漳州 363000)
隨著人力成本的日益增加,工業(yè)機器人在工業(yè)生產(chǎn)領域的應用也愈加廣泛,但是在采用工業(yè)機器人取代傳統(tǒng)人力資源時,制約工業(yè)機器人生產(chǎn)效率提升的一個關鍵環(huán)節(jié)就是路徑規(guī)劃。若采用傳統(tǒng)的示教方式進行工業(yè)機器人路徑規(guī)劃,一是需要耗費大量的人力與時間,二是由肉眼通過觀察得出的規(guī)劃路徑未必是工業(yè)機器人的最優(yōu)運動路徑,因此,工業(yè)機器人路徑規(guī)劃就成為了工業(yè)機器人工業(yè)應用中一個非常重要的部分。
已有許多文獻研究過了二維空間中機械手的進化算法路徑規(guī)劃[1-3]。染色體由軌跡點列表組成,表示笛卡爾空間中的點或機器人在某一點的關節(jié)軸角度,由浮點數(shù)或二進制數(shù)進行表示。在適應性計算中,許多課題研究都會綜合考慮路徑長度、軸移動角度、工具中心點(TCP)到目標位置的距離以及可能發(fā)生的碰撞。
進化算法(Evolutionary Algorithms)是一種基于種群的搜索算法,它模仿生物進化行為,通過適應性函數(shù)判斷最優(yōu)解[4]。進化算法基于達爾文的進化論[5],通過選擇算法遺傳優(yōu)秀特征[6]。不同種類的進化算法在染色體的表示上有所不同,例如遺傳算法(GA)用二進制數(shù)表示染色體,進化策略用實數(shù)表示染色體。
進化算法的基本流程圖如圖1 所示。先進行種群初始化,然后使用適應性函數(shù)篩選出優(yōu)秀個體,接下來執(zhí)行交叉和變異操作,直到篩選出符合要求的個體或達到固定的迭代次數(shù)。
圖1 進化算法流程圖
適應性函數(shù)的設計是決定進化算法能否正確收斂的重要因素。算法3 是適應性函數(shù)的偽代碼,該偽代碼由三個因素組成:路徑適應度(PF)、關節(jié)適應度(AF)和碰撞適應度(CF)。適應性函數(shù)公式如下:
在算法1 中,單點交叉操作的迭代是通過群體的所有染色體的列表來完成的。對于每次迭代,都會生成一個隨機數(shù)。如果該值小于交叉率(CR),則選擇并克隆兩條連續(xù)的染色體。在下一步驟中,在CrossoverSingle 函數(shù)中執(zhí)行最后的單點交叉。為此,首先隨機確定種子點,然后交換代表染色體的兩個軌跡點列表中位于種子點前的部分。
算法1:交叉操作
根據(jù)算法2 中所示的步驟執(zhí)行突變操作。該算法在群體的所有染色體的列表中迭代。每個染色體都會產(chǎn)生一個隨機數(shù)。如果該值較小,則應用突變率(MR)對算子進行突變。最后在單點突變過程中執(zhí)行突變操作。
算法2:突變操作
進化算法的結束條件可以根據(jù)實際需求進行設定,通常會選擇超過最大迭代次數(shù),低于某個適應度閾值或超過預定義時間。在本文中,如果在設定的迭代次數(shù)內找到無碰撞路徑或者在1200 秒之內沒有找到符合要求的路徑則算法中止。
算法3:適應性函數(shù)值計算
我們在仿真環(huán)境中進行統(tǒng)計分析,比較不同參數(shù)(如突變率(MR)、交叉率(CR)或選擇方法(SM))的影響。仿真環(huán)境采用ABB 公司提供的軟件RobotStudio 進行搭建。如圖2 所示。
圖2 仿真測試環(huán)境
許多參數(shù)對進化算法得到的路徑結果質量有直接影響。為了確定最佳參數(shù)集,進行了一系列測試。首先,確定算法計算需要的參數(shù)值:
①起點(WP)1 至5(默認值:2,步長:1,最佳值:3)。
②突變率(MR):決定參與突變的染色體數(shù)量,0.1 至0.5(默認值:0.3,步長:0.1,最佳值:0.3)。
③交叉率(CR):決定定參與交叉的染色體數(shù)量,0.1至0.8(默認值:0.75,步長:0.1,最佳值:0.6)。
④隨機部分選擇(RPS):決定用于構成新種群的隨機生成的染色體數(shù)量。該值用于控制使用選擇算子從新群體中選擇的染色體數(shù)量和隨機添加到新群體中的染色體數(shù)量,0.0 到0.5(默認值:0.1,步長:0.1,最佳值:0.1)。
所有組合中的每個參數(shù)集都運行了十次,并根據(jù)路徑長度、軸移動和計算時間對結果進行了比較。運行次數(shù)設置為10 次,因為初步測試表明,10 次測試的結果方差值較低。表1 顯示了分批實驗的結果。它顯示了所找到的解決方案的成功率、路徑長度、計算時間和關節(jié)移動角度。成功率是成功找到路徑的運行次數(shù)與總運行次數(shù)之間的比率。例如,80%的成功率表明,在給定的時間內,十次運行中有八次可以找到符合要求的路徑。
表1 算法運行結果
在本文中,我們提出了一種進化算法,該算法能夠在單個機器人場景中計算6 自由度工業(yè)機器人的路徑?;诔晒β?、路徑長度(PL)、關節(jié)軸移動角度(AM)和計算時間等維度對該算法進行了評估。研究表明,進化算法在工業(yè)機器人路徑規(guī)劃中起到了巨大的作用。進化算法的一大優(yōu)點是,外軸有效位置的計算可以通過適應度函數(shù)直接集成到路徑規(guī)劃算法中[7]。未來的研究應該進一步仔細考慮進化算法的深度應用,例如整體進化算法(用于優(yōu)化問題)和模糊搜索邏輯(用于搜索問題)。