/sensor-fusion-demo

#Android的传感器融合演示[![Build Status](https://www.bitrise.io/app/46b5cf7adea1286f.svg?token=MZUhPFZvIBiaTSEinY9zUQ&branch=master)](https://www.bitrise.io/app/46b5cf7adea1286f )[![Build Status](https://travis-ci.org/apacha/sensor-fusion-demo.svg?branch=master)](https://travis-ci.org/apacha/sensor-fusion-演示)[![文档状态](https://readthedocs.org/projects/sensor-fusion-demo/badge/?version=latest)](http://sensor-fusion-demo.readthedocs.io/en/最新/?徽章=最新)本应用程序演示了各种传感器和传感器融合的功能。陀螺仪,加速度计和罗盘的数据以不同的方式组合,结果显示为可以通过旋转设备旋转的立方体。阅读完整的文档[这里](http://sensor-fusion-demo.readthedocs.io)。该应用中的主要新颖之处在于虚拟传感器的融合:**改进的方位传感器1 **和**改进的方位传感器2 **将Android旋转矢量与虚拟陀螺仪传感器融合,以获得以前未知的稳定性的姿态估计和精度。除了这两个传感器,以下传感器可用于比较: - 改进的方向传感器1(Android旋转矢量和校准陀螺仪的传感器融合 - 不太稳定但更准确) - 改进的方向传感器2(Android旋转矢量的传感器融合和校准陀螺仪 - 更稳定但不太准确) - Android旋转矢量(加速度计+陀螺仪+罗盘)的卡尔曼滤波器融合 - 校准陀螺仪(加速度计+陀螺仪+指南针卡尔曼滤波器的独立结果) - 重力+指南针 - 加速度计+指南针本应用被开发用于展示为[我的论文“传感器融合为移动设备上强大的户外增强现实跟踪”开发的传感器融合方法](http://my-it.at/media/MasterThesis-Pacha.pdf)在[人类接口技术实验室新西兰](http://www.hitlabnz.org)。##构建和安装此项目是基于Gradle的Android Studio项目。如果您只想尝试一下,它也会在[Google Play商店](https://play.google.com/store/apps/details?id=org.hitlabnz.sensor_fusion_demo)中发布。##贡献1.分叉2.创建您的功能分支(`git checkout -b my-new-feature`)3.提交你的更改(`git commit -am'添加一些功能')4.推到分支(`git push origin my-new-feature`)5.根据MIT许可证创建新的Pull Request ##许可证。版权所有,2017年由[亚历山大·帕查](http://alexanderpacha.com)和[人力资源技术实验室新西兰](http://www.hitlabnz.org)。特此授权任何获得本软件和相关文档文件(“软件”)副本的人免费处理本软件,包括但不限于使用,复制,修改,合并的权利,发布,分发,再许可和/或出售本软件的副本,并允许提供本软件的人员遵守以下条件:上述版权声明和本许可声明应包含在所有副本中或软件的主要部分。该软件“按原样”提供,不附带任何明示或暗示的保证,包括但不限于适销性,适用于特定用途和不侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔,损害或其他责任负责,无论是否因与本软件或本软件的使用或其他交易相关的任何合同,侵权行为或其他方面的行为软件。此应用程序还使用Android开放源代码项目的部分,它们是根据[Apache许可证版本2.0](http://www.apache.org/licenses/LICENSE-2.0)许可的。##数据隐私声明本应用程序不存储或传输任何数据。

Primary LanguageJava

Sensor fusion demo for Android

Build Status Build Status Documentation Status

This application demonstrates the capabilities of various sensors and sensor-fusions. Data from the Gyroscope, Accelerometer and compass are combined in different ways and the result is shown as a cube that can be rotated by rotating the device.

Read the full documentation here.

The major novelty in this application is the fusion of virtual sensors: Improved Orientation Sensor 1 and Improved Orientation Sensor 2 fuse the Android Rotation Vector with the virtual Gyroscope sensor to achieve a pose estimation with a previously unknown stability and precision.

Apart from these two sensors, the following sensors are available for comparison:

  • Improved Orientation Sensor 1 (Sensor fusion of Android Rotation Vector and Calibrated Gyroscope - less stable but more accurate)
  • Improved Orientation Sensor 2 (Sensor fusion of Android Rotation Vector and Calibrated Gyroscope - more stable but less accurate)
  • Android Rotation Vector (Kalman filter fusion of Accelerometer + Gyroscope + Compass)
  • Calibrated Gyroscope (Separate result of Kalman filter fusion of Accelerometer + Gyroscope + Compass)
  • Gravity + Compass
  • Accelerometer + Compass

This application was developed for demonstrating the sensor fusion approach developed for my Master Thesis "Sensor fusion for robust outdoor Augmented Reality tracking on mobile devices" at the Human Interface Technology Laboratory New Zealand.

Build and Install

This project is an Gradle-based Android Studio project. It is also published in the Google Play Store, if you just want to try it out.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

License

Released under the MIT license.

Copyright, 2017, by Alexander Pacha and the Human Technology Laboratory New Zealand.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

This application also uses parts from the the Android Open Source Project, licensed under the Apache License, Version 2.0.

Data privacy statement

This application does not store or transmit any data.