Wayhome Chen 2018-11-29 13:55 采纳率: 100%
浏览 2638
已采纳

手机加速度传感器测得的重力加速度数值不正常

本人手机是小米5S plus,在玩加速度传感器时发现所测重力加速度不正常,数值不在9.8左右,
而是24左右!不知是单位的问题还是传感器的问题?
以下是手机水平朝上放置时的截图:
图片说明
本人没有C币,各位大爷行行好,谢谢!

  • 写回答

3条回答 默认 最新

  • 风中之哨 2019-11-29 17:09
    关注

    你做的APP中画蛇添足了不需要的算法,驱动上报的数据已经是校准后的正确值了,你什么都不要做,拿来用就好了。以下内容可以参考:来自https://source.android.com/devices/sensors/sensor-types

    加速度计

    报告模式:连续模式

    getDefaultSensor(SENSOR_TYPE_ACCELEROMETER) 会返回一个非唤醒传感器

    加速度计传感器可报告设备沿 3 个传感器坐标轴的加速度。测量的加速度包括物理加速度(速度变化)和重力加速度。测量结果在 sensor_event_t.acceleration 的 x、y 和 z 字段中报告。

    所有值均采用国际单位制单位 (m/s^2),测量结果为设备加速度减去沿 3 个传感器坐标轴的重力加速度。

    示例如下:

    自由落体时,(x, y, z) 的范数应接近于 0。
    当设备平放在桌子上并从其左侧向右推动时,x 轴加速度值为正。
    当设备平放在桌子上时,z 轴上的加速度值为 +9.81,相当于设备的加速度 (0 m/s^2) 减去重力加速度 (-9.81 m/s^2)。
    当设备平放在桌子上并向上抬起时,加速度值大于 +9.81,相当于设备的加速度 (+A m/s^2) 减去重力加速度 (-9.81 m/s^2)。
    

    读数根据以下参数进行校准:

    温度补偿
    在线偏差校准
    在线尺度校准
    

    仅当传感器已禁用时,才可更新偏差校准和尺度校准,以避免流式传输时出现值激增。

    加速度计还通过 sensors_event_t.acceleration.status 报告其预测的读数精度。要详细了解此字段的可能值,请参阅 SensorManager 的 SENSOR_STATUS_* 常量。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • dabocaiqq 2018-11-29 17:21
    关注
    评论
  • Wayhome Chen 2018-11-30 12:11
    关注

    我去掉抵消重力的逻辑(滤波器法,迭代计算,alpha=0.8)后,改回原来的逻辑——输出原始数据,但是:

    图片说明

    它居然自己变正常了!是不是加速度传感器它自己会校准?

    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 在工控机(Ubuntu系统)上外接USB蓝牙硬件进行蓝牙通信
  • ¥15 关于PROCEDURE和FUNCTION的问题
  • ¥100 webapi的部署(标签-服务器)
  • ¥20 怎么加快手机软件内部计时的时间(关键词-日期时间)
  • ¥15 C语言除0问题的检测方法
  • ¥15 为什么四分管的内径有的是16mm有的15mm,四分不应该是12.7mm吗
  • ¥15 macos13下 ios交叉编译的问题
  • ¥15 bgz压缩文件怎么打开
  • ¥15 封装dll(引入了pcl的点云设计库)
  • ¥30 关于#开发语言#的问题:我需要在抄板的基础上再抄板抄程序,根据RDA8851CM基础上开发