2014-02-16 5 views
0

Android에서 Gyrosope Native Extension을 실제로 사용하고 완벽하게 실행되는 앱을 만들었습니다.공기 자이로 스코프 데이터가 iOS 및 Android에서 매우 다른 것 같습니다.

그러나 AIR 4.0을 사용하는 iPhone 4 (iOS7)에서 테스트 한 결과 자이로 스코프 성능은 완전히 다른 것처럼 보였습니다. 기울기가 아무 것도하지 않는 것 같지만 전화를 돌리면됩니다.

이 데이터가 iOS 및 Android에서 작동하는 방식과 큰 차이가 있는지 아는 사람이 있습니까?

나는 이것을 사용하려고 시도하고있는 http://www.ketzler.de/2011/11/adobe-air-gyroscope-native-extension-with-euler-angles-roll-pitch-yaw-for-ios/처럼 보입니다.

기존 기본 확장 프로그램을 대체하거나 추가 했습니까?

+1

iOS 및 Android의 회전 데이터에는 큰 차이가 있습니다. 그러나 오일러 각을 사용하는 경우 두 플랫폼에서 비슷하게 작동하도록 익스텐션을 가져올 수 있어야합니다. 칼만 필터 또는 융합 알고리즘을 사용하고 있습니까? – Michael

+0

아니요. 안드로이드에서 각도로의 단순한 변환. 그래서 저는 Euler 각도가 Ketzler의 기본 확장을 작동하도록 유지해야합니까? – user5839

+1

각도를 계산하기 위해 Apple의 내부 융합 알고리즘을 사용하는 내장 iOS 태도를 사용하기 만하면됩니다. 필요한 정보라면 그만한 가치가 있습니다. 오일러 각은 골칫거리 일 수 있으며, 쿼터 리온을 사용하는 것을 선호하지만 조금 더 복잡하지만 훨씬 더 신뢰할만한 결과를 얻습니다. – Michael

답변

0

여러 센서를 사용하여 장치 위치를 계산할 때 훨씬 좋은 결과를 얻을 수 있습니다. 참조한 확장 프로그램은 iOS SDK의 기본 제공 함수를 통해이를 수행합니다. 사용 가능한 센서의 융합을 사용하면 자이로 스코프에서 빠른 응답을 얻을 수 있지만 가속도계와 자력계를 사용하여 드리프트를 계산합니다. iOS에서

이가 (고대 근동 링크는 사용을 제공 한 것입니다)를 CMAttitude 클래스 사용 가깝게 두 플랫폼 모두에이 기술을 사용

https://developer.apple.com/library/ios/documentation/CoreMotion/Reference/CMAttitude_Class/Reference/Reference.html

확실히 판독을 불러옵니다 그러나이됩니다 더 많은 정보에 액세스 할 수있는 Android에서 몇 가지 다른 방법을 사용할 수 있습니다. 안드로이드의 가장 큰 문제는 물론 모든 다른 하드웨어를 사용하기 때문에 센서는 모두 약간 다른 범위와 값을보고합니다. 내가 찾은 최선의 방법은 오일러 각 이후에 있다면 TYPE_ROTATION_VECTOR 센서를 사용하고 SensorManager.getOrientation 함수를 사용하는 것입니다. 나는 또한 혼합 된 결과를 가진 커스텀 퓨전 알고리즘을 시도했다.

http://developer.android.com/reference/android/hardware/Sensor.html#TYPE_ROTATION_VECTOR

나는 또한 사원 수의 조사 좋습니다. 이것들은 장치 배치에 대해 훨씬 더 나은 결과를 제공하고 연관된 짐벌 잠금을 피합니다.

나는이 모든 것을 distriqt의 확장 패키지로 처리하는 데 많은 시간을 할애했으며, 이에 관심이있는 경우이 모든 작업을 수행하는 새로운 DeviceMotion 확장을 릴리스하려고합니다.