همونطور که میدانید بحث تخمینگر (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 ایمیل شما ارسال شده باشد.
- در صورتی که به هر دلیلی موفق به دانلود فایل مورد نظر نشدید با ما تماس بگیرید.
elnaz
سلام
از پاسخ قبلی شما متشکرم
برای این که ماتریس A مربوط به فیلتر کالمن رو از مدل سازی سیستم باید به دست بیارم کدام آموزش ها روی سایت در مورد مدل سازی بحث کرده است؟
یا اگر آموزشی نیست می شود یک مرجع معرفی کنید
با تشکر فراوان از راهنمایی های مفید و آموزش های عالی که دارید
علی جوادی
مدلسازی بستگی به سیستم داره و هیچ منبع کاملی وجود نداره که مدلسازی تمام سیستمها رو پوشش بده.
باید با توجه به سیستم خودتون به مراجع مربوطه مراجعه کنید
ا
سلام.
وقت بخیر.
من قصد دارم تا با استفاده از UKF نسبت به تخمین پارامترهای یک سیستم غیر خطی چند درجه آزای اقدام کنم. در رشته برق تحصیل نمی کنم و مباحث کنترلی هم مد نظرم نیست. کدام یک از جلسات را باید خریداری کنم.
علی جوادی
سلام
جلسه 79 مربوط به تخمین پارامتر سیستمهای غیرخطی با استفاده از فیلتر EKF و جلسه 88 مربوط به تخمین همزمان حالتها و پارامترها با استفاده از فیلتر UKF هست
نگار
سلام آقای دکتر،
چنانکه معادلات حالت سیستم و مقادیر خروجی (measurement) در دسترس باشد، میتونیم با فیلتر کالمن ورودی متغیر با زمان و استیتها رو تخمین بزنیم؟
ورودی ثابت رو تو مقاله ای دیدم که تخمین میزنه ولی ورودی من ثابت نیست.
در فیلمها همچین مسئله ای مطرح شده؟
علی جوادی
سلام
اگر هم امکانش باشه من اطلاعی ندارم
میثم
سلام اقای دکتر
با تشکر از تلاش جنابعالی جهت تهیه فایل های ارزنده
من کنترل یک موتور رو با فیلتر ذره ای میخوام پیاده سازی کنم
امکانش هست؟ یعنی پردازنده ای مثه بیگل بون بلک (با پردازنده ارم کرتکس) یا دی اس پیک و…توانایی دارن پردازشهای مربوط به کنترل رو انجام بدن؟
علی جوادی
سلام
این مجموعه مربوط به تخمین هست به کنترل ارتباطی نداره
در مورد پردازنده ها هم اطلاعی ندارم
saberi
سلام
نمی دونم چرا کدهای جلسه 88 ارور می ده و اجرا نمی شه حتی خط به خط فیلم رو چک کردم و مثل فیلم تغییر دادم ولی بازم اجرا نمی شه امکانش هست کدی که اجرا می شه رو بفرستید اروری که می ده به صورت زیر هست
Size inputs must be integers.
Error in Mass_Spring (line 34)
omega1 = 19.5*ones(1,Nf);
علی جوادی
سلام
این اشکال به خاطر رند نبودن (صحیح نبودن) Nf به وجود میاد. داخل فیلمها یادم رفته که رند بکنم.
به جای سطر 32 از عبارت پایین استفاده کنید:
(Nf = round(Tf/T
elnaz
سلام
از آموزش های عالیتون بسیار متشکرم
در مورد جلسه 88 سوال داشتم در تخمین دوگانه سیستم جرم و فنر می خواستم بدونم از کجا فهمیدید باید ماتریس A رو به اون شکل تعریف کنید؟ روش dual estimation برای وقتی استفاده می شه که ما یک تعداد مشاهده نویزی داریم درسته؟
من یک تعداد مشاهده نویزی دارم و می خوام state ای سیستم رو تخمین بزنم و با توجه به کتاب kalman_filtering_neural_networks_2001 که معرفی کردید من قسمت هایی شو خوندم و فکر می کنم باید از روش dual estimation استفاده کنم ولی نمی دونم ماتریس A رو باید به چه صورت بنویسیم چون ماتریس A رو هم ندارم می شه در این مورد راهنمایی کنید؟
خیلی ممنونم
علی جوادی
سلام
ماتریس A به مدلسازی سیستم ربط داره و در اینجا هدف مدلسازی سیستم نیست و فرض بر اینه که مدل سیستم در دسترسه و هدف تخمین حالتها و یا پارامترها از یه سری اندازه گیریهای نویزی هست.
روش dual estimation برای تخمین همزمان حالتها و پارامترهاست.
ماتریس A رو باید از مدلسازی استخراج کنید
نگار
سلام آقای دکتر
من یک سیستم دارم که ورودیشو نمی دونم ولی خروجیشو دارم (ورودی ثابت نیست و متغیر با زمانه)
میتونم با کالمن فیلتر ورودی و حالت ها رو تخمین بزنم؟
توی فیلم ها همچین مسئله ای مطرح شده؟
ممنون میشم راهنماییم کنید.
علی جوادی
سلام
تا جایی که من میدونم باید ورودی و خروجی معلوم باشه تا حالتها تخمین زده بشه
elnaz
سلام آقای دکتر
از پاسخ قبلی شما سپاس گزارم
سوالی که در ادامه سوال قبلی داشتم اینه که اگر u که ورودی سیستم است معلوم نباشد و هیچ کنترل و دسترسی روی ورودی سیستم نداشته باشیم و فقط به measurment های سیستم در طول زمان دسترسی داشته باشیم امکان تخمین معادله حالت مشاهده برای این سیستم وجود دارد یا نه؟ اگر جلسه ای از فیلم های آموزشی از تخمین بهینه حالت یا هر مبحث دیگری که در این سایت فکر می کنید به به این سوالم ربط پیدا می کنه ممنون می شم بفرمایید تا تهیه کنم
علی جوادی
شاید روشی باشه ولی من در این زمینه اطلاعی ندارم
elnaz
سلام آقای دکتر
بابت فیلم های آموزشی که تهیه کردید خیلی ممنون هستم واقعا بی نظیر هستند
در رابطه با فیلم جلسه 13 سوال دارم اول جلسه فرمودید که فرض می کنیم ورودی u معلوم باشد و فرمودید فرض می کنیم دیگه مسئله طراحی رو نداریم یعنی اگه u معلوم نباشه باید چه جوری طراحی رو انجام بدیم و باید فیلم آموزشی کدوم جلسه رو نگاه کنم؟ و سوال دیگه این که اگه علاوه بر u که ورودی سیستم است مدل حالت مشاهده رو هم نداشته باشیم و فقط به measurment های سیستم در طول زمان دسترسی داشته باشیم باز هم از فیلتر کالمن برای تخمین حالت استفاده کنیم یا نمی شه؟
علی جوادی
با سلام تشکر از لطف شما
بحث طراحی u مربوط به کنترل و پایداری سازی میشه و به بحث تخمین ربطی نداره.
روشهای مختلفی برای کنترل سیستمهای مختلف وجود داره که باید به مراجع مربوطه مراجعه کنید و هر روشی که مدنظرتون هست باید سرچ کنید.
فیلتر کالمن هر دو معادله حالت و خروجی رو نیاز داره و بدون هر کدومشون فیلتر کالمن قابل استفاده نیست.
salehi
با سلام و عرض ادب خدمت استاد گرامی
هدف نهایی من استفاده از فیلتر کالمن برای تخمین حالت سیستم می باشد اما مدل حالت مشاهده را نداریم و تنها به measurment های سیستم در طول زمان دسترسی داریم و به ورودی سیستم هم دسترسی نداریم آیا امکان تخمین مدل حالت مشاهده برای این سیستم وجود دارد؟
علی جوادی
سلام
برای فیلتر کالمن هم معادلات حالت مورد نیازه و هم معادلات خروجی و هر دو ضروری هستند.
از فیلتر کالمن نمیتونید استفاده کنید