我假定Z轴为-0.7,因为软件假定地球的引力是9.8(这在海平面上是平均的)。然而,传感器的测量结果为9.1,因此差异小于0.7(约减少7%)。
虽然地球的引力是变化的(见:http://en.wikipedia.org/wiki/Gravity_of_Earth),但最大变异约为0.7%,比较山顶非常低的重力和北冰洋异常高的重力。
从维基百科页面,我们发现方程:
gh = g * square(r/(r+h))
/* gh = gravity at h
* h = height
* r = earth's radius
* g = earth's gravity
*/
重新排列的公式得到:
h = r/sqrt(gh/g) - r
计算你的测量重力(用大括号摆弄后)我插上这给谷歌:
(radius of earth/sqrt((9.1m/(s^2))/earth gravity)) - radius of earth
而谷歌返回结果:243.012479公里
为了便于比较,LEO卫星轨道从160km开始。所以你要么在太空中,要么你的Android设备没有被校准。我猜测第二,因为如果你在太空中,你会自由坠落,你的设备应该接近零重力而不是9.1。
至于小动作。那么,除非你将设备完全从地面上隔离开来,否则大多数现代MEMS加速度计都足够敏感,可以接收外面的车辆或走在房间里的人的交通。如果你的Z轴没有被校准,那么如果你的其他轴也报告错误,我不会感到惊讶。
嗯,这可能是我得到不准确的数据的原因。你知道是否有什么方法可以重新校准Android中的加速度计? –
不确定,我从来没有做过Android编程。我所有使用加速度计的经验都与为嵌入式设备编写固件有关。可能是一个新问题的候选人? – slebetman