如何把从陀螺仪获取的X,Y,Z轴的角速度信息转换成Roll(左右倾斜)、Pitch(前后倾斜)、Yaw(左右摇摆)全方位信息?

陀螺仪就是内部有一个陀螺,它的轴由于陀螺效应始终与初始方向平行,这样就可以通过与初始方向的偏差计算出实际方向。手机里陀螺仪实际上是一个结构非常精密的芯片,内部包含超微小的陀螺。

陀螺仪测量是参考标准是内部中间在与地面垂直的方向上进行转动的陀螺。通过设备与陀螺的夹角得到结果。

陀螺仪的强项在于测量设备自身的旋转运动。对设备自身运动更擅长。但不能确定设备的方位。

陀螺仪对设备旋转角度的检测是瞬时的而且是非常精确的,能满足一些需要高分辨率和快速反应的应用比如FPS游戏的瞄准。而且陀螺仪配合加速计可以在没有卫星和网络的情况下进行导航,这是陀螺仪的经典应用。

同时处理直线运动和旋转运动时,就需要把加速度和陀螺仪计结合起来使用。如果还想设备在运动时不至于迷失方向,就再加上磁力计。

因为手机运动的加速度不高,精确度也没有太大的要求,用加速计替代陀螺仪也可以。但如果做一些精度比较高的游戏的话,最好还是有陀螺仪。

陀螺仪可以捕捉很微小的运动轨迹变化,因此可以做高分辨率和快速反应的旋转检测。但不能像msensor或orientation sensor那样测量当前的运行方向。

另外,陀螺仪运转一段时间以后,noise和offset会导致数据偏差,需要借助其它传感器进行较正。

陀螺仪的XYZ分别代表设备围绕XYZ三个轴旋转的角速度:radians/second。至于XYZ使用的坐标系与gsensor相同。逆时针方向旋转时,XYZ的值是正的。下面是使用陀螺仪进行开发时的演示代码:

[java] view plaincopy
  1. private static final float NS2S = 1.0f / 1000000000.0f;
  2. private float timestamp;
  3. public void onSensorChanged(SensorEvent event)
  4. {
  5. if (timestamp != 0) {
  6. final float dT = (event.timestamp - timestamp) * NS2S;
  7. angle[0] += event.data[0] * dT;
  8. angle[1] += event.data[1] * dT;
  9. angle[2] += event.data[2] * dT;
  10. }
  11. timestamp = event.timestamp;
  12. }
android 就是GOOGLE的nexus s 有
iPhone4跟HTC的一款机子有
三星 Nexus S有三轴陀螺仪
LG 的2X也带了

陀螺仪
      Iphong4的发布了一项重大的应用——陀螺仪。据乔布斯所介绍,该装置可以让iPhone4感知人体的移动方向,结合重力感应、加速感应装置可以给iPhone 4提供前所未有的完美游戏体验!
      陀螺仪的作用简单点说就是可以跟踪位置变化,也就是我上面对三维电子罗盘的猜想,只要你在某个时刻得到了当前所在位置,然后只要陀螺仪一直在运行,根据数学计算,就可以知道你的行动轨迹。所以陀螺仪最常见的应用就是导航仪,在GPS没有信号时,通过陀螺仪的作用仍然能够继续精确导航。

就我所了解的,三维的电子罗盘,不仅具有指南针功能,还可以实现倾角的测量,和陀螺仪类似,站在一个斜坡上,可以计算出这个斜坡的角度;不过最重要的就是都可以在开飞机的时候使用...

总之电子罗盘和陀螺仪的应用都是为了提高导航精度,其次最重要的作用就是为游戏和应用增加了控制方式,设想一下,到时候的游戏都会很好玩,像CS这样的游戏,你完全可以拿着手机左跑跑右跑跑,在你家的客厅跑到卧室,再跑到卫生间寻找敌人,手持手机还可以控制准星,“Head shoot!”。是不是很有趣?这两个东西要比重力感应高级的多,也是未来手机应用中的主流,全新的控制方式,更有趣的应用,都会随之而诞生。

Android---陀螺仪传感器相关推荐

  1. Android传感器之陀螺仪传感器

    代码片段,双击复制 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ...

  2. android动作传感器

    android动作传感器 Android平台支持一些用于监视设备动作的传感器(这样的传感器共有5个).其中两个(加速传感器和陀螺仪传感器)是纯的硬件传感器.另外三个(重力传感器.线性加速传感器和旋转向 ...

  3. Android Sensor——传感器

    Android SDK 支持的传感器类型,在Sensor类中的定义: 01.TYPE_ACCELEROMETER  : 加速传感器(硬件) 02.TYPE_AMBIENT_TEMPERATURE : ...

  4. android 传感器ceshi,Android代码-传感器-测试手机支持那几种传感

    Android代码----传感器-----测试手机支持那几种传感 一个小小Demo检测手机支持那几种传感: 具体代码如下: [Java代码]DemoSensorActivity.java packag ...

  5. 一种基于陀螺仪传感器的准确计步器算法

    一种基于陀螺仪传感器的准确计步器算法 A Gyroscope Based Accurate Pedometer Algorithm 作者:Sampath Jayalath.Nimsiri Abhaya ...

  6. Android 硬件传感器

    为什么80%的码农都做不了架构师?>>> 1. 传感器入门 自从苹果公司在2007年发布第一代iPhone以来,以前看似和手机挨不着边的传感器也逐渐成为手机硬件的重要组成部分.如果读 ...

  7. android磁场传感器页面布局在哪,教程:Android传感器—传感器查询demo

    今天给大家带来一个篇安卓传感器查询的干货教程,五一出去旅游看人山人海,不如宅在家学技术! 在Android系统中提供有加速度.磁场.方向.陀螺仪.光线.压力.温度和接近等传感器.传感器系统会主动对上层 ...

  8. android 陀螺仪简单的使用

    参考这篇博文 android 传感器使用与开发---陀螺仪传感器 没啥好说的,就是把陀螺仪的偏移量给计算出来拿来用 public class MainActivity extends AppCompa ...

  9. Android Sensor 传感器总结

    ref:https://www.jianshu.com/p/8440a5897944 https://developer.android.google.cn/guide/topics/sensors/ ...

  10. 我的物联网之路-Android手机传感器概况(地磁为主)

    前言:本文主要以地磁为主介绍android的传感器类型,以及使用方法,再提供一个简单的demo供新手进行测试.研究生方向主要是物联网方向,虽然刚接触不久,但也有个大致的概念,本文算是开山之作-_-,之 ...

最新文章

  1. Windows7/10上快速搭建Tesseract-OCR开发环境操作步骤
  2. python mysql 驱动安装
  3. C#中的委托,匿名方法和Lambda表达式
  4. SP22343 NORMA2 - Norma(分治优化复杂度)
  5. CImage类的用法(转帖)
  6. 一些上流的CSS3图片样式
  7. 小汤学编程之JavaEE学习day03——JSP组成结构、JSP原理、JSP生命周期、JSP九大内置对象、四大作用域、JSP的MVC模式
  8. ASP.NET的IIS映射
  9. 解决Eclipse启动Tomcat时报Error loading WebappClassLoader错误
  10. Vue+ElementUI项目使用webpack输出MPA【华为云分享】
  11. 解决plsql中中文乱码问题
  12. openssl做HMAC实例(C++)
  13. GitStats-Git历史统计信息工具(转载)
  14. python封装为php库,从PHP运行Python脚本作为库
  15. 耗时一周,我用Python爬取全国各地大学校花(高清照片和个人信息)
  16. c语言程序设计答案 第五版 谭浩强
  17. arcgis怎么压缩tif文件_PDF文件怎么压缩?这个方法一看就会!
  18. 2021-02-06-身高与车架大小
  19. 搜狗浏览器安装自定义JS脚本的方法~
  20. 私有5g网络_2020-2026全球与中国私有LTE和5G网络市场现状及未来发展趋势

热门文章

  1. JZ36. 二叉搜索树与双向链表
  2. Java堆是什么意思?Java堆具有哪些好处?
  3. [013]操作系统原理系列 | ifconfig xxx down/up ifdown xxx/ifup xxx 区别
  4. 使用国密2(SM2)前后端传输加密
  5. 2021年Android工作或更难找,系列教学
  6. ERROR:Module not found: Error: Can‘t resolve ‘core-js/modules/es.promise.js‘ in ‘address‘
  7. 片袖原型制图_版型 | 八种袖子原型的制版画法
  8. PHP Warning: file_get_contents failed to open stream解决办法
  9. matlab有限差分法求解温度场,MATLAB在求解温度场中的应用
  10. 护理学在大学能转别计算机系吗,护理学专业怎么样?能不能转专业?能不能考研到临床医学?...