在睡眠研究中使用哪些Android传感器来检测运动?

mutmk8jj  于 2022-11-27  发布在  Android
关注(0)|答案(3)|浏览(217)

我正在为Linux主机构建一个框架,以在主体睡眠时收集事件。其中一部分涉及将Android手机绑定到主体并运行HyperImu,这是一个记录选定传感器并将其作为UDP数据包发送到主机的应用程序。
在第一遍中,我希望检测出被试什么时候会翻来覆去(接下来,我希望区分左右转身与起床或上床)。
Android开发人员描述了一个显著运动传感器,但不幸的是,这是一个触发事件,我总是认为它为零。我还没有发现哪种传感器组合会产生这种情况。我已经查看了线性加速度和旋转矢量的幅度分布,但我还没有能够将这些与运动或稳定性联系起来。
我想了解如何合并available sensors来实现这一点。

编辑

这似乎是错误的:
刚才,我已经看到Note:当设备静止时,重力传感器的输出应该与加速度计的输出相同。
这就是我拿着电话坐在table上的情景,屏幕上出现了:

[,1]        [,2]         [,3]
gravity_sensor.x                0  0.07383085  0.072416830
gravity_sensor.y                0  0.05186246  0.050198150
gravity_sensor.z                0  9.80958600  9.809605000
linear_acceleration_sensor.x    0 -0.08544645 -0.059478775
linear_acceleration_sensor.y    0  0.07358940 -0.039030086
linear_acceleration_sensor.z    0  0.03905296  0.006094933
cuxqih21

cuxqih211#

重力传感器是加速计,工作正常。
这是固定移动的设备的典型阅读。
查看“gravity_sensor.z”,其给出的值约为9.8。
这就是手机上始终存在的重力加速度(g = 9.81m2/sec)。
线性传感器将尝试在去除重力影响后给出加速度指标。所以,这可能是你想要的。
现在,进入下一部分,如果你想记录睡眠对象的翻来覆去,陀螺仪传感器的输出就是你想要的。
陀螺仪会给予你设备的旋转细节。
任何大的变化都意味着受试者改变了睡眠姿势。
我...
假设主体正面朝上睡觉,旋转输出给予x~0,y~0,z~0
现在,让我们假设主体现在正以其右臂睡觉,这将意味着手机现在已经旋转,并且应该具有其沿着x~0,y~0,z~90线的旋转细节(注意,这是以度为单位的,您的值可能不同)

2hh7jdfx

2hh7jdfx2#

在这个表中,引力矢量似乎可靠地确定了我感兴趣的位置:

--------------------------------------------------------
     position        clock    gravX     gravY    gravZ  
------------------- ------- --------- --------- --------
      onBack         0000    0.08792   -0.359     9.8   

 turningUpperRight   0130    -5.149    0.2289    8.343  

      onRight        0300    -9.758    0.9697    0.0754 

 turningLowerRight   0430     -5.34     1.234    -8.132 

     onStomach       0600    0.2071     1.061    -9.747 

 turningLowerLeft    0730     5.566    0.6752    -8.046 

      onLeft         0900     9.653    -0.1737   -1.722 

 turningUpperLeft    1030     8.764    -0.863    4.315  

       erect          NA     0.08891    9.584     2.09  

      reading         NA     -1.168     5.905    -7.746 
--------------------------------------------------------
3wabscal

3wabscal3#

遗憾的是,你的这种运动并不被认为是有意义的:
https://source.android.com/docs/core/interaction/sensors/sensor-types#significant_motion
此类重大运动的示例包括:

  • 步行或骑车
  • 坐在行驶中的汽车、长途汽车或火车上

不触发明显运动的情况示例:

  • 手机在口袋里,人不动
  • 电话放在table上,由于附近的交通或洗衣机,table有点摇晃。

此传感器用于在电话静止时帮助减少位置请求的数量。
但是,重力传感器应该是有用的。

相关问题