همونطور که میدانید بحث تخمینگر (Estimator) یا رویتگر (Observer) نه تنها در مهندسی کنترل (Control Engineering) و مهندسی برق (Electrical Engineering)، بلکه در تمامی رشتههای مهندسی و حتی غیر مهندسی از جمله مهندسی مکانیک (Mechanical Engineering)، مهندسی شیمی (Chemical Engineering)، مهندسی هوافضا (Aerospace Engineering)، روباتیک (Robotics)، اقتصاد (Economics)، بومشناسی (Ecology) و زیستشناسی (Biology) کاربرد فراوانی دارد. از طرف دیگر، فیلتر کالمن (Kalman Filter) به عنوان یک تخمینگر بهینه پرکاربردترین و محبوبترین رویتگر در تمامی کاربردهاست که مقالات و کتابهای بسیاری در مورد آن نوشته شده و هنوز هم کارهای تحقیقاتی زیادی در مورد آن انجام میشود. البته بحث تخمین به فیلتر کالمن و مشتقات آن محدود نشده و تخمینگرهای زیاد دیگری هم وجود دارند که استفاده میشوند.
من به عنوان یک مهندس کنترل در درسهای مختلفی که گذراندهام، به صورت جسته گریخته با یک سری اطلاعات گسسته در مورد تخمینگرها مواجه شدم؛ از جمله بحث رویتگرهای لیونبرگر در درس کنترل مدرن یا فیلتر کالمن در درس کنترل فرآیندهای اتفاقی، اما هیچوقت به صورت منظم و سازمان یافته تخمینگرها را نشناختم. بنابراین قصد دارم در این سری فیلمها، سیر تا پیاز تخمینگرها، انواع، کاربردها، نحوه تحلیل و طراحی، نحوه پیادهسازی در متلب و هر چیزی که ممکن است در این مسیر مورد نیاز باشد، خدمت شما تقدیم کنم.
برای این کار یکی از کتابهای خیلی خوب و جامع را به عنوان مرجع اصلی این سری فیلمها در نظر گرفتم. نام کامل این کتاب “تخمینگرهای بهینه حالت، کالمن، ∞H و روشهای غیرخطی” بوده و نویسند آن Dan Simon از دانشگاه کلیولند است. این کتاب مزایای زیادی دارد که در جلسه اول به بعضی از آنها اشاره کردهام. علاوه بر این کتاب که جنبه تئوری بحث را از آن دنبال میکنم، یک تولباکس (بر اساس متلب) رایگان و خیلی مفید را خدمت شما معرفی میکنم که شامل بسیاری از روشهای موجود بوده و از آن میتوان برای پیادهسازی اکثر تخمینگرها استفاده کرد. نام این تولباکس “فیلترینگ بهینه با استفاده از فیلترهای کالمن و اسموترها” بوده و تهیه کننده اصلی آن Simo Sarkka از دانشگاه آلتو فنلاند است که خودش در زمینه فیلتر کالمن و هموارسازها تحقیقات زیادی انجام داده است. با توجه به اینکه این تولباکس تمام روشهای موجود در کتاب رو پوشش نمیدهد، توابع مورد نیاز برای پیاده سازی این روشها به تدریج معرفی شده و نحوه اضافه کردن آنها به تولباکس و نحوه استفاده از آنها به طور کامل توضیح داده میشود.
به صورت خلاصه مباحث زیر در این سری فیلمها مورد بررسی قرار می گیرند:
- مقدمات ریاضی از جمله جبرخطی و سیستمهای دینامیکی و فرآیندهای تصادفی
- تخمین حداقل مربعات (Least Squares Estimation)
- انتشار حالت و کواریانس (Propagation of States and Covariance)
- فیلتر کالمن گسسته (Discrete Kalman Filter) و هموارساز آن (Kalman Smoother)
- انواع فرمولبندیهای دیگر فیلتر کالمن
- فیلتر کالمن برای سیستمهای دارای نویز رنگی (Colored Noise) و همبسته (Correlated)
- فیلتر کالمن پیوسته Kalman Bucy Filter) KBF)
- فیلتر ∞H
- ترکیب فیلتر ∞H و کالمن
- فیلتر کالمن توسعه یافته Extended Kalman Filter) EKF) و هموارساز آن (EKF Smoother)
- فیلتر کالمن بدون بو! Unscented Kalman Filter) UKF) و هموارساز آن (UKF Smoother)
- فیلتر ذرهای (Particle Filter)
- فیلتر Extended Kalman Particle Filter) EKPF)
- فیلتر کالمن مکعبی Cubature Kalman Filter) CKF) و هموارساز آن (CKF Smoother)
- فیلتر کالمن گاوس-هرمیت Gauss-Hermite Kalman Filter) GHKF) و هموارساز آن (GHKF Smoother)
- فیلتر کالمن تفاضل مرکزی Central Difference Kalman Filter) CDKF)
- فیلتر کالمن برای سیستمهای دارای مدل چندگانه (سیستمهای سویچینگ مارکوف) Interacting Multiple Models Filters) IMM)
پیش نیازها: آشنایی اولیه با کدنویسی در متلب
لطفا قبل از دیدن ادامه پست حتما این ویدئو را ببینید:
برای اطلاع از فهرست موضوعی تمامی جلسات اینجا کلیک کنید
نکته آخر اینکه شاید برایتان جالب باشد که دکتر کیوان افشار مقاله زیر را با راهنمایی دکتر جوادی از جلسه 108 این مجموعه چاپ کرده است.
Mass estimation and adaptive output feedback control of nonlinear electromagnetic levitation system
برای دیدن جزئیات هر جلسه شامل: پیش نمایش هر جلسه، موضوع هر جلسه، مدت زمان هر جلسه و …. به تب فهرست جلسات بروید
برای خرید یک یا چند فصل به تب خرید موضوعی بروید.
- لینک دانلود فایل بلافاصله بعد از پرداخت وجه به نمایش در خواهد آمد.
- همچنین لینک دانلود به ایمیل شما ارسال خواهد شد به همین دلیل ایمیل خود را به دقت وارد نمایید.
- ممکن است ایمیل ارسالی به پوشه اسپم یا Bulk ایمیل شما ارسال شده باشد.
- در صورتی که به هر دلیلی موفق به دانلود فایل مورد نظر نشدید با ما تماس بگیرید.
sepehr
سلام آقای دکتر
ممنون از سایت بسیار خوبتون
من در مکان یابی خودرو بدون سرنشین فعالیت میکنم. برای ردیابی خودرو باید از فیلتر کالمن هم استفاده کنم. مدل فیلتر کالمن گسسته خطی برای اینکار استفاده میشه. با توجه به در اختیار داشتن نویز اندازه گیری و تخمین حالت، و همچنین ماتریس انتقال و مشاهده؛ به یک سری مشکلات مفهمومی ابتدایی برخورد کردم. بنظر شما، کدام جلسه میتونه به من کمک کنه؟
علی جوادی
@sepehr,
با سلام و تشکر از لطف شما
با توجه به اینکه سیستم شما خطی و گسسته هستش، به نظر میرسه بهتر باشه به فصل 5 (جلسات 14 تا 20) مراجعه کنید. هم مفاهیم مفصل بحث شده و هم اینکه کدنویسی مطرح شده و مثال هم حل شده. اگر فصل 5 کافی نبود، میتونید به پیشنیازهاش که فصلهای قبلی باشند، مراجعه کنید
مجید
باسلام و احترام
در صنایع هوایی مثل هسا از چه بخش هایی از فیلتر کالمن استفاده می شود ؟( در مصاحبه های این صنایع جهت استخدام چه سوالاتی ممکنه از فیلتر کالمن در مورد ژایرو ها پرسیده شود ؟)
با تشکر
علی جوادی
@مجید,
سلام
من تا حالا در چنین مصاحبه ای شرکت نکردم و طبیعتا اطلاعی در این زمینه ندارم. بهتره از کسانی که در این صنایع مشغول به کار هستند سوال کنید
موفق باشید
سحر
سلام آقای دکتر.من چون قراره که موضوع particle filter رو ارائه بدم سوالات زیادی برای خودم هست که حل نشده و بنابراین نمیتونم برا بقیه توضیح بدم.
سوالاتم از فصل 15 هستش..
1-تخمین حالت k ام از طریق معادله مدل سیستم انجام میشه؟یعنی از روابطی که برای مرحله ی تخمین در تخمینگر بیزین نوشتیم عملا استفاده نمیشه؟
2-برای اندازه گیری های y هم همینطور؟یعنی فقط از معادله مدل اندازه گیری استفاده میشه و از هیچ توزیعی استفاده نمیکنیم درمحاسبه؟
3-حالت Xk درحالت کلی ماتریسه که سطرهاش تعداد ذرات و ستون هاش ویژگی هایی که هر ذره داره رو نشون میده؟ یعنی اگر مثلا 10 تا ذره داشته باشیم که هرذره با مختصات xو y و مثلا سرعتهای Vx وVy شناخته بشن ماتریس حالتمون 10 در 4 خواهد بود؟
ازسوالاتم مشخصه که اصلا برام جا نیفتاده این موضوع واحتمالا سوالات بیشتری درادامه بپرسم و وقتتون رو بگیرم.شرمنده…اگر امکانش هست یکم راهنماییم کنید
علی جوادی
@سحر,
سلام
جواب سوالات شما به طور کامل در فیلمها وجود داره. من توصیه میکنم با دقت خیلی زیاد فیلمهای مربوط به فصل 15 (جلسات 90 تا 96) رو ببینید. اگر تمام مباحث تئوریک و کدنویسی رو با این جلسات پیش برید، حتما جواب تمام سوالاتتون رو پیدا میکنید.
برای جواب سوال اول و دوم شاید جلسه 90 کافی باشه. برای سوال سوم هم جلسه 96 رو ببینید و به توضیحات و کدها دقت کنید.
اگر بعد از اینکار باز هم سوال داشتید، مطرح کنید
سیامک
با سلام
من میخوام جلسات 68 تا 79 رو خریداری کنم اما نمیدونم چطور میشه انتخاب کرد لطفا راهنمایی کنید .
با تشکر
علی جوادی
@سیامک,
سلام
داخل همین صفحه تخمین، زیر پیش نمایش جلسه 79 جلسات به صورت جداگانه قرارداده شدند که میتونید هر کدوم رو تیک زده و انتخاب کنید. با توجه به اینکه شما تمام جلسات فصل 13 رو می خواهید تهیه کنید، گزینه آخر رو انتخاب کنید که کل جلسات فصل 13 رو شامل میشه و با 20 درصد تخفیف محاسبه شده. بعد دکمه خرید رو بزنید و به صفحه پرداخت برید. به محض اینکه که خرید انجام شد، لینکهای دانلود براتون نمایش داده میشه
سحر
سلام وقت بخیر
ببخشید من میخوام کلیات فیلتر کالمن و ذره رو یاد بگیرم.مخصوصا فیلتر ذره…سمینارشو دارم
یعنی لازم نیست که خیلی مباحث جزئی شو بدونم.
کدوم فصل هایاجلسات رو باید دانلود کنم؟
مثلا بررسی متلب رو نمیخوام
سحر
البته من فقط میخوام فیلترذره رو یادبگیرم. حالا نمیدونم نیازی هست که بخش هایی از فیلترکالمن رو هم ببینم یانه…
علی جوادی
@سحر,
سلام
به نظر میرسه اگر شما فصل 15 (جلسات 90 تا 96) رو ببینید، فیلتر ذره ای رو به طور کامل درک کنید. فقط جلسات آخر فصل هستند که به ترکیب فیلتر کالمن با فیلتر ذره ای پرداخته شده که ممکنه اصلا باهاش کاری نداشته باشید. مباحث فصل 15 تقریبا به صورت مستقل از فصلهای قبل مطرح شده و قابل استفاده است
فرجی
با سلام خدمت شما استاد گرانقدر
و تشکر از این که این مجموعه خوب را ارائه کردید.
سوالی که برای من مطرح شده است این است که با توجه به دینامیک پیچیده غیرخطی بعضی از سیستم ها و نقص خطی سازی در فیلتر کالمن توسعهیافته، بهینه بودن عملکرد EKF چگونه تضمین میگردد؟
و این که آیا این بهینه بودن فقط در نقطه کار می باشد؟
علی جوادی
@فرجی,
با سلام
فیلتر EKF اصلا و ابدا بهینه نیست!
به خاطر همینه که کلی فیلتر بعدش معرفی شده تا عملکرد رو بهتر کنند وگرنه اگه EKF بهینه بود که همه از اون استفاده می کردند و دنبال روش دیگه ای نمی رفتند
حسینی
با سلام و احترام
در کنترل توربین بادی برای اندازه گیری سرعت دوار PMSG از پراکسی استفاده می کنیم که پرش دارد و نتیجه را دقیق نشان نمی دهد. لذا از ولتاژ لینک دی سی که در اوایل رابطه خطی با سرعت دوار دارد استفاده می کنیم که بعد از حالت نامی ولتاژ به اشباع می رود و سرعت مدام اضافه می شود و قابل کنترل با ولتاژ نیست. می توانید راهنماییم کنید با کدام یک از فیلتر ها امکان تخمین دقیق سرعت دوار ژنراتور و ولتاژ لینک دی سی را دارم.
سپاس
علی جوادی
@حسینی,
با سلام
برای اطلاعات بیشتر در مورد انتخاب نوع فیلتر به کلیپ راهنمای استفاده از جلسات در ابتدای پست مراجعه کنید.
به علاوه من شناختی از سیستم توربین بادی ندارم و صورت مساله رو متوجه نشدم.
ساسان
با سلام
من بسیاری از فیلم ها رو دیدم ولی هنوز ابهاماتی دارم و برای تزم نیازمند مشاوره با شخص متخصص(ترجیحا دانشجو و یا فارغ التحصیل ونه استاد)در فیلتر کالمن به خصوص فیلتر غیرخطی می باشم آیا کسی هست که معرفی کنید؟
علی جوادی
@ساسان,
سلام
من کسی نمیشناسم که مباحث تخمین به همراه کدنویسی رو با رویکرد موجود در این فیلمها تسلط داشته باشه
ساسان
سلام مدل من يک خروجي(يک حالت) و چندين پارامتر وروردي دارد براي تعيين مقدار nنقاط سيگما در کالمن بی بو برابر3 خواهد بود (2n+1)?
علی جوادی
@ساسان,
سلام
اگر فقط یک حالت دارید، بله تعداد نقاط سیگما 3 تاست
پیام
با سلام
ممنونم که وقت میگذارید
من یک کنترلر مناسب گذاشتم ولی باز هم کم کم ناپایدار شد . بدون نویز و بدون فیلتر کالمن کنترلر فازی من به خوبی کار میکند ولی وقتی که نویز فرایند و اندازه گیری اعمال میکنم به سیستم که با کالمن این نویزها را حذف کنم خروجی فیلتر کالمن که متغییرهای حالت پلنت من است سیگنال ورودی را دنبال نمیکند و اهسته اهسته ناپایدار میشود.
به نظر شما مشکل از نحوه ی طراحی فیلتر کالمن من است؟ چه چیزیش مشکل داره؟
با تشکر
علی جوادی
@پیام,
یک بار با نویز فرایند و اندازهگیری و بدون فیلتر کالمن ببینید آیا سیستم با کنترل کننده پایدار میشه یا نه. ممکنه اصلا خود نویز ها باعث ناپایداری سیستم باشند.
بعد اگه مشکلی نبود فیلتر کالمن رو هم اعمال کنید ولی تو حلقه نباشه یعنی فیلتر کالمن تخمینشو بزنه ولی از خروجی فیلتر کالمن در کنترل کننده استفاده نکنید و خود حالتها رو برای کنترل کننده استفاده کنید.
بعد اگر این حالت هم جواب داد، از خروجی کالمن برای کنترل استفاده کنید.
با این روش گام به گام میشه فهمید مشکل از کجاست