سؤال

التكرار المحتمل:
الجمع بين بيانات الجيروسكوب ومقياس التسارع

لقد قرأت عددا من الأوراق حول Kalman filters, ، ولكن يبدو أن هناك عددًا قليلًا من الأمثلة العملية الجيدة المتاحة للجمهور للانتقال من الورق الرياضي إلى كود العمل الفعلي.

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

يبدو أن الجيروسكوبات لديها انحياز شبه ثابت يختلف قليلاً لكل مثيل في النظام.كيف يمكنني أن أقوم بترميز مرشح لاستخدام قراءات مقياس التسارع لمعايرة الجيروسكوب في الأوقات التي يكون فيها النظام مائلاً بحيث لا يكون محور الجيروسكوب على خط واحد مع الجاذبية، ويتم تدويره حول محور الجيروسكوب؟يبدو أنه يجب أن تكون هناك معلومات كافية للقيام بذلك، ولكن يتم إخبارك بعدم وجود معلومات كافية ولماذا ستكون الإجابة أيضًا :)

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

المحلول

nBot، روبوت ذو عجلتين يوازن
قدر كبير من المعلومات والروابط حول كيفية اختيار هذا المؤلف لحل مشكلة التوازن لروبوته ذي العجلتين.

نصائح أخرى

يبدو أن لديك مشكلتين (أو ثلاث) منفصلتين هنا.

1.أنت لا تفهم حقًا مرشحات كالمان و/أو الرياضيات التي تقف وراءها.وهذا سيجعل من الصعب جدًا تنفيذه واستخدامه بشكل صحيح.

2.يبدو أنك لا تفهم الفيزياء الأساسية المتعلقة بالمشكلة.(الفيزياء الأساسية تعني الفيزياء الأساسية، وليس الفيزياء البسيطة، لأنها ليست بسيطة.)

أقترح عليك أن تحاول استخدام أداة تكامل أبسط بكثير، مثل Runga-Kutta 4، حيث يمكنك العثور على العديد من الكتب التي تحتوي على أمثلة لكل من التنفيذ والاستخدام.ينبغي أن يكون كافيا لهذه المشكلة.(إذا قام العميل بتحديد كالمان، استفسر عن السبب.)

أما بالنسبة لسبب كون المشكلة مقيدة، فيبدو لي أنه لا توجد طريقة لضمان تثبيت الجهاز عموديًا ولا توجد طريقة لقياس الاتجاه الفعلي.انسَ الجيروسكوب في الوقت الحالي وافترض أنه لا يمكن تدوير الجهاز حول محور عمودي.لديك ثلاثة مقاييس تسارع، من المفترض أن تقدر الموقع بشكل ثلاثي الأبعاد.لذا، إذا رأيت تسارعًا في الاتجاه X، فإنك تزيد من تقدير موقعك في الاتجاه X.وبالمثل، إذا رأيت تسارعًا في الاتجاه Z (والذي سأفترض أنه "لأعلى")، فإنك تزيد من تقدير موقعك في الاتجاه Z.الآن قم بتدوير الجهاز قليلاً، على سبيل المثال 30 درجة حول المحور Y.الآن عندما يعتقد الجهاز أنك تتسارع في الاتجاه X، فإن الجهاز في الواقع يتسارع أقل قليلًا مما هو مشار إليه في X و كما أنه يتسارع في الاتجاه Z.لذا فإن تقدير موقعك الآن غير صحيح.

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

ربما تحتاج إلى تعيين مستشار (لا، أنا لا أبحث عن وظيفة) لمساعدتك في صياغة الرياضيات.

نظرًا لاهتمامك بمرشح كالمان، فربما تنوي زيادة بيانات نظام تحديد المواقع العالمي (GPS) بقياسات بالقصور الذاتي.بخصوص سؤالك:

"كيف يمكنني أن أقوم بترميز مرشح لاستخدام قراءات التسارع لمعايرة الدوران في بعض الأحيان عندما يكون النظام مائلًا بحيث لا يكون محور الدوران خط الجاذبية ، ويتم تدويره حول محور الدوران؟يبدو أنه يجب أن تكون هناك معلومات كافية للقيام بذلك "

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

إذا كنت ترغب في تحديث الانجراف الجيروسكوبي بسرعة، فستحتاج إلى مرشح كالمان.

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

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

ستجد أيضًا موارد عامة حول تصفية كالمان على http://academic.csuohio.edu/simond/publications.html.المادة المشار إليها في (8) إنها مقدمة جيدة، وليست مخيفة جدًا، للرياضيات المستخدمة في مرشحات كالمان.

لقد نشر للتو رجل نبيل في الدنمارك مثال عملي لاشتقاق مرشح كالمان لحل هذه المشكلة تقريبًا.

إذا كنت تقوم بالتطوير لـ Propeller uController، فمن تبادل كائنات المنظر لديه بعض التعليمات البرمجية.سؤال عظيم ;-)

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