陳旸CHEN Yang
(漳州職業技術學院智能制造學院,漳州 363000)
隨著人力成本的日益增加,工業機器人在工業生產領域的應用也愈加廣泛,但是在采用工業機器人取代傳統人力資源時,制約工業機器人生產效率提升的一個關鍵環節就是路徑規劃。若采用傳統的示教方式進行工業機器人路徑規劃,一是需要耗費大量的人力與時間,二是由肉眼通過觀察得出的規劃路徑未必是工業機器人的最優運動路徑,因此,工業機器人路徑規劃就成為了工業機器人工業應用中一個非常重要的部分。
已有許多文獻研究過了二維空間中機械手的進化算法路徑規劃[1-3]。染色體由軌跡點列表組成,表示笛卡爾空間中的點或機器人在某一點的關節軸角度,由浮點數或二進制數進行表示。在適應性計算中,許多課題研究都會綜合考慮路徑長度、軸移動角度、工具中心點(TCP)到目標位置的距離以及可能發生的碰撞。
進化算法(Evolutionary Algorithms)是一種基于種群的搜索算法,它模仿生物進化行為,通過適應性函數判斷最優解[4]。進化算法基于達爾文的進化論[5],通過選擇算法遺傳優秀特征[6]。不同種類的進化算法在染色體的表示上有所不同,例如遺傳算法(GA)用二進制數表示染色體,進化策略用實數表示染色體。
進化算法的基本流程圖如圖1 所示。先進行種群初始化,然后使用適應性函數篩選出優秀個體,接下來執行交叉和變異操作,直到篩選出符合要求的個體或達到固定的迭代次數。

圖1 進化算法流程圖
適應性函數的設計是決定進化算法能否正確收斂的重要因素。算法3 是適應性函數的偽代碼,該偽代碼由三個因素組成:路徑適應度(PF)、關節適應度(AF)和碰撞適應度(CF)。適應性函數公式如下:
在算法1 中,單點交叉操作的迭代是通過群體的所有染色體的列表來完成的。對于每次迭代,都會生成一個隨機數。如果該值小于交叉率(CR),則選擇并克隆兩條連續的染色體。在下一步驟中,在CrossoverSingle 函數中執行最后的單點交叉。為此,首先隨機確定種子點,然后交換代表染色體的兩個軌跡點列表中位于種子點前的部分。
算法1:交叉操作

根據算法2 中所示的步驟執行突變操作。該算法在群體的所有染色體的列表中迭代。每個染色體都會產生一個隨機數。如果該值較小,則應用突變率(MR)對算子進行突變。最后在單點突變過程中執行突變操作。
算法2:突變操作

進化算法的結束條件可以根據實際需求進行設定,通常會選擇超過最大迭代次數,低于某個適應度閾值或超過預定義時間。在本文中,如果在設定的迭代次數內找到無碰撞路徑或者在1200 秒之內沒有找到符合要求的路徑則算法中止。
算法3:適應性函數值計算

我們在仿真環境中進行統計分析,比較不同參數(如突變率(MR)、交叉率(CR)或選擇方法(SM))的影響。仿真環境采用ABB 公司提供的軟件RobotStudio 進行搭建。如圖2 所示。

圖2 仿真測試環境
許多參數對進化算法得到的路徑結果質量有直接影響。為了確定最佳參數集,進行了一系列測試。首先,確定算法計算需要的參數值:
①起點(WP)1 至5(默認值:2,步長:1,最佳值:3)。
②突變率(MR):決定參與突變的染色體數量,0.1 至0.5(默認值:0.3,步長:0.1,最佳值:0.3)。
③交叉率(CR):決定定參與交叉的染色體數量,0.1至0.8(默認值:0.75,步長:0.1,最佳值:0.6)。
④隨機部分選擇(RPS):決定用于構成新種群的隨機生成的染色體數量。該值用于控制使用選擇算子從新群體中選擇的染色體數量和隨機添加到新群體中的染色體數量,0.0 到0.5(默認值:0.1,步長:0.1,最佳值:0.1)。
所有組合中的每個參數集都運行了十次,并根據路徑長度、軸移動和計算時間對結果進行了比較。運行次數設置為10 次,因為初步測試表明,10 次測試的結果方差值較低。表1 顯示了分批實驗的結果。它顯示了所找到的解決方案的成功率、路徑長度、計算時間和關節移動角度。成功率是成功找到路徑的運行次數與總運行次數之間的比率。例如,80%的成功率表明,在給定的時間內,十次運行中有八次可以找到符合要求的路徑。

表1 算法運行結果
在本文中,我們提出了一種進化算法,該算法能夠在單個機器人場景中計算6 自由度工業機器人的路徑。基于成功率、路徑長度(PL)、關節軸移動角度(AM)和計算時間等維度對該算法進行了評估。研究表明,進化算法在工業機器人路徑規劃中起到了巨大的作用。進化算法的一大優點是,外軸有效位置的計算可以通過適應度函數直接集成到路徑規劃算法中[7]。未來的研究應該進一步仔細考慮進化算法的深度應用,例如整體進化算法(用于優化問題)和模糊搜索邏輯(用于搜索問題)。