引 言
由于人口持續增長、城鎮化進程加快及收入增加等因素驅動,中國養殖產品消費量快速增長,中國養殖業在較長時期內一直處于高速發展時期。養殖業快速健康發展有利于促進農業內部結構調整和優化、拓展農業經濟增長新渠道、增加農民就業機會和提高農民收入,并在農業和工業之間逐步形成良性循環。畜牧業在養殖業中占有較大比重,畜牧業主要分為圈養和散養,其中散養的牲畜肉質好,能夠滿足人們對肉類口感和營養的要求;同時,散養牲畜價格高,能夠更進一步提升養殖戶的收入。
但是由于在中國廣大農村, 特別是南方地形地貌, 在山區、丘陵地帶的散養養殖戶會面臨有以下的問題:
1) 牲畜定位難。在空間面積較大、地形錯綜復雜的區域, 很難獲取到牲畜的具體位置。
2) 牲畜容易丟。容易被盜或者自己走丟。
3) 牲畜統計數量難。養殖人員難以統計牲畜的具體數量。本文針對散養牲畜的痛點,重點研究了無人機的自動巡航
路徑規劃算法和數據傳輸協議、數據預處理算法,設計了基于RFID 和無人機的畜牧定位系統, 使用簡單、適用性好, 能夠減輕散養管理的難度,減少養殖戶的損失。
1 系統總體方案
1.1 系統方案設計
基于 RFID 和無人機的畜牧定位系統分為數據采集、數據分析處理和數據顯示 3 個功能模塊。系統組合利用了有源RFID 設備、無人機和移動互聯網技術來解決放養牲畜定位過程中要求電池續航能力強、體積小、成本低的問題。
系統的基本原理是利用 RFID, 在一百多米的范圍之內發射無線射頻信號,帶有 RFID 讀卡器和手機的無人機在放養范圍內自動巡航, 每當掃描到有 RFID 信號時即把 RFID 數據、信號強度,通過藍牙傳輸到一個智能手機,手機獲取到此時地理位置,經過數據預處理后再通過移動數據網絡把數據發射到系統服務器端。服務器端對所采集到的位置和 RFID 數據進行處理和分析。手機客戶端 App 可以查看到牲畜的最新位置數據,方便養殖戶進行牲畜管理。
圖1 畜牧定位系統
1.2 與 GPS定位方案對比
養殖戶對放養的牲畜進行定位,必須滿足使用方便、成本低的需求,同時牲畜定位對位置精度要求不高。將每個牲畜都綁定一個 GPS設備來對其進行定位對于大規模的養殖并不適用。首先,GPS定位設備需要獲取經緯度數據并且把數據發送到服務器, 耗電量非常大。一般 GPS 設備, 每天發送幾次位置信息, 電池只能續航一周左右。養殖戶要經常更換電池,使用非常麻煩。其次,GPS 體積較大, 防水性能較差,價格較高, 不利于大規模使用在牲畜定位。第三,由于 GPS 是主動發送位置信息, 有人偷盜牲畜的情況并不能及時報警, 實用性不強。
本系統使用的有源 RFID 電池續航能力很長, 長達兩三年,體積較小,有非常好的防水性能。同時,價格成本低。以500只牲畜的規模計算,GPS 方案總共需要50000 元 (每個 GPS100 元),本系統只需要20000元 (每個RFID30元,無人機和讀卡器5000 元), 成本減少60% 。并且本系統在實際中還有以下應用:
1) 安裝 RFID 讀卡器和手機于牲畜棚, 就可以實現對返回到牲畜棚的牲畜進行計數統計。
2)RFID 讀卡器和手機放置在主要公路路邊, 一旦有人偷盜牲畜,經過公路時,能實現報警功能。
3) 用戶攜帶配套的 RFID 讀卡器和手機, 通過手機 App能查看附近的 RFID 卡,也能發現附近的牲畜。
相比每個牲畜都綁定一個 GPS 進行定位的方案, 此方案使用比較方便、實用性強、價格較低,可以進行實際應用。
2 數據采集模塊設計
2.1 硬件設計
1)RFID 電子標簽。系統采用433 MHz的有源 RFID 電子標簽,讀寫距離遠、功耗低、抗干擾能力強。
2)RFID 閱讀器。系統采用433 MHzRFID 配套的帶有藍牙模塊的全向讀卡器,具有覆蓋角度廣的優點,方便把讀卡數據傳輸到手機等其他設備的優點。
3) 手機設備。系統使用一般的安卓智能手機實現數據傳輸功能。手機藍牙,讀取 RFID 讀卡器的數據; 手機的計算能力實現對原始數據的初步處理, 經 GPRS/3G/4G 再傳輸到服務器,減輕服務器的計算負擔。
4) 無人機設備。基于文獻, 系統采用 Ardupilot帶有自動巡航功能的小型無人機。Ardupilot無人機飛控系統支持對無人機進行固定飛行軌跡的模式和固定飛行高度飛行模式的設定。由于實際使用場景下, 畜牧場所多是高低不平的山區。為使無人機在山區相對地面保持固定的高度,系統對無 人機的地面探測設備進行了改裝,將氣壓傳感器替換成激光測距傳感器。
2.2 飛行軌跡規劃
對無人機的飛行軌跡規劃一般分為在線規劃和離線規劃兩類。參考文獻, 針對本系統應用場景的特點和離線路徑規劃相比在線規劃簡單、可行性較高的優點,本系統采用子區域劃分和螺旋收縮式覆蓋的離線路徑規劃算法。
子區域分割的螺旋式掃描方法步驟為:
1)外輪廓較為復雜時,可以把整個區域劃分為若干個子區 域。子區域的劃分采用雙線掃法, 如圖2。用水平和垂直兩個直線,水平直線自上而下,垂直直線從左往右, 兩根直線會在輪廓邊緣相交或者相切,由此可以劃分出幾個獨立的子區域。
圖2 雙線掃法劃分子區域
2)子區域內采用 “螺旋收縮式”進行全覆蓋。相比 “往返前進式”的覆蓋方法,前者比后者留下較小的未覆蓋面積, 前者在終點的位置比較固定,一般位于區域重心附近,如圖3。
圖3 螺旋式覆蓋和往返前進式覆蓋
2.3 數據預處理算法
無人機在養殖范圍內自動巡航,RFID 讀卡器每隔一定時間間隔 T (默認1秒) 掃描區域內的 RFID 標簽, 同一時間可能掃描到有多個 RFID 標簽和多個信號強度, 組成 RFID 標簽集合。RFID 標簽集合和當前手機通過 GPS定位獲取到的經緯度數據,組成原始數據,格式如表1。
由于采集時間周期短,原始的數據量一般非常大,直接發送到服務器,則不利于數據分析。利用智能手機對此原始數據進行預處理,可以大大減少發送數據量和減小服務端數據處理和分析的難度。如表2,其中t1和t2有重復的 RFID, 可以將其合并。
在同一時間內能掃描到的 RFID 卡設備比較多, 需要對搜集到的 RFID 卡數據進行數據去重和融合。讀卡器掃描到的 RFID 原始數據是時間點為元數據組成的數據序列,即 Data={time,longitude,latitude, [{id1,rssi1}, {id2,rssi2}……]}, 原始數據為數據序列 data1、data2、data3… …。從 RFID 讀卡器讀取數據間隔時間較短 (1 秒), 每秒采集到的數據量比較大。可以把采集的時間間隔延長,把1秒時間間隔增 加為5妙。增加時間周期的方法為:
1) 以5秒時間周期內的第一秒數據為初始的融合數據。
2) 添加其余每秒的數據到初始數據。合并方法是: 遍歷新數據中每個 RFID 數據, 若該 RFID 不存在融合數據中, 則把該 RFID 數據增加到 RFID 列表中。若該 RFID 數據已經存在 RFID 列表中,并且把rssi值最大的元數據的當前位置設置為融合數據的位置和rssi值。
算法偽代碼為:
經過數據預處理之后,從手機端發送到服務器的數據如表3所示。
3 數據處理模塊
3.1 數據轉換
將以按時間劃分的元數據,轉換為以 RFID 進行劃分的數據。數據采集模塊采集到的元數據格式 Data1= {t1,long1, lati1,{{rfid1,rssi1}, {rfid2,rssi2}。}}。由于每項數據是以時間為主鍵進行的劃分,不便于后期的數據分析處理,需要把數據轉化為以 RFID 號為主鍵的劃分。轉化方法為遍歷每個rssi和經 緯度數據。轉換后格式為 Data= {rfid1, {rssi1,{long1,lati1},{rssi2,{long2,lati2},… …}}}。
3.2 根據信號強度修正地理位置
裝載于無人機上的 RFID 讀卡器在一百多米的范圍內掃描
RFID 卡,掃描范圍R,掃描距離在地面的投影距離 L 和飛行高度高度 H 的關系是:
(1)
假設無人機的飛行高度為 30 米, 讀卡器的讀卡范圍是
150米,計算得到地面上的覆蓋高度是146米。
由于 RFID 讀卡器讀卡距離過長, 定位精度不高。若采用縮短 RFID 讀卡器讀卡距離的方法提高精度, 則需要無人機在同一區域內掃描的路徑更為密集。本系統使用信號強度 (RS- SI) 修正目標位置范圍的方法來提高位置精度。
根據 RSSI和距離的公式:
(2)
則
(3)
其中:n 代表信號傳播常量,d 代表距發射器間的距離; A 代表距離 1 m 時的接收信號強度。RSSI值會隨著距離的增加按如式 (2) 遞減。即RSSI的值越高,采集的位置數據越精確。于是對地理位置的作如下糾正:
1) 在每個 RFID 對應的所有經緯度數據中選擇 RSSI值最大的經緯度作為采集經緯度。
2) 根據公式 (3),使用RSSI值計算真實經緯度與采集經緯度的偏移距離。
牲畜定位位置為經緯度加偏移距離。即牲畜位于以經緯度位置點為圓心,以偏移距離為半徑的圓范圍內。
4 數據顯示模塊
數據顯示模塊包括移動 App 客戶端和服務器系統。App客戶端除了使用本系統數據處理模塊提供的牲畜地理位置數據 外,還使用了谷歌的離線數字地圖。如圖4, 用戶可以在地圖上查看到放養牲畜的地理位置點。利用地理位置數據等信息, 可以有效提高養殖戶對牲畜的日常管理效率。
App客戶端提供的功能包括:
1) 每個牲畜最新位置展示。
App提供的基本功能是請求保存在服務器端的牲畜位置數據。
2) 牲畜位置導航。
App配合藍牙讀卡器對牲畜進行精確定位。養殖人員攜帶手機 App和 RFID 閱讀器,RFID 閱讀器接收到附近的 RFID 標簽信號,通過藍牙在手機 APP 上顯示, 從而提示使用者該RFID 的距離遠近,使用者可以根據此提示方便找到目標位置。
圖4 牧畜管理APP客戶端
3) 基于位置數據的數據分析和查詢服務。
提供每個牲畜和 RFID 設備間的綁定和解除綁定, 能夠添加對應牲畜的種類、性別、生日等基本數據。
5 系統實驗
5.1 實驗方法
利用本系統對安徽省合肥市肥西縣一大型養殖場散養的其中五十頭羊進行定位實驗。假定使用 GPS 測量的地理位置為實際位置。采用多次無人機巡航測量得到測量位置和 GPS 設備測量的位置作對比, 并分別求出誤差值, 最終得出平均誤差。
5.2 實驗步驟
1) 把 RFID 讀卡器、一個安卓手機綁在無人機上, 并設置好手機通過藍牙可以連接 RFID 讀卡器。
2)把每個 RFID 設備系在選定的羊的脖子上。
3) 把 GPS 設備同時系在帶有 RFID 設備的那幾只羊脖 子上;
把幾只帶有 RFID 的羊放回到羊群, 開啟無人機執行預定軌道的巡航,無人機上的讀卡器掃描到 RFID 設備, 通過藍牙傳輸到無人機上的手機,手機通過4G 移動網絡傳輸到后臺服務器。
4) 無人機巡航幾次求得當次待測羊群的測量位置值。
5) 把之前帶測量的羊群設備換到另外一批羊群上, 重復做無人機巡航測量。
5.3 實驗結果和分析
以下為無人機飛行一次測量值和實際值,數據全部使用東經和北緯。
通過5論測試之后, 得到通過本論文方法的測量誤差為8.24 M。此誤差對于放養牛羊等牲畜的定位, 具有實際使用價值。
實驗結果表明,本文所設計的基于RFID 和無人機的畜牧定位系統所采集到的養只位置數據在理論位置估計范圍內, 定位有較高的可靠性和精確度。
6 結 語
本文針對大規模放養牲畜的需求, 設計實現了基于 RFID和無人機的畜牧定位系統。重點研究了移動機器人的全覆蓋路徑規劃和基于 RSSI的地理位置修正。實驗結果表明該定位系統能以較低的成本價格解決養殖戶在牲畜放養情況下出現的難以統計和容易走丟等問題,并且使用方便。
責任編輯:gt
評論