基于MPU6050和HMC5883L的猪的姿态检测
2016-04-11李哲田建艳郑晟王芳张小龙
李哲++田建艳++郑晟++王芳++张小龙
摘要:以猪为例,通过分析猪的常见姿态,依据不同姿态角度特点提出分类方法,并使用加速度与陀螺仪传感器集成芯片MPU6050与地磁传感器HMC5883L设计一套姿态检测系统,以满足畜禽养殖业对自动检测畜禽行为的需要。试验结果证明,该系统能够准确检测出猪的相应姿态,可为后续分析猪行为提供依据。
关键词:猪;姿态分类;MPU6050;HMC5883L;姿态角;互补滤波
中图分类号: TP274;TP212.9文献标志码: A文章编号:1002-1302(2016)02-0434-03
收稿日期:2015-03-12
基金项目:国家高技术研究发展计划(编号:2013AA102306)。
作者简介:李哲(1987—),山西太原人,硕士,主要从事复杂系统建模与智能控制及模式识别研究。E-mail:lizhe2003@163.com。
通信作者:田建艳(1966—),博士,教授,主要从事复杂系统建模、控制及智能化监控研究。E-mail:tut_tianjy@163.com。行为分析在畜禽养殖自动化研究领域有着非常重要的地位[1],而对动物行为进行分析也能够为畜禽健康分析提供参考依据。朱伟星等利用视频技术监控猪行为并分析猪健康,指出行为分析的重要性[2];陆明洲等介绍畜禽行为检测的不同方法及各种技术的发展状况,指出行为研究在养殖信息化中的重要作用[3]。目前,姿态检测的主要研究方向分为2种,一是以视频采集和图像处理技术为基础,模拟人眼提取目标特征进行姿态检测[4-5],二是以传感器技术为基础,利用各传感器的特点采集与姿态相关的加速度及角度数据,通过算法计算分析得到姿态情况[6]。
本试验采用传感器为研究手段,以猪为研究对象,选择4种猪常见姿态进行定义,使用加速度传感器、陀螺仪和地磁传感器采集目标加速度和姿态角,根据互补滤波算法得到姿态角,分析猪的姿态情况,并针对4种姿态提出相应的检测方法。
1猪姿态分类
1.1姿态分类
将猪常见姿态分为站、坐、趴、躺4种(图1)。
1.2姿态特征分析
以猪脊柱中段为坐标原点,并作为固定传感器的位置,沿传感器方向建立载体坐标系(b系),同时以北、东、地方向建立地理坐标系(n系),这2个坐标系之间的夹角通常称为欧拉角θx、θy、θz(图2)。
猪处于不同姿态时,b系方向对应图2中实线坐标系x、y、z,b系方向随猪运动会发生变化,对应图2中虚线坐标系。n系方向不变,可以根据b系与n系Z轴夹角θz区分猪3种姿态——站或趴、坐、躺:站与趴时,b系Z轴垂直于地心,θz约为0°;坐时,Z轴与垂直地心方向有夹角θz;躺时,Z轴与垂直地心方向有夹角θz,θ2约为90°。
姿态角θz与猪身长L1和腿长L1相关(图3),通过测定猪的身长和腿长,根据公式:θz=arcsinL2L1,可以确定θz的数值。当猪处于趴或站2个状态时,θz均趋近于0,单独观察θz无法区分这2种姿态,需借助分析这2种姿态到另外姿态的变化过程进行判断,如从站到坐的过程会伴随产生竖直向下的加速度,使得n系Z轴加速度azn减小,通过分析姿态变化时θz与azn的变化情况,就可以区分站与趴这2种姿态。
2姿态检测系统软件设计
2.1基于四元数的姿态角解算
载体坐标系与地理坐标系之间的转换需要用到旋转矩阵[7],整个旋转过程分为3个部分(图4),通过旋转矩阵可以得到n系与b系之间的变换公式。
3系统硬件设计
3.1系统组成
检测系统由发射单元、接收单元和上位机3个部分构成,其中,发射单元负责传感器数据的采集和发送工作,接收单元负责数据的接收工作,上位机负责数据的处理和姿态角的解算(图7)。发射单元和接收单元使用CC2530(Zigbee模块)进行数据传输,CC2530芯片内置增强型51单片机,可以进行数据采集和传输工作,发射端CC2530与传感器连接,接收端CC2530通过串口与上位机相连。
3.2发射单元硬件设计
发射单元由MPU6050、CC2530、HMC5883L这3个部分组成。MPU6050集成三轴加速度传感器与三轴陀螺仪;HMC5883L内置高分辨率HMC118X系列磁阻传感器,并附带霍尼韦尔专利的集成电路,包括放大器、自动消磁驱动器、偏差校准、能使罗盘精度控制在1°~2°的12位模数转换器、简易的I2C 系列总线接口。HMC5883L通过AUX接口与MPU6050芯片相连,MPU6050的AUX接口设置为直连模式,使用AUX-I2C接口采集数据,并由MPU6050的I2C接口传入CC2530进行发送。CC2530芯片没有I2C接口,因此,需要编写程序利用空置管脚模拟I2C接口进行数据传输。
4试验结果及误差分析
在实验室条件下进行姿态检测,将发射单元固定在平整的电路板上,利用重垂线和水平仪将电路板调整至水平位置;搭建模拟试验台,通过电路板角度的变化模拟猪姿态的变化进行检测;将传感器采集的数据通过上位机串口读取存储到Execl表格中,导入Matlab计算得到姿态角。
将试验电路板调整至不同角度,观察静态θz的测量值,并与真实角度进行对比。由表1可见,静态检测精度误差在0.5°以内,能够得到比较准确的测量结果。
利用试验电路板模拟猪姿态变化,观察上位机姿态角变化,验证检测算法精度,取θz=40°,判定站与趴时的加速度变化,反复进行姿态变换以分析检测准确率。动态变化过程主要用于分析趴与站2种姿态,试验模拟这2种姿态6种可能出现的变化过程(100次试验)。由表2可见,趴与站2种姿态的检测准确率较高,在95%以上。
5结论
利用加速度传感器、陀螺仪和地磁传感器进行数据融合,通过互补滤波解算得到较为准确的姿态角,检测θz,与不同姿态角度对比并进行初步分类,再结合azn变化区分趴与站,从而判断猪所处的姿态,在此基础上,设计出1套姿态检测系统。该系统经检测验证,能够准确得到猪所处姿态,检测正确率较高,能够满足实际应用的要求。
参考文献:
[1]沈明霞,刘龙申,闫丽,等. 畜禽养殖个体信息监测技术研究进展[J]. 农业机械学报,2014,45(10):245-251.
[2]朱伟兴,浦雪峰,李新城,等. 基于行为监测的疑似病猪自动化识别系统[J]. 农业工程学报,2010,26(1):188-192.
[3]陆明洲,沈明霞,丁永前,等. 畜牧信息智能监测研究进展[J]. 中国农业科学,2012,45(14):2939-2947.
[4]Ahrendt P,Gregersen T,Karstoft H. Development of a real-time computer vision system for tracking loose-housed pigs[J]. Computers and Electronics in Agriculture,2011,76(2):169-174.[5]Cangar O,Leroy T,Guarino M,et al. Automatic real-time monitoring of locomotion and posture behaviour of pregnant cows prior to calving using online image analysis[J]. Computers and Electronics in Agriculture,2008,64(1):53-60.
[6]张珂,杨涛,冯月晖. 人手姿态检测系统的设计与实现[J]. 电子设计工程,2011,19(17):77-80.
[7]李景辉,杨立才. 基于多传感器信息融合的人体姿态解算算法[J]. 山东大学学报:工学版,2013,43(5):49-54.
[8]孙金秋,游有鹏,傅忠云. 基于共轭梯度法和互补滤波相结合的姿态解算算法[J]. 传感技术学报,2014,27(4):524-528.
[9]梁延德,程敏,何福本,等. 基于互补滤波器的四旋翼飞行器姿态解算[J]. 传感器与微系统,2011,30(11):56-58,61.
[10]米刚,田增山,金悦,等. 基于MIMU和磁力计的姿态更新算法研究[J]. 传感技术学报,2015,28(1):43-48.
[11]王超杰,苏中,时佳斌,等. 蛇形机器人互补滤波和四元数的姿态解算[J]. 传感器与微系统,2014,33(10):137-140. 范垚,杨庆媛. 基于现代农业发展的农用地整治分区及工程配置——以重庆市为例[J]. 江苏农业科学,2016,44(2):437-443.