Model Predictive Control (MPC)
A Short Summary
Introduction…
MPC به خانواده ای از کنترل کننده ها اطلاق می شود که با استفاده از مدلی از پروسه و با مینیمم کردن یک تابع هزینه، سیگنال کنترلی را بدست می آوردند
مدل
تابع هزینه
استراتژی receding
در هر لحظه افق رو به آینده پیش می رود
سیگنال کنترلی در هر لحظه محاسبه می شود
تفاوت مدل های مختلف
در مدل مورد استفاده برای پروسه و نویز
تابع هزینه ای که باید مینیمم شود
مزیت های MPC
به جهت قابل فهم بودن اصول و مفاهیم پایه ای در این روش و سادگی تنظیم پارامترهای آن، تنها نیاز به اطلاعات کنترلی محدودی جهت بکارگیری این روش کنترلی میباشد.
الگوریتمهای MPC را میتوان جهت کنترل پروسه های مختلفی بکار برد. این پروسه ها ممکن است دارای دینامیک ساده و یا پیچیده ای از قبیل سیستمهای دارای تاخیر زمانی طولانی، سیستمهای غیرکمینه فاز و یا سیستمهای ناپایدار باشند.
به سهولت میتوان آن را در سیستمهای چند متغیره بکار برد.
این الگوریتم ذاتاً زمانهای مرده را جبران میکند.
مزیت های MPC
الگوریتمMPC یک روش کنترل feed forward جهت جبران سازی اغتشاشهای قابل اندازه گیری بکار میگیرد.
قوانین کنترل خطی را بسادگی میتوان در کنترل کننده های حاصل از این روش بکار برد.
این روش قادر است که (constraints) محدودیتهای موجود در پروسه تحت کنترل را بسادگی در نظر بگیرد.
هنگامیکه خروجی مرجع در زمانهای آینده شناخته شده است، عملکرد این الگوریتم بسیار مناسب است.
استراتژی MPC
خروجیها در فاصله زمانی مشخص N که افق پیش بینی نامیده میشود، با استفاده از مدل پروسه، در هر لحظه t ، پیش بینی میشود. این خروجیهای پیش بینی شده به مقادیر معلوم ( ورودیها و خروجیهای تا لحظه t ) و سیگنال کنترل در زمان آینده وابسته هستند که باید محاسبه و به سیستم اعمال شوند.
مجموعه سیگنالهای کنترلی در زمان آینده، با مینیمم کردن تابع هزینه مشخصی که سعی در کاهش خطای خروجی پروسه نسبت به خط سیر مرجع دارد بدست می آید
سیگنال کنترل تنها در لحظه t به پروسه اعمال می شود در حالیکه باقی سیگنالهای کنترلی در زمان آینده، کنار گذاشته میشوند
ساختار MPC
اجزای MPC
مدل پیش بینی
تابع هزینه
بدست آوردن قانون کنترلی
مدل، پایه اصلی الگوریتم MPC است
دینامیک پروسه را نشان دهد
قادر به پیش بینی و محاسبه خروجی پروسه در آینده باشد
قابل فهم باشد
هدف اصلی قوانین کنترلی این است که خروجی پروسه در آینده بر روی افق معین، مسیر مرجع تعیین شده را دنبال کند و همزمان فرمان کنترل u را برای رسیدن به هدف تعیین کند
برای بدست آوردن مقادیر سیگنال کنترلی باید تابع J را مینیمم کرد برای این کار باید مقادیر پیش بینی شده خروجی را بصورت تابعی از مقادیر گذشته ورودی و خروجی و سیگنالهای فرمان کنترلی در فواصل زمانی آینده، بدست آورد که اینکار توسط انتخاب مدل و جایگذاری آن در تابع هدف انجام میشود. در صورتیکه تابع هدف مربعی و مدل خطی باشد و همچنین محدودیتی وجود نداشته باشد، جوابی بفرم بسته برای فرامین کنترلی بدست می آید. در غیر اینصورت از روش تکراری کمینه سازی باید استفاده کرد
مدل
پاسخ ضربه
پاسخ پله
تابع تبدیل
فضای حالت
تابع هزینه
N1 و N2 حد پایین و بالای افق پیش بین هستند
Nu افق کنترلی
ضرایب و رفتار تابع هدف را در فواصل زمانی آینده مشخص میکنند و به ترتیب وزنی هستند که بر روی quality و effort می گذاریم
مسیر مرجع
یکی از مزیتهای کنترل پیش بین این است که اگر تغییرات مسیر مرجع در آینده از ابتدا مشخص باشد، سیستم قادر به واکنش قبل از وقوع این تغییرات در خط سیر مرجع خواهد بود. بنابر این اثر تاخیر در پاسخ پروسه حذف میشود
عددی بین صفر و یک است مقادیر کوچک این پارامتر، تعقیب کنایی سریع را ایجاد میکند مقادیر بزرگ آن، تعقیب کنایی کندتری را ایجاد میکند
مسیر مرجع
مقادیر کوچک این پارامتر، تعقیب کنایی سریع (w1) را ایجاد میکند مقادیر بزرگ آن، تعقیب کنایی کندتری (w2) را ایجاد میکند
محدودیت ها Constraints
در عمل تمام پروسه ها دارای محدودیت هستند. با درنظر گرفتن این محدودیتها سعی میشود فرمان کنترلی چنان تعیین شود که سیستم در محدوده مشخص شده به فعالیت بپردازد
اکثر الگوریتمهای کنترلی MPC این محدودیتها را هنگام بهینه سازی، درنظر میگیرند
با اضافه کردن این شرطها به تابع هدف، کمینه سازی بمراتب پیچیده تر میشود. بنابراین پاسخ برخلاف حالت بدون محدودیت، بفرم صریح بدست نمی آید
DMC (Dynamic Matrix Control)
از پاسخ پله استفاده میکند
برای سیستمهای چند متغیره استفاده می شود
اغتشاش در طول افق ثابت است
روابط الگوریتم DMC
روابط الگوریتم DMC
الگوریتم کنترلی
سیگنال کنترلی با کمینه کردن تابع هزینه به صورت زیر بدست می آید
اگر محدودیت نداشته باشیم، با مشتق گیری از J و مساوی صفر قرار دادن آن سیگنال کنترلی به صورت زیر بدست می آید:
دقت شود که در تمام الگوریتم های کنترلی تنها اولین المان از بردار کنترلی استفاده می شود
الگوریتم کنترلی با محدودیت
سیگنال کنترلی با کمینه کردن تابع هزینه و لحاظ کردن محدودیت ها بدست می آید:
الگوریتم کنترلی با محدودیت
Quadratic Programming
– qpdantz
– linprog
quadprog
Extended DMC
ایده آن افزودن ترم جدیدی به خروجی پیش بینی است که در بر دارنده ترم غیر خطی است.
برای سیستمهای چند متغیره استفاده می شود
اغتشاش در طول افق ثابت است