引 言
由于人口持續(xù)增長、城鎮(zhèn)化進(jìn)程加快及收入增加等因素驅(qū)動,中國養(yǎng)殖產(chǎn)品消費量快速增長,中國養(yǎng)殖業(yè)在較長時期內(nèi)一直處于高速發(fā)展時期。養(yǎng)殖業(yè)快速健康發(fā)展有利于促進(jìn)農(nóng)業(yè)內(nèi)部結(jié)構(gòu)調(diào)整和優(yōu)化、拓展農(nóng)業(yè)經(jīng)濟(jì)增長新渠道、增加農(nóng)民就業(yè)機(jī)會和提高農(nóng)民收入,并在農(nóng)業(yè)和工業(yè)之間逐步形成良性循環(huán)。畜牧業(yè)在養(yǎng)殖業(yè)中占有較大比重,畜牧業(yè)主要分為圈養(yǎng)和散養(yǎng),其中散養(yǎng)的牲畜肉質(zhì)好,能夠滿足人們對肉類口感和營養(yǎng)的要求;同時,散養(yǎng)牲畜價格高,能夠更進(jìn)一步提升養(yǎng)殖戶的收入。
但是由于在中國廣大農(nóng)村, 特別是南方地形地貌, 在山區(qū)、丘陵地帶的散養(yǎng)養(yǎng)殖戶會面臨有以下的問題:
1) 牲畜定位難。在空間面積較大、地形錯綜復(fù)雜的區(qū)域, 很難獲取到牲畜的具體位置。
2) 牲畜容易丟。容易被盜或者自己走丟。
3) 牲畜統(tǒng)計數(shù)量難。養(yǎng)殖人員難以統(tǒng)計牲畜的具體數(shù)量。本文針對散養(yǎng)牲畜的痛點,重點研究了無人機(jī)的自動巡航
路徑規(guī)劃算法和數(shù)據(jù)傳輸協(xié)議、數(shù)據(jù)預(yù)處理算法,設(shè)計了基于RFID 和無人機(jī)的畜牧定位系統(tǒng), 使用簡單、適用性好, 能夠減輕散養(yǎng)管理的難度,減少養(yǎng)殖戶的損失。
1 系統(tǒng)總體方案
1.1 系統(tǒng)方案設(shè)計
基于 RFID 和無人機(jī)的畜牧定位系統(tǒng)分為數(shù)據(jù)采集、數(shù)據(jù)分析處理和數(shù)據(jù)顯示 3 個功能模塊。系統(tǒng)組合利用了有源RFID 設(shè)備、無人機(jī)和移動互聯(lián)網(wǎng)技術(shù)來解決放養(yǎng)牲畜定位過程中要求電池續(xù)航能力強(qiáng)、體積小、成本低的問題。
系統(tǒng)的基本原理是利用 RFID, 在一百多米的范圍之內(nèi)發(fā)射無線射頻信號,帶有 RFID 讀卡器和手機(jī)的無人機(jī)在放養(yǎng)范圍內(nèi)自動巡航, 每當(dāng)掃描到有 RFID 信號時即把 RFID 數(shù)據(jù)、信號強(qiáng)度,通過藍(lán)牙傳輸?shù)揭粋€智能手機(jī),手機(jī)獲取到此時地理位置,經(jīng)過數(shù)據(jù)預(yù)處理后再通過移動數(shù)據(jù)網(wǎng)絡(luò)把數(shù)據(jù)發(fā)射到系統(tǒng)服務(wù)器端。服務(wù)器端對所采集到的位置和 RFID 數(shù)據(jù)進(jìn)行處理和分析。手機(jī)客戶端 App 可以查看到牲畜的最新位置數(shù)據(jù),方便養(yǎng)殖戶進(jìn)行牲畜管理。
圖1 畜牧定位系統(tǒng)
1.2 與 GPS定位方案對比
養(yǎng)殖戶對放養(yǎng)的牲畜進(jìn)行定位,必須滿足使用方便、成本低的需求,同時牲畜定位對位置精度要求不高。將每個牲畜都綁定一個 GPS設(shè)備來對其進(jìn)行定位對于大規(guī)模的養(yǎng)殖并不適用。首先,GPS定位設(shè)備需要獲取經(jīng)緯度數(shù)據(jù)并且把數(shù)據(jù)發(fā)送到服務(wù)器, 耗電量非常大。一般 GPS 設(shè)備, 每天發(fā)送幾次位置信息, 電池只能續(xù)航一周左右。養(yǎng)殖戶要經(jīng)常更換電池,使用非常麻煩。其次,GPS 體積較大, 防水性能較差,價格較高, 不利于大規(guī)模使用在牲畜定位。第三,由于 GPS 是主動發(fā)送位置信息, 有人偷盜牲畜的情況并不能及時報警, 實用性不強(qiáng)。
本系統(tǒng)使用的有源 RFID 電池續(xù)航能力很長, 長達(dá)兩三年,體積較小,有非常好的防水性能。同時,價格成本低。以500只牲畜的規(guī)模計算,GPS 方案總共需要50000 元 (每個 GPS100 元),本系統(tǒng)只需要20000元 (每個RFID30元,無人機(jī)和讀卡器5000 元), 成本減少60% 。并且本系統(tǒng)在實際中還有以下應(yīng)用:
1) 安裝 RFID 讀卡器和手機(jī)于牲畜棚, 就可以實現(xiàn)對返回到牲畜棚的牲畜進(jìn)行計數(shù)統(tǒng)計。
2)RFID 讀卡器和手機(jī)放置在主要公路路邊, 一旦有人偷盜牲畜,經(jīng)過公路時,能實現(xiàn)報警功能。
3) 用戶攜帶配套的 RFID 讀卡器和手機(jī), 通過手機(jī) App能查看附近的 RFID 卡,也能發(fā)現(xiàn)附近的牲畜。
相比每個牲畜都綁定一個 GPS 進(jìn)行定位的方案, 此方案使用比較方便、實用性強(qiáng)、價格較低,可以進(jìn)行實際應(yīng)用。
2 數(shù)據(jù)采集模塊設(shè)計
2.1 硬件設(shè)計
1)RFID 電子標(biāo)簽。系統(tǒng)采用433 MHz的有源 RFID 電子標(biāo)簽,讀寫距離遠(yuǎn)、功耗低、抗干擾能力強(qiáng)。
2)RFID 閱讀器。系統(tǒng)采用433 MHzRFID 配套的帶有藍(lán)牙模塊的全向讀卡器,具有覆蓋角度廣的優(yōu)點,方便把讀卡數(shù)據(jù)傳輸?shù)绞謾C(jī)等其他設(shè)備的優(yōu)點。
3) 手機(jī)設(shè)備。系統(tǒng)使用一般的安卓智能手機(jī)實現(xiàn)數(shù)據(jù)傳輸功能。手機(jī)藍(lán)牙,讀取 RFID 讀卡器的數(shù)據(jù); 手機(jī)的計算能力實現(xiàn)對原始數(shù)據(jù)的初步處理, 經(jīng) GPRS/3G/4G 再傳輸?shù)椒?wù)器,減輕服務(wù)器的計算負(fù)擔(dān)。
4) 無人機(jī)設(shè)備。基于文獻(xiàn), 系統(tǒng)采用 Ardupilot帶有自動巡航功能的小型無人機(jī)。Ardupilot無人機(jī)飛控系統(tǒng)支持對無人機(jī)進(jìn)行固定飛行軌跡的模式和固定飛行高度飛行模式的設(shè)定。由于實際使用場景下, 畜牧場所多是高低不平的山區(qū)。為使無人機(jī)在山區(qū)相對地面保持固定的高度,系統(tǒng)對無 人機(jī)的地面探測設(shè)備進(jìn)行了改裝,將氣壓傳感器替換成激光測距傳感器。
2.2 飛行軌跡規(guī)劃
對無人機(jī)的飛行軌跡規(guī)劃一般分為在線規(guī)劃和離線規(guī)劃兩類。參考文獻(xiàn), 針對本系統(tǒng)應(yīng)用場景的特點和離線路徑規(guī)劃相比在線規(guī)劃簡單、可行性較高的優(yōu)點,本系統(tǒng)采用子區(qū)域劃分和螺旋收縮式覆蓋的離線路徑規(guī)劃算法。
子區(qū)域分割的螺旋式掃描方法步驟為:
1)外輪廓較為復(fù)雜時,可以把整個區(qū)域劃分為若干個子區(qū) 域。子區(qū)域的劃分采用雙線掃法, 如圖2。用水平和垂直兩個直線,水平直線自上而下,垂直直線從左往右, 兩根直線會在輪廓邊緣相交或者相切,由此可以劃分出幾個獨立的子區(qū)域。
圖2 雙線掃法劃分子區(qū)域
2)子區(qū)域內(nèi)采用 “螺旋收縮式”進(jìn)行全覆蓋。相比 “往返前進(jìn)式”的覆蓋方法,前者比后者留下較小的未覆蓋面積, 前者在終點的位置比較固定,一般位于區(qū)域重心附近,如圖3。
圖3 螺旋式覆蓋和往返前進(jìn)式覆蓋
2.3 數(shù)據(jù)預(yù)處理算法
無人機(jī)在養(yǎng)殖范圍內(nèi)自動巡航,RFID 讀卡器每隔一定時間間隔 T (默認(rèn)1秒) 掃描區(qū)域內(nèi)的 RFID 標(biāo)簽, 同一時間可能掃描到有多個 RFID 標(biāo)簽和多個信號強(qiáng)度, 組成 RFID 標(biāo)簽集合。RFID 標(biāo)簽集合和當(dāng)前手機(jī)通過 GPS定位獲取到的經(jīng)緯度數(shù)據(jù),組成原始數(shù)據(jù),格式如表1。
由于采集時間周期短,原始的數(shù)據(jù)量一般非常大,直接發(fā)送到服務(wù)器,則不利于數(shù)據(jù)分析。利用智能手機(jī)對此原始數(shù)據(jù)進(jìn)行預(yù)處理,可以大大減少發(fā)送數(shù)據(jù)量和減小服務(wù)端數(shù)據(jù)處理和分析的難度。如表2,其中t1和t2有重復(fù)的 RFID, 可以將其合并。
在同一時間內(nèi)能掃描到的 RFID 卡設(shè)備比較多, 需要對搜集到的 RFID 卡數(shù)據(jù)進(jìn)行數(shù)據(jù)去重和融合。讀卡器掃描到的 RFID 原始數(shù)據(jù)是時間點為元數(shù)據(jù)組成的數(shù)據(jù)序列,即 Data={time,longitude,latitude, [{id1,rssi1}, {id2,rssi2}……]}, 原始數(shù)據(jù)為數(shù)據(jù)序列 data1、data2、data3… …。從 RFID 讀卡器讀取數(shù)據(jù)間隔時間較短 (1 秒), 每秒采集到的數(shù)據(jù)量比較大??梢园巡杉臅r間間隔延長,把1秒時間間隔增 加為5妙。增加時間周期的方法為:
1) 以5秒時間周期內(nèi)的第一秒數(shù)據(jù)為初始的融合數(shù)據(jù)。
2) 添加其余每秒的數(shù)據(jù)到初始數(shù)據(jù)。合并方法是: 遍歷新數(shù)據(jù)中每個 RFID 數(shù)據(jù), 若該 RFID 不存在融合數(shù)據(jù)中, 則把該 RFID 數(shù)據(jù)增加到 RFID 列表中。若該 RFID 數(shù)據(jù)已經(jīng)存在 RFID 列表中,并且把rssi值最大的元數(shù)據(jù)的當(dāng)前位置設(shè)置為融合數(shù)據(jù)的位置和rssi值。
算法偽代碼為:
經(jīng)過數(shù)據(jù)預(yù)處理之后,從手機(jī)端發(fā)送到服務(wù)器的數(shù)據(jù)如表3所示。
2025-09-16 09:28
2025-09-11 10:38
2025-09-11 10:31
2025-09-09 10:50
2025-09-05 10:44
2025-09-04 22:04
2025-09-04 22:02
2025-09-03 14:12
2025-09-03 14:09
2025-09-02 22:06