采用射频识别和无人机技术实现畜牧定位系统的应用
引 言
由于人口持续增长、城镇化进程加快及收入增加等因素驱动,中国养殖产品消费量快速增长,中国养殖业在较长时期内一直处于高速发展时期。养殖业快速健康发展有利于促进农业内部结构调整和优化、拓展农业经济增长新渠道、增加农民就业机会和提高农民收入,并在农业和工业之间逐步形成良性循环。畜牧业在养殖业中占有较大比重,畜牧业主要分为圈养和散养,其中散养的牲畜肉质好,能够满足人们对肉类口感和营养的要求;同时,散养牲畜价格高,能够更进一步提升养殖户的收入。
但是由于在中国广大农村, 特别是南方地形地貌, 在山区、丘陵地带的散养养殖户会面临有以下的问题:
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的地理位置修正。实验结果表明该定位系统能以较低的成本价格解决养殖户在牲畜放养情况下出现的难以统计和容易走丢等问题,并且使用方便。