有谁能告诉我重力sensor,加速度sensor,陀螺仪sensor有啥区别?这两天看这几个sensor,被搞晕了我的理解是:按理来说重力和加速度是一个sensor,和陀螺仪是完全不同的sensor陀螺仪是用来检测手机本身各条边,相对于重心的位置和方向,所以他有x,y,z ,比如手机是否倾斜,横屏竖屏等重力传感器和加速度传感器是一个传感器,用来检测手机整体向某个方向运动的加速度,比如当手机掉落时,加速度应等于g但是 网上很多gsensor的介绍都是下面这种原理:Accelrator的x,y,z轴的正负向变化:手机屏幕向上水平放置时:(x,y,z) = (0,0,-9.81) 当手机顶部抬起时:y减小,且为负值 当手机底部抬起时:y增加,且为正值 当手机右侧抬起时:x减小,且为负值 当手机左侧抬起时:x增加,且为正值我的问题是:那这样不就成了,陀螺仪sensor了么?这三个x,y,z的值是相对手机重心来算出来的,都是相对位置对吧?那么我如何检测手机在某个方向的加速度?比如手机掉落?
问题描述:
有谁能告诉我重力sensor,加速度sensor,陀螺仪sensor有啥区别?
这两天看这几个sensor,被搞晕了我的理解是:按理来说重力和加速度是一个sensor,和陀螺仪是完全不同的sensor陀螺仪是用来检测手机本身各条边,相对于重心的位置和方向,所以他有x,y,z ,比如手机是否倾斜,横屏竖屏等重力传感器和加速度传感器是一个传感器,用来检测手机整体向某个方向运动的加速度,比如当手机掉落时,加速度应等于g但是 网上很多gsensor的介绍都是下面这种原理:Accelrator的x,y,z轴的正负向变化:手机屏幕向上水平放置时:(x,y,z) = (0,0,-9.81) 当手机顶部抬起时:y减小,且为负值 当手机底部抬起时:y增加,且为正值 当手机右侧抬起时:x减小,且为负值 当手机左侧抬起时:x增加,且为正值我的问题是:那这样不就成了,陀螺仪sensor了么?这三个x,y,z的值是相对手机重心来算出来的,都是相对位置对吧?那么我如何检测手机在某个方向的加速度?比如手机掉落?
答
首先重力sensor跟加速度sensor数据在静止的情况下是一样的,即你可以认为加速度sensor在静止时是一个重力sensor,一般我们重力sensor的功能也是由一个3轴的加速度sensor实现.其次陀螺仪sensor计算的是以角度为单位的,倾斜角,而一个加速度sensor也可以通过数学的算法转换成一个陀螺仪的数据,所以基本上这两个也是相同的.但是,在运动的状态下,加速度的倾斜角等角度值没有陀螺仪精确,因为加速度sensor的角度计算是根据重力来算出来的,在运动状态,加速度测的数据没有陀螺仪精确.希望可以帮到你! 查看原帖>>