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