聶恒志,吳 升,張 璐
(1.福州大學(xué) 數(shù)字中國研究院(福建),福州 350003;2.河南工業(yè)職業(yè)技術(shù)學(xué)院,河南 南陽 473000)
采摘機(jī)器人是一個(gè)復(fù)雜的系統(tǒng),需要具備環(huán)境檢測、指令分析和執(zhí)行動(dòng)作等功能。隨著信息化技術(shù)的發(fā)展,采摘機(jī)器人的功能更趨向于多樣化,人們對(duì)其要求也越來越高。采摘機(jī)器人自主作業(yè)需要對(duì)自身位置和運(yùn)動(dòng)軌跡進(jìn)行預(yù)測,故本文設(shè)計(jì)了基于大數(shù)據(jù)技術(shù)的采摘機(jī)器人定位和軌跡預(yù)測算法。
為了實(shí)現(xiàn)對(duì)采摘機(jī)器人定位和軌跡預(yù)測,采用世界坐標(biāo)系XOY建立運(yùn)動(dòng)學(xué)模型,如圖1所示。
圖1 采摘機(jī)器人運(yùn)動(dòng)學(xué)模型Fig.1 The kinematics model of picking robot
圖1中,采摘機(jī)器人前后輪軸間中心的坐標(biāo)為(xf,yf)和(xr,yr),前輪偏向角和航向角分別為δf和φ,其他參數(shù)如表1所示。
表1 采摘機(jī)器人運(yùn)動(dòng)學(xué)參數(shù)表
為了減少計(jì)算量,做如下假設(shè):
1)采摘機(jī)器人的運(yùn)動(dòng)為剛體運(yùn)動(dòng);
2)采摘機(jī)器人在運(yùn)動(dòng)過程中,其前后輪偏向角保持一致,由舵機(jī)控制;
3)采摘機(jī)器人在轉(zhuǎn)彎過程中,轉(zhuǎn)彎半徑等同于道路曲率半徑。
對(duì)采摘機(jī)器人的后輪軸進(jìn)行分析,后輪軸中心坐標(biāo)(xr,yr)沿著線速度方向進(jìn)行分割,其表達(dá)式為
(1)
對(duì)采摘機(jī)器人的前輪軸進(jìn)行分析,可以求出其約束條件為
(2)
結(jié)合采摘機(jī)器人航向角φ和前后軸間距,可以計(jì)算出前后軸兩個(gè)軸中心之間的數(shù)學(xué)關(guān)系,再對(duì)其進(jìn)行求導(dǎo)可得
(3)
將式(1)、式(3)代入式(2),并對(duì)其進(jìn)行三角函數(shù)展開求解,可得采摘機(jī)器人的角速度表達(dá)式為
ω=vrtanδf/l
(4)
再對(duì)采摘機(jī)器人航向角φ進(jìn)行求導(dǎo),便能計(jì)算出采摘機(jī)器人的角速度。聯(lián)立式(1)和式(4),可得
(5)
采用以上方法可以搭建該采摘機(jī)器人的控制系統(tǒng),其輸入量和實(shí)時(shí)狀態(tài)量表達(dá)式分別為u=[vrδf]T和ξ=[xryrδf]T。
對(duì)式(5)進(jìn)行線性化處理,假設(shè)ξref為期望的狀態(tài)值,那么對(duì)于其中任意的期望狀態(tài)都會(huì)滿足以下表達(dá)式,即
(6)
展開ξ在期望處的一階泰勒表達(dá)式為
(7)
(8)
采用雅可比矩陣對(duì)式(8)的系數(shù)矩陣進(jìn)行求解,并分別用A和B表示,可以得到線性誤差模型為
(9)
對(duì)式(9)進(jìn)行離散化處理,可得
(10)
其中,T為數(shù)據(jù)采樣時(shí)間。
采摘機(jī)器人控制系統(tǒng)的定義輸出為
(11)
(12)
(13)
以上是對(duì)采摘機(jī)器人的運(yùn)動(dòng)學(xué)分析,同時(shí)結(jié)合神經(jīng)算法和定位系統(tǒng),便可以實(shí)現(xiàn)對(duì)采摘機(jī)器人的定位和軌跡預(yù)測。
神經(jīng)網(wǎng)絡(luò)是一個(gè)通過獲取知識(shí)和保存知識(shí)來模擬人大腦的運(yùn)算模型,由大量的相互突觸(或稱“神經(jīng)元”)和之間相互的聯(lián)接構(gòu)成,每個(gè)突觸代表一定的輸出函數(shù),被稱為激勵(lì)函數(shù),而突觸之間的連接則代表通過連接信號(hào)的加權(quán)值。
神經(jīng)網(wǎng)絡(luò)是一種多層前饋式網(wǎng)絡(luò),具體的工作原理為:通過對(duì)輸入和輸出值進(jìn)行比較,計(jì)算出詳細(xì)的誤差值,并對(duì)其前導(dǎo)層的誤差進(jìn)行估計(jì);然后,用該誤差對(duì)更前一層的計(jì)算誤差進(jìn)行推導(dǎo),再依次進(jìn)行反轉(zhuǎn),求出各層之間的誤差估計(jì)。其具體的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
神經(jīng)網(wǎng)絡(luò)包括輸入、隱含和輸出3個(gè)層級(jí),兩兩層級(jí)間的神經(jīng)元都相互存在關(guān)系,但同一個(gè)層級(jí)間的神經(jīng)元卻沒有任何聯(lián)系。假設(shè)神經(jīng)網(wǎng)絡(luò)有L層,除去輸入層的神經(jīng)元,還存在N0個(gè),第L層有NK個(gè)元,那么其輸入和輸出的關(guān)系表達(dá)式為
(14)
其中,uk(i)為第K層第i個(gè)神經(jīng)元接收上一層的信息;wk(i,j)為從第k-1層第j個(gè)神經(jīng)元元到第k層第i個(gè)神經(jīng)元元的權(quán)值;ak(i)為第k層第i個(gè)元的輸出值。
圖2 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 The structure diagram of neural network
神經(jīng)網(wǎng)絡(luò)算法的流程為:
Step1:選擇合適的初始學(xué)習(xí)數(shù)據(jù)集p=1,…,p,并設(shè)定初始權(quán)矩陣為W(0)。
Step2:利用初始學(xué)習(xí)數(shù)據(jù)集計(jì)算網(wǎng)絡(luò)輸出。
Step3:用式(14)對(duì)計(jì)算結(jié)果進(jìn)行反向的修正,直到對(duì)所有數(shù)據(jù)都完成學(xué)習(xí),再輸出結(jié)果。
隨著人工智能的快速發(fā)展,涌現(xiàn)出了大量大數(shù)據(jù)應(yīng)用服務(wù)。大數(shù)據(jù)Hadoop的核心技術(shù)包括Map和Reduce。其中,MapReduce是對(duì)鍵值對(duì)進(jìn)行處理,而Map則是對(duì)輸出數(shù)據(jù)進(jìn)行處理,并生成鍵值對(duì)格式的中間數(shù)據(jù);然后,利用密鑰對(duì)這些數(shù)據(jù)進(jìn)行排序和分區(qū)處理,并在Reduce階段將相同的鍵值對(duì)進(jìn)行聚合,方便后級(jí)模塊進(jìn)行分析處理。在此,采用大數(shù)據(jù)Hadoop技術(shù)對(duì)神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)進(jìn)行分割、映射、排序、合并、分類等操作,再利用神經(jīng)網(wǎng)絡(luò)對(duì)采摘機(jī)器人的位置和軌跡進(jìn)行分析。
為了可靠和準(zhǔn)確地對(duì)采摘機(jī)器人進(jìn)行定位和軌跡預(yù)測,利用GPS定位模塊和深度神經(jīng)網(wǎng)絡(luò)(Deep NeuralNetworks,DNN),將其與大數(shù)據(jù)進(jìn)行多元信息融合,建立了神經(jīng)網(wǎng)絡(luò)融合模型。將采摘機(jī)器人運(yùn)動(dòng)速度、角速度、偏航角、定位數(shù)據(jù)、轉(zhuǎn)向角和道路曲率作為神經(jīng)網(wǎng)絡(luò)融合模型的輸入,并利用該模型對(duì)輸入數(shù)據(jù)、模型訓(xùn)練和測試進(jìn)行預(yù)測。神經(jīng)網(wǎng)絡(luò)融合模型包括數(shù)據(jù)處理、信息搜集和結(jié)果融合3個(gè)模塊,模型采用大數(shù)據(jù)和DNN技術(shù)融合的預(yù)測方法構(gòu)建復(fù)雜方程的采摘機(jī)器人運(yùn)動(dòng)模型,實(shí)現(xiàn)對(duì)采摘機(jī)器人位置的定位和軌跡預(yù)測功能。
將經(jīng)過大數(shù)據(jù)Hadoop處理后的輸入數(shù)據(jù)歸一化處理在[-1,1]范圍內(nèi),再將這些信息反映到共同的描述空間,輸入給DNN網(wǎng)絡(luò),并通過完全連接層對(duì)隱含層數(shù)據(jù)進(jìn)行輸出。該模型架構(gòu)如圖3所示。
圖3 神經(jīng)網(wǎng)絡(luò)融合模型結(jié)構(gòu)圖Fig.3 The structure diagram of neural network fusion model
將數(shù)據(jù)送到輸出層進(jìn)行預(yù)測,然后根據(jù)1、2、3s的時(shí)間對(duì)采摘機(jī)器人的軌跡進(jìn)行預(yù)測。模型融合層的計(jì)算表達(dá)式為
e=tanh(Wf[hDNN;hHadoop]+bf)
(15)
其中,hDNN為DNN的隱藏層;hHadoop為大數(shù)據(jù)處理模式;Wb和bf為學(xué)習(xí)模型的參數(shù);e為融合層的輸出。
神經(jīng)網(wǎng)絡(luò)融合模型訓(xùn)練中的損失函數(shù)采用GPS定位到的真實(shí)位置和預(yù)測軌跡之間的均方誤差(Mean Square Error,MSE)表示,即
(16)
其中,yt和Pt分別為t時(shí)刻GPS定位到的真實(shí)位置和模型預(yù)測的位置值;T為整體的時(shí)間。這樣就完成了大數(shù)據(jù)和DNN技術(shù)的融合,實(shí)現(xiàn)了神經(jīng)網(wǎng)絡(luò)融合模型。
將DNN技術(shù)應(yīng)用到采摘機(jī)器人軌跡預(yù)測時(shí),可以通過對(duì)其作業(yè)環(huán)境和作業(yè)模式進(jìn)行訓(xùn)練,在離線過程中通過對(duì)之前采集的數(shù)據(jù)進(jìn)行訓(xùn)練,實(shí)現(xiàn)對(duì)軌跡的準(zhǔn)確預(yù)測。為了提高整個(gè)系統(tǒng)軌跡預(yù)測的準(zhǔn)確性,神經(jīng)網(wǎng)絡(luò)融合模型采用離線模式,大數(shù)據(jù)來源包括行駛在各種道路曲率的作業(yè)數(shù)據(jù)。數(shù)據(jù)從輸入層和多層的隱藏層后從輸出層出來,數(shù)據(jù)在各個(gè)層間處理傳輸時(shí)需要乘以權(quán)重,而隱藏層則需要通過激活函數(shù)處理后傳輸?shù)较聜€(gè)層級(jí)。神經(jīng)網(wǎng)絡(luò)融合模型是為了實(shí)現(xiàn)對(duì)采摘機(jī)器未來橫向運(yùn)動(dòng)的預(yù)測,故采用帶泄露修正線性單元(Leaky Re LU)激活函數(shù),其定義為
(17)
其中,λ為常數(shù),取λ=0.2。
DNN成本函數(shù)可以將輸入和輸出的數(shù)據(jù)作為輸入進(jìn)行成本C的計(jì)算,其表達(dá)式為
(18)
為了實(shí)現(xiàn)DNN計(jì)算成本的最小化,采用梯度下降對(duì)DNN各層的權(quán)重進(jìn)行更新,即
(19)
其中,α和Wi分別為DNN模型的學(xué)習(xí)率和t時(shí)刻的權(quán)重。
最后,采用均方根反向傳播對(duì)DNN模型進(jìn)行優(yōu)化。該算法采用變量M(w,t0)對(duì)前一段時(shí)間梯度平方的平均值進(jìn)行保存,然后實(shí)現(xiàn)DNN學(xué)習(xí)率的自適應(yīng)調(diào)整。其表達(dá)式為
(20)
其中,w和t0分別為DNN的工作權(quán)重和訓(xùn)練步驟;?E/?wt0為訓(xùn)練步驟t0中w的梯度。
DNN模型的輸入包括采摘機(jī)器人運(yùn)動(dòng)速度、角速度、偏航角、定位數(shù)據(jù)、轉(zhuǎn)向角和道路曲率;輸出層包括6個(gè)節(jié)點(diǎn),分別對(duì)應(yīng)后續(xù)對(duì)1、2、3s對(duì)采摘機(jī)器人的縱向和橫向預(yù)測;模型采用Leaky Re LU激活函數(shù);網(wǎng)絡(luò)隱藏層設(shè)置為5層,神經(jīng)元設(shè)置為320,數(shù)據(jù)量為2560,學(xué)習(xí)率設(shè)置為0.1,迭代次數(shù)設(shè)置為200次。
為了評(píng)估對(duì)采摘機(jī)器人定位和軌跡預(yù)測的準(zhǔn)確性,基于MatLab仿真軟件采用DNN融合模型對(duì)采摘機(jī)器人軌跡1、2、3s 處的縱向預(yù)測和橫向預(yù)測進(jìn)行預(yù)測,系統(tǒng)使用80%的數(shù)據(jù)用于訓(xùn)練,20%的數(shù)據(jù)用于測試。用于仿真的道路軌跡和仿真結(jié)果分別如圖4和圖5所示。
圖4 用于仿真的道路軌跡Fig.4 The road trajectory for simulation
圖5 仿真結(jié)果Fig.5 The simulation result
由仿真結(jié)果可以看出:模型對(duì)采摘機(jī)器人的預(yù)測精度較高,誤差在允許范圍內(nèi),預(yù)測精度從高到低依次為1、2、3s。后續(xù)可以再增加數(shù)據(jù)量,會(huì)對(duì)時(shí)間長的預(yù)測軌跡有改善。這表明,該模型用于采摘機(jī)器人的定位和軌跡預(yù)測具有一定的可行性。
為了實(shí)現(xiàn)采摘機(jī)器人的自動(dòng)駕駛,將深度神經(jīng)網(wǎng)絡(luò)和大數(shù)據(jù)技術(shù)進(jìn)行多元信息融合,將采摘機(jī)器人的運(yùn)行信息作為模型輸入?yún)?shù),實(shí)現(xiàn)對(duì)采摘機(jī)器人的定位和軌跡預(yù)測。仿真結(jié)果表明:模型對(duì)采摘機(jī)器人的預(yù)測精度較高,誤差在允許的范圍內(nèi),具有一定的可行性。