سؤال

لدي مدير الحركة الأساسية في تطبيق iOS الخاص بي: giveacodicetagpre.

وفي طريقة التحديث (أنا أستخدم Cocos3D، لكنه لا يهم) لقد حصلت على هذا: giveacodicetagpre.

أضع الجهاز على الطاولة والبدء في مشاهدة قيم YAW و PIGH و ROLL، ويتغير YAW باستمرار!يتغير حوالي 10 درجات في غضون دقيقتين، وهو غير مقبول تماما في التطبيق الخاص بي.ما هو سبب ذلك التغيير وكيف يمكنني تجنب ذلك؟بدأت أعتقد أنه يحدث بسبب دوران الأرض، ولكن السرعة أكثر من اللازم :)

شكرا مقدما!

هل كانت مفيدة؟

المحلول

اسمحوا لي أن أجرب رصاصة في الظلام. مع بيانات مقياس المغنطيسية IOS 5 جزء من خوارزمية STYSOR Motion Sensor Fusion. بالنسبة للعديد من التطبيقات مثل الألعاب، ليست هناك حاجة أو أفضل خطير بسبب زيادة استهلاك الطاقة والحاجة المحتملة لمعايرة البوصلة في إجبار المستخدم على القيام بهذا 8 مثل الحركة.

لذلك قمت بتعينة أن بيانات البوصلة تعتبر داخل مستوطنة الاستشعار فقط إذا تم ذكرها بشكل صريح باستخدام CMMTYMONAGER startdevicemotionupdatesuspreefareframe بدلا من startdevicemtautupdates . جرب cmattitudeRectressframexmagnethervertical وتحقق مما إذا كان تأثير الانجراف ينخفض.

نصائح أخرى

ما الذي تعاني منه هو شيء يسمى الانجراف ولا يمكنك فعل الكثير حيال ذلك.

أساسا، الجيروسكوب جيدة جدا في قياس معدلات الدوران ولكن لا يمكنها قياس الاتجاهات الفورية. لذلك، من أجل حساب الاتجاه الحالي للجهاز، يجب أن تقوم خوارزمية الاستشعار بإدماج المعدلات المسلحة في المواقف. ومع ذلك، نظرا لأن المواقف التي يتم احتسابها، فإن الأخطاء الصغيرة التي تراكمت بمرور الوقت ويمكن أن ينجرف الاتجاه المحسوب، حتى إذا ظل الجهاز لا يزال في الغالب.

إذا كان الجهاز يحدث أن يكون لديك جهاز استشعار يمكنه قياس الاتجاهات الفورية، مثل مقياس المغنطيسي، فإن خوارزمية Sensor Fusion يمكن تصحيح الانجراف عن طريق مقارنة / الجمع بين مدخلات المساحات، وبالتالي خيار الإطار المرجعي لشركة Apple: CMattitudeReferencreframexararyCorrationalCvertical.

لكن تنفيذ Apple ليس مثاليا، ولهذا السبب ترى القفزات الضخمة ذهابا وإيابا لتصحيح الخطأ عند تمكين CMattitudeReferencerFrameXarrationZverzverzverticalzverticalzvertical. قد تكون خوارزمية أفضل واحدة على الأقل بتنزع تصحيح الخطأ مع مرور الوقت.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top