武 斌,金春潔
(1.中國海洋大學(xué) 船舶中心,青島 266100;2.山東科技大學(xué) 測繪與空間信息學(xué)院,青島 266590;3.青島羅博飛海洋技術(shù)有限公司 山東省博士后創(chuàng)新實踐基地,青島 266100)
在機器人的路徑規(guī)劃研究中,好的路徑規(guī)劃對于機器人的使用效率有顯著性的提高作用,機器人可以在不同的工作環(huán)境中得到準(zhǔn)確、有效的應(yīng)用[1-2]。機器人的路徑優(yōu)化問題可以被當(dāng)成是有一定約束條件的優(yōu)化問題,在機器人的路徑優(yōu)化中可以分為全局路徑優(yōu)化和局部路徑優(yōu)化[3-5]。其中全局路徑優(yōu)化能夠?qū)崿F(xiàn)全局統(tǒng)籌作用,局部路徑優(yōu)化可以保證機器人在實際應(yīng)用中能夠?qū)崟r進行路徑調(diào)整,得到更為平滑的規(guī)劃路徑。機器人的路徑優(yōu)化算法主要包括小波神經(jīng)網(wǎng)絡(luò)、人工勢場法、BP(back propagation)神經(jīng)網(wǎng)絡(luò)等[6-7]。其中小波神經(jīng)網(wǎng)絡(luò)在神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上進行了改進,在路徑規(guī)劃中能夠?qū)崿F(xiàn)較好的路線規(guī)劃,人工勢場法可以用于局部路徑規(guī)劃的避障處理,二者均在路徑規(guī)劃中有較好的應(yīng)用[8]。因此在本次研究中,結(jié)合小波神經(jīng)網(wǎng)絡(luò)、人工勢場法和遺傳算法,通過遺傳算法對小波神經(jīng)網(wǎng)絡(luò)和人工勢場法進行優(yōu)化,分別應(yīng)用于機器人的全局路徑和局部路徑的優(yōu)化中,希望可以提高機器人在實際應(yīng)用場景中的使用效率。
在機器人路徑尋優(yōu)的過程中,常采用神經(jīng)網(wǎng)絡(luò)作為自動化路徑尋優(yōu)的方法[9]。針對機器人路徑尋優(yōu)過程中可能會遇到的不確定環(huán)境因素,應(yīng)用BP神經(jīng)網(wǎng)絡(luò)可以進行環(huán)境分析與目標(biāo)尋優(yōu)。
小波神經(jīng)網(wǎng)絡(luò)在傳統(tǒng)BP 神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上進行了改進,在小波神經(jīng)網(wǎng)絡(luò)中,將BP 網(wǎng)絡(luò)的隱含層中的傳遞函數(shù)更改為下式中的小波基函數(shù),從而實現(xiàn)信號傳遞方向向前,而誤差的傳遞方向向后的目的。
傳統(tǒng)的小波神經(jīng)網(wǎng)絡(luò)在應(yīng)用時常常會出現(xiàn)過擬合現(xiàn)象[10]。為了提高小波神經(jīng)網(wǎng)絡(luò)在機器人路徑優(yōu)化中的精準(zhǔn)度以及全局路徑自動優(yōu)化能力,在本次實驗中引入遺傳算法對傳統(tǒng)的小波神經(jīng)網(wǎng)絡(luò)進行優(yōu)化。在改進算法中,對種群中適應(yīng)度值最大的個體進行保留,不參與交叉、變異操作,對其他的個體按照下式中的概率進行交叉、變異操作。
式中:μi表示個體i 在交叉、變異操作時的概率;Fi表示個體i 在交叉、變異操作時的適應(yīng)度值;Fmax表示適應(yīng)度的最大值;Fmin表示適應(yīng)度的最小值。當(dāng)概率μi>rand 時,種群中的個體可以進行交叉、變異操作,rand 表示在[0,1]范圍內(nèi)隨機產(chǎn)生的數(shù)。基于改進遺傳算法應(yīng)用于小波神經(jīng)網(wǎng)絡(luò)中的流程如圖1所示。
圖1 基于小波神經(jīng)網(wǎng)絡(luò)和改進遺傳算法的流程Fig.1 Flow chart based on wavelet neural network and improved genetic algorithm
在機器人局部自動路徑尋優(yōu)的研究中,采用人工勢場法進行避障和路徑尋優(yōu)。在傳統(tǒng)的人工勢場法中,由于局部極小點導(dǎo)致機器人發(fā)生死鎖現(xiàn)象。為了改善這一現(xiàn)象,在本次實驗中提出對傳統(tǒng)的人工勢場法進行改進,在此基礎(chǔ)上引進遺傳算法進行路徑優(yōu)化。
在改進的人工勢場法中,針對機器人在目標(biāo)點附近碰到障礙物時,可能會因為排斥力較大導(dǎo)致機器人無法接近目標(biāo)的問題,實驗中采用公式(3)中改進的斥力勢場函數(shù):
式中:krep表示斥力勢場比例系數(shù);ρobs(s,sobs)表示機器人與障礙物間的距離;ρ0表示障礙物的最大影響范圍;ρgoal(s)表示機器人與目標(biāo)之間的歐式距離。則Urep(s)的負(fù)梯度用于表示斥力:
式中:Frep1(s)表示使機器人朝遠(yuǎn)離障礙物的方向運動;Frep2(s)表示使機器人朝著目標(biāo)的方向運動;
為了解決局部極小點給機器人帶來的影響,實驗中引入了填平勢場函數(shù):
式中:kaff表示填平勢場比例系數(shù);ρa用于評判機器人是否到達(dá)目標(biāo)的距離。基于斥力勢場和填平勢場的引入,可以得到公式(6)中的勢場強度:
式中:Uatt(s)、Urep(s)和Uaff(s)分別表示引力勢場、斥力勢場和填平勢場的強度。
為了增強人工勢場法局部路徑優(yōu)化的能力,實驗中采用遺傳算法與人工勢場法結(jié)合的形式進行路徑優(yōu)化,從而規(guī)劃一條最優(yōu)且無障礙的優(yōu)化路徑。在遺傳算法優(yōu)化人工勢場法的過程中需要對路徑進行編碼、確定適應(yīng)度函數(shù)、初始化種群、自適應(yīng)選擇,以及交叉算子和變異算子的確定。
在機器人的路徑規(guī)劃中,適應(yīng)度函數(shù)的建立需要結(jié)合機器人的路徑條件,在人工勢場法中已考慮到避障問題,因此遺傳算法的優(yōu)化只需考慮勢場強度,適應(yīng)度函數(shù)的設(shè)計見下式:
式中:m 表示障礙物的個數(shù);Urep(si)表示障礙物i 的斥力勢場強度。然后計算個體在下一代種群中的生存數(shù)目,并通過輪盤賭方法進行下一代種群的選擇。
基于改進人工勢場法與遺傳算法的路徑優(yōu)化流程如圖2 所示。
圖2 基于改進人工勢場法與遺傳算法的局部路徑優(yōu)化流程Fig.2 Flow chart of local path optimization based on improved artificial potential field method and genetic algorithm
為了驗證本文方法的有效性和高效性,在MATLAB 編譯工具中進行仿真實驗。
硬件選擇Core(TM)2,2.66 GHz,內(nèi)存大小為4 G的CPU。實驗1 中的運動環(huán)境為40×40,實驗2 中的柵格地圖大小為10×10。人工勢場法中的參數(shù)設(shè)置為引力勢場比例系數(shù)0.1,斥力勢場比例系數(shù)0.5,填平勢場比例系數(shù)0.3,影響距離0.8 m,評判距離0.2 m。遺傳算法的初始種群為90,種群的最大遺傳代數(shù)為60,交叉概率與變異概率的大小分別為0.6和0.1。
均方根誤差可以用于描述樣本的離散程度,在算法性能對比中可以進行算法準(zhǔn)確性的比較。損失函數(shù)通常作為學(xué)習(xí)準(zhǔn)則與優(yōu)化問題相聯(lián)系,即通過最小化損失函數(shù)求解和評估模型。為此,實驗中采用均方根誤差累和、損失函數(shù)來進行優(yōu)化算法和基本算法的性能對比。
從圖3 中可以看到,在訓(xùn)練中隨著迭代次數(shù)的增加,優(yōu)化前后的小波神經(jīng)網(wǎng)絡(luò)模型均方根誤差累和與損失函數(shù)均有不同程度的下降,但優(yōu)化后的小波神經(jīng)網(wǎng)絡(luò)模型的均方根誤差累和與損失函數(shù)下降情況更快且更平穩(wěn),表明遺傳算法優(yōu)化后的小波神經(jīng)網(wǎng)絡(luò)模型收斂速度較快,該模型的性能更佳。
圖3 小波神經(jīng)網(wǎng)絡(luò)優(yōu)化前后性能對比Fig.3 Performance comparison of wavelet neural network before and after optimization
從圖4 中可以看到,在訓(xùn)練中隨著迭代次數(shù)的增加,優(yōu)化前后的人工勢場法模型的均方根誤差累和與損失函數(shù)均有不同程度的下降,但優(yōu)化后的人工勢場法模型的均方根誤差累和與損失函數(shù)下降情況更快且更平穩(wěn),表明遺傳算法優(yōu)化后的人工勢場法模型收斂速度較快,該模型的性能更佳。
圖4 人工勢場法優(yōu)化前后性能對比Fig.4 Comparison of performance before and after optimization using artificial potential field method
精準(zhǔn)率-召回率(precision-recall,PR)曲線可以用于算法準(zhǔn)確性等性能的對比,曲線往右上角的突起越明顯,則表明模型的性能更好。不同算法的PR曲線如圖5 所示。
圖5 不同算法的PR 曲線對比Fig.5 Comparison of PR curves of different algorithms
從圖5 中可以看到,改進的小波神經(jīng)網(wǎng)絡(luò)往右上角的突起更明顯,曲線下的面積最大,其次為改進的人工勢場法,小波神經(jīng)網(wǎng)絡(luò)和人工勢場法。改進小波神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確率為95.8%,相對于改進的人工勢場法、小波神經(jīng)網(wǎng)絡(luò)和人工勢場法分別有2.3%,3.4%和3.8%的提升。
實驗1 在40×40 的運動環(huán)境中對比了不同算法的路徑規(guī)劃效果,實驗結(jié)果見圖6。
圖6 不同方法的路徑規(guī)劃效果圖Fig.6 Effect diagram of path planning using different methods
在圖6 中,起始點的坐標(biāo)為(0,0),目標(biāo)點的坐標(biāo)為(40,40)。從圖6 中可以看出,人工勢場法與小波神經(jīng)網(wǎng)絡(luò)容易陷入局部最優(yōu)解,從而導(dǎo)致不能接近目標(biāo)點。而經(jīng)過遺傳算法優(yōu)化后的人工勢場法和遺傳算法優(yōu)化后的小波神經(jīng)網(wǎng)絡(luò)在尋找目標(biāo)點的過程中,跳出了局部最優(yōu)問題,成功尋找到了目標(biāo)點,但是優(yōu)化后的人工勢場法的路徑規(guī)劃較為復(fù)雜,對于全局的路徑優(yōu)化效果較差。因此,考慮優(yōu)化后的小波神經(jīng)網(wǎng)絡(luò)作為全局路徑優(yōu)化的方法,優(yōu)化后的人工勢場法作為局部路徑優(yōu)化的方法。
全局路徑與局部路徑優(yōu)化結(jié)果如圖7 所示。
圖7 全局路徑與局部路徑優(yōu)化圖Fig.7 Global path and local path optimization diagram
在仿真分析實驗2 中,柵格地圖的大小為10×10,起始點的坐標(biāo)為(0.5,9.5),機器人需要到達(dá)的目標(biāo)點坐標(biāo)為(9.5,0.5)。首先利用基于遺傳算法的小波神經(jīng)網(wǎng)絡(luò)進行全局路徑規(guī)劃,可以得到圖7(a)中的全局路徑優(yōu)化圖。從圖7(a)中可以看到基于遺傳算法的小波神經(jīng)網(wǎng)絡(luò)路徑優(yōu)化的拐點為P1~P6,其中P1 為起始點,然后依次經(jīng)過子目標(biāo)點P2~P5,最終到達(dá)目標(biāo)點P6。然后利用基于遺傳算法的人工勢場法進行局部路徑優(yōu)化,可以得到圖7(b)中的路徑優(yōu)化圖。對于不同的子目標(biāo)點,局部路徑優(yōu)化中選擇了不同的局部路徑,并將所有的子目標(biāo)點包含在內(nèi)。由此可以看到,本次實驗建立的機器人路徑優(yōu)化模型可以將全局路徑優(yōu)化中的P1~P6 拐點納入路徑優(yōu)化中,同時新建模型規(guī)劃出的路徑平滑且無障礙。結(jié)果表明本次實驗中的優(yōu)化算法可以得到更為優(yōu)化且無障礙的優(yōu)化路徑,全部路徑優(yōu)化與局部路徑優(yōu)化的效果均較好。
本文分別采用遺傳算法對小波神經(jīng)網(wǎng)絡(luò)進行優(yōu)化,用于機器人的全局路徑優(yōu)化,采用遺傳算法對人工勢場法進行優(yōu)化,用于機器人的局部路徑優(yōu)化。在機器人全局路徑和局部路徑優(yōu)化的仿真分析實驗中,本次實驗建立的機器人路徑優(yōu)化模型可以將全局路徑優(yōu)化中的P1~P6 拐點納入路徑優(yōu)化中,同時新建模型規(guī)劃出的路徑平滑且無障礙。實驗結(jié)果表明,本次實驗中的優(yōu)化算法可以得到更為優(yōu)化且無障礙的優(yōu)化路徑,全部路徑優(yōu)化與局部路徑優(yōu)化的效果均較好。