肖 紅,鄭世界,于 濤
(1.四川城市職業(yè)學(xué)院,成都 610101;2.成都工業(yè)職業(yè)技術(shù)學(xué)院,成都 610200;3.信息產(chǎn)業(yè)電子第十一設(shè)計(jì)研究院科技工程股份有限公司,成都 610056)
隨著人工智能技術(shù)在農(nóng)業(yè)生產(chǎn)中的逐漸應(yīng)用與發(fā)展,農(nóng)業(yè)生產(chǎn)正在由自動(dòng)化向智能化方向發(fā)展,極大地提高了農(nóng)業(yè)生產(chǎn)效率與作業(yè)質(zhì)量。農(nóng)業(yè)運(yùn)輸車(chē)輛是田間重要的農(nóng)業(yè)生產(chǎn)工具與配套設(shè)備之一,其自動(dòng)導(dǎo)航技術(shù)及精度控制是近年來(lái)的研究重點(diǎn)之一,對(duì)于提高農(nóng)業(yè)生產(chǎn)效率具有重要的發(fā)展意義。
農(nóng)業(yè)運(yùn)輸車(chē)主要應(yīng)用于谷物收獲與轉(zhuǎn)移,由于目前我國(guó)農(nóng)業(yè)生產(chǎn)現(xiàn)狀主要以散戶經(jīng)營(yíng)生產(chǎn)為主,故需要在不同的散田與倉(cāng)庫(kù)之間多次轉(zhuǎn)移與合理調(diào)度。前期,相關(guān)學(xué)者提出了一種用于農(nóng)業(yè)作業(yè)中運(yùn)輸單元的路徑規(guī)劃方法,可減少轉(zhuǎn)彎、掉頭等作業(yè)耗時(shí)。但是,目前大多數(shù)應(yīng)用中的自動(dòng)引導(dǎo)主要是考慮田間管理和谷物收獲的便利性,引導(dǎo)農(nóng)業(yè)車(chē)輛沿直線行駛,并未考慮農(nóng)業(yè)機(jī)械在田間轉(zhuǎn)彎、調(diào)頭等路徑情況。地頭轉(zhuǎn)彎是農(nóng)業(yè)生產(chǎn)工作中的一個(gè)重要影響因素,極大地影響農(nóng)用運(yùn)輸車(chē)田間工作效率。
針對(duì)以上問(wèn)題,創(chuàng)新提出了一種用于農(nóng)業(yè)運(yùn)輸車(chē)自動(dòng)導(dǎo)航系統(tǒng),將收獲和運(yùn)輸問(wèn)題作為一個(gè)帶動(dòng)態(tài)衛(wèi)星的兩級(jí)多行程車(chē)輛路徑問(wèn)題(2E-MTVRPDS),通過(guò)給定兩點(diǎn)來(lái)創(chuàng)建一條直線作為參考線,并在自主導(dǎo)航過(guò)程中,根據(jù)車(chē)輛初始狀態(tài)、工作參數(shù)和工作計(jì)劃創(chuàng)建目標(biāo)路徑;然后,通過(guò)列出不同的轉(zhuǎn)彎模式,綜合考慮了農(nóng)用運(yùn)輸車(chē)的地頭轉(zhuǎn)彎情況,最終實(shí)現(xiàn)農(nóng)用運(yùn)輸車(chē)的自動(dòng)移動(dòng)控制。
本研究基于2E-MTVRPDS 的模因算法(MA),解決農(nóng)業(yè)運(yùn)輸車(chē)田間路徑自主規(guī)劃問(wèn)題。MA主要由遺傳算法(GA)和局部搜索組成程序(LSP)組成。遺傳算法(GA)由受生物有機(jī)體自然進(jìn)化啟發(fā)的適應(yīng)性方法組成,最初的個(gè)體群體(染色體)經(jīng)過(guò)幾代人的進(jìn)化,直到達(dá)到令人滿意的質(zhì)量標(biāo)準(zhǔn)、最大迭代次數(shù)或時(shí)間限制,新個(gè)體(子代)是通過(guò)遺傳算子(交叉和變異)從形成當(dāng)前代(父代)的個(gè)體中生成的。
首先,2E-MTVRPDS 可以分為第一級(jí)和第二級(jí)算法求解,根據(jù)每個(gè)單獨(dú)的目標(biāo)函數(shù)和 MA 約束分別求解這兩個(gè)級(jí)別最優(yōu)解。令x*和z*分別為第一層和第二層的最優(yōu)解,分別對(duì)應(yīng)目標(biāo)函數(shù)值f*和s*。在實(shí)際農(nóng)業(yè)生產(chǎn)中,農(nóng)業(yè)運(yùn)輸車(chē)屬于動(dòng)態(tài)移動(dòng),故需要求出第一層最優(yōu)解后進(jìn)行第二層求解,本研究分別為第一級(jí)和 2E MTVRPDS 設(shè)置了兩個(gè)下界LBf和LBt。首先,設(shè)置x*和z+作為2E-MTVRPDS 的初始解;其次,采用交叉或LSP算子來(lái)獲得第一層的鄰域解,并選擇規(guī)則來(lái)細(xì)化鄰域解。
第一級(jí)求解目標(biāo)為最小路由成本,在第二級(jí)求解中設(shè)計(jì)一種貪婪的啟發(fā)式算法來(lái)獲得第二級(jí)的初始解;第一級(jí)求解目標(biāo)是使用最少的運(yùn)輸器數(shù)量和最小的路由成本實(shí)現(xiàn)最高的農(nóng)業(yè)運(yùn)輸車(chē)工作效率。
在第一級(jí)求解中,使用基于順序的交叉(OX)算法,該算法隨機(jī)選擇染色體中的一個(gè)位置,并在該位置后交換兩個(gè)個(gè)體的基因,每個(gè)農(nóng)業(yè)運(yùn)輸車(chē)采用一個(gè)單元表示,因此交叉可以在一次操作中同時(shí)發(fā)生在多個(gè)農(nóng)業(yè)運(yùn)輸車(chē)中;與第一級(jí)求解目標(biāo)相比,第二級(jí)求解目標(biāo)主要包括時(shí)間窗口和容量約束。
變異算子用作多樣化策略選,在計(jì)算過(guò)程中會(huì)阻止收斂到局部最優(yōu)。在MA中,將根據(jù)突變率(H)從種群中隨機(jī)選擇將發(fā)生突變的染色體,在變異過(guò)程中,隨機(jī)選擇的染色體的一個(gè)隨機(jī)選擇的基因值被改變?yōu)橐粋€(gè)新的隨機(jī)值。在此,采用了單點(diǎn)突變,在第一層,選擇農(nóng)業(yè)運(yùn)輸車(chē)v1在行程rf中收割的農(nóng)田被隨機(jī)插入到另一臺(tái)農(nóng)業(yè)運(yùn)輸車(chē)中;在第二層,選擇運(yùn)輸車(chē)v2在行程rs中運(yùn)輸?shù)牡趇個(gè)農(nóng)田i的運(yùn)輸請(qǐng)求;最后,在行程rf中循環(huán)傳輸器的所有路線,以保證為農(nóng)用運(yùn)輸車(chē)規(guī)劃合理的運(yùn)輸路徑。
混合元啟發(fā)式算法主要是將局部搜索技術(shù)與遺傳算法相結(jié)合用于求解車(chē)輛路徑規(guī)劃問(wèn)題,如插入、交換、2opt、2-opt*和交換算子。本研究中,第一級(jí)是具有多個(gè)行程的車(chē)輛路徑規(guī)劃問(wèn)題,因此使用2-opt*和交換算子作為L(zhǎng)SP,進(jìn)而提高M(jìn)A的有效性和效率;在第二級(jí)求解中,由于存在時(shí)間窗口和容量限制,LSP只能在不同的車(chē)輛路徑中發(fā)生。因此,采用兩個(gè)算子來(lái)優(yōu)化第二級(jí),算法計(jì)算流程如圖1所示。其中,上層車(chē)輛上的點(diǎn)(i,k)和下層車(chē)輛上的點(diǎn)(j,l)分別同時(shí)重新插入到下層和上層路徑中。采用 PFIDM 來(lái)檢測(cè)時(shí)間窗口和容量約束以實(shí)現(xiàn)交叉交換算子。在上車(chē)的兩個(gè)點(diǎn)(j和k+1)處檢測(cè)到時(shí)間窗約束,采用新的搜索算子來(lái)提高第二層的有效性和效率(見(jiàn)圖2),上層車(chē)輛上的點(diǎn)(k,k+1…)和水平車(chē)輛上的點(diǎn)(l,l+1…)分別同時(shí)重新插入下層和上層路線。
圖1 第二級(jí)的交叉交換運(yùn)算示意圖Fig.1 Schematic diagram of the second-level cross-exchange operation
圖2 第二級(jí)網(wǎng)絡(luò)路由交換運(yùn)算示意圖Fig.2 Schematic diagram of the second-level network routing switching operation
農(nóng)業(yè)車(chē)輛沿著預(yù)定路徑行駛,在田間結(jié)構(gòu)化環(huán)境中完成各項(xiàng)工作任務(wù)。目前的農(nóng)業(yè)生產(chǎn)中,農(nóng)業(yè)運(yùn)輸車(chē)主要依靠駕駛員開(kāi)車(chē)進(jìn)入目標(biāo)場(chǎng)地,并在開(kāi)始工作前根據(jù)實(shí)際情況做好準(zhǔn)備,但依靠人工難以在農(nóng)業(yè)生產(chǎn)中充分考慮路徑規(guī)劃的便利性和路徑跟蹤的靈活性。
本研究中,農(nóng)業(yè)運(yùn)輸車(chē)直線行駛方案如圖3所示。農(nóng)業(yè)車(chē)輛需要沿著相互平行的直線路徑穿過(guò)工作區(qū),為了簡(jiǎn)化路徑規(guī)劃,首先測(cè)量?jī)牲c(diǎn)A和B,并將A和B表示的直線作為參考路徑。其它路徑在工作期間進(jìn)行自動(dòng)生成。
圖3 UTM坐標(biāo)系下的路徑規(guī)劃示意圖Fig.3 Schematic diagram of path planning in UTM coordinate system
通過(guò)給定A和B的位置,駕駛員將農(nóng)用運(yùn)輸車(chē)放置在靠近導(dǎo)航路徑的任意位置,如點(diǎn)C。由于車(chē)輛擬沿平行于AB線的直線路徑以n倍工作寬度的間距移動(dòng),可通過(guò)等式(1)計(jì)算n來(lái)確定當(dāng)前目標(biāo)路徑,即
(1)
因此,農(nóng)用運(yùn)輸車(chē)開(kāi)始沿著由An(EArv,NAn)和Bn(EBrv,NBn)表示的最近路徑移動(dòng),計(jì)算公式為
(2)
(3)
在農(nóng)用車(chē)輛的自主導(dǎo)航技術(shù)中,田間轉(zhuǎn)彎技術(shù)是影響農(nóng)用運(yùn)輸車(chē)工作效率的主要因素之一。
優(yōu)化轉(zhuǎn)彎模式可以減少非工作時(shí)間,提高農(nóng)用運(yùn)輸車(chē)田間工作效率,根據(jù)不同機(jī)具的最小轉(zhuǎn)彎半徑R和工作寬度W之間的關(guān)系,設(shè)計(jì)了3種地頭轉(zhuǎn)彎模式,如圖4所示。
圖4 地頭從路徑n轉(zhuǎn)向路徑n+1的行走模式Fig.4 The walking pattern of the headland from path n to path n+1
自主導(dǎo)航控制系統(tǒng)主要用于處理全球?qū)Ш叫l(wèi)星系統(tǒng)信息、執(zhí)行導(dǎo)航算法、管理導(dǎo)航信息及與其他設(shè)備通信,如圖5所示。本研究中開(kāi)發(fā)的導(dǎo)航控制系統(tǒng)主要由一個(gè)STM32F429微控制器、一個(gè)SD讀卡器、一個(gè)人機(jī)界面和一個(gè)帶有3個(gè)串行接口的23針連接器組成,分別用于與GNSS接收器、測(cè)井設(shè)備和自動(dòng)轉(zhuǎn)向系統(tǒng)進(jìn)行信息通信,實(shí)現(xiàn)接收并執(zhí)行導(dǎo)航指令,實(shí)現(xiàn)速度和轉(zhuǎn)向角的自動(dòng)控制。
圖5 自動(dòng)導(dǎo)航控制系統(tǒng)及其連接方式Fig.5 Automatic navigation control system and its connection
將設(shè)計(jì)的農(nóng)用運(yùn)輸車(chē)自動(dòng)導(dǎo)航系統(tǒng)應(yīng)用到谷物聯(lián)合收獲機(jī)及輪式拖拉機(jī)中,進(jìn)行路徑規(guī)劃及田間行走、調(diào)頭轉(zhuǎn)彎的穩(wěn)定性及可靠性進(jìn)行評(píng)估。
試驗(yàn)工作區(qū)域面積為35m×20m,在該工作區(qū),通過(guò)在UTM坐標(biāo)系下測(cè)量A1(4074217,588395)和B1(4074576,588561)的位置來(lái)創(chuàng)建直線導(dǎo)航路徑,如圖6所示。田間轉(zhuǎn)彎半徑和工作寬度分別為1.5m和1.8m。
(a)導(dǎo)航路徑和實(shí)際軌跡
(b)橫向誤差
(c)縱向誤差圖6 谷物聯(lián)合收獲機(jī)導(dǎo)航系統(tǒng)試驗(yàn)結(jié)果分析圖Fig.6 Analysis of the test results of the navigation system of the grain combine harvester
谷物聯(lián)合收獲機(jī)由駕駛員放置在C(4074995、588826),車(chē)輛行駛路徑從A1到B1。自主導(dǎo)航控制系統(tǒng)計(jì)算的橫向和縱向誤差分別為20cm和4.5°。谷物聯(lián)合收獲機(jī)從A1到B1開(kāi)始進(jìn)行收獲作業(yè),從左到右以1800mm的間距橫穿了與AB平行的共5條路徑。
圖6(b)和(c)顯示了自主導(dǎo)航系統(tǒng)工作期間的橫向和縱向誤差。研究結(jié)果表明:基于本研究自主研發(fā)的農(nóng)業(yè)運(yùn)輸車(chē)輛自主導(dǎo)航控制系統(tǒng)可以引導(dǎo)谷物聯(lián)合收獲機(jī)沿直線路徑行駛,橫向誤差和縱向誤差分別不超過(guò)5cm和2°;路徑1、路徑2、路徑3、路徑4的橫向誤差分別為2.3、2.4、2.9、3.3cm,路徑 5為農(nóng)用車(chē)輛運(yùn)動(dòng)在完成地頭轉(zhuǎn)彎后收斂到穩(wěn)態(tài)時(shí);路徑1、路徑2、路徑3、路徑4和路徑5的縱向誤差分別為2.0°、1.3°、1.2°、2.0°、1.5°。研究結(jié)果表明:谷物聯(lián)合收獲機(jī)在整個(gè)目標(biāo)作業(yè)區(qū)域內(nèi)沿著直線路徑和轉(zhuǎn)彎模式自主作業(yè)較為穩(wěn)定,作業(yè)精度較高,可以滿足實(shí)際生產(chǎn)作業(yè)要求。
拖拉機(jī)用于為各種機(jī)具(包括播種機(jī)、中耕機(jī)和犁)提供牽引力和動(dòng)力,其工作寬度因不同機(jī)具而異,因此要求拖拉機(jī)能在地頭靈活轉(zhuǎn)向。在本研究中,給定農(nóng)用拖拉機(jī)轉(zhuǎn)彎半徑、工作寬度和地頭空間值,自主導(dǎo)航控制系統(tǒng)可以自動(dòng)選擇農(nóng)用拖拉機(jī)的轉(zhuǎn)彎模式。試驗(yàn)結(jié)果如圖7所示。
(a)導(dǎo)航路徑和實(shí)際軌跡
(b)橫向誤差
(c)縱向誤差圖7 輪式拖拉機(jī)的自主導(dǎo)航Fig.7 Autonomous navigation of wheeled tractors
圖7中,初始導(dǎo)航路徑是從A1(4234858,596305)直接到B1(4074858, 588259),拖拉機(jī)被任意放置在C(3974857,598223),橫向和縱向誤差分別為43cm和9°,共進(jìn)行5條路經(jīng)的測(cè)試。測(cè)試結(jié)果表明:5條路徑的橫向誤差分別為1.55、1.96、1.84、1.86、2.21cm,最大縱向均方根誤差分別為1.0°、1.4°、1.3°、1.4°和1.5°;拖拉機(jī)收斂到穩(wěn)態(tài)時(shí)最大橫向誤差小于5cm,最大縱向誤差不大于1.5°。
創(chuàng)新提出了一種用于農(nóng)業(yè)運(yùn)輸車(chē)自動(dòng)導(dǎo)航系統(tǒng),將收獲和運(yùn)輸問(wèn)題視為一個(gè)帶動(dòng)態(tài)衛(wèi)星的兩級(jí)多行程車(chē)輛路徑問(wèn)題(2E-MTVRPDS)。通過(guò)給定兩點(diǎn)來(lái)創(chuàng)建一條直線作為參考線,在自主導(dǎo)航過(guò)程中,根據(jù)車(chē)輛初始狀態(tài)、工作參數(shù)和工作計(jì)劃創(chuàng)建目標(biāo)路徑。通過(guò)列出不同的轉(zhuǎn)彎模式,綜合考慮了農(nóng)用運(yùn)輸車(chē)的地頭轉(zhuǎn)彎情況,以實(shí)現(xiàn)農(nóng)用運(yùn)輸車(chē)的自動(dòng)移動(dòng)控制。以谷物聯(lián)合收獲機(jī)及拖拉機(jī)為試驗(yàn)對(duì)象,結(jié)果表明:當(dāng)農(nóng)業(yè)拖拉機(jī)完成直線導(dǎo)航時(shí),會(huì)自動(dòng)執(zhí)行適當(dāng)?shù)霓D(zhuǎn)彎模式,直線跟蹤的橫向誤差分別<6cm,直線跟蹤最大橫向均方根誤差≤5cm,證明:提出的農(nóng)業(yè)運(yùn)輸車(chē)自動(dòng)導(dǎo)航系統(tǒng)在引導(dǎo)農(nóng)用車(chē)輛田間工作時(shí)具有通用性和良好的工作性能,可以滿足田間農(nóng)業(yè)生產(chǎn)要求。