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