현재 나의 프로젝트에서 나는 Core Motion의 CMAttitude가 제공 한 쿼터니온에 관해 문제를 겪었다. 나는 iPhone 5 (iOS 6.0.1)를 잘 정의 된 시작 위치에 두었습니다. 그런 다음 빠른 페이싱 게임에서와 같이 기기를 빠르게 움직이기 시작합니다. 10-30 초 후 시작 위치로 돌아 가면보고 된 요 각도는 시작 위치와 10-20도 (대부분 ≈11 °)가 다릅니다.빠른 이동 후 요동각
효과를 확인하기 위해 오래된 (그리고 슬프게도 더 이상 사용 가능하지 않은) Core Motion Teapot 샘플을 사용했습니다. 오일러 각도는 로깅 CMAttitude에서 직접 읽기 :
NSLog(@"pitch: %f, roll: %f, yaw: %f", attitude.pitch * 180/M_PI, attitude.roll * 180/M_PI, attitude.yaw * 180/M_PI);
내가 다른 공장에서 서로 다른 시간에 제조 된 두 개의 서로 다른 아이폰 5 기기에이를 발견했다. 하지만 정말 이상한 것은 내
아이폰 4, 아이폰 OS 5.1.1을 실행하는 것이 예상대로 작동하고 있다는 것입니다.. 나에게 iOS 버그가있는 것 같아서 벌써 버그 리포트를 제출했지만 다른 한편으로는 아무도 아직 우연히 발견되지 않았다는 것을 거의 상상할 수 없다. 재 설계된 Core Motion API와 관련이 있을지도 모릅니다. 버전 5부터 자력계 (나침반)가 센서 퓨전으로 간주됩니다.
locationd[41] <Notice>: GYTT inserted: bias,-0.196419,1.749323,-1.828088,variance,0.002644,0.004651,0.002527,temperature,31.554688
내 질문 (들) : 장치의 모션을 사용하는 경우 자력계 판독을 차단하는 기회가를 콘솔 locationd에서 바이어스 추정이 CoreMotion에 제공되는 것을 알 수? 위치 서비스를 비활성화하려고했지만 Core Motion에는 영향을 미치지 않습니다. 가능하지 않다면 대안/해결 방법은 무엇입니까? 가속도계 기반 중력 추정?
추신 : 단지 요 영향을 것이 분명 보인다 좀 더 측정을 수행 한 후 : 우리는 사원 수를 기반으로 모델을 다루고있는 것처럼이 하지 짐벌 잠금
편집 관련이있다. 시작 위치에 관계없이 편주가 드리프트하는 동안 피치와 롤은 허용 편차 내에서 편차를 표시합니다 (< = 1 °). CMDeviceMotion.gravity
도 깨끗하게 보입니다.
EDIT (012) : 최근 XCode 버전에 첨부 된 MotionGraphs 샘플로 문제를 재현 할 수 있습니다. 요잉 그래프는 원점에서 재현 가능하게 벗어납니다.
Upvoted, 재미있는 문제! 네, 자력계에 대한 경험도 좋지 않았습니다. 편향 (편향을 유발합니다!)과 시끄러운 지옥 같은 경험이 있습니다. 나는 또한 자이로가 포화되기 쉽다는 것을 알아 냈다. 빠른 움직임. 용의자들로부터 채도를 빼낼 수있는 방법이 있습니까? – Ali
@Ali 나는 길을 모른다. 그러나 iOS 5.1.1이 설치된 iPhone 4는 이전에 설치된 iOS 4.3과 마찬가지로 매력적이었습니다. 어둠 속에서 한 발 맞았지만 아이폰 OS 6이 탓할 것이라고 생각한다. – Kay
누군가가 대답을 알기를 바랍니다. 도움을 드릴 수 없습니다. ( – Ali