掌桥专利:专业的专利平台
掌桥专利
首页

动物监测装置及方法

文献发布时间:2023-06-19 12:19:35


动物监测装置及方法

技术领域

本发明涉及动物使用的设备,特别是涉及一种动物监测装置,还涉及一种动物监测方法。

背景技术

随着社会的发展,越来越多的人饲养宠物和动物。人工饲养动物往往经济价值较高,并且动物经长时间喂养,对于动物业主的心理感情有重要价值。动物训练的传统方法是使用条件反射和应激刺激的方法,依靠有经验的动物训练员长期陪伴进行训练。近年来在商业上出现了动物训练器的产品,其使用有两种方式,一种方式根据动物的声音控制电刺激的输出来抑制动物的吠叫,另外一种方式是使用遥控器发出指令,安装在动物身上装置发出震动或者电击的刺激输出,从而控制动物的行为。在跟踪、定位和远程控制方面,GPS等定位系统可以提供动物的位置和状态和发送指令给受控对象。

使用GPS或者北斗全球定位系统可以监测到动物的户外位置,但在室内或者山区环境时候全球定位系统容易丢失信号,并且全球定位系统的电子装置功耗较高。

发明内容

基于此,有必要提供一种新型的动物监测装置及方法。

一种动物监测装置,包括LoRa终端和LoRa主机;所述LoRa终端用于佩戴在动物上,所述LoRa终端包括:加速度传感模块;LoRa模块,用于将所述加速度传感模块采集的数据发送给所述LoRa主机;所述LoRa主机用于根据所述数据的RSSI值计算所述LoRa主机与所述LoRa终端之间的距离,并根据所述数据计算所述LoRa终端的运动方向,根据所述运动方向和所述距离向所述LoRa主机的使用者反馈动物状态。

在其中一个实施例中,所述LoRa主机还用于将所述数据和所述距离输入神经网络,并使用所述神经网络进行所述动物状态的分类和识别。

在其中一个实施例中,所述加速度传感模块包括三轴加速度传感器和三轴磁力计;所述LoRa主机计算所述LoRa终端的运动方向包括:根据所述三轴加速度传感器得到的三轴加速度计算所述LoRa终端在大地坐标系下的横滚角和俯仰角;根据所述横滚角和俯仰角,将所述三轴磁力计得到的地磁数据转换成在所述大地坐标系下的磁力数据;根据所述磁力数据得到所述LoRa终端的航向角;根据所述横滚角、俯仰角及航向角,将所述三轴加速度转换成在大地坐标系下的加速度数据;根据所述加速度数据和所述航向角,计算出在所述航向角的合加速度;将所述合加速度分解得到所述大地坐标系下水平方向两个坐标轴的加速度分量;根据所述两个坐标轴的加速度分量计算出在所述大地坐标系下水平方向两个坐标轴的动物运动位移值;根据所述两个坐标轴的动物运动位移值得到动物运动角度。

在其中一个实施例中,所述加速度传感模块是9轴加速度传感器,所述9轴加速度传感器包括三轴加速度传感器、三轴磁力计及三轴陀螺仪;所述LoRa主机将所述数据和所述距离输入神经网络,并使用所述神经网络进行所述动物状态的分类,包括:通过所述三轴加速度传感器检测所述LoRa终端的三轴加速度,并通过所述三轴陀螺仪检测所述LoRa终端的姿态变化,将所述三轴加速度校正到预设坐标系下,得到三轴加速度值a

在其中一个实施例中,所述LoRa主机使用所述神经网络进行所述动物状态的识别包括:所述三轴加速度传感器用预设长度的时间窗采样三轴加速度,得到三轴加速度值,并得到三轴加速度变化率;将所述三轴加速度值和三轴加速度变化率输入所述神经网络,得到所述神经网络输出和预设的四种动物状态向量的欧式距离;其中,所述神经网络为RBF神经网络。

在其中一个实施例中,所述四种动物状态包括平静状态、正常状态、警戒状态及严重警戒状态。

在其中一个实施例中,所述LoRa主机还用于根据所述动物状态向所述LoRa终端发送指令,所述LoRa终端还用于根据所述指令对动物进行震动和/或电击。

在其中一个实施例中,所述LoRa终端在将所述LoRa主机请求的信息发送完毕后,若等待所述LoRa主机的下一条请求的时间超过预设时长,则进入睡眠工作模式;所述LoRa终端在所述睡眠工作模式继续通过所述加速度传感模块采集数据。

在其中一个实施例中,所述LoRa终端通过第一数组对所有的IO端口进行统一的操作,所述操作包括初始化、修改、增加、移除操作中的至少一种;所述LoRa终端还用于在进入所述睡眠工作模式前,将所有IO端口中除了中断触发端口之外都设置成高阻状态。

在其中一个实施例中,所述LoRa终端还用于计算动物步频,包括:所述三轴加速度传感器采样三轴加速度,并计算出三轴加速度的合加速度;当所述合加速度大于上阈值时输出第一数值,当所述合加速度小于下阈值时输出第二数值,得到数据序列;每个第一数值与一个采样时间对应,每个第二数值与一个采样时间对应;使用二值计数算法计算所述数据序列变化的频率,作为所述动物步频。

一种动物监测方法,包括:将LoRa终端佩戴在动物上;所述LoRa终端的加速度传感模块采集数据;根据所述数据计算所述LoRa终端的运动方向;将所述数据或运动方向发送给LoRa主机;所述LoRa主机根据所述数据的RSSI值或所述运动方向的RSSI值计算所述LoRa主机与所述LoRa终端之间的距离;根据所述运动方向和所述距离向所述LoRa主机的使用者反馈动物状态。

在其中一个实施例中,还包括步骤G:所述LoRa主机将所述数据和所述距离输入神经网络,并使用所述神经网络进行所述动物状态的分类和识别的步骤。

在其中一个实施例中,步骤C是由LoRa主机执行,步骤D是将加速度传感模块采集的数据发送给LoRa主机,步骤E是根据所述数据的RSSI值计算所述距离。

在其中一个实施例中,所述加速度传感模块包括三轴加速度传感器和三轴磁力计;步骤C中LoRa主机根据所述数据计算所述LoRa终端的运动方向具体包括:根据所述三轴加速度传感器得到的三轴加速度计算所述LoRa终端在大地坐标系下的横滚角和俯仰角;根据所述横滚角和俯仰角,将所述三轴磁力计得到的地磁数据转换成在所述大地坐标系下的磁力数据;根据所述磁力数据得到所述LoRa终端的航向角;根据所述横滚角、俯仰角及航向角,将所述三轴加速度转换成在大地坐标系下的加速度数据;根据所述加速度数据和所述航向角,计算出在所述航向角的合加速度;将所述合加速度分解得到所述大地坐标系下水平方向两个坐标轴的加速度分量;根据所述两个坐标轴的加速度分量计算出在所述大地坐标系下水平方向两个坐标轴的动物运动位移值;根据所述两个坐标轴的动物运动位移值得到动物运动角度。

在其中一个实施例中,所述加速度传感模块是9轴加速度传感器,所述9轴加速度传感器包括三轴加速度传感器、三轴磁力计及三轴陀螺仪;步骤G具体包括:通过所述三轴加速度传感器检测所述LoRa终端的三轴加速度,并通过所述三轴陀螺仪检测所述LoRa终端的姿态变化,将所述三轴加速度校正到预设坐标系下,得到三轴加速度值a

在其中一个实施例中,步骤G还包括:所述三轴加速度传感器用预设长度的时间窗采样三轴加速度,得到三轴加速度值,并得到三轴加速度变化率;将所述三轴加速度值和三轴加速度变化率输入所述神经网络,得到所述神经网络输出和预设的四种动物状态向量的欧式距离;其中,所述神经网络为RBF神经网络。

在其中一个实施例中,所述动物监测方法还包括以下步骤:所述LoRa主机根据所述动物状态向所述LoRa终端发送指令;所述LoRa终端根据所述指令对动物进行震动和/或电击。

在其中一个实施例中,所述动物监测方法还包括步骤:所述LoRa终端在将所述LoRa主机请求的信息发送完毕后,若等待所述LoRa主机的下一条请求的时间超过预设时长,则进入睡眠工作模式。其中,所述LoRa终端在所述睡眠工作模式继续通过所述加速度传感模块采集数据。

在其中一个实施例中,所述动物监测方法还包括步骤:所述LoRa终端在进入所述睡眠工作模式前,将所有IO端口中除了中断触发端口之外都设置成高阻状态。

在其中一个实施例中,所述动物监测方法还包括计算动物步频的步骤,所述计算动物步频的步骤具体包括:所述三轴加速度传感器采样三轴加速度,并计算出三轴加速度的合加速度;当所述合加速度大于上阈值时输出第一数值,当所述合加速度小于下阈值时输出第二数值,得到数据序列;每个第一数值和第二数值与一个采样时间对应;使用二值计数算法计算所述数据序列变化的频率,作为所述动物步频。

上述动物监测装置及方法,通过加速度传感模块采集到的数据计算动物的运动方向,根据RSSI值计算LoRa主机与动物的距离,从而向使用者反馈动物状态。且由于采用LoRa技术,装置的功耗较低,且信号不易受障碍物影响。

还有必要提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例的方法中的步骤。

还有必要提供一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现如前述任一实施例所述的方法中的步骤。

附图说明

为了更好地描述和说明这里公开的那些发明的实施例和/或示例,可以参考一幅或多幅附图。用于描述附图的附加细节或示例不应当被认为是对所公开的发明、目前描述的实施例和/或示例以及目前理解的这些发明的最佳模式中的任何一者的范围的限制。

图1是一实施例中动物监测装置的架构图;

图2是一实施例中LoRa终端的结构示意图;

图3是一实施例中LoRa终端的主控电路图;

图4是一实施例中9轴加速度传感器的坐标系和旋转方向定义;

图5是一实施例中加速度传感器坐标系到大地坐标系的转换示意;

图6是一实施例中计算动物步频的方法的流程图;

图7是一实施例中动物运动方向的计算方法的流程图;

图8a是一实施例中加速度波形与状态之间的转换关系,图8b是一实施例中状态之间的转换关系;

图9是一实施例中使用神经网络进行动物状态分类的方法的流程图;

图10是一实施例中LoRa主机和LoRa终端程序运行流程图。

具体实施方式

为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的首选实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

应当明白,当元件或层被称为“在...上”、“与...相邻”、“连接到”或“耦合到”其它元件或层时,其可以直接地在其它元件或层上、与之相邻、连接或耦合到其它元件或层,或者可以存在居间的元件或层。相反,当元件被称为“直接在...上”、“与...直接相邻”、“直接连接到”或“直接耦合到”其它元件或层时,则不存在居间的元件或层。应当明白,尽管可使用术语第一、第二、第三等描述各种元件、部件、区、层和/或部分,这些元件、部件、区、层和/或部分不应当被这些术语限制。这些术语仅仅用来区分一个元件、部件、区、层或部分与另一个元件、部件、区、层或部分。因此,在不脱离本发明教导之下,下面讨论的第一元件、部件、区、层或部分可表示为第二元件、部件、区、层或部分。

在此使用的术语的目的仅在于描述具体实施例并且不作为本发明的限制。在此使用时,单数形式的“一”、“一个”和“所述/该”也意图包括复数形式,除非上下文清楚指出另外的方式。还应明白术语“组成”和/或“包括”,当在该说明书中使用时,确定所述特征、整数、步骤、操作、元件和/或部件的存在,但不排除一个或更多其它的特征、整数、步骤、操作、元件、部件和/或组的存在或添加。在此使用时,术语“和/或”包括相关所列项目的任何及所有组合。

针对现有技术中存在的不足之处,本申请提供一种基于LoRa(远距离无线电)无线通讯和加速度传感器的动物监测装置,能实现对家庭饲养动物的远距离、低成本、低功耗的行为监测,是易于家庭饲养动物佩戴的定位、监测和管理一体化装置。

本申请的动物监测装置使用LoRa模块、加速度传感器以及MCU组成LoRa终端和LoRa主机两种嵌入式装置。LoRa主机发送控制命令给LoRa终端,并且接收LoRa终端发送的数据参数。图1为一实施例中动物监测装置的架构图,图中的虚线连接表示无线通信连接。一个LoRa主机可以有多个LoRa终端作为从机,LoRa主机可以将数据和配置信息发送给管理主机(例如个人电脑)进行存储备份和显示。每个家庭饲养动物佩戴一个LoRa终端,LoRa终端采集动物信息,计算出运动参数;家庭动物管理员(例如饲主)拥有一个LoRa主机,可以向群组内每个LoRa终端发送命令和获取每个LoRa终端的数据。

在本申请的一个实施例中,LoRa终端包括加速度传感模块和LoRa模块。LoRa模块用于将加速度传感模块采集的数据发送给LoRa主机。LoRa主机用于根据接收到的数据的RSSI(接收信号的强度指示)值计算LoRa主机与LoRa终端之间的距离,并根据所述数据计算LoRa终端的运动方向(即佩戴该LoRa终端的动物的运动方向),根据所述运动方向和所述距离向LoRa主机的使用者反馈动物状态。在本申请的一个实施例中,动物状态可以包括动物距LoRa主机的距离及动物的运动方向。在本申请的一个实施例中,LoRa主机可以包括显示模块,对动物状态进行显示。

上述动物监测装置,通过加速度传感模块采集到的数据计算动物的运动方向,根据RSSI值计算LoRa主机与动物的距离,从而向使用者反馈动物状态。且由于采用LoRa技术,装置的功耗较低,且信号不易受障碍物影响。

图2是一实施例中LoRa终端的结构示意图,包括电池201、升压电路202、控制模块203、LoRa模块204、充电模块205、震动模块206、电击模块207及加速度传感模块208。在图2所示的实施例中,控制模块203是低功耗32bits的MCU处理器。LoRa终端使用的电池201是单节400mAh的聚合物锂电池,输出电压3.7V-4.2V。升压电路202是BOOST开关升压电路模块,用于将电池201的输出电压变换为5伏电压。震动模块206是微型马达,电击模块207是放电刺激部件,用于在控制模块203的控制下给动物施加刺激。加速度传感模块208包括三轴加速度传感器和三轴磁力计,控制模块203用中断触发的方式批量接收三轴加速度传感器和三轴磁力计的加速度和地磁测量数据。LoRa模块204是Lora数传模块,工作在868MHz,数传模块内部的RSSI寄存器记录了最近一次无线传输的信号强度。LoRa主机每次接收到数据后,读出RSSI数值,和零点(即LoRa终端与LoRa主机的间距为零)的RSSI值进行比较,RSSI值越小,代表LoRa终端和LoRa主机距离越远。充电模块205用于连接外部电源,当无外部电源连入时,由电池201直接给LoRa终端供电;当有外部电源连入时,则充电模块205输出固定的4.2V电压,4.2V电压可对锂电池(即电池201)充电。升压电路202用于将充电模块205的输出电压转换成5V,给MCU(控制模块203)供电。在本申请的一个实施例中,外部电源可以是太阳能电池或者充电器。由于LoRa终端配置有电池201和充电模块205,因此可以脱机运行。

LoRa终端的主控电路图如图3所示,包括电源模块301、MCU模块302、加速度传感模块303、SWD编程接口304、检测结果输出和状态显示模块305、Lora无线模块306、模数转换输入模块307以及扩展USART串行通讯接口308。Lora无线模块306和MCU模块302使用I2C接口连接,Lora无线模块306的AUX引脚接到MCU模块302的PA0引脚,PA0引脚是唤醒引脚。加速度传感模块303包含3轴加速度传感器、3轴陀螺仪和3轴磁力计。加速度传感模块303内部有512个字节的FIFO,由于加速度传感模块303的INT映射FIFO的状态事件,因此连接INT引脚到MCU模块302的PB1引脚,在MCU固件程序中设置PB1为中断输入,加速度传感器数据事件触发固件采集程序运行。检测结果输出和状态显示模块305使用有机发光OLED屏进行状态显示。检测结果输出和状态显示模块305包含四路外部IO输出,用于震动、电刺激电路的控制输出。模数转换输入模块307用于模数转换输入或者GPIO。扩展USART串行通讯接口308可以用于上位机和其他传感器接入。

在动物监测过程中,位置估算是关键技术。在本申请中,佩戴在动物身上的LoRa终端定位使用RSSI信号融合轴加速度传感器的方法。根据标准协议,LoRa模块在接收信号的同时也能够获得射频信号的功率强度(LoRa终端和LoRa主机中都有LoRa模块),功率强度保存在LoRa模块的RSSI寄存器中,因此使用RSSI值可以判断出LoRa终端和LoRa主机之间的距离。LoRa终端和LoRa主机在每一次接收对方发送的数据后,图3的MCU模块302都可以读出接收信号强度值RSSI。

在本申请的一个实施例中,使用RSSI计算径向距离的方法如下:

1)将LoRa主机和LoRa终端互相靠近至距离为零,LoRa主机接收信号的RSSI寄存器值并保存下来,作为常量值RSS0;

2)LoRa终端随着动物在合适的范围内移动,LoRa主机接收LoRa终端发送的信号,LoRa主机读出当前RSSI寄存器值作为RSSn;

3)使用公式(1)计算出距离d,式(1)中常数A和因子n可以使用最小二乘法标定计算求出。

d=10

动物定位除了需要获取径向距离,还需要求解动物运动方向。动物的运动方向可以使用三轴加速度传感器融合三轴磁力计数据和三轴陀螺仪数据计算出来。由于LoRa终端佩戴在动物身上,LoRa终端的装配不能保持水平,并且LoRa终端容易错位和滑动在动物身上。为了解决该问题,在本申请的一个实施例中,运动方向的计算方法如图7所示,包括下列步骤:

S710,根据三轴加速度传感器得到的三轴加速度计算LoRa终端在大地坐标系下的横滚角和俯仰角。

首先,动物的运动坐标采用大地坐标系(Xw,Yw,Zw)表示,坐标系水平面2个轴(Xw,Yw)方向分别与地理经线、纬线平行,Xw轴正方向指向经线正东方向,Yw轴正方向指向纬线正北方向,采用右手坐标系,因此Zw轴为垂直地面向上。动物方向运动方向用角度ρ表示,运动距离越长,ρ求解精度越高。

LoRa终端的三轴加速度的值Gp的定义如式(2)所示,其中R是量化系数,g代表重力加速度,a代表线性加速度,a=[a

按照坐标变换矩阵,终端实际的位置姿态为绕Y轴旋转θ,绕X轴旋转γ(参见图4),则三轴加速度值变为如式(3)所示:

LoRa终端的横滚角θ

θ

S720,根据横滚角和俯仰角,将三轴磁力计得到的地磁数据转换成在大地坐标系下的磁力数据。

将LoRa终端使用三轴磁力计测得的数据记为M

S730,根据磁力数据得到LoRa终端的航向角。

图5中xyz坐标系为三轴加速度传感器坐标系,(Xw,Yw,Zw)坐标系为大地坐标系。LoRa终端的航向角ψ

S740,根据横滚角、俯仰角及航向角,将三轴加速度转换成在大地坐标系下的加速度数据。

通过三轴角度旋转向量[γ

S750,根据加速度数据和航向角,计算出在航向角的合加速度。

将大地坐标系下的三轴加速度数值α'

S760,将合加速度分解得到大地坐标系下水平方向两个坐标轴的加速度分量。

将合加速度α

S770,根据加速度分量计算出在大地坐标系下水平方向两个坐标轴的动物运动位移值。

根据加速度分量a

运动位移值Sx和Sy可以采用如下方法进行计算:在检测时间范围内,以一定采样间隔定时采集LoRa终端加速度传感器的三轴加速度数据,用α

S780,根据动物运动位移值得到动物运动角度。

使用Sx和Sy的比值计算出动物的运动角度ρ,ρ即为动物在大地坐标系的运动方向角,ρ的计算公式如式(11)所示,采用反正切函数计算得到。

ρ=arctg(Sy/Sx) (11)

通过以上步骤,计算出动物的运动方向ρ。在无外界磁场干扰的条件下,使用射频功率接收强度RSSI计算动物的径向距离d,这样使用运动方向ρ和径向距离d对动物进行定位。上述方案对动物进行运动空间位置检测,使用无线信号接收强度RSSI数据和内置9轴加速度传感器数据两者融合方法,即使用RSSI数据计算动物的径向距离,三轴加速度和三轴磁力计数据计算出的实时偏航角和大地坐标系下的运动方位角对动物进行空间定位,其中运动方位计算使用了加速度传感器的原始数据转换到大地坐标系下的三轴加速度值积分方法。

在本申请的一个实施例中,若磁场干扰较大,则使用加速度传感器和陀螺仪数据进行定位。

在本申请的一个实施例中,LoRa终端还用于计算动物步频。具体地,在动物动作行为监控方面,可以使用三轴加速度传感器数据监测动物运动,动物行动指标参数包括步频和步速。在本申请的一个实施例中,根据双稳态施密特触发器硬件工作原理设计了行走参数双稳态计算方法,如图6所示,包括下列步骤:

S610,三轴加速度传感器采样三轴加速度,并计算出三轴加速度的合加速度。

采集一定时间长度的加速度数据,计算出三轴加速度的合加速度。实际采集的加速度波形存在干扰,示例性的波形数据如图8a所示。在本申请的一个实施例中,计算合加速度之前对加速度波形数据进行高斯滤波。

S620,当合加速度大于上阈值时输出第一数值、小于下阈值时输出第二数值,得到数据序列。

首先设定上阈值tu和下阈值td,上下阈值的选择可以使用直方图统计的方法。然后设定两个状态Lowstate和Highstate,在Lowstate状态时每个采样点的脉冲输出0,在Highstate状态时每个采样点的脉冲输出1。建立状态之间的转换关系,当处于Lowstate状态时候,若合加速度值大于下阈值tu,则下一个状态切换到Highstate,当处于Highstate状态时候,若合加速度值小于下阈值td,则下一个状态切换到Lowstate,参见图8b。如此将合加速度的波形转化成一组0000011111100000111111……的二值数据序列,每个值和一个采样时间对应。

S630,使用二值计数算法计算数据序列变化的频率,作为动物步频。

使用二值计数算法计算出数据序列变化的频率fv,fv即为动物步频。定义1/fv为步速,根据行走的距离可以推算出步长。

本申请对LoRa终端采用了低功耗的设计方法。在本申请的一个实施例中,LoRa终端在将LoRa主机请求的信息发送完毕后,若等待LoRa主机的下一条请求的时间超过预设时长,则进入睡眠工作模式,LoRa终端在睡眠工作模式继续通过加速度传感模块采集数据。

上述方法设计实现了检测周期性信号参数的基于有限状态机的双稳态触发算法,可以克服加速度传感器的数据随机波动问题,准确检测出动物步行运动频率以及步长。

在本申请的一个实施例中,使用外部时钟输入作为RTC定时器计时,将302的MCU的VBAT引脚接到供电电源,使得RTC有效。在发送完LoRa主机请求的命令信息后,等待下一条命令请求;当等待的时间超过1s,LoRa终端即进入睡眠工作模式。在睡眠工作模式,加速度传感模块208继续采集数据,加速度传感模块208采集的角速度数据存储在FIFO内。加速度传感模块208和LoRa模块204均使用中断唤醒LoRa终端。另外,若LoRa终端收到深度休眠命令,终端将进入休眠状态,关闭数据采集功能,此时耗电量极小。

为了降低装置运行功耗,在本申请的一个实施例中,LoRa终端通过第一数组对所有的IO端口进行统一的操作,所述操作包括初始化、修改、增加、移除操作中的至少一种。LoRa终端还用于在进入睡眠工作模式前,将所有IO端口中除了中断触发端口之外都设置成高阻状态。

具体地,在固件软件方面采用了如下设计:

对所使用的IO端口,包括串口、I2C端口统一进行重映射,建立结构体EIO_Obj,EIO_Obj的成员如表1所示:

表1:端口IO结构体

对系统的全部IO定义一个EIO_Obj类型的数组EIO_Groups(即所述第一数组),数组单元数目设置为64。这样程序可以对IO端口对象进行统一的初始化、修改、增加和移除操作。当系统进入睡眠工作模式前,将所有IO端口除了中断触发端口之外都设置成高阻状态,在高阻状态下IO端口的耗电量远远小于非高阻状态下的电流。当系统被中断激活后,在配置函数中统一重新设置IO端口状态和功能,并恢复现场数据。通过这种在LoRa终端使用统一编组的IO接口的管理方法,可以显著降低待机功率。经过测试,待机功率可以降低30%以上。

在本申请的一个实施例中,动物监测装置在采集数据和计算参数后,使用机器学习的方法进行动物当前状态进行判断和预测。具体地,LoRa主机还用于将加速度传感模块采集的数据和计算出的LoRa主机与LoRa终端之间的距离输入神经网络,并使用神经网络进行动物状态的分类和识别。在本申请的一个实施例中,使用LoRa终端的(即动物的)当前位移、三轴加速度、三轴加速度变化率以及速度值作为检测输入值,数据的采样时间间隔为0.5s,设计了RBF(径向基)神经网络作为决策判断的模型,具体方法和步骤如下(参见图9):

S910,检测LoRa终端的三轴加速度和姿态变化,将三轴加速度校正到预设坐标系下,得到三轴加速度值。

使用9轴加速度传感器检测动物的三轴加速度数值,将三轴加速度数值进行平滑滤波,使用三轴陀螺仪检测姿态变化,校正三轴加速度数值到标准坐标系下,得到三轴加速度值a

S920,根据三轴加速度值计算LoRa终端的速度。

使用标准坐标系下的三轴加速度值a

S930,计算三轴加速度的变化率。

计算三轴加速度的变化率Δa

S940,创建预测分类特征向量。

LoRa主机读出LoRa模块的RSSI寄存器值,使用寄存器值计算出LoRa主机与LoRa终端之间的径向距离Rd。

使用a

tanh转换函数如式(12)所示,x为输入的特征值,x

之后,建立神经网络的输出层的输出Out和动物状态对应关系如下:

(0.1,0.1,0.1,0.9)->平静状态

(0.1,0.1,0.9,0.1)->正常状态

(0.1,0.9,0.1,0.1)->警戒状态

(0.9,0.1,0.1,0.1)->严重警戒状态

当动物处于合适的距离,正常运动状态时候,系统输出“平静”或者“正常”,当动物处于较远的距离,运动趋势为远离中心方向运动时候,系统输出“警戒”或者“严重警戒”,提醒动物主人注意。

上述方案通过LoRa主机接收LoRa终端的传感器数据、运动参数数据与终端的空间距离构建特征向量,输入决策的RBF神经网络,使用RBF神经网络进行动物状态的分类,分成不同的行为安全等级,及时提供给动物主人或者管理人员参考。

在本申请的一个实施例中,神经网络的激活函数采用式(13)形式,即高斯径向基函数。式(13)中x

在本申请的一个实施例中,基于神经网络的动物行为识别方法的识别过程包括如下步骤:

1)当LoRa终端被无线命令激活后,按照一定采样频率采集加速度传感器数据。

2)用一定长度的时间窗去采样加速度a,及加速度差分值da,计算时间窗内的加速度平均值;

3)将加速度值三轴当前采集数据的平均值,状态速度值,三轴加速度时间变化率以及RSSI径向距离估计Rd数据,通过tanh转换函数构建的归一化的特征分量S={a1,a2,a3,v

在本申请的一个实施例中,神经网络预测系统的结构为三层结构,包括输入层,隐含层和输出层,隐含层的激活函数为高斯函数。

参照图10,以下通过一个实施例介绍本申请动物监测装置的工作过程:

1、将LoRa终端和LoRa主机放置在一起,LoRa终端参数清零(即将LoRa终端的位置信息清零)。

2、将LoRa终端穿戴在家庭动物身上,开启LoRa终端的电源。

3、开启LoRa主机的电源,搜索终端设备,然后和LoRa终端建立连接。LoRa主机初始化,LoRa主机发送采集命令,从LoRa终端采集加速度传感器数值,使用者检验系统是否工作正常。

4、动物LoRa终端在许可的范围内活动。动物活动时,LoRa终端每隔0.5s采集一次三轴加速度数据、三轴陀螺仪数据,三轴磁力计数据。使用三轴陀螺仪数据调整磁力计数据和三轴加速度数据为标准坐标数据,从而确定动物的航向,然后使用三轴加速度数据计算出在标准坐标系下的位移,从而计算出动物的运动方向。

5、LoRa主机发出请求数据指令,接收LoRa终端的位移数据、三轴加速度数据、三轴速度和三轴加速度变化数据,LoRa主机的Lora模块保存每次无线传输的接收功率值RSSI,使用RSSI值计算动物到LoRa主机的距离。LoRa主机通过LoRa终端的位移数据和无线传输的接收功率值RSSI计算出LoRa的位置,使用三轴加速度数据、三轴速度和三轴加速度变化数据对动物运动状态进行识别,识别的结果可能是“平静”、“正常”、“警戒”、“严重警戒”四种状态,LoRa主机根据不同的情况进行报警和向LoRa终端发出命令,震动或者电击动物。

基于以上所有的实施例,本申请相应提供一种动物监测方法,包括下列步骤:

步骤A,将LoRa终端佩戴在动物上;

步骤B,所述LoRa终端的加速度传感模块采集数据;

步骤C,根据所述数据计算所述LoRa终端的运动方向;

步骤D,将所述数据或运动方向发送给LoRa主机;

步骤E,所述LoRa主机根据所述数据的RSSI值或所述运动方向的RSSI值计算所述LoRa主机与所述LoRa终端之间的距离;

步骤F,根据所述运动方向和所述距离向所述LoRa主机的使用者反馈动物状态。

在本申请的一个实施例中,还包括步骤G:所述LoRa主机将所述数据和所述距离输入神经网络,并使用所述神经网络进行所述动物状态的分类和识别的步骤。

在本申请的一个实施例中,步骤C是由LoRa主机执行,步骤D是将加速度传感模块采集的数据发送给LoRa主机,步骤E是根据所述数据的RSSI值计算所述距离。

在本申请的一个实施例中,所述加速度传感模块包括三轴加速度传感器和三轴磁力计。步骤C中LoRa主机根据所述数据计算所述LoRa终端的运动方向具体包括:

根据所述三轴加速度传感器得到的三轴加速度计算所述LoRa终端在大地坐标系下的横滚角和俯仰角;

根据所述横滚角和俯仰角,将所述三轴磁力计得到的地磁数据转换成在所述大地坐标系下的磁力数据;

根据所述磁力数据得到所述LoRa终端的航向角;

根据所述横滚角、俯仰角及航向角,将所述三轴加速度转换成在大地坐标系下的加速度数据;

根据所述加速度数据和所述航向角,计算出在所述航向角的合加速度;

将所述合加速度分解得到所述大地坐标系下水平方向两个坐标轴的加速度分量;

根据所述两个坐标轴的加速度分量计算出在所述大地坐标系下水平方向两个坐标轴的动物运动位移值;

根据所述两个坐标轴的动物运动位移值得到动物运动角度。

在本申请的一个实施例中,所述加速度传感模块是9轴加速度传感器,所述9轴加速度传感器包括三轴加速度传感器、三轴磁力计及三轴陀螺仪。步骤G具体包括:

通过所述三轴加速度传感器检测所述LoRa终端的三轴加速度,并通过所述三轴陀螺仪检测所述LoRa终端的姿态变化,将所述三轴加速度校正到预设坐标系下,得到三轴加速度值a

根据所述三轴加速度值a

计算三轴加速度的变化率Δa

使用所述三轴加速度值a

在本申请的一个实施例中,步骤G还包括:

所述三轴加速度传感器用预设长度的时间窗采样三轴加速度,得到三轴加速度值,并得到三轴加速度变化率;

将所述三轴加速度值和三轴加速度变化率输入所述神经网络,得到所述神经网络输出和预设的四种动物状态向量的欧式距离;其中,所述神经网络为RBF神经网络。

在本申请的一个实施例中,所述动物监测方法还包括以下步骤:

所述LoRa主机根据所述动物状态向所述LoRa终端发送指令;

所述LoRa终端根据所述指令对动物进行震动和/或电击。

在本申请的一个实施例中,所述动物监测方法还包括步骤:所述LoRa终端在将所述LoRa主机请求的信息发送完毕后,若等待所述LoRa主机的下一条请求的时间超过预设时长,则进入睡眠工作模式。其中,所述LoRa终端在所述睡眠工作模式继续通过所述加速度传感模块采集数据。

在本申请的一个实施例中,所述动物监测方法还包括步骤:所述LoRa终端在进入所述睡眠工作模式前,将所有IO端口中除了中断触发端口之外都设置成高阻状态。

在本申请的一个实施例中,所述动物监测方法还包括计算动物步频的步骤,所述计算动物步频的步骤具体包括:

所述三轴加速度传感器采样三轴加速度,并计算出三轴加速度的合加速度;

当所述合加速度大于上阈值时输出第一数值,当所述合加速度小于下阈值时输出第二数值,得到数据序列;每个第一数值和第二数值与一个采样时间对应;

使用二值计数算法计算所述数据序列变化的频率,作为所述动物步频。

应该理解的是,虽然本申请的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,本申请流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例所述的方法中的步骤。

本申请还提供一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现如前述任一实施例所述的方法中的步骤。

在本说明书的描述中,参考术语“有些实施例”、“其他实施例”、“理想实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特征包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性描述不一定指的是相同的实施例或示例。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

相关技术
  • 动物血糖监测器具及其光调控动物血糖实时监测装置
  • 无人机监测动物健康的方法和监测动物健康的无人机
技术分类

06120113249770