一种奶牛运动状态判别方法及对应的智能喂食方法
【技术领域】
[0001] 本发明属于畜牧业智能化管理领域,具体涉及一种奶牛运动状态判别方法及对应 的智能喂食方法。
【背景技术】
[0002] 众所周知,奶牛业在我国畜牧业中已经成为了支柱型企业,它的发展决定了我国 畜牧业的经济水平,影响着我国国民的健康状况。随着我国畜牧业的崛起,对牛奶的需求量 增大,因此需要保证每头奶牛的饮食,保障奶牛的产奶量。
[0003] 目前,奶牛的喂食方法是人工统一喂食,不仅造成人力资源的大量浪费,工作效率 低下,而且,由于每头奶牛的整体运动水平不同,其饲料需求也不同,如果每头奶牛都采用 相同的喂食量进行喂食,很容易出现饲料的浪费或者不足的情况,影响奶牛的健康状况,使 得奶牛的产奶水平不均衡。
【发明内容】
[0004] 本发明的目的是提供一种奶牛运动状态判别方法及对应的智能喂食方法,用以解 决的现有技术中的奶牛喂食方法造成奶牛的产奶水平不均衡的问题。
[0005] 为实现上述目的,本发明的方案包括:
[0006] 一种奶牛运动状态判别方法,包括以下步骤:
[0007] 1)采集设定时间周期内奶牛前进方向的加速度;
[0008] 2)计算加速度零均值序列的前向差分序列d;
[0009] 3)计算前向差分序列d的三个参数--标准差a、极差b、峰度c--中的一个或 多个;
[0010] 4)通过计算的数据以及对应的阈值判断奶牛的运动状态,当计算的数据大于或等 于其对应的阈值的时候,判断该周期内奶牛处于奔跑状态;当计算的数据小于其对应的阈 值的时候,判断该周期内奶牛处于奔跑状态。
[0011] 所述步骤3)中,计算所述两个以上的参数,对每一个参数,根据对应的阀值判断 奶牛的运动状态,再依据设定的逻辑规则综合判断奶牛的运动状态。
[0012] 所述步骤4)中,根据计算的数据建立基本可信度分配函数,其中,m(l)、m(2)分 别表示奶牛处于行走状态和奔跑状态的基本可信度分配,m(?)表示不确定的基本可信度 分配;通过其对应的阈值得出对应的基本可信度分配值F;当步骤3)计算的数据为1个 时,若基本可信度分配值F的m(l) _m(2)>ee2,即可判断为行走状态;若!11(2)- m(l)>epm(?)〈e2,即可判断为奔跑状态;当步骤3)计算的数据为2个或2个以上时, 对得到的基本可信度分配值F进行异或运算得到可信度分配值Fx,若可信度分配值^的 m⑴_m(2)>e^m(?)〈e2,即可判断为行走状态;若m(2) _m(l)>e^m(?)〈e2,即可判 断为奔跑状态。
[0013] 一种奶牛智能喂食方法,包括以下步骤:
[0014] 1)在一段时间内,采集若干组加速度数据,每组加速度数据为设定时间周期的奶 牛前进方向的加速度数据;
[0015] 2)对于每组加速度数据,计算加速度零均值序列的前向差分序列d;
[0016] 3)计算前向差分序列d的标准差a、极差b、峰度c中的一个或多个;
[0017] 4)通过计算的数据以及对应的阈值判断奶牛的运动状态,当计算的数据大于或等 于其对应的阈值的时候,判断该周期内奶牛处于奔跑状态;当计算的数据小于其对应的阈 值的时候,判断该周期内奶牛处于奔跑状态;
[0018] 5)综合由各组加速度数据对应的奶牛的运动状态,计算奶牛处于奔跑状态的周期 占总时间的比例,确定奶牛的喂食量。
[0019] 所述步骤3)中,计算所述两个以上的参数,对每一个参数,根据对应的阀值判断 奶牛的运动状态,再依据设定的逻辑规则综合判断奶牛的运动状态。
[0020] 所述步骤4)中,根据计算的数据建立基本可信度分配函数,其中,m(l)、m(2)分 别表示奶牛处于行走状态和奔跑状态的基本可信度分配,m(?)表示不确定的基本可信度 分配;通过其对应的阈值得出对应的基本可信度分配值F;当步骤3)计算的数据为1个 时,若基本可信度分配值F的m(l) _m(2)>ee2,即可判断为行走状态;若!11(2)- m(l)>epm(?)〈e2,即可判断为奔跑状态;当步骤3)计算的数据为2个或2个以上时, 对得到的基本可信度分配值F进行异或运算得到可信度分配值Fx,若可信度分配值^的 m⑴_m(2)>e^m(?)〈e2,即可判断为行走状态;若m(2) _m(l)>e^m(?)〈e2,即可判 断为奔跑状态。
[0021] 所述步骤5)中确定奶牛的喂食量的方式为:根据奶牛处于奔跑状态的周期占总 时间的比例,将奶牛运动量分为运动过多、正常运动、运动过少三种运动量;通过运动量确 定奶牛的喂食量。
[0022] 本发明的有益效果是:在一段时间内,采集若干组加速度数据,计算相应前向差分 序列d的标准差、极差、峰度值的一个或多个,通过计算的数据以及对应的阈值判断其处于 步行状态或奔跑状态,然后根据奔跑状态的周期占总时间的比例,确定奶牛的喂食量,保证 了每头奶牛都有合适的喂食量,实现了奶牛的自动化饲养,提高了奶牛的产奶水平。
【附图说明】
[0023] 图1是本发明奶牛运动状态判别方法实施例3的流程图;
[0024] 图2是本发明奶牛智能喂食方法实施例的流程图
【具体实施方式】
[0025] 奶牛运动状态判别方法实施例1
[0026] 本实施例的奶牛运动状态判别方法包括以下步骤:
[0027] 1)采集设定时间周期内奶牛前进方向的加速度。
[0028] 通过加速度传感器采集至少一个设定时间周期内奶牛前进方向的加速度。
[0029] 2)计算加速度零均值序列的前向差分序列d。
[0030] 设加速度序列为Z= [Zi,z2,…,zj,计算z的均值z' = (Zi+zJ…+zn)/n,将加速 度序列Z中的每个元素减去均值z',得到新的零均值序列Z",对序列Z"进行前向差分, 得到序列d。
[0031] 3)计算前向差分序列d的标准差。
[0032] 计算前向差分序列d的标准差,并将其数值记为a。
[0033] 4)通过计算的数据以及对应的阈值判断奶牛的运动状态。
[0034] 设置标准差a的阈值为2,当标准差a多2时,判断奶牛处于奔跑状态;当标准差 a〈2时,判断奶牛处于行走状态。
[0035] 在上述实施例中,计算前向差分序列d的标准差,在其他实施方式中,可以计算前 向差分序列d的极差b或者峰度c。
[0036] 在上述实施例中,所述标准差a的阈值为2,作为其他实施方式,其阀值可以为1. 8 等其他数值。
[0037] 奶牛运动状态判别方法实施例2
[0038] 在奶牛运动状态判别方法实施例1中,所述步骤3)中:计算前向差分序列d的标 准差为a,极差为b。
[0039] 4)计算所述两个以上的参数,对每一个参数,根据对应的阀值判断奶牛的运动状 态,再依据设定的逻辑规则综合判断奶牛的运动状态。
[0040] 根据标准差a的阈值2、极差为b的阈值7分别判断奶牛的运动状态,设定奶牛奔 跑状态为逻辑值"1",行走状态为逻辑值"0";对判断结果做逻辑与运算,当逻辑与运算输出 结果为" 1"时,判断奶牛处于奔跑状态;当逻辑运算输出结果为"〇"时,判断奶牛处于行走 状态。上述逻辑运算规则也可以是或运算等其它逻辑运算规则。
[0041] 在上述实施例中,所述极差为b的阈值为7,作为其他实施方式,其阀值可以为6. 8 等其他数值。
[0042] 在上述实施例中,计算前向差分序列d的标准差和极差,作为其他实施方式,可以 计算前向差分序列d的标准差和峰度,或者极差和峰度。
[0043] 在上述实施例中,计算前向差分序列d的标准差和极差,作为其他实施方式,可以 计算计算前向差分序列d的标准差、极差和峰度,其判断方式与实施例2的判断方式相同, 故不在此重复叙述。
[0044] 奶牛运动状态判别方法实施例3
[0045] 如图1所示,本实施例的奶牛运动状态判别方法包括以下步骤:
[0046] 1)采集设定时间周期内奶牛前进方向的加速度。
[0047] 通过加速度传感器采集至少一个时间周期内奶牛前进方向的加速度。
[0048] 2)计算加速度零均值序列的前向差分序列d。
[0049] 设加速度序列为Z= [Zi,z2,…,zj,计算z的均值z' = (Zi+zJ…+zn)/n,将加速 度序列Z中的每个元素减去均值z',得到新的零均值序列Z",对序列Z"进行前向差分, 得到序列d。
[0050] 3)计算前向差分序列d的标准差、极差、峰度。
[0051] 计算前向差分序列d的标准差、极差、峰度,将标准差记为a、极差记为b、峰度记为 Co
[0052] 4)对标准差、极差、峰度建立基本可信度分配函数,并将标准差、极差、峰度代入基 本可信度分配函数,判断奶牛的运动状态。
[0053] m(l)、m(2)分别表示奶牛处于行走状态和奔跑状态的基本可信度分配,m(?)表 示不确定的基本可信度分配。建立过程如下:
[0054] 标准差:
[0055] 若a〈l,则m(l) = 0? 9,m(2) = 0,m( ?) = 0? 1 ;
[0056] gl<a〈2Um(l) = [l-(a-l)]X0.9,nK2) = [a-l]X0.9,m(?)=0.1;
[0057] 若a多 2,则m(l) = 0,m(2) = 0? 9,m( ?) = 0? 1。
[0058] 极差:
[0059] 若b〈5,则m(l) = 0? 9,m(2) = 0,m( ?) = 0? 1 ;
[0060] 若 5 彡 b〈7,则m(l) = [1 - (b- 5)/2]X0. 9,m(2) =[(b- 5)/2] X0. 9,m(?)= 0. 1 ;
[0061] 若b^:7,则m(l) = 0,m(2) =0.9,m(?) =0.1。
[0062] 峰度:
[0063] 若c〈2,则m(l) = 0? 9,m(2) = 0,m( ?) = 0? 1 ;
[0064] 若 2 < c〈3,则m(l) = [1 - (c- 2) ]X0? 9,m⑵=[c- 2]X0? 9, m( ?) = 0? 1 ;
[0065] 若c^ 3,则m(l) = 0,m(2) = 0? 9,m( ?) = 0? 1。
[0066] 将前向差分序列d的标准差a、极差b、峰度c代入对应的基本可信度分配函数,计 算得出对应的基本可信度分配值FI、F2、F3,然后将FI、F2、F3代入式(1),得到可信度分配 值
[0067] Fx=F1十F2十F3 (1)
[0068] 选取门限e0? 2,e2= 〇? 〇3,
[0069] 若可信度分配值匕的!11(1) -m(2)>epnKQXq,即可判断为行走状态;
[0070] m⑵-m(l) >e^m( ?)〈e2,即可判断为奔跑状态。
[0071] 在上述实施例中,所述步骤3)中计算前向差分序列d的标准差、极差、峰度。作为 其他实施方式,所述步骤3)中仅计算前向差分序列d的标准差、极差、峰度其中的一个。根 据计算了的数据建立基本可信度分配函数F,F的m(l) _m(2)>epm(?)〈e2,即可判断为 行走状态;若m(2) -m(l)>e:,!!!(?)〈e2,即可判断为奔跑状态。
[0072] 在上述实施例中,所述步骤3)中计算前向差分序列d的标准差、极差、峰度。作为 其他实施方式,所述步骤3)中仅计算前向差分序列d的标准差、极差、峰度其中的两个。其 判断方法与实施例3中的判断方法一致,故不在此重复叙述。
[0073]