AI中国网 https://www.cnaiplus.com
引 言
由于人口持续增长、城镇化进程加快及收入增加等因素驱动,中国养殖产品消费量快速增长,中国养殖业在较长时期内一直处于高速发展时期。养殖业快速健康发展有利于促进农业内部结构调整和优化、拓展农业经济增长新渠道、增加农民就业机会和提高农民收入,并在农业和工业之间逐步形成良性循环。畜牧业在养殖业中占有较大比重,畜牧业主要分为圈养和散养,其中散养的牲畜肉质好,能够满足人们对肉类口感和营养的要求;同时,散养牲畜价格高,能够更进一步提升养殖户的收入。
但是由于在中国广大农村, 特别是南方地形地貌, 在山区、丘陵地带的散养养殖户会面临有以下的问题:
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所示。
AI中国网 https://www.cnaiplus.com
本文网址: