李巧君,梁俊娟
(河南工業(yè)職業(yè)技術(shù)學(xué)院,河南 南陽 473000)
隨著農(nóng)業(yè)機(jī)械智能化和信息化的飛速發(fā)展,農(nóng)業(yè)機(jī)器人正在成為主角。它的出現(xiàn)不僅推動農(nóng)業(yè)實現(xiàn)了標(biāo)準(zhǔn)化生產(chǎn),還進(jìn)一步提高了種植效率,減少了人工成本,促進(jìn)了傳統(tǒng)農(nóng)業(yè)快速轉(zhuǎn)型。農(nóng)業(yè)機(jī)器人研究過程中,變速箱和發(fā)動機(jī)的驅(qū)動控制、機(jī)械制造等基礎(chǔ)產(chǎn)業(yè)技術(shù)容易解決,但智能控制算法依舊是研究難點和熱點。本文根據(jù)農(nóng)業(yè)機(jī)器人作業(yè)特點,采用數(shù)據(jù)挖掘智能算法,結(jié)合可視圖建模方法,設(shè)計了一種農(nóng)業(yè)機(jī)器人路徑規(guī)劃與實時定位系統(tǒng)。
數(shù)據(jù)挖掘(Data Mining)是指從大量不完全、隱含的、隨機(jī)的大型數(shù)據(jù)庫中提取隱含在其中的、人們未發(fā)現(xiàn)的但又有用的信息,其目的是幫助人們提高特定時間的決策、監(jiān)測和風(fēng)險預(yù)警等。數(shù)據(jù)挖掘主要包括統(tǒng)計學(xué)和機(jī)器學(xué)習(xí)兩種方法:統(tǒng)計學(xué)一般以模型為驅(qū)動,通常是建立一個用以構(gòu)造數(shù)據(jù)的模型;而機(jī)器學(xué)習(xí)一般是以算法為驅(qū)動,讓計算機(jī)通過特定算法從復(fù)雜數(shù)據(jù)中提取有用信息。
從形式上來講,數(shù)據(jù)挖掘技術(shù)一般是采用迭代式開發(fā)方法,過程如圖1所示。
其中,各個模塊解釋如下:
1)解讀需求。大多數(shù)數(shù)據(jù)挖掘技術(shù)都是應(yīng)用在特定場合的,開發(fā)人員不應(yīng)該只研究數(shù)據(jù)挖掘的算法模型,還應(yīng)多與項目相關(guān)的工程師交流合作,恰當(dāng)解讀項目的需求。
圖1 數(shù)據(jù)挖掘開發(fā)流程Fig.1 The development process of data mining
2)搜集數(shù)據(jù)。確定項目需求就是從各個業(yè)務(wù)數(shù)據(jù)庫中搜集數(shù)據(jù)。一般做法是采用抽樣的手法提取數(shù)據(jù)信息,這種情形下主要是側(cè)重于根據(jù)取樣分布確定抽樣方法,確保評估模型中用于訓(xùn)練和檢驗數(shù)據(jù)來源于同一個取樣分布。
3)數(shù)據(jù)預(yù)處理。數(shù)據(jù)預(yù)處理包括對數(shù)據(jù)的清洗、集成、變換和規(guī)約等任務(wù)。其中,前面兩個任務(wù)主要是針對數(shù)據(jù)做出一系列的缺失值、異常值、歸一化、時間序列加權(quán)的處理;而后面兩個任務(wù)則是對數(shù)據(jù)進(jìn)行維度、值以及案例的歸約處理。
4)評估模型。評估模型就是在眾多可行的模型中選出一個最優(yōu)的模型。
5)解釋模型。數(shù)據(jù)挖掘?qū)嶋H上是用來幫助人們對事情做出最終決策的,在實際工程中人們不會根據(jù)“黑箱子模型”做出決策。因此,需要對具有實際用途的“黑箱子模型”做出合理的解釋。
建立農(nóng)業(yè)機(jī)器人作業(yè)環(huán)境模型,主要是采用合適的環(huán)境表示方法表示作業(yè)區(qū)域內(nèi)的機(jī)器人和障礙物,從而建立路徑規(guī)劃和路徑搜索算法,實現(xiàn)路徑最優(yōu)化。假設(shè)R為二維平面中的農(nóng)業(yè)機(jī)器人,其作業(yè)區(qū)域為工作空間,那么在工作空間可能存在若干個障礙物O={O1,O2,…,On},每個障礙物可以看成一個不規(guī)則的多邊形。另外,為了方便表示機(jī)器人的行走路線,在作業(yè)環(huán)境模型中將機(jī)器人看作成一個點。
本文采用包含最短路徑的可視圖建模方法構(gòu)建環(huán)境模型,其主要步驟包括簡化障礙物、局部視圖最小化和全局視圖等。
1)簡化障礙物。簡化障礙物實際上是一共包括5個步驟。
Step1:假設(shè)PS(農(nóng)業(yè)機(jī)器人起點)和PG(農(nóng)業(yè)機(jī)器人終點)已知,作直線PSPG,確定PSPG穿過的障礙物;
Step2:在直線PS、PG兩側(cè),分別找遠(yuǎn)離直線PSPG的障礙物頂點Phigh和Plow;
Step3:以PS、PG、Phigh和Plow這4點作一個四邊形區(qū)域。若直線PS、PG的某側(cè)有多個滿足Phigh和Plow的頂點,則將這些點和起點和終點連接起來,如圖2中的虛線。
圖2 簡化可視圖區(qū)域Fig.2 The simplifying viewed area
Step4:判斷是否有除PSPG穿過之外的障礙物與PSPGPhighPlow四邊形相交,若其位于PSPGPhighPlow四邊形內(nèi)部,也稱其相交;若有,則保留。
Step5:保留PSPG穿過的障礙物和與PSPGPhighPlow四邊形的障礙物,除掉其他的障礙物。
2)局部視圖最小化。局部視圖最小化是由兩個完全可視的障礙物的公切線組成的,根據(jù)要求可以生成的多個局部最小可視圖。局部視圖最小化示意圖如圖3所示。
3)全局視圖。對局部視圖最小化障礙物中沒有連線的,都進(jìn)行連線并加入到可視圖中,然后將起點PS和終點PG也加入到作業(yè)區(qū)域中,就形成了完整的全局視圖,如圖4所示。
圖3 局部視圖最小化示意圖Fig.3 Local view minimization schematic diagram
圖4 全局視圖示意圖Fig.4 The sketch diagram of global view
農(nóng)業(yè)機(jī)器人作業(yè)環(huán)境比較復(fù)雜,設(shè)定好機(jī)器人的起點和終點后,便是獲取作業(yè)區(qū)域的環(huán)境信息,然后由系統(tǒng)算法進(jìn)行最優(yōu)路徑規(guī)劃。假設(shè)農(nóng)業(yè)機(jī)器人起點PS和終點PG,則路徑規(guī)劃應(yīng)該從以下幾個方面進(jìn)行考慮。
1)時間最短。
f1=min(maxt) (1≤t≤n)
(1)
其中,f1為從起點PS和終點PG的最短時間;t為時間節(jié)點。
2)路程最短。
(2)
其中,f2為PS和PG之間的最短路程;(xi,yi)為路徑坐標(biāo)點。
3)路徑轉(zhuǎn)彎次數(shù)最少。
(3)
其中,f3為路徑轉(zhuǎn)彎次數(shù)。
根據(jù)以上3個方面,可以構(gòu)建農(nóng)業(yè)機(jī)器人軌跡規(guī)劃計算函數(shù)為
F=a1f1+a2f2+a3f3
(4)
其中,a1、a2和a3為最優(yōu)路徑計算系數(shù)。
本文結(jié)合農(nóng)業(yè)機(jī)器人軌跡數(shù)據(jù)得到最優(yōu)路徑和層次搜索策略,采用經(jīng)驗等級路網(wǎng)結(jié)合分層路徑搜索對農(nóng)業(yè)機(jī)器人的路徑進(jìn)行有效規(guī)劃。路徑規(guī)劃與實時定位技術(shù)路線如圖5所示。
圖5 路徑規(guī)劃與實時定位技術(shù)路線圖Fig.5 The technical roadmap of path planning and real-time positioning
路徑規(guī)劃與實時定位的具體實現(xiàn)流程為:
Step1:根據(jù)需求對采集到的農(nóng)業(yè)機(jī)器人數(shù)據(jù)進(jìn)行預(yù)處理,除去經(jīng)緯度越界、經(jīng)緯度和時間沒有發(fā)生變化的不合格數(shù)據(jù)。
Step2:經(jīng)過對數(shù)據(jù)的預(yù)處理后,匹配環(huán)境模型,將GPS數(shù)據(jù)加載到環(huán)境模型的路網(wǎng)數(shù)據(jù)中,使得系統(tǒng)可以在環(huán)境模型中提取農(nóng)業(yè)機(jī)器人的經(jīng)驗軌跡集。
Step3:計算指定時間內(nèi)農(nóng)業(yè)機(jī)器人在各個經(jīng)驗軌跡上耗費的時間和出現(xiàn)頻率,并對經(jīng)驗軌跡進(jìn)行貝葉斯分類,組建經(jīng)驗道路等級路網(wǎng)。
Step4:在已經(jīng)組建經(jīng)驗道路等級路網(wǎng)的基礎(chǔ)上,實現(xiàn)農(nóng)業(yè)機(jī)器人層次路徑規(guī)劃算法。
農(nóng)業(yè)機(jī)器人實時定位算法比較復(fù)雜,本文采用挖掘技術(shù)中的Rao-Blackwellized(PF)粒子濾波器算法進(jìn)行定位運算。PF算法具體實現(xiàn)方式如下:
根據(jù)農(nóng)業(yè)機(jī)器人GPS信息、運動模型、環(huán)境模型及農(nóng)業(yè)機(jī)器人初始位姿,利用一批離散的采樣點(粒子)表示農(nóng)業(yè)機(jī)器人實時定位狀態(tài)的密度函數(shù)。當(dāng)PF算法在高維狀態(tài)空間采樣時,應(yīng)該加大采樣樣本確保算法可靠性,也大大提高了算法的計算量。PF算法的基本思想為
p(st,λt|zt,ut-1,nt)=p(st|zt,ut-1,nt)×
(5)
其中,t為采樣時間;st為農(nóng)業(yè)機(jī)器人運動模型集;ut-1為農(nóng)業(yè)機(jī)器人控制輸入集;zt為農(nóng)業(yè)機(jī)器人位姿集;λt為t時刻的環(huán)境特征;nt為關(guān)聯(lián)數(shù)據(jù)參數(shù)。
當(dāng)在高維狀態(tài)空間采樣數(shù)量m趨于無窮大時,st趨于真實的密度函數(shù),那么p值即為真是定位點集。
農(nóng)業(yè)機(jī)器人實時定位系統(tǒng)主要是根據(jù)攝像頭傳感器和GPS定位系統(tǒng),結(jié)合農(nóng)業(yè)機(jī)器人初始位姿信息及Rao-Blackwellized(PF)粒子濾波器算法進(jìn)行高效計算,得到高精度的定位參數(shù)。農(nóng)業(yè)機(jī)器人實時定位系統(tǒng)結(jié)構(gòu)如圖6所示。
圖6 農(nóng)業(yè)機(jī)器人實時定位系統(tǒng)結(jié)構(gòu)圖Fig.6 The structure diagram of real time positioning system for agricultural robot
路徑規(guī)劃與定位系統(tǒng)采用粒子濾波器算法進(jìn)行定位和路徑規(guī)劃,軟件流程為:①搭建環(huán)境→②設(shè)定起點和終點→③)計算粒子群適應(yīng)度Pbest和gbest→④)檢測粒子聚合度→⑤變異操作,計算每個粒子群適應(yīng)度→⑥比較判斷新粒子適應(yīng)度是否優(yōu)于pbest,并確定Pbest新位置→⑦比較判斷新粒子適應(yīng)度是否優(yōu)于gbest,并確定gbest新位置;→⑧輸出最優(yōu)路徑。其中,pbest(0)、pbest(1)、…、pbest(N-1)表示各粒子的個體最優(yōu);gbest表示全體的最優(yōu)解。該軟件流程如圖7所示。
為了驗證農(nóng)業(yè)機(jī)器人路徑規(guī)劃與實時定位系統(tǒng)的可行性和可靠性,利用MatLab仿真軟件對其進(jìn)行了仿真實驗,測試內(nèi)容為系統(tǒng)是否能夠使農(nóng)業(yè)機(jī)器人在路徑最優(yōu)情況下到達(dá)終點。環(huán)境模型圖和仿真結(jié)果如圖8和圖9所示。
由圖9可以看出:該系統(tǒng)采用最短路徑的可視圖建模方法和PF算法,使得農(nóng)業(yè)機(jī)器人成功避開了所有的障礙物,精準(zhǔn)地從起點到達(dá)了終點。從其移動路徑和拐點來看,該系統(tǒng)優(yōu)化效果明顯,具有很強(qiáng)的避障、路徑規(guī)劃和定位能力,符合設(shè)計要求,驗證了系統(tǒng)的可行性和可靠性。
圖7 蟻群算法軟件流程Fig.7 The software flow of ant colony algorithm
圖8 設(shè)定的環(huán)境模型Fig.8 Set the environment model
圖9 仿真結(jié)果圖Fig.9 Simulation result diagram
針對農(nóng)業(yè)機(jī)械人作業(yè)環(huán)境復(fù)雜、障礙物多、路徑規(guī)劃和定位困難等問題,提出了基于數(shù)據(jù)挖掘技術(shù)的農(nóng)業(yè)機(jī)器人路徑規(guī)劃和實時定位系統(tǒng)。系統(tǒng)采用可視圖建模方法和PF算法,為機(jī)器人路徑規(guī)劃和實時定位提供一種可行性強(qiáng)、可靠性高、算法最優(yōu)的解決方案。實驗結(jié)果表明:農(nóng)業(yè)機(jī)器人成功避開所有的障礙物,順利地從起點到達(dá)了終點。從其移動路徑和拐點來看,該系統(tǒng)優(yōu)化效果明顯,具有很強(qiáng)的避障、路徑規(guī)劃和定位能力。