加速器,陀螺仪测量移动距离的方法
原文的址,翻译不对的请指出
http://stackoverflow.com/questions/3707726/how-do-i-measure-the-distance-traveled-by-an-iphone-using-the-accelerometer (四楼回复)
这是可能的,我已经在sparkfun IMU上实现了更复杂的系统
需要一些精确的元件来完成:
1.你需要使用低通滤波器(low pass filter)来过滤从加速器接收到的信号,用于消除任何不是你轻微移动造成的噪音(用力抖动手机)
2.将从加速器接收到的三个数值(x, y, z)进行两次积分运算用于将加速转化成速度,然后再从速度转化成距离
3.以上所述的前提条件是,你必须保证手机以某种水平状态垂直地从下往上移动,任何角度的偏差都会响影其测量结果
4.要解决以上问题,你可以从内置的陀螺仪中获得的欧拉角进行补尝,用这个欧拉角映射出一个到加速器起始坐标的向量,这样,在你走动时就可以测量到你移动的距离(记住:佗螺仪同样需要过行过滤)
测量的结果取决于受多种因素影响,如:过滤器的效果,加速器和陀螺仪的精度和采样率,还有你的数学和线性代数水平等
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步