Tuesday 9 January 2018

تتحرك من المتوسط - كالمان


تتحرك المتوسطات على نحو سلس من ضجيج تيارات بيانات الأسعار على حساب تأخر (التأخير) في الأيام القديمة هل يمكن أن يكون سرعة، على حساب خفض تمهيد في الأيام القديمة هل يمكن أن يكون فقط تمهيد الخاص بك على حساب تأخر التفكير كيف ساعات عديدة كنت يضيع في محاولة للحصول على المتوسطات الخاصة بك بسرعة وسلس تذكر كيف مزعج هو أن نرى زيادة سرعة يسبب زيادة الضوضاء تذكر كيف كنت ترغب في تأخر منخفضة وانخفاض مستوى الضجيج تعبت من العمل على كيفية الحصول على كعكة الخاص بك وتناول الطعام لا يأس، والآن تغيرت، يمكن أن يكون لديك كعكة ويمكنك أن تأكل متوسط ​​الدقة لاغليس مقارنة مع غيرها من نماذج تصفية متقدمة من المتوسطات القياسية الصناعة الأساسية (مرشحات) المتوسط ​​المتحرك المرجح هو أسرع من الأسي، ولكن لا تقدم تمهيد جيد، في وعلى النقيض من الأسي وقد تمهيد ممتازة، ولكن كميات هائلة من التأخير (لاج). مرشحات تيشكوت الحديثة كوثيغ على الرغم من تحسين على النماذج الأساسية القديمة، لديها نقاط الضعف الكامنة. وبعضها لوحظ في مرشح جوريك جما والأسوأ من هذه نقاط الضعف هو الإفراط. أبحاث جوريك تعترف علنا ​​بوجود أوفيرشوتكوت كوتمينيمال الذي يميل إلى الإشارة إلى شكل من أشكال خوارزمية التنبؤية تعمل التعليمات البرمجية. تذكر أن الفلاتر تهدف إلى مراقبة ما يحدث الآن وفي الماضي. التنبؤ بما سيحدث بعد ذلك هو وظيفة غير قانونية في مجموعة أدوات نظام التداول الدقيق، يتم تمهيد البيانات والتخلف فقط. أو هل يمكن القول، واتبعت الاتجاهات على وجه التحديد بدلا من أن أقول أي طريقة للذهاب المقبل، كما هو الحال مع هذه الخوارزميات مرشح نوع غير قانوني. متوسط ​​لاغليس بريسيسيون لا يحاول التنبؤ بقيمة السعر التالية. ويطالب العديد من متوسط ​​هال لتكون سريعة وسلسة كما جما من قبل البحوث جوريك، ولها سرعة جيدة وانخفاض التأخر. إن مشكلة المعادلة المستخدمة في متوسط ​​هال هي تبسيطها الشديد ويؤدي إلى تشوهات في الأسعار ذات دقة ضعيفة ناتجة عن الترجيح الشديد (x 2) على أحدث البيانات (الطابق (الطول 2)) ومن ثم طرح القديم البيانات، مما يؤدي إلى مشاكل الإفراط الشديد التي في بعض الحالات العديد من الانحرافات المعيارية بعيدا عن القيم الفعلية ومعدل لاغليس بريسيسيون لديها زيرو الإفراط. يظهر الرسم البياني أدناه الفرق الهائل في السرعة على 30 فترة من جيش التحرير الشعبى الصينى و 30 فترة فترة هال. كان جيش التحرير الشعبى الصينى اربعة قضبان قبل متوسط ​​هال فى كل من نقاط التحول الرئيسية المشار اليها على الرسم البياني 5 دقائق لمستقبل فت-SE100 (وهو 14 فرق في اجازة). إذا كنت تداولت المتوسطات عند نقاط تحولها لتتخطى سعر الإغلاق في هذا المثال، كان جيش التحرير الشعبى الصينى يشير إلى 3،977.5 وكان هول تافه في وقت لاحق عند 3937، حوالي 40.5 نقطة أو من الناحية النقدية 405 لكل عقد. كانت إشارة طويلة على جيش التحرير الشعبى الصينى في 3936 مقارنة مع أركان 3،956.5، وهو ما يعادل توفير التكاليف من 205 لكل عقد مع إشارة جيش التحرير الشعبى الصينى. هل هذا طائر. هل هو طائرة. لا يوجد فلاتر متوسط ​​الدقة بريسيسيون لاغليس مثل متوسط ​​فيدايا بواسطة توسكار تشاند، والتي تستخدم التقلبات لتغيير أطوالها، لها نوع مختلف من الصيغة التي تغير طولها، ولكن هذه العملية لا يتم تنفيذها بأي منطق. في حين أنها يمكن أن تعمل بشكل جيد جدا في بعض الأحيان، وهذا يمكن أن يؤدي أيضا إلى مرشح التي يمكن أن تعاني من كل من تأخر والتجاوز. ويمكن أيضا إعادة تسمية متوسط ​​السلاسل الزمنية الذي هو في الواقع متوسط ​​سريع جدا، حيث أن معدل القصور المؤقت هذا عدم الدقة يجعله غير قابل للاستخدام لأي تقييم جدي للبيانات لاستخدام التداول. مرشح كالمان كثيرا ما يتخلف أو يكسر صفائف الأسعار بسبب خوارزميات أكثر من الحماس. وهناك عوامل تصفية أخرى تعمل في زخم السعر في محاولة للتنبؤ بما سيحدث في الفترة السعرية القادمة، وهذه أيضا استراتيجية معيبة، لأنها تجاوزت عندما عكست قراءات زخم عالية، وترك مرشح عالية وجافة وأميال بعيدا عن النشاط السعر الفعلي . يستخدم بريسيسيون لاغليس متوسط ​​منطق نقي وبسيط لتحديد قيمة الانتاج المقبل. وقد حاول العديد من علماء الرياضيات ممتازة وفشلت في خلق المتوسطات تأخر الحرة، وعموما السبب هو أن المدقع الرياضيات الفكر ليست مدعومة من قبل درجة عالية من المنطق المنطق المنطقي. يتم إنشاء متوسط ​​لاغليس الدقة (بلا) من خوارزميات المنطق المنطقي بحتة، والتي تدرس العديد من القيم المختلفة التي يتم تخزينها في المصفوفات ويختار أي قيمة لإرسالها إلى الإخراج. جيش التحرير الشعبى الصينى متفوقة السرعة، تجانس ودقة جعله أداة التداول ممتازة للأسهم، العقود الآجلة، الفوركس، السندات الخ. وكما هو الحال مع جميع المنتجات التي وضعتها أنظمة التداول الدقة الموضوع الأساسي هو نفسه. مكتوبة للتجار، من قبل ترادر. جيش التحرير الشعبى الصينى طول 14 و 50 على E-ميني ناسداك فيوتشروهو كلمان مرشحات العمل، الجزء 1 وهذا هو، يمكنك مضاعفة مجرد احتمال أن كنت في بلد مع احتمال العثور على نفسه في مطعم في ذلك البلد، بالنظر إلى أن واحدة كانت بالفعل في البلاد، للحصول على احتمال جديد. (العمود الأخير ليس في الواقع احتمالا حتى تحجيمه بحيث يرتفع إلى 1، ولكن فقط القيم النسبية ذات أهمية، لذلك لها احتمال بقدر ما يهتم أي شخص.) بعد بضع لحظات، النادلة يجلب لك السوشي، لذلك يمكنك تقليل والاحتمالات بالنسبة لطاجيكستان وباراغواي، وبالتالي زيادة الاحتمالات على اليابان وتايوان، وأماكن مثل المطاعم السوشي شائعة نسبيا. غالبا. من السوشي نظرا مطعم، البلد يمكنك التقاط عيدان تناول الطعام ومحاولة السوشي، واكتشاف أن لها ممتازة. اليابان هي الآن إلى حد بعيد المكان الأكثر احتمالا، وعلى الرغم من أنه لا يزال ممكنا أن كنت في الولايات المتحدة، وليس تقريبا على الأرجح (للأسف بالنسبة للولايات المتحدة). غالبا. من السوشي جيدة تلك لدوبوبابيليتيزردكو تحصل على الصعب حقا أن تقرأ مع كل تلك الأصفار في الجبهة. كل ما يهم هو احتمال نسبيا، لذلك ربما قمت بتوسيع هذا العمود الأخير من قبل مجموع العمود كله. الآن احتماله مرة أخرى، ويبدو شيئا من هذا القبيل: الآن بعد أن كنت متأكدا من اليابان، يمكنك إجراء قائمة جديدة من الأماكن داخل اليابان لمعرفة ما إذا كان يمكنك الاستمرار في تضييق عليه. تكتب من فوكوكا، أوساكا، ناغويا، هاماماتسو، طوكيو، سينداي، سابورو، الخ كل على قدم المساواة المرجح (وربما تبقى تايوان أيضا، فقط في حالة). الآن النادلة يجلب أوناجي. يمكنك الحصول على أوناجي في أي مكان، ولكن لها أكثر شيوعا في هاماماتسو، لذلك يمكنك زيادة الاحتمالات على هاماماتسو وتقليل قليلا من احتمالات في كل مكان آخر. من خلال الاستمرار في هذه الطريقة، قد تكون في نهاية المطاف قادرة على العثور على أن كنت تناول الطعام في مطعم لذيذ في محطة هاماماتسو مدشش سحب عشوائي محظوظا نوعا ما. لا شيء شيء غريب خصوصا عن العملية التي ذهبت من خلال (إلا أن كان لديك مثل هذه البيانات مطعم جيد)، والجميع يتفقون على أنه كان معقولا جدا. وكان أيضا أساسا مرشح الجسيمات. طريقة لتحديد أشياء غير معروفة، مثل الموقع، من قياسات أشياء أخرى، مثل المطبخ، وذلك باستخدام احتمالات مختلفة حول ما يود مراقبة تحت فرضيات مختلفة. في الواقع، نوعه من مثل تطبيق الآلي من المنهج العلمي. ليس ذلك عندما يؤدى كجزء من خوارزمية، ويسمى هذا النوع من الشيء تقدير حالة عودية. ولسوء الحظ، فإن جزءا صغيرا فقط من المهندسين الميكانيكيين، والمهندسين الكهربائيين، وعلماء البيانات يتلقون أي تعليم رسمي حول هذا الموضوع، بل وعدد أقل منهم يطورون الفهم البديهي للعملية أو لديهم أي معرفة بالتنفيذ العملي. في حين أن هناك العديد من الكتب الجيدة على الرياضيات وراء ذلك وتفاصيل كيفية تطبيقها على بعض المشاكل المحددة، وهذه المادة تأخذ نهجا مختلفا. التركيز بشكل جيد على تطوير: الحدس لتقدير الدولة العودية، معرفة واسعة من أقوى والأكثر عامة أنواع، فكرة جيدة عن تفاصيل التنفيذ. مرة واحدة لديها أساس جيد لهذه الأمور، يصبح من الأسهل بكثير للبحث عن خوارزميات محددة في الأدب مرشح، وتخصيص لهم، والتكيف معها لرمز، المشاكل الصحيحة، وشرح الأداء للآخرين. ومن المثير للاهتمام أن الأشكال الأكثر بديهية للتقدير العكسي أصبحت في الآونة الأخيرة شعبية، لذلك كانت ستنظر إلى تاريخها تماما إلى الوراء: بدءا من أحدث أنواع، مثل مرشحات الجسيمات، والعمل مرة أخرى في الماضي القديم (1960s) ل اختراق التي مكنت خوارزميات الملاحة أبولو للحفاظ على المركبة الفضائية على مسار إلى القمر: مرشح كالمان. الجمهور المستهدف هو المهندسين والعلماء والصناع والمبرمجين الذين يحتاجون إلى تصميم نظام لفهم عملية، جنبا إلى جنب مع مهندسي النظم وفريق يؤدي الذين يحتاجون إلى فهم أفضل لما تقوم فرقهم ببناء. ولمواجهة الموضوع، ابدأ أيضا بإنشاء رسم تقريبي لأفكار الفلتر. ثم، ملء جيدا في رسم مع المزيد والمزيد من التفاصيل. الجزء الأول قد يستغرق بضع ساعات، والجزء الثاني سوف يستغرق حوالي نصف ذلك، اعتمادا على مدى عميق واحد يختار أن يقرأ. ثم هناك بعض الملاحق لملاحظات التنفيذ الإضافية وممارسة الرياضة مع هذه المواضيع. يمكن لأي شخص أن يتبع الأفكار الأساسية هنا، ولكن نظرية الاحتمالات قليلا والجبر الخطي الأساسي سوف تساعد على اتباع الرياضيات والمواد المرجعية كما نحصل على أكثر تفصيلا. حسنا نشير إلى عدة موارد جيدة على طول الطريق. مع ذلك، دعونا نبدأ. المرشحات الأربعة موجودة جيدا هنا، جنبا إلى جنب مع التعليمات البرمجية التي ولدت كل من الصور، يمكن تحميلها ل ماتلاب هنا. مرشح الجسيمات مرشح الجسيمات يمكن أن يكون من السهل جدا، وهناك حوالي العديد من الأشكال كما أن هناك مشاكل لحلها. ننظر جيدا في نوع بسيط من مرشح الجسيمات دعا مرشح بوتستراب لبناء فهم الأساسيات. واحد ترشيح الجسيمات تصفية الجسيمات مرشحات العمل مثل هذا: أولا، نسأل، لدكوووهات ​​الأمور يمكن أن يحدث، وكيف الأرجح هو كل ثينغردكو ثم، لدكووفور كل شيء يمكن أن يحدث، ماذا أتوقع أن أوبسيرفيردكو ثم، لدكوهو المرجح هو كل شيء، نظرا لما إيف الآن في الواقع كونفيرتدركو نحن ثم كرر. على سبيل المثال، لنفترض أننا نعرف تقريبا الموقف الأصلي من الكرة كذاب، ولكن لا أعرف الكثير عن السرعة. يتيح إنشاء مجموعة من الكرات لدكوهيبوثيسيسردكو، فرقت عشوائيا حول حيث نعتقد الكرة الحقيقية هي ومع السرعات العشوائية. ويقول يقول أنه، بقدر ما نعلم، هذه كلها المرشحين على قدم المساواة المرجح لموقف الكرات الحقيقية والسرعة (حالتها). هذه القائمة من الكرات الافتراضية مثل قائمة البلدان. وتسمى كل دولة كرات افتراضية الجسيمات. واحتمال أن الجسيم يمثل أفضل حالة حقيقية هو وزن الجسيمات. لذلك، لكل جسيم، لدينا موقف كرات افتراضية وسرعة، فضلا عن قياس احتمال، من 0 إلى 1، أن الكرة تصف الحقيقة، حيث 1 هو اليقين الكامل و 0 يمثل أي إمكانية على الإطلاق. مثلا وزن الجسيمات لجزيرة جورجيا الجنوبية يذهب إلى بالضبط 0 نظرا لعدم وجود مطاعم السوشي في جزيرة جورجيا الجنوبية (على الرغم من كل من الأسماك التي يتم استهلاكها هناك). الآن، لحظة في وقت لاحق، نحصل على قياس موقف الكرات. كيف وصلت الكرة إلى هذا الموقف هل ترتفع وببطء القوس إلى الوراء هل تنخفض، ترتد من الأرض، والرجوع إلى الوراء نحن لا نعرف حتى الآن. إما أن المسار هو على قدم المساواة. ونحن نعلم أيضا أن قياس ليس الكمال لديها بعض الضوضاء. لذلك، دعونا نأخذ كل فرضية، ونشرها إلى الأمام إلى وقت القياس، ونرى جيدا كيف يتنبأ القياس الحقيقي. يتيح استدعاء (قبعة) الدولة (المصطلحين موقف وشروط السرعة) من (ط) الجسيمات في آخر عينة الوقت. ويتيح الاتصال (قبعة) الدولة في الوقت العينة الحالية. نستخدم القبعات للدلالة على التقديرات و (ك) للعينة. ونحن نعلم كيف تعمل الكرات كذاب، حتى نتمكن من نشر من الوقت السابق إلى الوقت الحالي باستخدام وظيفة الانتشار. (F). وفيما يتعلق بأساليب المحاكاة المستخدمة في هذه الأنواع من وظائف الانتشار، انظر لدكوهو سيمولاتيونس وركردكو. هذا يقوم بتحديث الموقع والسرعة لكل من الجسيمات (n) من خلال البدء بالموقع السابق والسرعة وحساب القطع المكافئ التي تنتجها الكرة بسبب الجاذبية، وعندما تتقاطع مع الأرض، والمسار من الأرض إلى أعلى، وما إلى ذلك. حتى يصل إلى الوقت الحالي. وبالتالي فإن وظيفة الانتشار هي محاكاة صغيرة. وبالنظر إلى الوضع المحدث، فإننا نتوقع ما توقعه القياس لكل جسيم، باستخدام وظيفة مراقبة معروفة، (ح). حيث تشير القبعة إلى قياس متوقع. لمساعدتنا على تمييزه عن القياس الحقيقي، (زك). لمشكلتنا، وظيفة المراقبة ببساطة يعود موقف الكرة. بعض الجسيمات تتوقع القياس بشكل جيد، والبعض الآخر ضعيف. يمكننا أن نأخذ الفرق بين كل الكرات موقف جديد وقياس ((زك - قبعة)) ونقول، لدكووا هي احتمالات رؤية خطأ القياس هذا كبير، نظرا لما نعرفه عن كيفية صاخبة القياسات يمكن بيردكو التنبؤات سيئة حقا لديها احتمالات منخفضة، في حين أن التوقعات الجيدة سيكون لها احتمالات عالية. لذلك، لدينا احتمال لخطأ القياس لكل كرة افتراضية. يمكننا مضاعفة كل وزن الجسيمات من قبل هذا الاحتمال. والنتيجة هي أن الجسيمات التي تتوقع أفضل قياس في نهاية المطاف مع أعلى وزن. دعونا نبين أنه من خلال تظليل المسارات وفقا لأوزانها الجديدة: (لاحظ أنه بعد القيام بذلك مضاعفة، فإن مجموع الأوزان لن يكون 1. يمكننا إعادة تشكيل عن طريق قسمة كل من الأوزان من مجموع كل من الأوزان.) أوزان محدثة لمسارات افتراضية باستخدام هذه الأوزان، يمكننا حساب المتوسط ​​المرجح لجميع الكرات الافتراضية. وهذا قد يوفر أفضل تقدير للدولة (وهناك أيضا العديد من الطرق الأخرى التي يمكن أن نستخدم الاحتمالات لحساب أفضل تقدير، مع أن المتوسط ​​المرجح هو الأكثر تبسيطا). عند هذه النقطة، لدينا تقدير الدولة المحدثة وعدم اليقين المرتبطة بها. هنا تمثل مجموعة محدودة من الجسيمات. ويمكننا الآن أن ننتظر إجراء قياس آخر من خلال هذه العملية مرة أخرى. الأربعاء نشر كل الكرة إلى وقت القياس، وحساب احتمال الخطأ بين القياس والكرة نشر، وتحديث أن الكرات احتمال. لذلك، يتيح الذهاب من خلال دورة واحدة أخرى. تكرار آخر، إضافة في إعادة تجميعها وضبطها جسيمات جديدة قياس وجزيئات تتنبأ بعض الجسيمات بقياس جديد جيدا، وبعضها لم يعد يتوقع جيدا. تحديث احتمال كل منهما. لاحظ أن بعض الكرات الافتراضية الافتراضية لدينا عديمة الفائدة الآن. ثيريس فقط بأي شكل من الأشكال أنها تمثل الحقيقة. بالإضافة إلى ذلك، فإنها جميعا بدأت تنتشر بعيدا جدا. في نهاية المطاف، كل شيء بعيدا جدا عن الحقيقة، وسوف مرشح لدينا تنهار. المفتاح الذي يجعل عمل مرشح الجسيمات هو أن مجموعة من الجسيمات يتم إعادة حساب كل مرة واحدة في حين (أو حتى بعد كل تحديث)، تماما مثل عندما تحولنا من قائمة المواقع في جميع أنحاء العالم المحتملة إلى قائمة أدق من المواقع في اليابان. هناك الكثير من الطرق للقيام بذلك، ولكن هيريس واحدة سهلة: إنشاء مجموعة جديدة من الجسيمات عن طريق اختيار عشوائيا الجسيمات من مجموعة الحالية وفقا لوزن الجسيمات. لذلك، بشكل عام، والجسيمات مع وزن 0.04 سيتم رسمها مرتين كما في كثير من الأحيان الجسيمات مع وزن 0.02. مرة واحدة يتم إنشاء مجموعة جديدة من الجسيمات، تعيين كل من الأوزان إلى 1N. ويمثل تشتت عدم اليقين الآن في وجود جسيمات مختلفة، وليس بأوزان الجسيمات. فقط أن تكون واضحة: سيكون هناك العديد من الجسيمات المكررة في هذه المرحلة. حساب التباين العينة من مجموعة جديدة من الجسيمات، أو بعض المقاييس الأخرى من تشتت بهم. التباين العينة سهلة بشكل خاص: بيكاي فراك سومين (قبعة - شريط) (قبعة - شريط) T حيث (بار) هو متوسط ​​جميع الجسيمات و (T) يعني لكوترانزبوسردكو. جعل مجموعة من السحب العشوائية غوسية من مصفوفة التباين العينة (انظر التذييل). مضاعفة هذه التعادلات من قبل بعض المعلمات ضبط صغيرة، مما يعطي مجموعة من الاضطرابات. إضافة اضطراب إلى كل جسيم. وهذا يخلق مجموعة من الجسيمات الجديدة المنتشرة حول المناطق عالية الاحتمال في الفضاء الدولة. وتسمى أول خطوتين ريسامبلينغ. وتسمى الأخيرة اثنين من تنظيم الجسيمات. يتيح القيام بذلك لمجموعة الحالية من الجسيمات: الخطوط العريضة لتصفية بوتستراب يمكننا الآن الاستمرار في القياس التالي، ثم التالي، والقادم، مع الحفاظ على عملية وضعنا: لرؤية (نسبيا) مرشح التمهيد بسيطة المستخدمة في هذا المثال، انقر هنا أو تحميل ملفات العينة هنا. نشر الجسيمات. تحديد مدى إعطاء كل جسيم القياس الجديد. تحديث الأوزان الخاصة بهم (و رينورماليز بحيث مجموع كل من الأوزان يأتي إلى 1). احسب تقدير الحالة، على سبيل المثال. مع متوسط ​​مرجح. إذا إعادة تجميع الجسيمات هذه المرة، واختيار عشوائيا الجسيمات وفقا لأوزانها، ومن ثم العودة الأوزان إلى 1N. إذا تنظيم الجسيمات هذه المرة، يزعج مجموعة جديدة من الجسيمات مع تعادلات عشوائية صغيرة. في العودة إلى الكرة المثال، هيريز النتيجة تتقارب مع مرور الوقت، مع عدم اليقين تتجمع بوضوح حول الدولة الحقيقية (الأزرق): الرسوم المتحركة من الجسيمات والقياسات والحقيقة مع مرور الوقت. بعد عشر ثوان: الروبوتات الاحتمالية من قبل ثرون، بورغارد، و فوكس يحتوي على المواد للمبتدئين لمرشحات الجسيمات و سيغما نقطة مرشحات ويناقش استخدامها في الروبوت العثور على الموقع (مشكلة متعددة الوسائط حيث مرشحات الجسيمات أثبتت جدواها، حتى في التطبيقات المضمنة ). الافتراضات والمزايا والعيوب ما هو مطلوب لكل هذا للعمل مجرد بضعة أشياء بسيطة: يمكنك وصف تقريبا كيف تتغير الدول مع مرور الوقت. يمكنك تحديد احتمال حدوث خطأ افتراضي في القياس. مزايا تصفية الجسيمات واضحة جدا: يمكنك تقدير خشن الدولة مع العمل النظري القليل جدا والعديد من أنواع مختلفة من المشاكل. ويمكن أن ينتشر عدم اليقين (مجموعة من الجسيمات) حتى عبر مناطق متعددة من مساحة الدولة، مما يمثل توزيع احتمالات متعددة الوسائط. وعلاوة على ذلك، عملية تصفية الجسيمات بسهولة للتخصيص لمشاكل مختلفة (على سبيل المثال متى وكيفية إعادة رسم، وكيفية تقييم خطأ القياس، وكيفية وضع الجسيمات في المقام الأول). وهذا يجعل تصفية الجسيمات مرنة ومفيدة على نطاق واسع. الجسيمات لتوزيع متعدد الوسائط، تتجمع بوضوح حول ثلاثة مناطق عالية الاحتمال في الفضاء الدولة العيوب هي أيضا واضحة جدا: مرشحات الجسيمات تتطلب عموما عددا كبيرا من الجسيمات، والتي يمكن أن تأخذ وقت تشغيل كبير. ليس من غير المألوف حتى أبسط مرشح الجسيمات لاستخدام 1000 الجسيمات، الأمر الذي يتطلب 1000 المحاكاة في القياس. العدد الضروري من الجسيمات يصبح هائلا مع نمو أبعاد الدولة. (كانت مشكلتنا قد استفادت بشكل كبير من 1000 جزيء، ولكن كان من الصعب فهم المؤامرات مع هذا العدد الكبير من الجسيمات.) يمثل عدم اليقين كمجموعة من الجسيمات والأوزان مداش توزيع مداش الاحتمالي المنفصل يعني أن الأفضل تقدير الدولة هو عادة الخشنة جدا، وذلك مرشحات الجسيمات تعمل بشكل سيء للمشاكل التي تتطلب دقة عالية. عندما يتطلب أداء أفضل، يجب أن تكون مرشحات الجسيمات في كثير من الأحيان مصممة بشكل كبير لتناسب كل مشكلة تقدير الدولة الفردية، وهذا يمكن أن يستغرق وقتا طويلا، ليس أقلها لأن الاختبار يتطلب واحد لتشغيل الفلتر، والتي يمكن أن تأخذ نفسها وقتا طويلا. لنفس السبب، من الصعب العثور على مفيد الجسيمات العامة الغرض مرشح، على الرغم من أن مرشح بوتستراب على ما يرام لمشاكل بسيطة. مكافأة. مرشحات الجسيمات تشبه إلى حد كبير الخوارزميات الجينية، في أنه يمكن وضعها معا بسرعة وغالبا ما تعمل بشكل جيد بما فيه الكفاية، نظرا لفترة طويلة لتشغيل. في الواقع، مرشح الجسيمات هو في الأساس خوارزمية وراثية حيث كل جسيم هو فرد في السكان، واللياقة البدنية هي الدرجة التي الجسيمات يتنبأ الملاحظة، والشكل الأساسي للإنجاب هو الطفرة. فالمرشحات الجسيمية تكتسب شعبية في الآونة الأخيرة نسبيا، نظرا لأن قوة المعالجة والحوسبة الموزعة أصبحت رخيصة جدا وسهلة الاستخدام. وعلاوة على ذلك، هناك العديد من التقنيات الجديدة لمرشحات الجسيمات التي يمكن أن تقلل من وقت التشغيل وزيادة الدقة. ومع ذلك، بالنسبة للتطبيقات التي تحتاج إلى سرعة، ونحن عموما بحاجة إلى بنية تصفية مختلفة. مرشح سيغما نقطة عدم التيقن كمصفوفة التباين في مرشحات سيغما نقطة (وتسمى أيضا المرشحات غير المرشحة)، ونحن لا تمثل عدم اليقين مع مجموعة كبيرة من الجسيمات المتناثرة، ولكن بدلا من ذلك نفترض أن عدم اليقين لديه توزيع غاوس (عادي) و تتمحور حول أفضل التقديرات الحالية: باستخدام مصفوفة التباين المشترك، كما هو مبين على أنها حدود 3sigma، مقارنة مع الجسيمات يمكننا بالتالي تمثيل عدم اليقين مع مصفوفة التباين، كما قمنا بحساب الجسيمات أعلاه. كانت تصور التباين كقطع بيضاوي حول تقدير الدولة، حيث رسمت القطع الناقص على الحدود 3sigma (الدولة الحقيقية وبالتالي داخل هذا القطع الناقص حوالي 99.7 من الوقت). يتم رسم الجسيمات 1000 فقط من أجل المقارنة. إن المحاور الرئيسية لمصفوفة التباين هي المحاور الرئيسية للهيليب الإهليلجي، والجذور التربيعية للقيم الذاتية هي أطوال شبه المحاور للهيليب الإهليلجي 1sigma على طول المحاور الرئيسية المقابلة. من هذا، يمكننا بناء علامات الحذف ذات الصلة من أجل التصور. الانتشار عندما يأتي قياس جديد، تحتاج أيضا إلى نشر هذا الشك إلى الأمام وقت القياس. كيف نفعل أن مرشحات سيجما نقطة القيام بذلك عن طريق وضع أول بضع نقاط سيغما حول التقدير الحالي. نقاط سيغما هي نفس الجسيمات، ولكن نحن على وجه الخصوص حول المكان الذي نضع لهم، ونحن لسنا بحاجة لتتبع الأوزان الفردية. سوف نقاط سيغما الجلوس على المحاور الرئيسية للالالهليلجي عدم اليقين حول التقدير الحالي (عادة، والقطع الناقص أصغر بكثير من واحد رسمها). لاحظ أن كانت تبحث فقط في بعدين من المشكلة هناك نقاط سيغما في اثنين من أبعاد السرعة أيضا، وكذلك في أبعاد الضوضاء، والتي تحصل بشكل جيد إلى أكثر أدناه. ثم يتم نشر التقدير من العينة الأخيرة، (قبعة)، وكل نقطة سيغما، (قبعة) إلى الأمام إلى وقت القياس الجديد. نقاط قياس سيغما الجديدة ونشرها (تشير علامة الزائد إلى أن التقدير قد تم تصحيحه مع القياسات المتاحة عند تغطية هذا الغطاء بشكل جيد أدناه). كما هو الحال بالنسبة لمرشحات الجسيمات، فإن نقاط سيغما تميل إلى الانتشار (ينمو عدم اليقين عادة) أثناء الانتشار . وكما هو الحال بالنسبة لمرشحات الجسيمات، يمكننا حساب تقدير جديد للدولة كمتوسط ​​مرجح لنقاط سيغما. وعلى غرار ما سبق، فإن دالة الانتشار هي: ولكن هناك شيء جديد هنا: ويف أدد (q)، الذي يمثل ضوضاء مداخ الضوضاء العملية التي تؤثر على الانتشار، مثل تسارع عشوائي ربما بسبب التغيرات في الريح. ما هي القيمة التي نستخدمها لذلك تماما كما لدينا نقاط سيغما تنتشر في الفضاء في الدولة، لذلك أيضا لدينا نقاط سيغما تنتشر حولها في الفضاء الضوضاء العملية. لذلك، إذا كان هناك 3 أشياء منفصلة التي تؤثر عشوائيا على الانتشار، ثم (ف) هو ناقلات الأبعاد 3. وفي مرشحات النقطة سيغما، يفترض أن ضوضاء العملية هي غوسية، ولذلك يتم تحديد عدم التيقن كمصفوفة التباين (Q). حتى عندما لا يكون غوسيان، وهذا عادة ما يكون تقريب جيد لأي توزيع أحادي. لذلك، فإن نقاط سيغما في عملية الضوضاء الفضاء هي تماما مثل نقاط سيغما في الدولة الفضاء، ومجمعة هي مجرد مجموعة كبيرة من النقاط سيغما. وبمجرد حساب نقاط سيغما ونشر كل منها، نحسب متوسط ​​الحالة المتوقعة كمتوسط ​​مرجح: حيث (قبعة -) هي نقطة سيغما لدكوميدليردكو. جميع نقاط سيغما تستخدم نفس الوزن، (W)، باستثناء النقطة الوسطى، والتي عادة ما تستخدم أكبر (W0) لأننا نثق به أكثر. لدينا الآن أفضل التنبؤ للدولة في العينة (ك)، ونحن وضع علامة عليه مع علامة ناقص للدلالة على كوركتيونردكو لدكوبيفور مع قياس جديد، أو مسبقا. ثم يمكننا حساب التباين في العينة حول هذا التقدير الجديد، مما يعطي التباين في الحالة المتوقعة (مرة أخرى، نقطة الوسط لديها وزن أكبر، (مرحاض)، من الآخرين، ولكن الفكرة هي نفسها). لدينا الآن فكرة عما هي الدولة عندما يأتي القياس، وكذلك عدم اليقين المرتبطة التنبؤ لدينا. تصحيح التقدير الآن بطبيعة الحال، نحن بحاجة إلى استخدام معلومات القياس إلى حد ما تصحيح تقدير الدولة والتباين. تماما كما لدينا حالة متوقعة لكل نقطة سيغما، (القبعة)، والحالة المتنبأ بها عموما، (قبعة - k)، نقوم بإجراء قياس متوقع بشكل عام، (قبعة k) من خلال التنبؤ لكل نقطة سيغما: حيث r (r) هو قياس الضوضاء مع التباين (R)، وهو مماثل لضوضاء العملية) ومن ثم حساب المتوسط ​​المرجح: استخدام هذا القياس المتوقع بشكل جيد لتصحيح الحالة المتوقعة مثل ذلك: يك زك - هات k هات k هات - k K يك حيث علامة زائد يدل على لدكوفارت قياس كوريكتيونردكو أو بوستيريوري. لأسباب تاريخية، ويسمى (يك) ناقلات الابتكار. خطأ التنبؤ القياس، أو المتبقية. في متجه يشير من قياسنا المتوقع إلى القياس الفعلي، و (K) يحدد كيف يمكن للمتجه في الفضاء قياس الخرائط إلى تصحيح في الفضاء الدولة. بالنسبة لأولئك الذين لا يعرفون من إيسوبس الصبي الذي بكى، لدكوولفردكو: كان الصبي يراقب الأغنام عالية فوق الهاوية تطل على قريته. أصبح بالملل وصرخ وصولا الى القرية، لدكوولف ولفردكو جاء القرويون تشغيل الطريق الشاق مع بيتشفوركس في متناول اليد فقط لاكتشاف الصبي يضحك ولا الذئب في الأفق. وبعد أسبوع، حاول الصبي نفس الخدعة، ولا يزال بعض القرويين يأتون. بعد أسبوع، رأى الصبي حزمة حقيقية جدا من الذئاب تقترب. لدكوولف ولفردكو بكى، ولكن القرويين تجاهله. لدكووولفردكو مرة أخرى، ولكن عبثا. وعندما فشل الصبي في جلب منزل الأغنام في تلك الليلة، سارع القرويون إلى البحث. وحزنوا للعثور على قطيعهم قد أكل، وفقد الصبي. والأخلاق من القصة هو أن الناس بتحديث الاحتمالات الداخلية بكميات صغيرة فقط عندما يكون هناك معلومات جديدة من مصدر صاخبة. دعونا نفكر في بعض الخصائص المرغوبة ل (K). إذا كانت معرفتنا للدولة جيدة حقا بالفعل، وكانت القياسات صاخبة جدا أنها ويرنت أن من المفيد، ثم (K) ينبغي أن تكون مدش صغيرة ونحن ربما لا تريد الكثير من التصحيح للتنبؤ. على سبيل المثال، إذا كان شخص ما يبكي، لدكوولفردكو، ولكن هذا الرجل هو دائما يبكي الذئب، ونوبوديس رأى الذئب حول هنا للأعمار، ثم تجاهله، أو على الأقل في الغالب تجاهله. من ناحية أخرى، إذا كانت معرفتنا للدولة سيئة جدا، وكان من المعروف أن القياسات تكون جيدة جدا (غالبا ما ينظر إلى الذئاب في جميع أنحاء هنا، والرجل الذي بكى الذئب عادة ما يكون الحق في هذه الأنواع من الأشياء)، ثم ثم تريد أن تثق القياسات أكثر بكثير. في هذه الحالة، يريد ويد (K) أن تكون كبيرة (ونحن قد لا يكون قد توقع أن ثيريس الذئب، ولكن هناك من المؤكد يبدو أن يكون واحدا الآن). تحويل هذا إلى الرياضيات، ونحن نمثل العلاقة بين عدم اليقين في الدولة (هناك ذئب) وخطأ القياس (شخص يبكي الذئب خطأ) مع مصفوفة التباين، (P). نحن نمثل عدم اليقين من خطأ القياس (شخص يبكي الذئب خطأ) مع مصفوفة التباين أخرى، (P). إذا كانت على يقين من أن هناك أو ليس ذئب، (P) سوف تكون صغيرة جدا. إذا لم يكن هناك برانكسترس حولها، (P) سوف تكون صغيرة جدا، ولكن لا أصغر من عدم اليقين الأساسي لدينا في ما إذا كان ذئب الذئب حول أم لا. إذا كان هناك مخادع حول، ثم (P) ستكون كبيرة مداش الكثير من الخطأ. ونحن نحسب هذه التباينات عينة مرجحة، على غرار ما فعلنا لفلتر الجسيمات. التحول إلى الكرة كذاب، وقياس لدينا هو موقف الكرات، حتى نتمكن من رسم كل من (P) و (P) لخطأ الموقف في نفس المؤامرة: التباين بين الدولة والابتكار التغاير والابتكار باستخدام هذه المصفوفات التغاير، ويحاول محاولة نسبة بسيطة: عدم اليقين في التنبؤ لدينا ((قبعة - k) و (قبعة ك)) لدكوفيردكو عدم اليقين في لدينا خطأ القياس المتوقع ((يك زك - قبعة ك))، بمعنى المصفوفة: اتضح أن هذا لدكوراتيوردكو هو خيار جيد حقا. أما بالنسبة إلى الأنظمة الخطية، فسوف ينتج التقدير مع الخطأ المربوط الأدنى بشكل عام. تسمى مكاسب كالمان. لاحظ كيف، في حالتنا، الإهليلجية ل (P) و (P) هي قريبة جدا معا. وهذا يعني أن لدينا الكثير من عدم اليقين حول حيث الكرة سوف تذهب، ولدينا المزيد من عدم اليقين قليلا حول ما قياس جيدا. منذ كسب كالمان هو مثل نسبة، و لدكونوميراتردكو لدينا و لدكودينوميناتوردكو شروط قريبة جدا معا، سوف مكاسبنا تكون قريبة من مصفوفة الهوية للموقف جزء من الدولة. وهناك عامل المقابلة تحديث الجزء سرعة الدولة. مكسب كالمان الفعلي لهذا المثال هو: حيث المصطلحين الموقف هما الجزء العلوي من الدولة، والسرعة اثنين من الشروط هي في الأسفل. وهذا يقول أن التحديث سيكون أكثر من الفرق (0.8) من الموقف المتوقع إلى موقف قياسها، وبالمقابل، سيتم زيادة السرعة في نفس الاتجاه (1.2). لدينا الآن تقدير الحالة النهائي للقياس الحالي: تصحيح التباين لم يتم حتى الآن. ويؤثر التصحيح أيضا على عدم اليقين في تقديراتنا الجديدة، وقد قمنا بتحديث نقاط سيغما، لذا فقد مثلنا كيف أن التصحيح يقلل من عدم اليقين. يمكننا حساب ذلك عن طريق تصحيح نقاط سيغما أيضا، بنفس الطريقة التي صححنا بها الدولة. ثم، يمكننا حساب مصفوفة التغايرية الجديدة كتباين العينة من النقاط سيغما تصحيح، (بيكاي). ومع ذلك، ثيريس لا حاجة لتصحيح حرفيا كل نقطة سيغما، لأن تعريف لكالمان كسب النتائج بطريقة أسرع: بيكاي بيكاي - K أرك كت حيث (أرك) هو التغاير في خطأ القياس، مثل قد يكون لدينا من ورقة مواصفات لدينا أجهزة الاستشعار الموقف. نحن لا نعمل على إثبات هنا، ولكن يمكننا تفسير النتيجة بشكل جيد جدا: الكسب كالمان يحدد كم من الضوضاء القياس يمكننا طرح من مصفوفة التباين المشترك. أذكر أنه إذا كانت الضوضاء قياس كبيرة، ثم (K) سيكون صغيرا (الضوضاء القياس في لدكودينوميناتوردكو)، وبالتالي القليل جدا من الضوضاء القياس سيتم طرح قبالة. وإذا كانت ضوضاء القياس صغيرة، يكون (K) أكبر، ويطرح زوجا جزءا أكبر من ضوضاء القياس (الأصغر). والنتيجة هي أن المبلغ المناسب من (R) تتم إزالة مع مرور الوقت. وهذا يعني مكاسب كالمان الكبيرة طرح أكثر، وترك مصفوفة التباين الصغيرة، مما يعكس المزيد من اليقين في التقدير. إليك النتائج. لاحظ كيف حدود 3sigma أصغر من تقديرنا البداية. أن يكمل دورة واحدة من مرشح سيغما نقطة عندما يأتي قياس جديد في، يمكننا أن نفعل ذلك من جديد. المضي قدما 10 ثانية، وهنا هي النتائج: نتائج من 10s من المحاكاة ننظر في كيفية عدم اليقين في عنصر أعلى لأسفل يحصل صغيرة حقا في الجزء العلوي من ترتد، لأننا نعلم أن الكرة سوف تبطئ هناك، في حين أن عدم اليقين في والعنصر الأيسر والأيمن هو ثابت بشكل جيد جدا بحلول النهاية، لأن سرعة اليمين لا يتغير. لرؤية مرشح سيغما نقطة المستخدمة في هذا المثال، انقر هنا أو تحميل ملفات العينة هنا. وبحلول النهاية، فإن التقديرات تتماشى تماما مع الحقيقة، على الرغم من القياسات الرهيبة حقا. في الواقع، والقياسات لهذا المثال سمح فعلا أن تكون أسوأ من تلك المستخدمة لمرشح الجسيمات، ومع ذلك من الواضح أن دقة أفضل بكثير. ويرجع ذلك إلى حقيقة أن الجسيمات خلق التمثيل الخشنة للتوزيع، في حين مرشحات سيغما نقطة لطيفة وسلسة. الخطوط العريضة لتصفية نقاط سيغما يوفر كلمان تصفية والشبكات العصبية معلومات كبيرة عن مرشح كالمان غير معطر (سيغما نقطة تصفية) وكثيرا ما استشهد في الأدب. على الرغم من أن القسم ذات الصلة قصيرة، فإنه يتضمن العديد من الأشكال العملية، مع مناقشة يمكن الوصول إليها و بسيودوكود جيدة جدا. إعداد النقاط سيغما الأولي من تقدير الدولة الأخيرة ومصفوفة التباين. حسنا تحتاج نقطة سيغما الإيجابية والسلبية لكل بعد من أبعاد الدولة، لكل بعد من ضجيج العملية، ولكل بعد من قياس الضوضاء، بالإضافة إلى 1 أكثر لنقطة سيغما الأوسط. نشر كل من نقاط سيغما إلى وقت القياس الجديد. إنشاء قياس متوقع لكل نقطة سيغما، بما في ذلك الضوضاء الاستشعار. استخدام مجموع مرجح لنقاط سيغما كمتوسط ​​الحالة المتوقعة ومتوسط ​​القياس المتوقع. احسب التباين في العينة بين نقاط سيغما التي تم نشرها عن متوسط ​​الحالة والقياسات المتوقعة بشأن القياس المتوسط ​​المتوقع (P). احسب التباين في عينة أخطاء القياس عن متوسط ​​القياس (P). حساب كسب كالمان، (K). قم بتصحيح مصفوفة التقدير والتفاعل بين الدولة. الافتراضات والمزايا والعيوب عندما تكون مصادر عدم التيقن المختلفة (عدم اليقين السابق، ضوضاء العمليات، وضوضاء القياس) غير مترابطة وغير مترابطة، فإن مرشحات سيغما نقطة هي خيار قوي. بعض المزايا: ضمن افتراضاتهم، فهي عموما أكثر دقة من مرشحات الجسيمات، لأنها لا تعتمد على الجسيمات العشوائية. فهي أبعد بكثير من مرشحات الجسيمات. حيث قد يحتاج مرشح الجسيمات إلى 1000 نقطة، قد يحتاج مرشح نقطة سيغما إلى 9 أو نحو ذلك. وتنطبق افتراضاتهم على العديد من المشاكل الواقعية المختلفة، ولا يتطلب وضع مرشاح سيغما نقطة سوى تحديد دالة الانتشار ووظيفة القياس والتباين في ضوضاء العملية والتباين في ضوضاء القياسات وكلها ضرورية لمرشحات الجسيمات أيضا. هناك أشكال قياسية للمرشحات نقطة سيغما، لذلك من السهل نسبيا للعثور على إشارة جيدة في كتاب أو مجلة. يمكننا إدراج بعض العيوب على الرغم من. المشاكل الغريبة يمكن أن يؤدي إلى سيغما نقطة تصفية لدكوفالينغ أبارثردكو. على سبيل المثال، في مشكلة الكرة لدينا، إذا كانت الخطوة الزمنية أكبر، فإن نقاط سيغما تصبح لدكوكونفوسدردكو جدا عبر واحد أو اثنين مستبعد، ويمكن أن يؤدي إلى مصفوفات عينة التغاير التي لا معنى لها. قد يكون من الصعب تجنب ذلك، في حين أن مرشحات الجسيمات لن يكون لها هذه المشكلة. في حين أنها أسرع بكثير من مرشحات الجسيمات، فهي أيضا أبطأ بكثير من مرشحات كالمان الموسعة، والتي تحصل بشكل جيد في لحظة. إنتيرلود: التوقعات والتسامح سوف تكون غير رسمية جدا مع نظرية الاحتمالات في جميع أنحاء هذه المادة من أجل التركيز على الأفكار رفيعة المستوى. هنا يذهب جيدا على مجرد اثنين من الأفكار التي هي مفيدة على حد سواء في الممارسة وفهم المرشحات في المقام الأول. قبل أن ننتقل إلى المرشح التالي، دعونا نتوقف لحظة لمراجعة بعض نظرية الاحتمالات التي من شأنها أن تساعد. الأول هو مشغل التوقعات. إذا كان (أ) هو رقم عشوائي، قيمته المتوقعة، (E (a))، هو متوسطه، الذي يمكن أن نسميه (بار) للإيجاز. لذلك، إذا (أ) يمثل لفات يموت 6 من جانب، ثم القيمة المتوقعة هي 3.5، على الرغم من أننا لا يمكن في الواقع لفة 3.5. والفكرة الهامة الثانية هي التباين. نظرنا إلى التباين العينة أعلاه، حيث استخدمنا مجموعة من النقاط لحساب التباين، ولكن الآن الحديث جيدا عن فكرة التباين. التباين في (أ)، ويقول يقول (P)، هو: عندما (أ) هو العددية، ثيريس لا لدكووكو-رديقو هناك تسمى فقط التباين: إذا كنا نسمي (أ - شريط) الخطأ أو المتبقية. ثم يقول لنا أعلاه أن التباين هو ببساطة متوسط ​​الخطأ التربيعي (أ) عن متوسطه. Further, the standard deviation is the square root of the variance: and so the standard deviation is also the square root of the mean squared error, sometimes called root-mean-square (RMS) error. If (b) represents rolls from a totally different die, and were rolling (a) and (b) together, then whats the covariance between (a) and (b), (P E( (a - bar) (b - bar )T )) Sometimes (a - 3.5) would be positive and sometimes negative, and likewise for (b - 3.5). Their product would be sometimes positive and sometimes negative, and averaging a bunch of these would come to 0, because the rolls are uncorrelated. That is, if (a) and (b) are uncorrelated, their covariance is 0. Nothing much is different when we upgrade from a random number to a random vector. Lets consider a two-element vector (c begin a b end T), where (a) and (b) are the same dice rolls as above. When the elements of (c) are correlated, some of those off-diagonal terms will be non-zero. For instance, lets reassign (b) so that (b 2 a 1). bar equiv E(b) E( 2 a 1 ) We can move the factor of 2 and the added 1 outside of the expectation: bar 2 E(a) 1 2 bar 1 Now for the variance part: b - bar 2 a 1 - 2 bar - 1 2 (a - bar) The variance of (b) is now: and the covariance between (a) and (b) is: Of course, (P P ), and so we would have: If we revisit the sample covariance calculation for a moment: Note that, when the mean is assumed known, we generally use (n) in the denominator when calculating the sample covariance, but when we average the samples to approximate the mean in order to subtract it to obtain the residuals, then we use (n-1) in the denominator, due to the fact that the average is probably a little biased. where (bar ) is the mean of (c), its clear that were simply averaging the residuals of the data points to approximate the true covariance. When (c) has a Gaussian (normal) distribution, we express this using the mean and covariance as: (c sim N(bar , P )). Note that, by definition, the diagonals must be greater than or equal to zero. Its not possible for the expected value of a squared random number to be negative (at least, for real random numbers, which is all we care about). If we were ever to see a negative value on a diagonal in a covariance matrix, we would know that something bad had happened in constructing that matrix. This becomes a real issue in filters, which well talk about in the implementation section. We now have plenty of probability theory to continue to the next filter. The Extended Kalman Filter At some point in the 60s, the United States sent some humans to the moon and returned them safely to the earth. The author didnt have the pleasure of being alive to witness it, but according to the literature on the subject, this was super hard . One of the difficult parts was knowing how to correct the trajectory on the way to the moon, and the program sought a self-contained way to determine the spacecrafts position relative to its nominal trajectory so that the crew could carry out course corrections. This meant combining prior beliefs about position and velocity with imperfect measurements to update the estimated position and velocity (as well as the uncertainty related to position and velocity) in real time, with the help of a digital computer. At the outset, however, no known techniques were fast or compact enough for a computer that could fit in the spacecraft. In order to create an accurate, fast, stable, and computer-friendly algorithm, the engineers and mathematicians in and around the Apollo program created the extended Kalman filter, which survives to this day as the go-to state estimator for a huge variety of problems. Extended Kalman filters (EKFs) can be extremely fast, but that speed comes with a price: two more assumptions on top of those made by the sigma-point filter, plus a little pencil-and-paper work. The first is that the propagation and measurement functions are always differentiable (they have a smooth slope at all times). Note that this isnt true for our bouncing ball example mdash whats the slope of the trajectory during the bounce It points down and then suddenly up again. So, an EKF wont work on the bouncing ball problem (We could use it between the bounces though.) The second assumption is that the uncertainty stays centered on the state estimate during propagation. Remember in the sigma-point filter, we propagated each point separately, and then calculated a sample covariance at the end. That sample covariance was not necessarily still centered on the middle sigma point EKFs, however, assume that it would be. This means that EKFs dont capture the nonlinearities of the propagation and measurement functions quite as well as sigma-point filters. Its part of the cost we pay for speed. The uncertainty is assumed to stay centered on the estimate during propagation. These assumptions are often acceptable even when not rigidly true, and this is one of the central themes in Kalman filtering: the assumptions are never rigidly true, but are often close enough to be useful. Instead of trying to stay with the bouncing ball example, lets pick a more interesting example for the discussion of extended Kalman filters. It may be that, some day soon, when we order a small, light thing online, a little aircraft will spin up at a nearby distribution warehouse minutes later and fly it to our house, dropping it on a tiny parachute aimed approximately at our doorstep. Now when we wake up to find were out of coffee filters, we can have them before we finish the morning jog. (The inclusion of the parachute is just to make sure nobody takes this example too seriously, and, really, why wouldnt we take the occassion to go to the neighborhood espresso shop) So, our task will be to create a filter to watch the package go from the aircrafts location to the target drop location. For measurements, well again use position so that the plots will be easy to read. Sample trajectory of dropped package. Before we begin, lets review some of the relevant symbols weve seen so far: Propagation and Prediction Corrected estimate and covariance for this sample Lets also take a quick look at the equations for one iteration of the extended Kalman filter, just to see what were getting into (theres no need to understand them just yet): This is often presented as either a recipe or as part of a rigid proof, and neither is very helpful for building intuition. Lets take it apart and see what we can do with it. Like all of the filters were discussing, it starts with propagation. Propagation Extended Kalman filters, like sigma-point filters, represent uncertainty with a covariance matrix, but EKFs dont rely on sigma points in order to propagate that uncertainty. In fact, the propagation function is only used once: to propagate the last estimate to the time of the current measurement. (The little plus sign in (hat ) means that it was the corrected estimate at (k-1), continuing the theme that (-) is used for predicted values and () for corrected values. So, the previous corrected state estimate is used to predict the current state.) Also, we assume that the truth, (x ), updates using the same function, plus some random process noise, (q sim N(0, Q)) (ldquoa random draw from a normal distribution with zero mean and covariance (Q)rdquo), that represents random fluctations in the air that push the falling package around: Without sigma points, how do we propagate the covariance, (P ), to sample (k) Since (f) is differentiable, we can calculate its Jacobian mdash its ldquosloperdquo, in a matrix sense mdash and use that to propagate the covariance matrix directly. دعونا نرى كيف. Just like the slope of a one-dimensional function of (x) is the derivative of the function evaluated at some value of (x), the Jacobian matrix of the propagation function is the partial derivative of each element of the propagation function with respect to (wrt) each element of the state, evaluated at some value for the state. If (F) is the Jacobian matrix, and we wish to evaluate it at (x0), then for each element (i, j) of (F): We usually write this more compactly for the whole matrix as simply: Recalling that (Q) is the process noise covariance matrix, the covariance can be propagated linearly from (k-1) to (k) as: where weve dropped the arguments to (F) for simplicity. Its not immediately clear why this ldquopropagatesrdquo the covariance, but its actually pretty intuitive, once we recall what the Jacobian means and the definition of covariance. Lets start with the Jacobian. If we know (f(x0)), then we can approximate (f(x0 Delta x)) for small (Delta x) using a Taylor series expansion: f(x0 Delta x) approx f(x0) left. frac f rightrvert Delta x ldots where the ellipsis stands for higher order terms, which can be ignored for small (Delta x). Of course, (left. frac f rightrvert ) is the Jacobian of (f), evaluated at (x0). Lets suppose that the true state is some small, hypothetical perturbation from our estimated state at (k-1): And, if we ignore process noise for just a moment, then the true state at (k) is: Lets move (f(hat )) to the left side: begin xk - f(hat ) approx F Delta x xk - hat - k approx F Delta x Delta xk approx F Delta x end Thats pretty plain. The Jacobian maps a perturbation at (k-1) to a perturbation at (k), to a first-order approximation. In fact, thats the meaning of the Jacobian. And since (Delta xk) is now approximated linearly, this process is called linearization . Heres where the definition of covariance comes in: theyre all about perturbations from a mean. Our perturbation above was just hypothetical, so if we think of it as a (zero-mean, Gaussian) random error in our state estimate, then the covariance of that error is just: P Eleft( Delta x Delta x T right) P-k Eleft( Delta xk Delta xkT right) Lets substitute the fact that we now know that (Delta xk F Delta x ): P-k Eleft( F Delta x Delta x T FT right) We can move (F) outside of the expectation: P-k F Eleft( Delta x Delta x T right) FT and now we recognize (P ) sitting in the middle there: That is, the Jacobian just maps the (Delta x ) part on the left and the (Delta x T) part on the right to the future values. سهل. For the last little touch, recall that we ignored the process noise. When the true state updates, the random process noise for that sample is added on: This is easy to account for, because we assumed that the process noise was uncorrelated with the state. The covariance of the sum of two uncorrelated random vectors is just the sum of the individual covariance matrices. So, we add (Q) on to the end, and now we have the form we were looking for: where the first part is the propagation due just to the dynamics around the mean (which may expand or contract), and the second part is due to the process noise (which always expands the covariance). Putting it a different way: if a particle were located (Delta x) away from the estimate, then it would propagate, to a first order approximation, as the estimate does, plus that little extra bit, (F Delta x), and plus the process noise. The particles on all sides of the estimate would generally move outward, representing the growing uncertainty as time passes. We do all of this by simply calculating (F) and then using the equation above. Very compact. Here are the results of our propagation of the state and covariance matrix: Propagation, Redux This article isnt about proofs its about intuition. If the propagation of the covariance matrix seems intuitive enough, then you might skip down to the next section and continue. However, if youd like to run through the covariance propagation again, and build some intuition for the expectation stuff from above, then keep reading. Instead of ignoring the process noise and tacking it on right at the end, lets consider it from the beginning. The propagation of the true state is actually this: Substituting in the perturbation we defined above: begin xk approx f(hat ) F Delta x q approx hat - k F Delta x q end Moving the predicted state to the left: begin xk - hat - k approx F Delta x q Delta xk approx F Delta x q end Using this to construct the covariance matrix, like before, we get: begin P-k E left( Delta xk Delta xkT right) approx E left( (F Delta x q ) (F Delta x q )T right) approx E left( F Delta x Delta x T FT F Delta x q T q Delta x T FT q q T right) end The expectation of the sum of different things is the sum of the expectation of each of those things: begin P-k approx E( F Delta x Delta x T FT ) E( F Delta x q T ) E( q Delta x T FT ) E( q q T ) end Recall that one of the assumptions of an extended Kalman filter is that the process noise at sample (k-1) is uncorrelated with the state at (k-1) (the state error doesnt affect the noise that gets generated). Thats helpful, because the expected value of the product of two uncorrelated variables (their covariance) is 0 (remember the dice rolls above). So, the middle two terms in the above equation drop out. That leaves only: P-k approx E(F Delta x Delta x T FT) E(q q T) (F) moves outside of the expectation operator: P-k approx F E( Delta x Delta x T ) FT E(q q T) And we already have both of these quantities The first is the covariance before the propagation, (P ), and the second is the covariance of the process noise, (Q). Were back at the above form for the prediction of the covariance: P-k approx F P FT Q While weve used the expectation operator here to make the meaning of this equation really clear, in practice, one most often uses the expectation operator when constructing the process noise covariance matrix, so its a good thing to be comfortable with. Correcting the Estimate Now its time to think about using the new measurement for correction. In fact, we can do this with pieces weve seen so far. First, the Kalman gain and correction will be exactly the same as for the sigma-point filter. K P P hat k hat - k K left( zk - hat k right) We just need to calculate the state-innovation covariance, (P ), and the innovation covariance, (P ). Lets start with the latter. We saw in the beginning of this section, (eqref ), that the innovation covariance is given by: P H P-k HT R Notice how it has the same form as (F P FT Q) Thats because wed derive it in exactly the same way, using the Jacobian of the observation function, (H), and the measurement noise covariance matrix, (R). The following is exactly the same as the derivation in the propgation section, with some of the letters swapped: begin zk h(xk) rk zk h(hat - k Delta xk) rk zk approx h(hat - k) H Delta xk rk zk approx hat k H Delta xk rk zk - hat k approx H Delta xk rk Delta zk approx H Delta xk rk end Notice that (Delta zk) is the innovation vector, (y), but using the (Delta) is a little clearer here. Its covariance tells us how much variability we expect in the difference between what we measure and what we predict as the measurement, so it represents both the error associated with our prediction and the error of the measurement itself. We form the innovation covariance in exactly the same way we formed the propagated covariance (again just swapping some letters and noting that the measurement noise and estimate errors are uncorrelated): begin P E left( Delta zk Delta zkT right) E left( H Delta xk Delta xkT HT right) E left( rk rkT right) H E left( Delta xk Delta xkT right) HT R H P-k HT R end So, just like (F) propagated a perturbation of the state from one time to another, (H) maps a perturbation of the state to a perturbation in the measurement. Then (R) joins in as extra measurement noise. Forming the state-innovation covariance is even easier we just plug things in and continue with the same themes: begin P E left( Delta xk Delta zkT right) E left( Delta xk left( Delta xkT HT rTright) right) E left( Delta xk Delta xkT right) HT E left( Delta xk rT right) E left( Delta xk Delta xkT right) HT 0 P-k HT end So, (P ) just represents a perturbation in the estimate ldquoon the leftrdquo with a perturbation in the predicted measurements ldquoon the rightrdquo. Since the measurement noise and predicted measurement are uncorrelated (its the term thats cancelled in the fourth line, above), the measurement noise covariance, (R), doesnt show up in (P ) at all. Recall how we constructed (P ) for the sigma point filter: we calculated the sample covariance of the sigma points, using the difference in each sigma point from the mean in state space on the left, and the difference in the predicted measurement from the mean on the right. Thats exactly what were doing here, but in matrix fashion, to a first-order approximation. All of this first-order approximation stuff should make it clear why an extended Kalman filter is a linear filter, even when its applied to a nonlinear problem. State-innovation covariance and innovation covariance. With the state-innovation covariance matrix and innovation covariance matrix in place, we can calculate the Kalman gain and update the state estimate, as before. Correcting the Covariance Theres only one thing left: how do we update the covariance matrix to account for this correction We stated at the very beginning that the correction is: Pk P-k - K H P-k But why Thats not even symmetric What is going on here Lets think back to sigma-point filters again. There, we said we could update each sigma point individually each would therefore converge towards the measurement to some degree, and that convergence towards a single point represented the shrinking of the covariance matrix. Well, a sigma point is like a little (Delta x) from the mean, so lets make the updated covariance matrix with some corrected little perturbations. Weve already used (Delta xk) as the perturbation of the truth from the predicted state, (hat - k), so lets use (Delta xk) as the perturbation of the truth from the corrected estimate, (hat k): xk hat k Delta xk And well restate what the corrected estimate is: hat k hat - k K (zk - hat k) hat - k K Delta zk Lets plug them in. begin Delta xk xk - hat k Delta xk xk - left( hat - k K Delta zk right) Delta xk xk - hat - k - K Delta zk Delta xk Delta xk - K Delta zk end No surprise here: the corrected perturbation is slightly smaller than the original perturbation by the amount of the correction. So whats the covariance of this thing As is now the usual procedure, well just start from the definition of the covariance, plus things in, move the expectation operators around a bit, and cancel anything we can. begin Pk E left( Delta xk T right) E left( left( Delta xk - K Delta zk right) left( Delta xk - K Delta zk right)T right) end Skipping the multiplication and moving the expectation operator around, which weve done many times now: begin Pk E left( Delta xk Delta xkT right) - E left( Delta xk Delta zkT right) KT - K E left( Delta zk Delta xkT right) K E left( Delta zk Delta zkT right) KT end Recalling that (P E left( Delta x Delta zkT right) ) and (P E left( Delta zk Delta zkTright) ), we can substitute: Pk P-k - P KT - K P T K P KT Thats a little better. Its symmetric, like wed expect (no pun intended) for a covariance operation. Also, we havent made any assumptions on (K). This is actually general for any (K). But we care about the Kalman gain, so lets substitute in the Kalman gain in just one location near the end: Pk P-k - K P T - P KT left( P P right) P KT Since (P P ) is an identity matrix, we can drop it: Pk P-k - K P T - P KT P KT The two right terms cancel out: And now we just substitute (P P HT): begin Pk P-k - K left( P-k HT right)T P-k - K H P-k end And there it is Theres no magic here its just the same old process: express things in terms of perturbations, set up the covariance definition, move things around, and cancel stuff. And now that we know the (K) is constructed so that this actually is symmetric and makes sense, we can see the simple meaning of this equation: the Kalman gain tells us how much of our current covariance we can subtract off thanks to the most recent measurement. Large Kalman gains correspond to low measurement noise (measurement noise is part of (P ), which is the ldquodenominatorrdquo), and so when measurement noise is low, we can subtract off a lot of our current uncertainty. When measurement noise is high, the gain will be small, so we wont subtract off very much. Correction, Redux That was a lot of material, but each step was actually pretty small: just some matrix multiplication, a few assumptions, and the expectation operator. Thats really all it takes to work with these (it takes a little more to do proofs about why the Kalman gain is particularly good). Lets wrap up this discussion of the extended Kalman filters correction process with another animation, using some example values. Well put the state stuff in the left plot and the measurement stuff in the right plot. We start with the state estimate (0, 0) and the covariance, shown with a bunch of particles. We map the state estimate to the predicted measurement. We map the covariance in the state (all those particles) to observation space too. (This is like (H P-k HT).) We then add on the measurement noise, (R). This gives us (P H P-k HT R). We see this as an increase in the distribution of the particles in observation space. The actual measurement comes in. (We show how well each particle predicted the measurement.) (We color the corresponding particles in state space too.) The Kalman gain is calculated, and we plot the corrected state. Not surprisingly, it sits pretty well within the most likely particles. The covariance is corrected, seen here as a correction in each particle. They clearly move closer together around the corrected estimate. (We use those corrected particles to predict the observation again, just for fun. Look how they move right over towards the measurement, but not quite all the way to it.) Corrected state and covarianceThat completes the extended Kalman filter Every step of the process is actually fairly intuitive, once we have a good grasp of: first-order approximations of nonlinear functions, the definition of covariance, and the meaning of ldquouncorrelatedrdquo random variables. Finally, heres the corrected estimate and covariance for our falling coffee filters: By repeating the overall process every time we get a new measurement, we can often converge on good estimates very quickly, with just one call to (f) and (h) per measurement and a little matrix math. Here are the results for our coffee filter delivery: Extended Kalman filters are easy to code in a language like MATLAB or Julia. The EKF used in this example is available here. or download the sample files here . Outline of an Extended Kalman Filter Calculate the Jacobian of the propagation function and the process noise covariance matrix. Propagate the state. Propagate the estimate covariance. Predict the measurement. Calculate the Jacobian of the observation function and the measurement noise covariance matrix. Calculate the Kalman gain. Correct the estimate and its covariance matrix. Steps 4 through 7 correspond to the animation above. Assumptions, Advantages, and Disadvantages The extended Kalman filter makes more assumptions about the problem than the sigma-point filter, and so is slightly less general. Those assumptions are: The functions are smooth. The covariance remains centered on the propagated state. The linear approximations are sufficiently accurate for the changes to the covariance matrix over time. The process noise, measurement noise, and estimate errors are Gaussian and uncorrelated. Estimation with Applications to Tracking and Navigation by Bar-Shalom, Li, and Kirubarajan is probably the single best book on extended Kalman filtering, whether one is interested in tracking or not, and it includes advanced implementation options for speed and stability. However, its a theory-heavy book and can go very slowly until one understands some of the subtlety of probability theory. Where their assumptions approximately apply, extended Kalman filters are a great option. Indeed, they are the workhorse of state estimation in many industries and in many forms. The advantages are: They apply well to many smooth problems. Theyre fast. Theyre very well studied and have many great options for detailed implementations. The primary disadvantages of EKFs are: Creating analytical Jacobians is not always feasible. In these cases, a sigma-point filter should probably be used instead. The Jacobians are constructed from estimates . If the estimates are too far from the truth, the Jacobians will be wrong, and the corrections therefore might not ever converge on the truth (they may even be worse than the observations themselves). This is called divergence. Well see some strategies for dealing divergence in part 2. Before we go into these options and implementation details, we have one more filter architecture to cover: the Kalman filter. The Kalman Filter We finally arrive at Kalmans original algorithm for state estimation of linear systems. For linear systems, the propagation and observation functions are expected to look something like this: xk F x Fu u q zk H xk Hu uk rk where (F), (Fu), (H), and (Hu) are the system matrices and (u) is some input vector. which can contain anything that linearly affects the propagation (control inputs, gravity, biases). Its assumed to be known. Of course, (F) and (H) mean the same thing as before. Were talking specifically about the discrete Kalman filter. Theres such a thing as a continuous Kalman filter, useful when measurements are continuous (e. g. not samples of the voltage, but the voltage itself). Stunningly, it doesnt require a digital computer and can be constructed with resistors and capacitors in a big DC circuit. Each dimension of the state estimate would be the voltage in a separate path As this is laborious, the continuous Kalman filter is now a thing of the past, albeit an impressive thing that serves to remind us that we stand on the shoulders of giants. Of course, nobodys problem is actually a linear system (theyre like perfect vaccuums or point masses mdash pleasant idealizations). Further, the linear Kalman filter is just a special case of the extended Kalman filter, so why would we bother learning about it Because linear filters are very often useful on nonlinear problems . In fact, well recast our falling coffee filters filter above as a linear filter with virtually no loss in performance. The key to linear filtering is to use error states mdash states that represent small deviations from some nominal state. For instance, our package has a parachute and quickly reaches its terminal velocity, where the forces due to drag and gravity cancel. Lets call this our nominal velocity, and we can arbitrarily pick the target landing site (0, 0) as the nominal position. So, our nominal state is (xn begin 0 0 0 - vt end T), where (vt) is the terminal velocity (by the end, the velocity will nominally be downward). Our error state is just the truth minus this nominal state: Delta x x - xn Lets linearize the dynamics of this deviation near the nominal state. begin Delta xk xk - xn f(x ) - xn f(xn Delta x ) - xn approx f(xn) F Delta x - xn end Note that both (xn) and (f(xn)) are constants, so lets set (Delta xn f(xn) - xn). The resulting model is clearly linear, following the form above, where (Delta xn) is the input vector ((u ) in the above), and the input map ((Fu) above) is the identity matrix. Delta xk F Delta x Delta xn Of course, the observation function needs to be linear too, but this is trivial for our simple problem: zk begin 1 0 0 0 0 1 0 0 end Delta xk (If it had been a more difficult function, we would have gone through the same type of linearization that we did for the propagation portion.) Otherwise, the only remaining parts are the process and measurement noise covariance matrices, and theyre exactly the same whether we deal with full states or deviations. Were ready to filter just like we did before. Here are the results for the package delivery: Estimated trajectory with linear Kalman filter. Theres no noticeable difference from the extended filter. Lets look at the state estimates individually, and at the difference between the extended and linear Kalman filter estimates. Comparison of results of EKF and KF for the full simulation. Differences between the results of the EKF and KF for the full simulation. Theres a small difference, not surprisingly at the beginning, when the package isnt yet at terminal velocity, but its negligible compared to the overall accuracy of the filters. This is pretty common. There are many nonlinear problems that can be estimated quite well using a fully linear filter. This enables the filter to run extra quickly, as theres no need to re-calculate the Jacobians over time or run detailed propagation and observation functions. The key to building a linear filter is to find a good nominal point or nominal trajectory along which the Jacobians are constant. This cant be done for all problems, but its a great technique when it can be done, and its often needlessly overlooked. Steady-State Covariance Theres an interesting thing to note for Kalman filter: since (F), (H), (Q), and (R) are constant, the state does not affect the covariance . Lets take a look at the code that would update the covariance in a linear Kalman filter: Nothing here requires the state The progression from the initial covariance to a steady-state value can be entirely predicted ahead of time, before actually running the filter. And once the covariance matrix reaches a steady state, theres no point in continuing to update it. After that point, the Kalman gain is constant. As an extreme case, if it would be reasonable to initialize a filter with the steady-state covariance, then one could instead calculate the Kalman gain associated with the steady-state covariance ahead of time and implement a filter that never needs the covariance at all, such as: This steady-state form is actually called a Wiener filter. after Dr. Norbert Wiener at MIT, whose work predated Kalmans by about a decade. Without the need to calculate the Kalman gain in the loop, or to store any of the covariance matrices, this is a very lightweight filter that nonetheless has the advantages of a Kalman filter. Again, it only applies when the initial uncertainty is the steady-state value and the system matrices are constant, but in such a case, it cant be beat. Outline of a Linear (Discrete) Kalman Filter Basic linear Kalman filters are trivial to program. Click here for the filter used in this example or download the sample files here . Propagate the state. Propagate the covariance. Predict the measurement. Calculate the Kalman gain. Correct the state and covariance. Weve looked at four filter architectures and discussed how they all do similar things with different assumptions, which enable different operations, which enable differences in accuracy and speed. Particle filters are very general and are a common choice when the probability density is multimodal. They work well enough when runtime isnt a concern. Sigma-point filters use a small set of ldquoparticlesrdquo placed on an ellipsoid around the state estimate. They therefore assume that the probability density is unimodal. They also assume that the process and measurement noise are uncorrelated with each other and with the state. Theyre substantially faster than particle filters, and they handle nonlinearities better than extended Kalman filters. Extended Kalman filters assume that the propagation and observation functions are smooth and that the covariance propagates linearly and stays centered on the propagated estimate, in addition to all of the assumptions made by sigma-point filters. Theyre fast and have some options (in the next part) for being very fast. They also have a long history of working well even on problems that violate their assumptions to startling degrees, so EKFs are a great option to try for a wealth of state estimation problems. Linear Kalman filters are the same as extended Kalman filters, but (usually) propagate error states with approximately linear dynamics. Theyre a little faster, and the simplified code works well for embedded systems. There are many different types of state estimators, and many variations on each, but these four represent the basics of how estimates and uncertainty are propagated and updated sequentially as new measurements become available. But were not done. When the extended Kalman filter was created for the Apollo program, it was coded up as part of a simulation of the spacecraft, and after one small bug fix, it worked well. The engineers on Apollo could have stopped here most people declare success as soon as they see decent results in simulation. The Apollo folks, however, went forward and found that there were several more things that were necessary before the filter was practical and reliable. In fact, they discovered, the ldquodefaultrdquo Kalman filter algorithm above is poorly suited to implementation in computers Fortunately, a few tweaks enable it to: run very, very quickly, maintain stability despite the potential for build-up of roundoff errors, and estimate more accurately. In the next part. well see how these are relatively easy modifications once one has an understanding of how the filters actually work. References kf is our tool for exploring and designing detailed state estimation algorithms with a focus on stability and speed. It also has two quite long, worked examples of applying filters to specific problems, here and here . The sample code includes a particle filter, sigma-point filter, extended Kalman filter, and linear Kalman filter, as well as some utilities and the files used to generate the plots for this article. Its available here . Probabilistic Robotics by Thrun, Burgard, and Fox contains entry-level material for particle filters and sigma-point filters and discusses their use in robot location-finding (a multimodal problem where particle filters have proven useful, even in embedded applications). Kalman Filtering and Neural Networks . edited by Haykin, provides great information about the unscented Kalman filter (sigma-point filter) and is frequently cited in the literature. It includes numerous practical forms, with accessible discussion and very good pseudocode. Estimation with Applications to Tracking and Navigation by Bar-Shalom, Li, and Kirubarajan is probably the single best book on extended Kalman filtering, whether one is interested in tracking or not, and it includes advanced implementation options for speed and stability. However, its a theory-heavy book and can go very slowly until one understands some of the subtlety of probability theory. Greg Welch and Gary Bishop maintain this page for information on Kalman filtering and many related things. Its a good resource. The various IEEE journals and the AIAA Journal of Guidance, Control, and Dynamics provide numerous excellent papers on practical filters with pseudocode, simulations, and discussions of results from real-world testing. Of course, these are generally industry-specific. No book even comes close to the depth available from the journals. Fragments of the story of the development of the Kalman filter for the Apollo program are scattered all over. However, NASA maintains a brief and enjoyable write-up by Leonard A. McGee and Stanley F. Schmidt called ldquoDiscovery of the Kalman Filter as a Practical Tool for Aerospace and Industryrdquo, located here. Another much more modern write-up is ldquoApplications of Kalman Filtering in Aerospace 1960 to the Presentrdquo by Grewal (who runs a class on Kalman filtering for GPS and IMUs) and Andrews. April 26th, 2016 copy2016 An Uncommon LabPosted on: January 22, 2010 by starlino This article introduces an implementation of a simplified filtering algorithm that was inspired by Kalman filter. يتم اختبار رمز اردوينو باستخدام وحدة إيمو 5DOF من غادجيتانغستر 8211 أكغيرو. وقد تم عرض نظرية وراء هذه الخوارزمية لأول مرة في مقال إيمو دليل بلدي. يتم تركيب أكجيرو على بروتو درع العادية على رأس مجلس اردوينو دوميلانوف. أجزاء اللازمة لإكمال المشروع: 8211 اردوينو دوميلانوف (أو ما شابه ذلك منصة اردوينو) 8211 مجلس إدارة إيمو إجيرو 8211 بروتوشيلد (اختياري) 8211 اللوح 8211 ربط المتابعة 22AWG الرسم البياني هوك المتابعة هو كما يلي: أكجيرو lt8212gt اردوينو 5V lt8212gt 5V غند lt8212gt غند أكس lt8212gt AN0 أي lt8212gt AN1 أز lt8212gt AN2 GX4 lt8212gt AN3 GY4 lt8212gt AN4 بمجرد الانتهاء من جزء الأجهزة، تحميل رسم التالية إلى اردوينو الخاص بك. تشغيل المشروع وتأكد من أنك تتلقى الإخراج على محطة تسلسلي الخاص بك (يمكنك بدء تشغيل محطة من اردوينو إيد الخاص بك). لتحليل البيانات لقد وضعت أداة صغيرة تسمى سيريالشارت. هو مفتوح المصدر لذلك لا تتردد في تخصيصه لتلبية الاحتياجات الخاصة بك. هنا هو الإخراج من برنامج سيريالشارت: تم تنفيذ الاختبار على النحو التالي: 8211 أولا كنت إمالة المجلس ببطء (ملحوظ كوتسموث تيلتينغكوت على لقطة) 8211 التالي واصلت إمالة المجلس، ولكن بدأت أيضا تطبيق بعض الاهتزاز 8211 من خلال استغلال لوحة بسرعة مع إصبعي (ملحوظ كوتتيتلتينغ مع نويزكوت الاهتزاز) كما ترون من الرسم البياني إشارة تصفيتها (الخط الأحمر) هو في الواقع أكثر مناعة من الضوضاء من قراءات التسارع وحدها (الخط الأزرق). تم الحصول على إشارة تصفيتها من خلال الجمع بين بيانات التسارع وجيروسكوب. بيانات الجيروسكوب مهم، لأنه إذا كنت ببساطة متوسط ​​البيانات التسارع سوف تحصل على إشارة تأخير. نظرا لبساطة التعليمات البرمجية والخوارزمية أنا راض عن النتائج. ميزة واحدة أود أن أضيف هو التعويض عن تأثير الانجراف التي قد تواجهها مع بعض الجيروسكوبات. ومع ذلك ثبت أن مجلس أكجيرو أن تكون مستقرة جدا في هذا الصدد، لأنه قد بنيت في مرشحات تمرير عالية. إذا كنت ترغب في إجراء التجربة بنفسك، فقد أوصيت أولا باستنساخ إعداد الاختبار هذا. ثم التحول ببطء نحو احتياجات التطبيق الخاص بك. على سبيل المثال يمكنك أن تأخذ رمز C والمنفذ إلى PIC39s C18C30 أو أفر-غك (يجب أن يكون 39t يكون أيضا ديفيكولت). وفيما يلي بعض الموارد المفيدة وأوصافها. سيريالشارت التنفيذية يمكن تحميلها من هنا: بمجرد بدء تشغيل تطبيق سيريالشارت سوف تحتاج إلى تحميل ملف التكوين imuarduino. scc لهذا المشروع (المدرجة في imuarduino. zip) أرشيف. في هذا الملف التكوين تأكد من تحديث إعدادات 39port39 إلى منفذ كوم Arduino39s. على جهاز الكمبيوتر الخاص بي تم الكشف عن اردوينو على COM3، على لك قد يكون مختلفا. لمزيد من المعلومات حول بناء ملف التكوين انظر: يمكنك أيضا تحميل وتصنيف سيريالشارت من غوغل كود: سوف تحتاج إلى عميل سفن إلى الخروج من التعليمات البرمجية (يمكنني استخدام رابيدسفن لنظام التشغيل ويندوز). وقد تم تطوير سيريالشارت باستخدام كيو تي سك من نوكيا: qt. nokiadownloads كثير من الناس يسألني ماذا عن الآخر 2 محور، وهنا هو رمز أن مخرجات 3 محور، بما في ذلك سيناريو التكوين سيريالشارت. أنا أيضا إزالة بعض التعليمات البرمجية العلوية التي أشار اليكس بها في التعليقات، وهذا خفض الفاصل الزمني بين العينات. في المثال أدناه أنا تدوير المجلس حول محور X (الأزرق) الذي هو مواز للأرض. أفعل ذلك باليد حتى X ليست بالضبط 0، ولكن إغلاق. المحاور التي تغير هي Y (الأحمر) و Z (الأخضر). يرجى ملاحظة العلاقة X2Y2Z2 1. السماوي المتقطع والأرجواني وخطوط الجير هي إشارات غير مصفاة تأتي من التسارع وحده (رواك). 162 تعليقات إضافة تعليق رسس 63. إميليو 30 أكتوبر، 2011 هولا، أنتي تودو غراسياس بور سو باجينا y ديديكاكين. مي كونسولتا إس لا سيغوينت. إن مي برويكتو نيسيسيتو كولوكار بور رازونيس دي إسباسيو لا بلاكا دي أون 5DOF إيمو إن بوسيسين فرتيكال، نو أفريكانال إس بوسيبل كامبيار لا أورينتاسين دي لوس إيجيس بور سوفتوار بارا سيتوارلا إن إسا بوسيسين. أوتيليزو سو بروغراما كيو إمبليمنتا إل فيلترو كالمان. غراسياس بور سو أتنسين، y أون سينسيرو y واردي سالودو 64. لوكا 18 نوفمبر 2011 مرحبا، I8217m العمل على أجهزة الاستشعار 6DOF إيمو وجدت هذا التطبيق (سيريالشارت) مفيدة جدا. هذه المشاركة فقط لتقديم قضية حول سيريالشارت. وجود متعددة الإرسال والاستقبال أوسبريال (أي فتدي رقاقة) ربط مجالس التنمية المختلفة، الظاهري كوم رقم تعيين قد تنمو بسرعة. في حالتي باستخدام COM5 يمكن توصيل المنفذ التسلسلي ولكن أوسيغن COM19 I can8217t: سيريالشارت بإرجاع خطأ مربع رسالة 8220 تعذر فتح المنفذ COM198221. يمكن أن يكون خطأ في محلل تكوين منفذ كوم التي تتطلع فقط أسماء منفذ كوم تتراوح من COM1 إلى COM9 أحصل على نفس الرسائل مع كافة منفذ كوم مع رقمين أرقام. 8230 الجزء 3 من بلدي دليل إيمو وتجربة اردوينو العملية مع رمز قدمت في استخدام المادة 5 إيمو إيمو وكان الملقب بتبسيط كالمان تصفية، وتوفير بديل بسيط ل 8230 66. كريس 24 ديسمبر 2011 مرحبا ستارلينو أنا أحاول تنفيذ المخطط التسلسلي في تطبيق من أجل مراقبة البيانات من التسارع باستخدام PIC24FJ64GB002، ولكن مشكلتي هي أن استخدام أنسي C ل pic24f الذي do8247t لديها وظيفة Serial. print (). لذلك هناك أي مكتبة أو طريقة للقيام بذلك بدلا من أنني استخدمت هذا الرمز، ولكن على التسلسل التسلسلي أتلقى رموز عشوائية. هدلسندفلوت (إنتيرفالزميك) وارتسندشار (8220،8221) هدلسندفلوات (زاكسيس) وارتسندشار (8220،8221) هدلسندفلوات (ياكسيس) وارتسندشار (8220،8221) 8230. النظرية وراء هذه الخوارزمية لأول مرة في بلدي إيمو دليل article. rdquo بيروفاكتور: قراءة رابط دائم بريد إلكتروني هذا 8230 68. غونبرون 15 يناير 2012 أحاول قياس لفة ودرجة الملعب من جسم متحرك (نوع من اسطوانة). أنا قليلا من الخلط، هو أن خوارزمية الخاص بك يمكن قياس درجة الملعب لفة من جسم متحرك 69. باري بيسلي 23 يناير 2012 هل سيكون من الممكن لقبول البيانات من اثنين من المنافذ التسلسلية منفصلة ومؤامرة البيانات الواردة على الرسم البياني واحد أيضا يمكن أن يكون لدينا ميزة لإضافة مقياس (ق) ل X أمب محور Y 70. ستارلينو 23 يناير 2012 باري: مصادر البيانات المتعددة ستكون ميزة مثيرة للاهتمام. قد تضيف إلى قائمة المفضلات الممتدة. للحصول على نطاق يمكنك استخدام المعلمة الملعب، انظر: code. googlepserialchartwikiAdvancedFeatures أولا وقبل كل شيء شكرا جزيلا على مقدمة رائعة على إيك. لقد تم الشوق لمثل هذا إيك. أعمل على البندول مقلوب. أود أن أعرف ما إذا كان يمكنني استخدام الإخراج من الدوران مباشرة لمقارنة بلدي إمالة في البندول مقلوب. 8230 UDB4 إين MicroChip8217in C30 ديرليسييل هازرلانم أك كيناك كودلار دا ميفكوت أولماكلا بيرليكت بن يازلم سس C ديرلييسيسيل سفردان يازمايا كارار فيرديم. سنسرليرين التناظرية كل أولمري إبيري كولايلاتسا دا إيمو مانتن زميك 1-2 غنم ألد Starlino8217nun اردوينو إين يزد كلمان 8211 إيمو كودلارن CCS8217e إيفيرديم. يزن أورجينالين أولماك عين تكلين. 8230 73. هناء 12 أبريل 2012 Hi..I8217m طالب يعمل على تحت الماء تشغيل المركبات حيث I8217m باستخدام 5 شعبة الشؤون المالية إيمو للحصول على موقف السيارة. واجهة مع إيمو إم باستخدام اردوينو أونو الجزئي controller. my مشكلة هنا كيف يمكنني الحصول على موقف السيارة من التسارع منذ اردوينو فقط غفس إخراج التسارع. كيف يمكننا واجهة اردوينو وت ماتلاب لاستخدام الناتج اردوينو للحصول على التسارع. 74. روبرت 14 أبريل / نيسان 2012 اشتريت مؤخرا وحدة إيمو (واحدة مدرجة في المخزن مع لوحة الدوران ياو ملحومة على القمة)، دون فهم كامل كيف تعمل وحدة إدارة المعلومات. ما كنت حقا في حاجة إليه ل كان لقياس ياو لسيارة تحت الماء مستقلة I8217m العمل على. أدرك الآن أنه من أجل الحصول على قراءة دقيقة تحتاج إلى المغنطيسية وكذلك استخدام ذلك جنبا إلى جنب مع فلتر كالمان للتخلص من الانجراف. ومع ذلك أنا لا أعتقد أنني بحاجة إلى قراءة دقيقة لأكثر من 5-10 ثانية (سيتم استخدامه فقط لتحديد المواقع النسبية في حين تحول). حاولت فقط الوصول إلى الدوران ياو واستخدام ذلك فقط، ولكن أنا الحصول على نتائج سيئة للغاية. وأنا أفهم أن الجيروسكوبات أرينت استشعار أكثر دقة، ولكن الألغام يبدو أن تكون جيدة فقط للكشف عن الحركة ولا يعطي تصوير دقيق على حجم أو اتجاه السرعة الزاوي. على سبيل المثال قد أبدأ برنامجي، تدوير المجلس 90 درجة ومن ثم تدويره مرة أخرى ويكون زاوية انخفاض على كل من التناوب. وعلاوة على ذلك بلدي الدوران يبدو أبدا لتسوية العودة إلى الصفر الأصلي. بعد الدورية ووقف يبدو أن الجهد الصفر قد تغير، وبالتالي يبدأ الدوران الانجراف حقا سيئة. حاول I8217ve ضبط غرامة الجهد الصفر في أقرب وقت ممكن، ولكن هذا لا يهم حقا إذا كان تغيير دائما. I8217ve لعبت أيضا في جميع أنحاء مع المعلمات لبيان إذا ولكن فقط يساعد هامشيا .. لذلك سؤالي هو، هي الجيروسكوب حقا أن غير دقيقة أو يجب أن أكون الحصول على شيء على الأقل صالحة للاستعمال إلى حد ما يرجى مراجعة رمز بلدي ومعرفة ما إذا كان يمكنك أن ترى أي مسائل. شكرا تطفو يوريت القراءة من الدوران تطفو ياوزيرو 1.255 معدل الصفر الجهد تعويم تيرانغانغل 0 الإعداد باطل () المسلسل. (9600) باطل حلقة () الحصول على القراءة من ياو جيروسكوب يوريت أنالوغريد (A3) تحويل إلى ديغريسيكوند يوريت 1023 يوريت 5 يوريت - يوزيرو Serial. println (يوريت) يوريت .002 إذا بيان للمساعدة في تقليل الانجراف إذا (yawRategt5yawRatelt-5) يعمل في 100 هرتز يوريت 100 تضيف ما يصل زوايا الحالية يوريت ضمان أن الزاوية يبقى بين 0-360 درجة إذا (كيرنتانغل 359 ) كيرنتانغل - 360 serial. println (كيرنتانغل) تأخير (10) 75. ستارلينو 14 أبريل 2012 حسنا. بضعة مؤشرات: 8211 يجب عليك تحديد يوزيرو تجريبيا، don8217t مجرد استخدام قيمة ورقة البيانات، يمكنك كتابة بعض التعليمات البرمجية لقياس عند بدء التشغيل (وهذا هو عندما الجهاز لا يتحرك)، أو هاردكود ولكن تأكد من تحديثه بشكل دوري. 8211 I don8217t أعتقد حلقات الخاص بك يعمل في 100HZ لأن برينتلن يستغرق بعض الوقت بالإضافة إلى تأخير (10) استخدام ميليس () وظيفة اردونيو لقياس الوقت لكل حلقة 76. روبرت 14 أبريل 2012 شكرا للرد. لم أجد الجهد صفر تجريبيا (باستخدام الفولتميتر واستخدام برينتلن). قمت بتحويل الرمز الخاص بي لاستخدام ميليس ولكن I8217m لا يزال الحصول على نفس المشكلة كما كان من قبل. الدوران لا يبدو أن يعود بالضبط لنفس الجهد الصفر بعد أن يتحرك. أنا لا أعتقد أن هذا هو شيء يمكنك ضبط حيوي إما لذلك قد يكون مسألة الأجهزة وليس البرمجيات 77. ستارلينو 15 أبريل 2012 روبرت: يمكنك الرجاء نشر التعليمات البرمجية الخاصة بك مرة أخرى. عندما تقول 8220gyro doesn8217t العودة بالضبط لنفس الصفر الجهد 8221 هل تعني القراءة المباشرة من ميناء GZ4، أو مجموع المبلغ التراكمي للزوايا. أعد وضع المستشعر وحاول قناة أخرى مثل GX4 أو GY4. لديك أيضا غير تضخيم. غير تصفية القنوات غ، غي التي يمكنك محاولة. لا الدوران هو الكمال. أن 8217s لماذا يتم استخدامها في كثير من الأحيان مع التسارع (لقياس الميل بيترول) ومع أجهزة قياس المغنطيسية (البند حسابات ياو). إذا كانت ستكون مثالية. الناس لن يكلف نفسه عناء الجمع بينهما. في أي حال إذا وجدت هذا الاستشعار لا يعمل بالنسبة لك. لا تتردد في الاتصال بي عن طريق البريد الإلكتروني لترتيب العودة. 78. زام 10 يونيو 2012 يمكن استخدام سيريالشارت مع موشنود إلى بيدرو: فقط غس يمكن أن توفر لك موقف الجهاز. لا يمكنك حسابه بما فيه الكفاية جيدة باستخدام التسارع فقط والدوران. 89. ماكس 3 سبتمبر 2012 مرحبا ستارلينو، وأنا أحب البرنامج 8220serial chart8221 كثيرا. اعتدت عليه لتحليل البيانات التسلسلية من اردوينو. عملت بشكل جيد جدا مع جميع اردوينوس قبل أونو r3. ولكن هذا الأسبوع اشتريت اردوينو أونو r3. الآن يمكنني 8217t تحليل البيانات. أنها لا تعمل مع أونو r3. ربما بسبب الجديد 8220ATmega16U28221 والسائق الجديد. هناك دائما رسالة 8220 يمكن فتح COM11 المنفذ. 8216 تأكد من أن المنفذ هو availalbe82308221 هل هناك حل لدي جهاز كمبيوتر ويندوز 7. شكرا جزيلا. ماكس من ألمانيا معلم العلوم 90. ستارلينو 3 سبتمبر 2012 ماكس: كان اردوينو السابق على منفذ أقل مثل (COM3، COM5)، في محاولة للذهاب إلى مدير الجهاز وتغيير منفذ كوم المعين من COM11 إلى شيء أقل مثل COM3 COM4. وأفاد بعض الناس مشاكل مع الموانئ أعلى من 10. 91. ماكس 10 سبتمبر 2012 مرحبا ستارلينو، وذلك بفضل لطرف. الآن يعمل بشكل جيد جدا مرة أخرى. بل هو أداة مفيدة جدا. وسريع جدا. شكرا جزيلا. ماكس من ألمانيا. 92. خوان ديفيد 29 أكتوبر 2012 مرحبا أحب البرنامج ولكن أريد أن أعرف كيف يمكنني تنفيذها إذا كان إيمو يعطي بيانات الإخراج في i2c، من 3 محور الدوران و أسيل، لقد حصلت على البيانات في غيرها خوارزمية اردوينو. ماذا يجب أن أغير في التعليمات البرمجية 8230 بارل إلك و تستيني جيريكليترديم. بروجينين بو كادار جيسيكميسينين إن بيك نيديني ستارلينونون إيمو ألغوريتماس زيريند سرار إتمم أولدو. ير تيستليريند واك إي تيبكي فيرميسين 8230 94. ويتبارد 21 ديسمبر 2012 مرحبا. صرخة لبلدي سيئة الإنجليزية. I8217m بوستغردوات من قسم تكنولوجيا المعلومات في جامعة ولاية ساخالين. يمكن ش مساعدتي مع مشكلتي لدي بالفعل بيانات من أجهزة الاستشعار المختلفة: التسارع، الجيروسكوبات، الخ البيانات المحفوظة في الشكل التالي: الوقت، الدوران X، الدوران Y، الدوران Z، التسارع X، التسارع Y، التسارع Z، البوصلة X ، البوصلة Y، البوصلة Z. البيانات صاخبة. أنا بحاجة إلى خفض الضوضاء و مؤامرة لتقييم النتائج التي تم الحصول عليها باستخدام فلتر كالمان. مساعدتي يرجى تعديل البرنامج لمعالجة البيانات ليست في الوقت الحقيقي لحل مشكلتي. شكرا لكم. 95. إيوان يناير 22، 2013 أريد أن أرسل البيانات من الرسم البياني التسلسلي إلى وحدة اردوينو. يمكنك أن تعطيني شفرة المصدر من المخطط التسلسلي إذا كان ذلك ممكنا أود أن تعديله لتكون قادرة على إرسال البيانات 8230 كود اردوينو لخوارزمية دليل إيمو. باستخدام 5DOF إيمو التسارع وجيروسكوب التحرير والسرد Starlino8230. 8230 97. بنهور فبراير 23، 2013 ستارلينو، كريو كيو تودوس أوس ليتوريس ديست سيت تيم أوما دفيدا كونتيغو أوبريغادو بور ديفيدير سيوس كونهيسيمنتوس كونوسكو فوي كونكتار a فياو e رودار o بروغراما كيو سايو فونسيوناندو 98. تيم أبريل 29، 2013 هاي ستارلينو، باردة جدا مشاريع I039m تفعل شيئا سيمولار جدا لهذا، ولكن لدي سؤال حول تطبيق سيريالشارت. I039m تحاول تصور بلدي 3 أكسيسس الدوران، ولكن أستطيع أن أرى فقط 2 منهم في serialchart8230 هذا هو رمز I039m باستخدام للطباعة: Serial. print (أ) المسلسل. برينت (كوت، كوت) Serial. print (ب) المسلسل. طباعة (كوت، كوت) Serial. println (ج) أنا أيضا حاولت مع بيانات أخرى، ولكن نفس النتائج8230 أفعل شيئا خاطئ شكرا مقدما 99. ستارلينو 29 أبريل 2013 تيم، ما هو ملف التكوين التسلسلي المخطط، ويمكن لك إرسال عينة الإخراج من جهازك 100. تيم 30 أبريل 2013 هذا هو ما I039m الحصول في هذه اللحظة، 4 أرقام في الإخراج، ولكن فقط 3 خطوط مرئية 8230 timdemeyer. befilesserialchartoutput. png 101. ستارلينو 30 أبريل 2013 تيم الحقل الأول الخاص بك هو ودعا الفاصل و it8217s اللون شفافة، يجب إزالة هذا القسم 102. تيم 30 أبريل 2013 أوه نعم أفكورس تظهر جميع الخطوط حتى الآن. شكرا جزيلا 103. بن هور مايو 5، 2013 تهانينا دليل على إيمو وتطبيق سيريالشارت، تفسيراته بسيطة والعمل حقا I039m القيام بنفس المهمة، ولكن مع نماذج أخرى من أجهزة الاستشعار وسؤالي هو فيما يتعلق مرشح التكميلي: 1) في المرشح التكميلي (في كود اردوينو) يتم تنفيذ كويرويست المرجح ث (رواك w config. wGyro روجيرو ث) (1 config. wGyro) التي عملت بشكل مثالي، ولكن رأيت مقالات أخرى أن أتحدث عن مرشحات التكميلية ورأى هناك معادلة أخرى من النوع: (0.12) زاوية (روجيرو دت) (0.02) (رواتش) كوت أو كوتانغل a (زاوية روجيرو دت) (1-أ) رواكوت حيث تاو (t تاو) يمكنك أن ترى أن اثنين وتعطى أشكال قيمة أكبر من جهاز استشعار واحد إلى آخر. فقط أنا لا أستطيع أن أرى أين كوتاكوت متغير في الحل الخاص بك، ويشير إلى هذا الوقت ثابت من المقالات الأخرى تتحدث. شكرا على وقتك 104. كلارك مايو 12، 2013 المسلسل الرسم البياني لا يعمل في جهاز الكمبيوتر الخاص بي، وهذا متوافق مع ويندوز كاتب حاولت استخدام النسخة زيبد، ولكن عندما كنت اضغط على زر تشغيل أنه يعطيني رسالة خطأ كوتكولد لا فتح ميناء COM26quot ولكن أنا 100 متأكد من أن بلدي اردوينو هو متصل في com26 وأنا بالفعل تكوين المخطط التسلسلي. كما حاولت إغلاق كافة التطبيقات التي تعمل على جهاز الكمبيوتر الخاص بي باستثناء المخطط التسلسلي. ولكن لا يزال حصل على نفس الخطأ. هل يستطيع احد مساعدتي. 105. ستارلينو 13 مايو 2013 كلارك: مكتبة كت التسلسلي لديها أحيانا مشاكل مع الموانئ أعلى ثم 10 (فقط على بعض أجهزة الكمبيوتر)، يمكنك تغييره إلى COM4، أو شيء مماثل. الحل هو موضح هنا: 106. بابلوباولوس 22 مايو 2013 شكرا لك على تبادل عملك وآسف أن يزعجك. I039m الذهاب جنون في محاولة لرسم مكعب الموجهة في لابفيو بدءا من القيم رويست. I039ve قراءة جميع التعليقات هنا تبحث عن إجابة دون أي نجاح. حاول I039ve حساب الملعب زوايا لفة باستخدام هذه التعبيرات: الملعب atan2 (ROEst1، ROEst2) لفة atan2 (ROEst0، سرت (RwEst1RwEst1RwEst2RwEst2)) لكنها لا تعمل. هل يمكن أن تبين لي أي وسيلة لإنجاز هذه المهمة وسوف أكون ممتنا لأي مساعدة يمكنك تقديم. 107. ستارلينو 22 مايو 2013 بابلوباولوس: يرجى إلقاء نظرة على البرنامج التعليمي دسم على هذا الموقع. إذا كنت حساب مصفوفة دسم بدلا من بيترول يمكنك العثور على موقف أي ناقلات استدارة كما r8217 دسم r. 108. بابلوباولوس 22 مايو 2013 ستارلينو: شكرا لردكم السريع. كنت قد قرأت بالفعل دسم البرنامج التعليمي الخاص بك. ومع ذلك، منذ وجدت أنه من الصعب أن نفهم، وأنا نفذت الخاص بك مبسطة تصفية كلمان algorithm8230 ولكن يبدو I039ll يجب أن تذهب ل دسم. بالمناسبة، لدي شك بشأن تنفيذ دسم الخاص بك. هو التعليمات البرمجية في code. googleppicquadcontrollersourcebrowsetrunkimu. hr7 بما فيه الكفاية لحساب مصفوفة دسم يعني: في إيموبديت () وظيفة أستطيع أن أراك تحديث مصفوفة دومجيرو، ولكن يمكنني can039t نرى في أي مكان حساب دميست، والذي يعرف بأنه مصفوفة دسم المقدرة عن طريق الانصهار من التسارع وجيروسكوب. وبعبارة أخرى: هو دسمغير مصفوفة يمكنني استخدامها للعثور على r039dcmGyror شكرا لك على النظر في طلبي. 109. ستارلينو 28 مايو 2013 111. فاطمة 10 يوليو 2013 أنا أعمل حاليا على التوازن الذاتي الروبوت وأريد استخدام فلتر كالمان لبلدي إيمو استشعار الصمامات والتصفية وأريد الإخراج زاوية الميل لإدخال في بيد تحكم، وأريد تحويل زاوية إخراج بيد إلى سرعة لبلدي سائق المحرك MD49. أعرف ما أريد القيام به ولكن أنا لا أعرف بالضبط كيفية الذهاب نحو ذلك. لذلك كنت آمل إذا كان لديك فكرة حيث أنا من المفترض أن تبدأ من وكيف يمكنني القيام بالتحويل اللازم. أشكركم على اهتمامكم السبب أنا يبدو وكأنه المبتدئ الكلي، وأنا. 112. جونيموكر 8 أغسطس 2013 الرسم البياني التسلسلي يعمل فقط مع كوم بروتس 1 لوت 9. تغيير رقم منفذ كوم الخاص بك في ويندوز 7 (you039ll تحتاج إلى جوجل أن) كان علي أن أفعل ذلك في وينكسب للحصول عليه للعمل. 113. يناير بامبي أغسطس 12، 2013 هل هناك ترخيص ل إيمو اردوينو عملت على MPU6050. هو 3-أكسيس ACC. and 3- محور الدوران ومستشعر درجة الحرارة. عندما حاولت مجرد الحصول على معلومات الميل من هذا الاستشعار. لقد وجدت أنه من المنطقي في نفس الوقت التسارع الذي أنا لا تحتاج. في الواقع أنا بحاجة لقراءة فقط الميل في x و y الاتجاه. سؤالي هو. كيف يمكنني إلغاء الاستشعار التسارع. 136. جون أوكلي 29 أبريل 2015 أنا لأحاول توليد أثر من mpu6050. البيانات الخاصة بي الدوران x، يرسم بسرعة 2 آثار عموديا لكنها بطيئة جدا للانتقال من اليسار إلى اليمين عبر الرسم البياني، وبالتالي كلها سحق حتى وغير قابل للقراءة مقارنة مع المخططات الأخرى إيف ينظر الناس تولد. مثل وجود أوزيلوكوب على قاعدة زمنية بطيئة من حوالي 1 سيكونديف وجميع البيانات هي مكتظة في هذا النطاق الزمني. إيف حاول كما قال وظيفة سابقة عن إضافة تأخير بعد كل سطر. افترض هذا يعني على سبيل المثال: شداتا، يداتا (تأخير) وليس شداتا، (تأخير) يداتا (تأخير) وهلم جرا. هذا هو السبيل الوحيد لزيادة سرعة الاجتياح 137. سارة الشبة 18 مايو 2015 كود ماتلاب فيلتر كالمان والرسوم المتحركة 3D MPU6050

No comments:

Post a Comment