1.一种基于陀螺仪和水深传感器的溺水检测方法,其特征在于,包括以下步骤:(1)获取某一时间间隔内所佩戴游泳圈旋转角度,通过游泳圈旋转角度变化值,确定是否发生仰翻,若检测到游泳圈旋转角度变化值超过仰翻阈值,认为发生仰翻,进行第(2)步,否则认为没有发生仰翻,进行第(3)步;
(2)获取水深传感器数据,分析游泳圈旋转角度突变时刻对应的水深变化值,若水深变化超过水深阈值,则确认发生游泳圈仰翻导致的婴幼儿溺水事故,发送报警信息;
(3)若游泳圈旋转角度变化值超过空载阈值,且水深变化超过水深阈值,则确认发生从泳圈中间坠入导致的婴幼儿溺水事故,发送报警信息。
其中,仰翻阈值为发生游泳圈仰翻事故时,游泳圈旋转角度变化的经验值。水深阈值为游泳圈空载和负载时,游泳圈深度变化的经验值,该经验值与使用者的体重和游泳圈相关,该值可以在实际使用时直接采集。空载阈值为无负载时,游泳圈旋转角度变化的经验值,该值与游泳圈使用的水环境有关系,可以基于使用的水环境通过试验采集。
2.根据权利要求1所述的基于陀螺仪和水深传感器的溺水检测方法,其特征在于,步骤(1)中所述游泳圈旋转角度具体采用以下步骤获取:建立陀螺仪的模型:
ωo=ωt+ωb+ωn (1)
式中,ωo表示陀螺仪的输出值,ωt表示理想的测量值,ωb表示零点漂移,ωn表示测量噪声;
对陀螺仪测量得到的角速度,进行运算,如式(2)所示,可以得到包含有噪声的游泳圈运动角度,式中, 表示积分得到的角度,ωo表示陀螺仪的输出值,qbias表示陀螺漂移误差,dt表示采样时间间隔;
采用卡尔曼滤波对陀螺仪测量数据进行滤波,降低漂移误差和测量噪声的影响,根据式(1)和式(2),建立如式(3)所示的卡尔曼滤波模型:式中,Xk表示k时刻状态,即为当前时刻需要的运动角度;Φ表示转移矩阵;Xk-1表示k-1时刻状态,即为上一时刻需要的运动角度;B表示输入增益矩阵,即为当前时刻陀螺仪测定的角速度;uk表示系统输入向量,即为采样时间;Wk表示系统噪声,符合均值为0,协方差为Q的正态分布;Zk表示测量余量;H表示测量矩阵;Vk表示测量噪声,符合均值为0,协方差为R的正态分布;
滤波步骤如下所示,
状态预测:
Xk|k-1=ΦXk-1+Buk (4)
Pk|k-1=ΦPk-1ΦT+Q (5)
测量更新:
Kk=Pk|k-1HT/(HPk|k-1HT+R) (6)
Xk=Xk|k-1+Kk(Zk-HXk|k-1) (7)
Pk=(I-KkH)Pk|k-1 (8)
式中,Xk|k-1表示一步预测状态;Pk|k-1表示协方差的一步预测;Pk-1表示k-1时刻的均方误差;Pk表示k时刻的协方差;Kk表示k时刻滤波增益;I表示单位矩阵;
通过以上步骤,即可完成对陀螺仪测量数据的滤波,然后即可用于下一步分析,滤波得到的三个轴的欧拉角 分别表示滚动角、俯仰角和偏航角。然后,通过式(9)所示的欧拉角到四元数的转换得到四元数,式中,w表示四元数的标量部分,(x y z)表示四元数的矢量部分;
根据初始位置的四元数qs,当前位置四元数qc,游泳圈旋转角度按照式(10)求得,α=cos-1(qs·qc) (10)。
3.一种基于陀螺仪和水深传感器的溺水检测标签,其特征在于,包括陀螺仪、水深传感器、单片机、报警单元和通讯单元,所述陀螺仪与旋转角度测量单元连接,陀螺仪、水深传感器、报警单元和通讯单元均与单片机连接,单片机包括旋转角度测量单元和溺水判断单元,所述旋转角度测量单元将陀螺仪角速度进行滤波处理得到欧拉角,然后将欧拉角转换得到四元数,最后基于四元数计算得到游泳圈的旋转角,所述溺水判断单元根据获取的游泳圈旋转角度和水深变化值,判断是否发生溺水,并将溺水信号发送给报警单元,陀螺仪、旋转角度测量单元和溺水判断单元依次连接。
4.根据权利要求3所述的基于陀螺仪和水深传感器的溺水检测标签,其特征在于,所述通讯单元包括通讯线和蓝牙/ZigBee,蓝牙/ZigBee通过UART与MCU连接实现通信,用于向报警器发送报警信息,报警单元包括强光LED和报警器,强光LED通过GPIO与MCU连接实现通信,当检测到有婴幼儿发生危险情况时,LED闪烁报警,报警器通过蓝牙/ZigBee与单片机连接,所述陀螺仪为基于MEMS的陀螺仪,通过IIC与MCU连接,水深传感器通过IIC与MCU连接。
5.根据权利要求4所述的基于陀螺仪和水深传感器的溺水检测标签,其特征在于,所述基于陀螺仪和水深传感器的溺水检测标签通过硅胶带固定在游泳圈上侧或下侧,或通过硅胶带同时固定在游泳圈上侧和下侧,游泳圈上侧的检测标签通过通讯线与下侧的检测标签的通讯线连接。