李巧君,梁俊娟
(河南工業(yè)職業(yè)技術(shù)學(xué)院,河南 南陽(yáng) 473000)
隨著農(nóng)業(yè)機(jī)械智能化和信息化的飛速發(fā)展,農(nóng)業(yè)機(jī)器人正在成為主角。它的出現(xiàn)不僅推動(dòng)農(nóng)業(yè)實(shí)現(xiàn)了標(biāo)準(zhǔn)化生產(chǎn),還進(jìn)一步提高了種植效率,減少了人工成本,促進(jìn)了傳統(tǒng)農(nóng)業(yè)快速轉(zhuǎn)型。農(nóng)業(yè)機(jī)器人研究過(guò)程中,變速箱和發(fā)動(dòng)機(jī)的驅(qū)動(dòng)控制、機(jī)械制造等基礎(chǔ)產(chǎn)業(yè)技術(shù)容易解決,但智能控制算法依舊是研究難點(diǎn)和熱點(diǎn)。本文根據(jù)農(nóng)業(yè)機(jī)器人作業(yè)特點(diǎn),采用數(shù)據(jù)挖掘智能算法,結(jié)合可視圖建模方法,設(shè)計(jì)了一種農(nóng)業(yè)機(jī)器人路徑規(guī)劃與實(shí)時(shí)定位系統(tǒng)。
數(shù)據(jù)挖掘(Data Mining)是指從大量不完全、隱含的、隨機(jī)的大型數(shù)據(jù)庫(kù)中提取隱含在其中的、人們未發(fā)現(xiàn)的但又有用的信息,其目的是幫助人們提高特定時(shí)間的決策、監(jiān)測(cè)和風(fēng)險(xiǎn)預(yù)警等。數(shù)據(jù)挖掘主要包括統(tǒng)計(jì)學(xué)和機(jī)器學(xué)習(xí)兩種方法:統(tǒng)計(jì)學(xué)一般以模型為驅(qū)動(dòng),通常是建立一個(gè)用以構(gòu)造數(shù)據(jù)的模型;而機(jī)器學(xué)習(xí)一般是以算法為驅(qū)動(dòng),讓計(jì)算機(jī)通過(guò)特定算法從復(fù)雜數(shù)據(jù)中提取有用信息。
從形式上來(lái)講,數(shù)據(jù)挖掘技術(shù)一般是采用迭代式開(kāi)發(fā)方法,過(guò)程如圖1所示。
其中,各個(gè)模塊解釋如下:
1)解讀需求。大多數(shù)數(shù)據(jù)挖掘技術(shù)都是應(yīng)用在特定場(chǎng)合的,開(kāi)發(fā)人員不應(yīng)該只研究數(shù)據(jù)挖掘的算法模型,還應(yīng)多與項(xiàng)目相關(guān)的工程師交流合作,恰當(dāng)解讀項(xiàng)目的需求。

圖1 數(shù)據(jù)挖掘開(kāi)發(fā)流程Fig.1 The development process of data mining
2)搜集數(shù)據(jù)。確定項(xiàng)目需求就是從各個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)中搜集數(shù)據(jù)。一般做法是采用抽樣的手法提取數(shù)據(jù)信息,這種情形下主要是側(cè)重于根據(jù)取樣分布確定抽樣方法,確保評(píng)估模型中用于訓(xùn)練和檢驗(yàn)數(shù)據(jù)來(lái)源于同一個(gè)取樣分布。
3)數(shù)據(jù)預(yù)處理。數(shù)據(jù)預(yù)處理包括對(duì)數(shù)據(jù)的清洗、集成、變換和規(guī)約等任務(wù)。其中,前面兩個(gè)任務(wù)主要是針對(duì)數(shù)據(jù)做出一系列的缺失值、異常值、歸一化、時(shí)間序列加權(quán)的處理;而后面兩個(gè)任務(wù)則是對(duì)數(shù)據(jù)進(jìn)行維度、值以及案例的歸約處理。
4)評(píng)估模型。評(píng)估模型就是在眾多可行的模型中選出一個(gè)最優(yōu)的模型。
5)解釋模型。數(shù)據(jù)挖掘?qū)嶋H上是用來(lái)幫助人們對(duì)事情做出最終決策的,在實(shí)際工程中人們不會(huì)根據(jù)“黑箱子模型”做出決策。因此,需要對(duì)具有實(shí)際用途的“黑箱子模型”做出合理的解釋。
建立農(nóng)業(yè)機(jī)器人作業(yè)環(huán)境模型,主要是采用合適的環(huán)境表示方法表示作業(yè)區(qū)域內(nèi)的機(jī)器人和障礙物,從而建立路徑規(guī)劃和路徑搜索算法,實(shí)現(xiàn)路徑最優(yōu)化。假設(shè)R為二維平面中的農(nóng)業(yè)機(jī)器人,其作業(yè)區(qū)域?yàn)楣ぷ骺臻g,那么在工作空間可能存在若干個(gè)障礙物O={O1,O2,…,On},每個(gè)障礙物可以看成一個(gè)不規(guī)則的多邊形。另外,為了方便表示機(jī)器人的行走路線(xiàn),在作業(yè)環(huán)境模型中將機(jī)器人看作成一個(gè)點(diǎn)。
本文采用包含最短路徑的可視圖建模方法構(gòu)建環(huán)境模型,其主要步驟包括簡(jiǎn)化障礙物、局部視圖最小化和全局視圖等。
1)簡(jiǎn)化障礙物。簡(jiǎn)化障礙物實(shí)際上是一共包括5個(gè)步驟。
Step1:假設(shè)PS(農(nóng)業(yè)機(jī)器人起點(diǎn))和PG(農(nóng)業(yè)機(jī)器人終點(diǎn))已知,作直線(xiàn)PSPG,確定PSPG穿過(guò)的障礙物;
Step2:在直線(xiàn)PS、PG兩側(cè),分別找遠(yuǎn)離直線(xiàn)PSPG的障礙物頂點(diǎn)Phigh和Plow;
Step3:以PS、PG、Phigh和Plow這4點(diǎn)作一個(gè)四邊形區(qū)域。若直線(xiàn)PS、PG的某側(cè)有多個(gè)滿(mǎn)足Phigh和Plow的頂點(diǎn),則將這些點(diǎn)和起點(diǎn)和終點(diǎn)連接起來(lái),如圖2中的虛線(xiàn)。

圖2 簡(jiǎn)化可視圖區(qū)域Fig.2 The simplifying viewed area
Step4:判斷是否有除PSPG穿過(guò)之外的障礙物與PSPGPhighPlow四邊形相交,若其位于PSPGPhighPlow四邊形內(nèi)部,也稱(chēng)其相交;若有,則保留。
Step5:保留PSPG穿過(guò)的障礙物和與PSPGPhighPlow四邊形的障礙物,除掉其他的障礙物。
2)局部視圖最小化。局部視圖最小化是由兩個(gè)完全可視的障礙物的公切線(xiàn)組成的,根據(jù)要求可以生成的多個(gè)局部最小可視圖。局部視圖最小化示意圖如圖3所示。
3)全局視圖。對(duì)局部視圖最小化障礙物中沒(méi)有連線(xiàn)的,都進(jìn)行連線(xiàn)并加入到可視圖中,然后將起點(diǎn)PS和終點(diǎn)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ī)器人的起點(diǎn)和終點(diǎn)后,便是獲取作業(yè)區(qū)域的環(huán)境信息,然后由系統(tǒng)算法進(jìn)行最優(yōu)路徑規(guī)劃。假設(shè)農(nóng)業(yè)機(jī)器人起點(diǎn)PS和終點(diǎn)PG,則路徑規(guī)劃應(yīng)該從以下幾個(gè)方面進(jìn)行考慮。
1)時(shí)間最短。
f1=min(maxt) (1≤t≤n)
(1)
其中,f1為從起點(diǎn)PS和終點(diǎn)PG的最短時(shí)間;t為時(shí)間節(jié)點(diǎn)。
2)路程最短。
(2)
其中,f2為PS和PG之間的最短路程;(xi,yi)為路徑坐標(biāo)點(diǎn)。
3)路徑轉(zhuǎn)彎次數(shù)最少。
(3)
其中,f3為路徑轉(zhuǎn)彎次數(shù)。
根據(jù)以上3個(gè)方面,可以構(gòu)建農(nóng)業(yè)機(jī)器人軌跡規(guī)劃計(jì)算函數(shù)為
F=a1f1+a2f2+a3f3
(4)
其中,a1、a2和a3為最優(yōu)路徑計(jì)算系數(shù)。
本文結(jié)合農(nóng)業(yè)機(jī)器人軌跡數(shù)據(jù)得到最優(yōu)路徑和層次搜索策略,采用經(jīng)驗(yàn)等級(jí)路網(wǎng)結(jié)合分層路徑搜索對(duì)農(nóng)業(yè)機(jī)器人的路徑進(jìn)行有效規(guī)劃。路徑規(guī)劃與實(shí)時(shí)定位技術(shù)路線(xiàn)如圖5所示。

圖5 路徑規(guī)劃與實(shí)時(shí)定位技術(shù)路線(xiàn)圖Fig.5 The technical roadmap of path planning and real-time positioning
路徑規(guī)劃與實(shí)時(shí)定位的具體實(shí)現(xiàn)流程為:
Step1:根據(jù)需求對(duì)采集到的農(nóng)業(yè)機(jī)器人數(shù)據(jù)進(jìn)行預(yù)處理,除去經(jīng)緯度越界、經(jīng)緯度和時(shí)間沒(méi)有發(fā)生變化的不合格數(shù)據(jù)。
Step2:經(jīng)過(guò)對(duì)數(shù)據(jù)的預(yù)處理后,匹配環(huán)境模型,將GPS數(shù)據(jù)加載到環(huán)境模型的路網(wǎng)數(shù)據(jù)中,使得系統(tǒng)可以在環(huán)境模型中提取農(nóng)業(yè)機(jī)器人的經(jīng)驗(yàn)軌跡集。
Step3:計(jì)算指定時(shí)間內(nèi)農(nóng)業(yè)機(jī)器人在各個(gè)經(jīng)驗(yàn)軌跡上耗費(fèi)的時(shí)間和出現(xiàn)頻率,并對(duì)經(jīng)驗(yàn)軌跡進(jìn)行貝葉斯分類(lèi),組建經(jīng)驗(yàn)道路等級(jí)路網(wǎng)。
Step4:在已經(jīng)組建經(jīng)驗(yàn)道路等級(jí)路網(wǎng)的基礎(chǔ)上,實(shí)現(xiàn)農(nóng)業(yè)機(jī)器人層次路徑規(guī)劃算法。
農(nóng)業(yè)機(jī)器人實(shí)時(shí)定位算法比較復(fù)雜,本文采用挖掘技術(shù)中的Rao-Blackwellized(PF)粒子濾波器算法進(jìn)行定位運(yùn)算。PF算法具體實(shí)現(xiàn)方式如下:
根據(jù)農(nóng)業(yè)機(jī)器人GPS信息、運(yùn)動(dòng)模型、環(huán)境模型及農(nóng)業(yè)機(jī)器人初始位姿,利用一批離散的采樣點(diǎn)(粒子)表示農(nóng)業(yè)機(jī)器人實(shí)時(shí)定位狀態(tài)的密度函數(shù)。當(dāng)PF算法在高維狀態(tài)空間采樣時(shí),應(yīng)該加大采樣樣本確保算法可靠性,也大大提高了算法的計(jì)算量。PF算法的基本思想為
p(st,λt|zt,ut-1,nt)=p(st|zt,ut-1,nt)×
(5)
其中,t為采樣時(shí)間;st為農(nóng)業(yè)機(jī)器人運(yùn)動(dòng)模型集;ut-1為農(nóng)業(yè)機(jī)器人控制輸入集;zt為農(nóng)業(yè)機(jī)器人位姿集;λt為t時(shí)刻的環(huán)境特征;nt為關(guān)聯(lián)數(shù)據(jù)參數(shù)。
當(dāng)在高維狀態(tài)空間采樣數(shù)量m趨于無(wú)窮大時(shí),st趨于真實(shí)的密度函數(shù),那么p值即為真是定位點(diǎn)集。
農(nóng)業(yè)機(jī)器人實(shí)時(shí)定位系統(tǒng)主要是根據(jù)攝像頭傳感器和GPS定位系統(tǒng),結(jié)合農(nóng)業(yè)機(jī)器人初始位姿信息及Rao-Blackwellized(PF)粒子濾波器算法進(jìn)行高效計(jì)算,得到高精度的定位參數(shù)。農(nóng)業(yè)機(jī)器人實(shí)時(shí)定位系統(tǒng)結(jié)構(gòu)如圖6所示。

圖6 農(nóng)業(yè)機(jī)器人實(shí)時(shí)定位系統(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è)定起點(diǎn)和終點(diǎn)→③)計(jì)算粒子群適應(yīng)度Pbest和gbest→④)檢測(cè)粒子聚合度→⑤變異操作,計(jì)算每個(gè)粒子群適應(yīng)度→⑥比較判斷新粒子適應(yīng)度是否優(yōu)于pbest,并確定Pbest新位置→⑦比較判斷新粒子適應(yīng)度是否優(yōu)于gbest,并確定gbest新位置;→⑧輸出最優(yōu)路徑。其中,pbest(0)、pbest(1)、…、pbest(N-1)表示各粒子的個(gè)體最優(yōu);gbest表示全體的最優(yōu)解。該軟件流程如圖7所示。
為了驗(yàn)證農(nóng)業(yè)機(jī)器人路徑規(guī)劃與實(shí)時(shí)定位系統(tǒng)的可行性和可靠性,利用MatLab仿真軟件對(duì)其進(jìn)行了仿真實(shí)驗(yàn),測(cè)試內(nèi)容為系統(tǒng)是否能夠使農(nóng)業(yè)機(jī)器人在路徑最優(yōu)情況下到達(dá)終點(diǎn)。環(huán)境模型圖和仿真結(jié)果如圖8和圖9所示。
由圖9可以看出:該系統(tǒng)采用最短路徑的可視圖建模方法和PF算法,使得農(nóng)業(yè)機(jī)器人成功避開(kāi)了所有的障礙物,精準(zhǔn)地從起點(diǎn)到達(dá)了終點(diǎn)。從其移動(dòng)路徑和拐點(diǎn)來(lái)看,該系統(tǒng)優(yōu)化效果明顯,具有很強(qiáng)的避障、路徑規(guī)劃和定位能力,符合設(shè)計(jì)要求,驗(yàn)證了系統(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
針對(duì)農(nóng)業(yè)機(jī)械人作業(yè)環(huán)境復(fù)雜、障礙物多、路徑規(guī)劃和定位困難等問(wèn)題,提出了基于數(shù)據(jù)挖掘技術(shù)的農(nóng)業(yè)機(jī)器人路徑規(guī)劃和實(shí)時(shí)定位系統(tǒng)。系統(tǒng)采用可視圖建模方法和PF算法,為機(jī)器人路徑規(guī)劃和實(shí)時(shí)定位提供一種可行性強(qiáng)、可靠性高、算法最優(yōu)的解決方案。實(shí)驗(yàn)結(jié)果表明:農(nóng)業(yè)機(jī)器人成功避開(kāi)所有的障礙物,順利地從起點(diǎn)到達(dá)了終點(diǎn)。從其移動(dòng)路徑和拐點(diǎn)來(lái)看,該系統(tǒng)優(yōu)化效果明顯,具有很強(qiáng)的避障、路徑規(guī)劃和定位能力。