劉 翔,王開科,李 菲
(1.四川城市職業(yè)學(xué)院,四川 成都 610110;2.成都理工大學(xué),四川 成都 610059;3.重慶大學(xué),重慶 400044)
隨著社會(huì)的發(fā)展、勞動(dòng)成本的增加、工作環(huán)境變化、市場(chǎng)競(jìng)爭(zhēng)多樣化,機(jī)器人控制研究逐漸成為國(guó)內(nèi)外研究的熱點(diǎn)。目前,機(jī)器人在許多領(lǐng)域中都有大量的應(yīng)用,能夠有效釋放生產(chǎn)力,在輔助人類工作方面顯示出巨大優(yōu)勢(shì)[1]。在實(shí)際應(yīng)用中,軌跡規(guī)劃的準(zhǔn)確性對(duì)作業(yè)質(zhì)量和效率有著直接的影響[2]。因此,研究工業(yè)機(jī)器人的軌跡規(guī)劃方法具有重要的現(xiàn)實(shí)意義。機(jī)器人的運(yùn)動(dòng)規(guī)劃由兩部分組成:路徑規(guī)劃和軌跡規(guī)劃。目前,國(guó)內(nèi)外學(xué)者對(duì)智能機(jī)器人的軌跡規(guī)劃方法做了大量的研究,但其中涉及關(guān)節(jié)型機(jī)器人的研究卻較少。在文獻(xiàn)[3]中,提出了一種講五次多項(xiàng)式插值和B樣條差分方法相結(jié)合的工業(yè)機(jī)器人軌跡規(guī)劃方法。實(shí)驗(yàn)結(jié)果表明,用該方法規(guī)劃的關(guān)節(jié)曲線較為平滑。在文獻(xiàn)[4]中,對(duì)多種軌跡規(guī)劃方法進(jìn)行了研究,包括:三次、五次多項(xiàng)式插值法、直線插值法、圓弧插值法等。同時(shí),對(duì)這些方法的優(yōu)缺點(diǎn)進(jìn)行了比較和分析。在文獻(xiàn)[5]中,提出了一種5-3-5軌跡規(guī)劃方法用于碼垛機(jī)器人軌跡規(guī)劃。仿真結(jié)果表明,該方法可使關(guān)節(jié)型碼垛機(jī)器人流暢、平穩(wěn)地完成任務(wù),精度達(dá)到0.03mm。在文獻(xiàn)[6]中,提出了一種基于拋物線過渡的線性插值方法用于焊接機(jī)器人的軌跡規(guī)劃。仿真結(jié)果表明,焊槍末端的軌跡圖以及關(guān)節(jié)角、角速度、角加速度與時(shí)間的變化曲線非常平滑,效果良好。上述規(guī)劃方法雖然可以規(guī)劃?rùn)C(jī)器人的軌跡,但是大多會(huì)出現(xiàn)速度和加速度的突變,適應(yīng)性有待進(jìn)一步加強(qiáng)。在此基礎(chǔ)上,提出了一種結(jié)合RBF神經(jīng)網(wǎng)絡(luò)和遺傳算法的關(guān)節(jié)軌跡規(guī)劃方法。通過遺傳算法對(duì)RBF神經(jīng)網(wǎng)絡(luò)參數(shù)進(jìn)行優(yōu)化。仿真驗(yàn)證了該方法的優(yōu)越性。
軌跡規(guī)劃的基礎(chǔ)就是建立末端與各關(guān)節(jié)轉(zhuǎn)角的關(guān)系[7]。這里建立了SNRB6 型6關(guān)節(jié)工業(yè)機(jī)器人的運(yùn)動(dòng)學(xué)模型,六軸工業(yè)機(jī)器人及其D-H坐標(biāo)系,如圖1所示。1~3軸控制位置,4~6軸控制姿態(tài)。
圖1 六軸工業(yè)機(jī)器人及其D-H坐標(biāo)系Fig.1 Six-Axis Industrial Robot and its D-H Coordinate System
從D-H坐標(biāo)系和機(jī)器人結(jié)構(gòu)出發(fā),推導(dǎo)了工業(yè)機(jī)器人的DH參數(shù),D-H參數(shù)和各關(guān)節(jié)參數(shù),如表1所示。
表1 機(jī)器人D-H參數(shù)Tab.1 Robot D-H Parameters
根據(jù)變換關(guān)系,推導(dǎo)出末端和坐標(biāo)系的關(guān)系即正向運(yùn)動(dòng)學(xué)[8],如式(1)所示。
因此,可以計(jì)算出機(jī)器人末端坐標(biāo)與各關(guān)節(jié)角度之間的映射關(guān)系。
神經(jīng)網(wǎng)絡(luò)以及高靈活性、自適應(yīng)性、自學(xué)習(xí)性和改進(jìn)能力使軌跡規(guī)劃更易實(shí)現(xiàn)[10]。文中將GA和RBF神經(jīng)網(wǎng)絡(luò)相結(jié)合用于關(guān)節(jié)型機(jī)器人的軌跡規(guī)劃中。
RBF神經(jīng)網(wǎng)絡(luò)是一種前饋神經(jīng)網(wǎng)絡(luò)(包含隱含層),作為局部逼近網(wǎng)絡(luò)的典型,大量的實(shí)驗(yàn)表明,它可以以任意的精度逼近任一目標(biāo)函數(shù)[11]。RBF網(wǎng)絡(luò)結(jié)構(gòu),如圖2所示。
圖2 RBF網(wǎng)絡(luò)拓?fù)銯ig.2 RBF Network Topology
采用高斯函數(shù)作為隱含層的基函數(shù)[12],如式(3)所示。
式中:x、ci—網(wǎng)絡(luò)的輸入和中心;m—隱含層神經(jīng)元數(shù);σi—高斯函數(shù)寬度。
由于RBF 參數(shù)初值對(duì)訓(xùn)練速度和逼近精度有著直接的影響。如果初始值選擇不當(dāng),則加權(quán)輸入將無法激活傳遞函數(shù),這會(huì)使網(wǎng)絡(luò)癱瘓[13]。通過選取激活區(qū)間[-1,1]的值來解決偏離問題,使網(wǎng)絡(luò)輸出與期望值更加一致。相比于其他傳遞函數(shù),高斯函數(shù)對(duì)輸入值更敏感,并且更適合于逼近任務(wù)[14]。設(shè)置參數(shù)后,需要對(duì)輸入和輸出進(jìn)行規(guī)范化,通常將其轉(zhuǎn)換為[0,1]之間數(shù)據(jù),使訓(xùn)練更加簡(jiǎn)單。僅在初選參數(shù)后才能執(zhí)行網(wǎng)絡(luò)訓(xùn)練,參數(shù)的初始選擇方法如下。如果樣本足夠典型,分布中心通過經(jīng)驗(yàn)選取,距離為l,高斯函數(shù)的寬度[15],如式(4)所示。
最后,權(quán)值wij通過最下二乘法計(jì)算。訓(xùn)練過程就是對(duì)三個(gè)參數(shù)不斷修正的過程,直到符合要求為止。在整個(gè)訓(xùn)練過程中,采用梯度下降法確定隱層神經(jīng)元的數(shù)目、基函數(shù)的中心ci和基函數(shù)的寬度σi。
GA是一種全局并行搜索技術(shù),由于它的優(yōu)化速度快且能避免局部?jī)?yōu)化,被廣泛應(yīng)用于參數(shù)優(yōu)化領(lǐng)域[16]。GA優(yōu)化RBF神經(jīng)網(wǎng)絡(luò)的過程主要是確定優(yōu)化目標(biāo)、編碼方式、確定適應(yīng)度函數(shù)、最優(yōu)遺傳算法等,具體如下所示。
3.2.1 確定優(yōu)化目標(biāo)
RBF對(duì)權(quán)值和閾值的確定采用梯度下降法,通過增加隱藏層神經(jīng)元的數(shù)量來減少誤差[17]。為了使網(wǎng)絡(luò)性能最佳,遺傳算法選擇隱藏層神經(jīng)元的數(shù)量、權(quán)值和閾值作為優(yōu)化目標(biāo)參數(shù),能夠不斷的找到最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)。同時(shí),權(quán)值和閾值的選擇也非常準(zhǔn)確,從而確保了良好的網(wǎng)絡(luò)性能。
3.2.2 編碼方式
R1-Rm為每個(gè)可能的隱藏層神經(jīng)元,數(shù)目為二進(jìn)制編碼,長(zhǎng)度為m。使用遺傳算法優(yōu)化權(quán)重和閾值會(huì)導(dǎo)致重復(fù)解碼,從而導(dǎo)致解碼時(shí)間過長(zhǎng),從而影響網(wǎng)絡(luò)的性能。因此,權(quán)值ωij和閾值θj采用實(shí)數(shù)編碼的,長(zhǎng)度分別為mk和j。編碼長(zhǎng)度,如式(5)所示。
3.2.3 確定適應(yīng)度函數(shù)
適應(yīng)度函數(shù)可以對(duì)個(gè)體的優(yōu)劣進(jìn)行評(píng)估。假設(shè)網(wǎng)絡(luò)隱藏層中的當(dāng)前神經(jīng)元數(shù)為i,最大神經(jīng)元數(shù)為mmax。RBF神經(jīng)網(wǎng)絡(luò)的訓(xùn)練目標(biāo)為最小化學(xué)習(xí)誤差和網(wǎng)絡(luò)規(guī)模。為了確保適應(yīng)度函數(shù)始終為正實(shí)數(shù),并且與誤差倒數(shù)正相關(guān)。適應(yīng)度函數(shù)[18],如式(6)所示。
3.2.4 最優(yōu)遺傳算子
交叉算子p和變異算子q的選擇在遺傳算法的應(yīng)用中非常重要。在遺傳算法中,交叉算子p和變異算子q是固定的,因此在種群中出現(xiàn)高適應(yīng)度個(gè)體時(shí),個(gè)體可以在種群中快速繁殖。經(jīng)過幾次迭代,它將占據(jù)整個(gè)種群的位置,這種收斂性往往導(dǎo)致遺傳算法早熟。因此,利用適應(yīng)度方差來判斷是否存在早熟[19],如式(7)所示。
式中:N—種群數(shù);fi—第i個(gè)體的個(gè)體適應(yīng)度;fagv—個(gè)體適合度的平均值。
交叉和變異的可能性與個(gè)體適應(yīng)度有關(guān),改進(jìn)后的方程式,如式(8)、式(9)所示。
式中:pi、qi—第i個(gè)個(gè)體的自適應(yīng)交叉概率和變異概率;fi—第i個(gè)個(gè)體的個(gè)體適應(yīng)度。
綜上所述,自適應(yīng)優(yōu)化在迭代的早期階段,固定交叉和變異概率降低計(jì)算的復(fù)雜性。通過適應(yīng)度方差進(jìn)行監(jiān)測(cè),最大限度的提高算法的有效性。
為了更好的擬合工業(yè)機(jī)器人的運(yùn)動(dòng)軌跡,通過GA優(yōu)化RBF神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)、連接權(quán)值和閾值,這個(gè)過程是一個(gè)連續(xù)的循環(huán),將GA和RBF優(yōu)勢(shì)結(jié)合起來。步驟如下:
(1)對(duì)RBF神經(jīng)網(wǎng)絡(luò)進(jìn)行初始化,設(shè)置中間層最大神經(jīng)元數(shù)mmax、基函數(shù)的中心ci和寬度σi。
(2)對(duì)GA進(jìn)行初始化。種群大小為N,交叉率pi,變異率qi,構(gòu)建遺傳算子,迭代初值G=0,最大值Gmax。
(3)對(duì)種群進(jìn)行隨機(jī)初始化,大小為N,并對(duì)待優(yōu)化的參數(shù)進(jìn)行編碼[20]。
(4)在種群中訓(xùn)練RBF神經(jīng)網(wǎng)絡(luò),計(jì)算輸出誤差ei。根據(jù)訓(xùn)練誤差ei和神經(jīng)元數(shù)量i計(jì)算每個(gè)網(wǎng)絡(luò)的適應(yīng)度函數(shù)值。
(5)根據(jù)適應(yīng)度多個(gè)體進(jìn)行排序,為總體選擇最優(yōu)適應(yīng)度,如果滿足誤差或迭代條件,則轉(zhuǎn)到(7)。否則,繼續(xù)下一步。
(6)根據(jù)(2)中設(shè)定參數(shù)對(duì)種群進(jìn)行遺傳優(yōu)化生成新一代種群,更新種群,然后繼續(xù)執(zhí)行(4)。
(7)輸出最優(yōu)結(jié)果并結(jié)束算法。
GA-RBF神經(jīng)網(wǎng)絡(luò)的流程圖,如圖3所示。
圖3 GA-RBF神經(jīng)網(wǎng)絡(luò)流程Fig.3 GA-RBF Neural Network Technological Process
該算法可以通過以下過程來描述:首先采集工業(yè)機(jī)器人的軌跡數(shù)據(jù),包括時(shí)間序列和位置序列,對(duì)其進(jìn)行數(shù)據(jù)劃分:訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù),通過訓(xùn)練數(shù)據(jù)對(duì)GA-RBF神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練生成規(guī)劃器,使用規(guī)劃器來擬合測(cè)試數(shù)據(jù),輸出機(jī)器人位置序列并完成擬合任務(wù)。規(guī)劃過程,如圖4所示。
圖4 GA-RBF估計(jì)規(guī)劃流程圖Fig.4 GA-RBF Estimation Programming Flow Chart
通過仿真將這里的算法與改進(jìn)前進(jìn)行比較,以驗(yàn)證算法的優(yōu)越性。實(shí)驗(yàn)中使用的計(jì)算機(jī)是Intel i5處理器,8g內(nèi)存和win10系統(tǒng)。使用Matlab 2018a軟件進(jìn)行仿真,在關(guān)節(jié)空間中,每次選擇150組軌跡數(shù)據(jù),其中100組作為訓(xùn)練數(shù)據(jù),50組作為測(cè)試數(shù)據(jù)。RBF網(wǎng)絡(luò)訓(xùn)練參數(shù)設(shè)置:誤差10-6rad,最大網(wǎng)絡(luò)規(guī)模200,擴(kuò)展常數(shù)1.8。GA參數(shù)設(shè)置:迭代次數(shù)最大400,種群大小為80,交叉率為0.9。為了確保實(shí)驗(yàn)結(jié)果的準(zhǔn)確性取20次測(cè)試的平均值。
對(duì)三種網(wǎng)絡(luò)進(jìn)行訓(xùn)練,包括GA-RBF神經(jīng)網(wǎng)絡(luò)、RBF神經(jīng)網(wǎng)絡(luò)和BP神經(jīng)網(wǎng)絡(luò)。GA-RBF神經(jīng)網(wǎng)絡(luò)的性能,如圖5所示。
圖5 GA-RBF訓(xùn)練表現(xiàn)Fig.5 GA-RBF Training Performance
從圖5中可以看到,經(jīng)過7次迭代,誤差減小到10-5rad,經(jīng)過41次迭代,誤差減小到了所需的范圍。經(jīng)過20次訓(xùn)練后,取各指標(biāo)為平均值。三個(gè)網(wǎng)絡(luò)的訓(xùn)練結(jié)果,如表2所示。
表2 三種網(wǎng)絡(luò)訓(xùn)練結(jié)果比較Tab.2 Comparison of Three Kinds of Network Training Results
從表2可以看出,就訓(xùn)練成功率而言,BP和RBF網(wǎng)絡(luò)較為接近,都在90%左右。而GA-RBF 網(wǎng)絡(luò)的訓(xùn)練成功率100%。就訓(xùn)練時(shí)間而言,RBF 網(wǎng)絡(luò)耗時(shí)最少,GA-RBF 網(wǎng)絡(luò)耗時(shí)最多。這是因?yàn)镚A-RBF 網(wǎng)絡(luò)在優(yōu)化過程中加入了遺傳優(yōu)化過程,因此耗時(shí)呈指數(shù)增長(zhǎng)。在訓(xùn)練誤差方面,GA-RBF網(wǎng)絡(luò)表現(xiàn)最優(yōu)。訓(xùn)練中GA-RBF 算法運(yùn)行時(shí)間最長(zhǎng),但是訓(xùn)練成功率和錯(cuò)誤差率都是最優(yōu)的。
使用測(cè)試數(shù)據(jù)對(duì)三種網(wǎng)絡(luò)進(jìn)行了測(cè)試,對(duì)結(jié)果進(jìn)行分析。為了便于分析,文中僅對(duì)前三個(gè)關(guān)節(jié)的誤差圖像進(jìn)行分析。GARBF的誤差性能,如圖6所示。關(guān)節(jié)1的誤差控制在5×10-6rad 以內(nèi),關(guān)節(jié)2與關(guān)節(jié)3相同,誤差控制在2×10-6rad 以內(nèi)。
圖6 文中方法三個(gè)關(guān)節(jié)擬合誤差Fig.6 Network Energy Consumption
此外,在運(yùn)動(dòng)時(shí)間上隨機(jī)選擇了50個(gè)時(shí)間序列組,每組選擇15 個(gè)值,其中一個(gè)值為test=[0.002、0.059、0.13、0.166、0.248、0.359、0.588、0.699、0.822、1.101、1.223、1.439、1.566、1.168、1.192]。采用GA-RBF對(duì)機(jī)器人的軌跡進(jìn)行擬合并將其與實(shí)際結(jié)果進(jìn)行比較,如圖7所示。
圖7 文中方法三個(gè)關(guān)節(jié)數(shù)據(jù)擬合Fig.7 Method in This Paper Three Joints Data Fitting
對(duì)于訓(xùn)練好的GA-RBF網(wǎng)絡(luò),可擬合機(jī)器人的任一運(yùn)動(dòng)軌跡,三個(gè)網(wǎng)絡(luò)50次重復(fù)測(cè)試的平均結(jié)果,如表3所示。
表3 幾種軌跡規(guī)劃方法對(duì)比Tab.3 Comparison of Several Trajectory Planning Methods
在擬合時(shí)間上,GA-RBF算法具有較快的收斂速度,在擬合誤差上,GA-RBF算法具有最小的誤差,GA-RBF網(wǎng)絡(luò)性能優(yōu)勢(shì)明顯。結(jié)果表明,優(yōu)化后的GA-RBF具有最短的擬合時(shí)間和最高的精度。從以上的訓(xùn)練和測(cè)試數(shù)據(jù)可以看出,訓(xùn)練過程中,優(yōu)化的GA-RBF網(wǎng)絡(luò)的訓(xùn)練成功率達(dá)到100%,雖然訓(xùn)練時(shí)間增加了,但是訓(xùn)練誤差卻大大降低了。在測(cè)試過程中,GA-RBF網(wǎng)絡(luò)可以高精度地跟蹤機(jī)器人的軌跡。此外,在擬合精度和擬合時(shí)間方面,GA-RBF網(wǎng)絡(luò)優(yōu)于其他網(wǎng)絡(luò)。該方法對(duì)隨機(jī)數(shù)據(jù)的逼近精度高,適應(yīng)性強(qiáng),符合機(jī)器人軌跡規(guī)劃的預(yù)期要求。
提出了一種將RBF神經(jīng)網(wǎng)絡(luò)和遺傳算法相結(jié)合的方法,并將其應(yīng)用于工業(yè)機(jī)器人的關(guān)節(jié)軌跡規(guī)劃。遺傳算法的全局優(yōu)化特性對(duì)RBF神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)、連接權(quán)值和閾值進(jìn)行優(yōu)化。結(jié)果表明,與改進(jìn)前的規(guī)劃算法相比,規(guī)劃方法誤差小,適應(yīng)性更強(qiáng),滿足工業(yè)機(jī)器人軌跡規(guī)劃的預(yù)期。鑒于目前的實(shí)驗(yàn)設(shè)備和數(shù)據(jù)規(guī)模,文中對(duì)工業(yè)機(jī)器人軌跡規(guī)劃方法的研究還處于起步階段,仍然存在一些問題和不足,在復(fù)雜多變的應(yīng)用場(chǎng)景需要智能傳感器來使機(jī)器人更加智能化。