學術咨詢服務,正當時......期刊天空網是可靠的職稱工作業績成果學術咨詢服務平臺!!!

基于Android的農機導航管理系統研究與設計

發布時間:2019-06-12所屬分類:農業論文瀏覽:1

摘 要: 摘要:農機自動導航技術是精準農業研究中的關鍵技術之一。為解決國內現有農機導航系統的人機交互體驗差、信息化和智能化程度不高的問題,結合農機自動導航作業功能需求和Android移動平臺的優點,設計并實現了一套基于Android的導航管理系統。系統包含農機作業

  摘要:農機自動導航技術是精準農業研究中的關鍵技術之一。為解決國內現有農機導航系統的人機交互體驗差、信息化和智能化程度不高的問題,結合農機自動導航作業功能需求和Android移動平臺的優點,設計并實現了一套基于Android的導航管理系統。系統包含農機作業參數管理、農田地理信息管理、作業路徑規劃、導航實時監控和歷史作業數據管理等功能模塊。將該系統應用于農田自動導航試驗中,結果顯示:系統運行穩定可靠,人機交互體驗性好,能夠有效實現農機自動導航中的管理和監控功能。

  關鍵詞:精準農業;農機自動導航;Android平臺;導航管理系統;人機交互

廣西農業機械化

  0引言

  基于高精度GNSS的農機自動導航技術作為精準農業的一個重要方向,被廣泛地應用于耕作、收割、播種、施肥等農業生產過程中,可以大大延長作業時間、提高作業精度和效率、減輕勞動者工作強度[1]。農機導航管理系統的作用是實現人機交互控制、實時導航作業監控、路徑規劃,以及歷史作業數據管理和查詢等,是農業機械裝備信息化和智能化的一個重要載體,是農機自動導航技術的研究重點之一。

  國外發達國家(如美國)很早就開展了對農機自動駕駛技術的研究和應用。O’Conner等人于1995年研發了一套4天線載波相位GPS系統成功應用于JohnDeere7800拖拉機的直線行駛自動導航,橫向偏差精度控制在2.5cm以內[2]。

  長期的技術積累使得國外農業機械廠商已經成為全球精準農業的領導者。例如,美國Trimble(天寶)公司為農機自動駕駛提供了從高精度定位接收機、車載控制系統、導航管理終端、農業作業云數據平臺服務等一整套解決方案,其最新的導航管理終端TMX-2050基于Android平臺進行開發,提供了精致完善的農機自動導航的操作和管理功能。相比之下,國內的研究和應用起步較晚,從事精準農業的廠商的導航管理系統有些是直接引用國外的產品進行組合和二次開發。國內高校關于農機導航控制的研究大多處于實驗室階段,有關導航管理系統的研究較少。張亞嬌等人提出了一種基于WinCE的農機導航監控終端系統,并在旱田作業拖拉機上進行了測試,取得了一定的實用效果[3]。

  筆者在Android移動終端在工業中應用越來越廣泛的趨勢下[4],結合基于GPS技術的農機導航系統發展現狀[5],針對精準農業中的作業管理需求[6],設計了一套基于Android平臺的農機導航管理系統,提出了一種實用的路徑規劃算法,其具有豐富的功能模塊和良好的人機交互實踐效果。

  1系統整體框架

  根據水稻田穴直播機的實際作業需求,導航管理系統的硬件包括拖拉機車載控制器、無線數傳電臺收發端、串口藍牙和小米平板。車載控制器用于接入GPS定位數據、角度傳感器、陀螺儀傾角數據及精量播種等傳感輸入信息,并輸出控制信號控制轉向及油門和檔位系統的動作。KYL-320H高速數傳電臺和串口藍牙構成遠程無線通信方案;小米平板是基于Android系統的終端設備。

  本文的重點是軟件系統的設計。其架構主要包含農機參數與作業參數管理、水田地理信息管理、農機作業路徑規劃、導航實時監控和交互界面和歷史作業數據管理5個模塊。工作時,安裝并初始化GPS接收機,啟動車載控制器,然后啟動Android終端程序打開藍牙連接建立通信。導航管理系統先加載包括地塊信息、車輛參數和作業行間距等在內的默認參數設置。

  系統初次運行時需要用戶對新添地塊進行標定,即沿著田塊輪廓行走一圈確定其拓撲邊界并保存到地塊信息數據庫中。配置好地塊和車輛后,用戶點擊進入導航實時監控頁面,加載規劃路徑,啟動自動導航,車載控制器開始控制執行機構進行實時路徑跟蹤作業,作業結束后可以通過歷史作業管理模塊查詢歷史作業數據。

  2基于Android的系統設計與實現

  2.1系統分層設計框架

  Android系統已經占據移動端市場的80%以上,工業中也越來越多地使用Android代替傳統的嵌入式終端設備的軟件平臺。本文根據農機導航系統的功能需求和業務邏輯,將系統分為4個層次,在AndroidStudio集成開發環境下完成了導航軟件的設計與開發。系統設計框架分為交互界面層、業務邏輯層、算法工具層,以及數據訪問和通信層。這些層之間垂直調用,共同完成系統功能。使用分層結構的好處是便于數據、模型和界面的解耦,實現程序的模塊化設計。

  2.2交互界面層

  交互界面層負責用戶與車載控制器的交互操作、作業參數和導航軌跡顯示等工作。Android系統程序每個界面對應一個Activity文件加一個XML布局文件。本系統中包含有啟動界面、設備連接管理界面、車輛參數添加界面、地塊添加界面、路徑規劃界面,以及導航實時監控界面等。另外,此層的工作還包括每個界面中的按鈕、控件、彈窗、自定義控件及其適配器和屬性動畫等編寫等。

  2.3業務邏輯層

  業務邏輯層負責偵聽用戶的操作,把用戶的輸入事件收集起來回調給主線程,交給程序作進一步處理,同時負責從后臺接收消息和數據對主界面進行刷新。該層主要包括BroadcastReceiver(廣播接收器)、Service(后臺服務)、OnClickListener(事件偵聽器)及Handler(消息處理器)。

  廣播接收器用于藍牙設備連接時,系統硬件驅動層進行設備搜索,把結果廣播給導航管理控制應用程序;后臺服務用于后臺開啟和保持藍牙收發數據的通信線程。事件偵聽器在程序中大量使用,每個按鈕和自定義控件的點擊、長按等動作都會觸發該類,然后將動作回調給活動進行下一步處理;消息處理器(Handler)用于導航實時監控界面。Android應用是單線程模型,默認只有一個主界面線程,即UI線程,所有組件都是運行在這個線程中,所以這個線程不能進行實時刷新,如果在這個線程進行耗時的操作會阻塞UI線程,導致程序不響應甚至可能報錯[7]。

  導航管理系統的導航實時監控界面,需要不斷從車載終端讀取數據并刷新界面,這時需要另外開啟一個工作線程,該線程負責無線通信數據的收發。此時,子線程收到的數據就需要通過Handler對UI進行實時刷新。此外,需要特別注意的是,在應用中使用消息處理器的活動要配合使用弱引用方法(WeakReference)來避免內存泄漏問題[8]。

  2.4算法工具層

  算法工具層負責連接數據和業務邏輯的功能,包括空間地理幾何算法類、作業路徑生成類、導航交互指令控制邏輯類、文件格式轉換工具類及通信數據解析工具類等。地理幾何算法類將幾個常用計算幾何算法封裝成了可以供其他類直接調用的方法,包括點線位置判斷、兩直線夾角、直線平移算法和判斷點是否在多邊形內部的PNPoly算法等[9]。

  作業路徑類封裝了水田自動導航常規作業路徑規算法。導航交互指令控制邏輯類用于處理終端和車載控制器的交互控制指令。這些指令包括農機導航的啟動、停止、運行檔位、油門控制、轉向指令、設置AB點、制動,以及懸掛的精量穴直播機的控制等若干指令。

  為了防止導航終端對車載控制器的控制指令因為網絡丟包、延遲等原因而未及時得到響應,指令交互控制的邏輯設計仿照TCP建立連接的“三次握手”的方式,Android終端每一個指令都會持續發送給車載控制器,直到車載控制器返回響應信號,終端才會切換發送指令。地圖格式轉換工具主要借助第三方開源工具包,將新添加的地塊地理信息數據以shape文件格式保存。擁有豐富的開源資源,這也是Android平臺應用開發的一大優勢。通信數據解析類的作用在于將藍牙通信建立的Socket流數據解包為一個個獨立的消息。

  2.5數據訪問和通信層

  數據訪問和通信層主要包括應用數據的存取和通信數據的收發解決方案。本文的導航管理系統用到了Android系統數據持久化的4個方案中的3種:文件、SQLite數據庫和SharedPreferences。文件用于永久保存一些訪問不是很頻繁的數據,如拖拉機車輛參數信息、農機掛載農具參數和水田地塊數字地圖等,同時可以作為這些數據的備份方案。

  SQLite是一種輕量型數據庫,其操作主要包括SQLiteOpenHelper和DatabaseManager類。本文設計的系統中的數據庫共建立了4個分表,即田塊地理信息表、車輛及農具參數表、作業AB線表即歷史作業數據表,且封裝好了這些數據表的增刪改查操作方法,有效地實現了農機導航過程中各種數據的持久化保存和快速讀取。SharedPreferences是Android系統的一種特有的使用“鍵值對”的方式把數據存儲在XML文件中的數據存取方案,用于保存用戶默認偏好設置。

  它在本系統中用于保存如默認車輛、默認地塊等的系統默認設置參數,下次程序啟動時如果用戶不進行修改則直接加載默認配置,節省了用戶操作時間。通信層的功能是負責藍牙連接管理和藍牙Socket的建立,這里需要用到Android多線程開發技術,需要單獨開啟一個通信線程負責終端和車載控制器的數據接收和發送。

  3基于地塊的作業路徑規劃算法

  基于GPS的農機自動導航的作業方式一般采用AB線方式,農機在田塊一側設定基準A點,駕駛一段距離后設置基準B點,然后沿著AB線方向及其平行線完成整個地塊的自動駕駛[10]。這種方式缺點是每次作業都需要人工駕駛拖拉機在地塊表面上行走一段,不僅費力費時,且壓實了田地不利于播種。本文設計了一種既可以基于AB線方式生成規劃路徑又可以根據地塊輪廓自動生成規劃路徑的算法。

  其主要過程為選擇地塊區域、選擇預設AB線(可以為空)、地頭寬度和作業行間距,先確定地頭區域和基準線,然后基于平行掃描和PNPoly幾何算法生成所需軌跡。其中,地頭區域寬度的確定由拖拉機最小拐彎半徑、作業方向等參數決定[11-12],作業行間距由農機具幅寬和結合線寬度決定。

  4田間試驗

  將導航管理系統裝載在平板上,與拖拉機車載控制器建立好無線連接,使用平板操作農機自動導航作業,在上海市松江農機推廣站的試驗田上開展的多次試驗。在實驗過程中,平板系統界面簡潔易操作,始終能保持穩定的無線數據傳輸,幾乎沒有數據丟失;控制指令能夠快速下發給車載控制器并得到其響應,實時導航作業監控界面能夠實時顯示農機的行走軌跡,快速刷新農機運動參數;地塊信息、車輛信息數據庫能夠穩定工作,歷史作業數據可以很方便地查詢;導航界面上農機的行走軌跡真實地繪制了農機的實際軌跡。另外,可以看到導航界面上規劃的路徑幾乎完全被實際行走軌跡覆蓋,說明設計的農機車載控制器的跟蹤精度非常理想,后續開展的導航實驗橫向偏差數據分析也驗證了這一點。田間試驗結果表明:導航管理系統能夠很好地適應車載導航控制器的人機交互功能,體驗性能良好。

  5結論

  設計了一種基于Android的水稻田農機自動導航管理系統,該系統包括農機參數管理、田地地理信息管理、路徑規劃、導航實時監控和歷史作業數據管理等幾個模塊,提出了一種實用的作業路徑規劃方法,采用分層設計模式完成了系統軟件設計,并開展了多次田間試驗。試驗結果表明:該系統能夠實現基于高精度GNSS的農機自動導航管理、監控和交互操作功能,運行穩定可靠,體驗性能良好,在農機自動導航中具有現實意義。

  參考文獻:

  [1]趙春江.精準農業研究與實踐[M].北京:科學出版社,2009.

  [2]ReidJF,ZhangQ,NoguchiN,etal.AgriculturalautomaticguidanceresearchinNorthAmerica[J].Computers&ElectronicsinAgriculture,2000,25(1-2):155-167.

  [3]張亞嬌,張智剛,羅錫文,等.基于WinCE的農機導航監控終端軟件系統設計與實驗[J].農機化研究,2016,38(1):70-75.

  [4]韓劍,莫德清.基于Android與GSM的溫室大棚遠程監控系統[J].江蘇農業科學,2015,43(4):397-399.

  [5]武寶傳,馬立萍.淺談GPS自動導航在農用拖拉機上的推廣與應用[J].農業機械,2012(25):125-127.

  [6]BochtisDD,SrensenCGC,BusatoP.Advancesinagriculturalmachinerymanagement:Areview[J].BiosystemsEngineering,2014,126(39):69-81.

  相關刊物推薦:《廣西農業機械化》(雙月刊)1979年創刊,本刊扎根農村,面向農業,立足農機,服務農民,以介紹農機法規、培訓技術人才、傳遞科技信息、交流致富經驗為宗旨,以廣大的拖拉機和農用運輸車駕駛員、農機具操作手、農業機械生產經營企業和基層農機工作者為最佳讀者群,以圍繞農機管理、經營、使用提供信息、傳授技術、交流經驗、普及知識為主要內容。

  

2023最新分區查詢入口

SCISSCIAHCI

7799精品视频