کنترل پیشبین

در این پست آموزش کنترل پیشبین بر اساس مدل قرار داده شده است. کنترل پیش بین بر اساس مدل (Model Predictive Control یا MPC) یک استراتژی کنترل پیشرفته می باشد که برای اولین بار در سال 1981 در صنایع پالایشگاههای نفت برای کنترل ستون تقطیر استفاده شد. در سالهای اخیر کنترل  پیش بین بطور گسترده در بسیاری از فرآیندهای صنعتی بکار گرفته شده و عملکرد مطلوبی را ارائه کرده است. کنترل پیشبین توانایی پیش بینی رخدادهای آینده و اتخاذ اعمال کنترلی متناسب با آن را دارد. کنترل کننده‌های کلاسیک و LQR توانایی پیش بینی را ندارند.  این پیشبینی با استفاده از مدل صورت می گیرد که می تواند خطی و یا غیر خطی باشد. تغییرات سیگنال کنترل با بهینه سازی تابع هدف مشخص در یک افق زمانی محدود محاسبه می شود و تنها اولین تغییر سیگنال کنترل اجرا می‌شود و محاسبه  برای تغییر بعدی تکرار می‌شود. مکانیسم فیدبک به کار  رفته باعث می شود که خطاهای پیش بینی ناشی از عدم تطبیق بین مدل و فرآیند تا حدودی جبران شود. هدف  این مجموعه آموزشی معرفی  روش های مختلف طراحی کنترل پیشبین بر اساس مدل  می باشد و قابل استفاده برای دانشجویان و محققین رشته های مختلف مهندسی می باشد.


 جلسه اول(رایگان): در این جلسه به معرفی استراتژی کنترل پیشبین بر اساس مدل پرداخته شده است. ابتدا کاربردهای مختلف کنترل پیشبین در زمینه های مختلف مهندسی بیان شده  و  مفهوم پیشبینی در کنترل با استفاده از یک مثال شهودی توضیح داده شده است. در ادامه سازختار و نحوه تولید سیگنال کنترلی در این روش کنترلی تشریح  و وجوه تشابه روش های مختلف کنترل پیشبین تبیین شده است. در بخش بعدی مزیتهای کنترل پیشبین نسبت به روش های کلاسیک مورد بررسی قرار گرفته است و چالشهای که در این استراتژی وجود دارد تبیین شده است. در انتها با توجه به مباحث ارائه شده روشی برای طراحی کنترل پیشبین بر اساس مدل در Excel برای یک سیستم خطی تک ورودی و تک خروجی ارائه شده که قابل تعمیم برای سیستمهای غیر خطی و چند ورودی و چند خروجی می باشد. جلسه اول در واقع آموزش کامل و ساده برای شناخت این روش و طراحی برای هر سیستم خطی و غیر خطی با محدودیتهایی سیستمی می باشد.

مدت زمان: 62 دقیقه

محتوا: فایل تصویری ۷۲۰p ، فایل طراحی کنترل پیشبین با Excel و  پاورپورینت درس.

پیش نمایش جلسه اول:


جلسه دوم: در این جلسه، سیستم­های چند ورودی و چند خروجی هواپیمای بوینگ 747 و ستون تقطیر معرفی می شود. سپس سرویس اینترنتی که یک جعبه ابزار بهینه سازی سیستمها در مقیاس بزرگ می‌باشد، خدمتتان معرفی می‌شود. با استفاده از این جعبه ابزار برای سیستمهای اشاره شده با در نظر گرفتن محدودیتهای سیستم، کنترل پیشبین بر اساس مدل طراحی و شبیه سازی انجام گرفته است. در انتهای این جلسه به بررسی تاثیر مدل در عملکرد کنترل پیشبین بر اساس مدل اشاره شده و تاثیر تخمین همزمان پارامترهای مدل در عملکرد کنترلی مورد بررسی قرار گرفته است. مباحث مطرح شده در این جلسه پیش نیاز اصلی جلسه سوم می باشد.

مدت زمان: 74 دقیقه

محتوا: فایل تصویری ۷۲۰p ، کدهای طراحی کنترل پیشبین در متلب  و  پاورپورینت درس.

پیش نمایش جلسه دوم:


جلسه سوم:  مباحث این جلسه مربوط به طراحی  و شبیه سازی کنترل پیشبین غیر خطی می باشد. در انتهای این جلسه این قابلیت را بدست خواهید آورد که برای هر مدل غیر خطی که توسط شما در رشته های مختلف توسعه داده شده، تخمین بهینه پارامترهای مدل را انجام دهید و با استفاده از مدل دقیق بدست آمده کنترل پیشبین غیر خطی طراحی کنید. ابتدا مدل غیر خطی سیستم رآکتور شیمیایی (CSTR) معرفی شده و با استفاده از مباحث مطرح شده در جلسه دوم در سیمولینک متلب، کنترل پیشبین بر اساس مدل غیر خطی طراحی و شبیه سازی شده است. ساختار متفاوت ارائه شده در این روش این قابلیت را فراهم می سازد که در طول زمان شبیه سازی، سیگنالهای اغتشاش و مرجع را تغییر دهیم. در بخش بعدی این جلسه مدل غیر خطی چهار تانک معرفی شده است. سپس پارامترهای نا مشخص این مدل غیر خطی با داده های واقعی فرآیند تخمین زده شده است. روش ارائه شده در این بخش کلی می باشد و شما قادر خواهید بود برای هر سیستم غیر خطی با داده های واقعی بهترین پارامترهای ممکن را تخمین بزنید. سپس برای مدل اصلاح شده، کنترل پیشبین غیر خطی طراحی شده است. در انتهای با بررسی مقالات روز دنیا نحوه ارائه مقاله با این ابزارها ارائه شده است.

مدت زمان: 67 دقیقه

محتوا: فایل تصویری ۷۲۰p ، کدهای طراحی کنترل پیشبین در متلب و سیمولینک و  پاورپورینت درس.

پیش نمایش جلسه سوم:


جلسه چهارم:  مباحث این جلسه مربوط به طراحی  و شبیه سازی کنترل ماتریس دینامیکی (Dynamic Matix Control)   برای سیستم  رادیاتور (آب گرمکن) می باشد. DMC یکی از مشهورترین و شهودی ترین روش های طراحی کنترل پیشبین بر اساس مدل می باشد. در این روش از مدل پاسخ پله  برای پیشبینی رفتار آینده فرایند استفاده می شود. در الگوریتم ارائه شده در این جلسه تاثیر اغتشاش غیر قابل اندازه گیری در طراحی کنترل کننده لحاظ گردیده است. بنابراین کنترل کننده نسبت به عدم انطباق بین مدل و فرایند تا حدودی مقاوم می باشد. 

مدت زمان: 62 دقیقه

محتوا: فایل تصویری ۷۲۰p ، کدهای طراحی کنترل ماتریس دینامیکی و  پاورپورینت درس.

پیش نمایش جلسه چهارم:


جلسه پنجم:  مباحث این جلسه مربوط به طراحی  و شبیه سازی کنترل پیشبین دارای پیشخور می باشد. در کنترل پیشبین بر اساس مدل اگر  اغتشاش قابل اندازه گیری و مدل اغتشاش مشخص باشد، کنترل پیشبین دارای ماهیت ذاتی پیش خور می باشد. در این جلسه  نحوه وارد کردن اغتشاش قابل اندازه گیری در طراحی کنترل ماتریس دینامیکی مطرح می شود. سپس در نرم افزار متلب با طراحی کنترل کننده پیشبین برای فرایند رادیاتور  تاثیر اغتشاش قابل انداره گیری و غیر قابل اندازه گیری مقایسه شده است. همچنین مباحث مربوط به نویز سنسور و اغتشاش در ورودی و اشباع عملگر شبیه سازی و تاثیر آنها در عملکرد کنترل کننده مورد بررسی قرار گرفته است. در بخش انتهایی نحوه تنظیم بهینه پارامترها در کنترل پیشبین ارائه شده و بر روی یک سیستم تاخیر دار، مورد بررسی قرار گرفته است.

مدت زمان: 53 دقیقه

محتوا: فایل تصویری ۷۲۰p ، کدهای طراحی کنترل ماتریس دینامیکی دارای پیشخور، همراه با تنظیم بهینه پارامترها در متلب و  پاورپورینت درس.

پیش نمایش جلسه  پنجم:


جلسه ششم:  مباحث این جلسه مربوط به طراحی  و شبیه سازی کنترل پیشبین  تطبیقی برای سیستم شدیدا غیر خطی مبدل DC به AC می باشد. کنترل پیشبین خطی برای سیستم غیر خطی در نقطه کار عملکرد مطلوب ارائه می کند که با تغییر شرایط عملکرد کنترلی تحت تاثیر واقع می شود. کنترل پیشبین تطبیقی ارائه شده در این جلسه با تغییر شرایط فرآیند، تغییر می کند تا عملکرد کنترلی مطلوبی بدست آید.

مدت زمان: 35 دقیقه

محتوا: فایل تصویری ۷۲۰p ، کدهای طراحی کنترل پیشبین تطبیقی در متلب و  پاورپورینت درس.

پیش نمایش جلسه  ششم:


جلسه هفتم:  مباحث این جلسه مربوط به طراحی  و شبیه سازی کنترل پیشبین  غیر خطی EDMC می باشد. بسیاری از فرآیندها دارای ماهیت غیر خطی هستند، بطوریکه کنترل پیشبین خطی عملکرد مطلوبی را در کنترل این سیستم ها ارائه نمی کند. الگوریتم EDMC روشی را برای توسعه روش کلاسیک DMC به فرآیندهای غیر خطی ارائه می کند. در این جلسه این روش کنترلی معرفی و چالشهای آن مورد بررسی قرار گرفته است.

مدت زمان: 50 دقیقه

محتوا: فایل تصویری ۷۲۰p ، کدهای طراحی کنترل پیشبین غیر خطی در متلب، مقالات مربوطه  و  پاورپورینت درس.

پیش نمایش جلسه  هفتم:


جلسه هشتم:  مباحث این جلسه مربوط به مباحث اولیه طراحی  و شبیه سازی کنترل پیشبین مقاوم با استفاده از نامساوی های ماتریس خطی می باشد. در این جلسه انواع عدم قطعیت در کنترل پیشبین مقاوم مورد بررسی قرار گرفته و با مثال های متنوع به بیان این موضوع پرداختیم. مدل سازی polytopic عدم قطعیتها  مطرح و مزیت این روش در آنالیز سیستمهای دارای عدم قطعیت بررسی شده است. در بخش پایانی نامساوی های ماتریس خطی بصورت مختصر توضیح داده شده و با استفاده از LMIToolBox و YALMIP چند نامساوی ماتریس خطی در متلب حل شده است.

مدت زمان: 67 دقیقه

محتوا: فایل تصویری ۷۲۰p ، کدهای آموزش حل نامساوی های ماتریس خطی در متلب، مقالات مربوطه  و  پاورپورینت درس.

پیش نمایش جلسه  هشتم:


جلسه نهم:  در این جلسه  روش طراحی کنترل پیشبین مقاوم با استفاده از نامساوی های ماتریس خطی معرفی شده است. شرط پایداری سیستم حلقه بسته منجر به نامساوی های ماتریس خطی شده که باید در فاصله زمانی بین نمونه برداری ها حل شوند تا بهره فیدبک حالت مقدارش مشخص شود. این روش بر روی آنتن ردیاب وسیله نقلیه که دارای عدم قطعیت در دینامیکش می باشد، در نرم افزار متلب شبیه سازی  شده است. این روش در بسیاری  از مقالات برای سیستمهای دارای عدم قطعیت بکار گرفته شده و یک زمینه تحقیقاتی مناسب در زمینه کنترل پیشبین می باشد.

مدت زمان: 48 دقیقه

محتوا: فایل تصویری ۷۲۰p ، کدهای طراحی کنترل پیشبین مقاوم در متلب  و  پاورپورینت درس.

پیش نمایش جلسه  نهم:


جلسه دهم:  در این جلسه  روش طراحی کنترل پیشبین تعمیم یافته معرفی شده است. این روش یکی از روشهای مهم کنترل پیشبین بر اساس مدل می باشد که بر روی سیستم های نامینیمم فاز و ناپایدار قابل استفاده می باشد. در این جلسه  این روش در نرم افزار متلب پیاده سازی و شبیه سازی شده است.

مدت زمان: 56 دقیقه

محتوا: فایل تصویری ۷۲۰p ، کدهای طراحی کنترل پیشبین تعمیم یافته  و  پاورپورینت درس.

پیش نمایش جلسه  دهم:


جلسه یازدهم:  در این جلسه  روش طراحی کنترل پیشبین تعمیم یافته با استفاده از حل معادله دیوفانتین معرفی شده است. ایتدا روش حل معادله دیوفانتین ارائه  شده و با استفاده از آن طراحی کنترل پیشبین با در نظر گرفتن نویز رنگی در مدل صورت گرفته است.  این روش در نرم افزار متلب پیاده سازی و شبیه سازی شده و کاهش واریانس نویز خروجی مورد بررسی قرار گرفته  است. 

مدت زمان: 50 دقیقه

محتوا: فایل تصویری ۷۲۰p ، کدهای طراحی کنترل پیشبین تعمیم یافته  و  پاورپورینت درس.

پیش نمایش جلسه  یازدهم:


جلسه دوازدهم:  در این جلسه آموزش جعبه ابزار کنترل پیشبین متلب ارائه شده است. این جعبه ابزار یکی از قدرتمندترین نرم افزارهای طراحی و شبیه سازی کنترل پیشبین بر اساس مدل می باشد. در این جلسه ساختار کلی تعریف مدل و پارامرهای طراحی مطرح شده است. ایتدا نحوه طراحی و شبیه سازی کنترل پیشبین در command line متلب مورد بررسی  قرار گرفته و سپس نحوه طراحی و شبیه سازی با واسط گرافیکی mpcDesigner   ارائه گردیده است. برای دو مثال CSTR و ستون تقطیر با این ابزارها طراحی و شبیه سازی کنترل پیشبین صورت گرفته و تاثیر عوامل مختلف مانند محدودیتهای ورودی، وزنها، اغتشاش قابل اندازه گیری و غیر قابل اندازه گیری بررسی شده است.

مدت زمان: 60 دقیقه

محتوا: فایل تصویری ۷۲۰p ، کدهای طراحی  و  پاورپورینت درس.

پیش نمایش جلسه  دوازدهم:


جلسه سیزدهم:  در این جلسه ابتدا مبانی شناسایی سیستم مطرح شده است. سپس با استفاده از ابرازهای موجود در متلب به تخمین مدل های مختلف برای داده های ورودی و خروجی یک فرآیند پرداخته ایم. با استفاده از جعبه ابزار کنترل پیشبین بر اساس مدل برای مدل شناسایی شده و کنترل پیشبین بر اساس مدل طراحی شده است. در ادامه روش طراحی کنترل پیشبین در سیمولینک متلب برای فرآیند CSTR ارائه  گردیده است. ایتدا روش استخراج شرایط کار در حالت ماندگار و خطی سازی حول این نقطه کار با استفاده از بلوک MPC تبیین شده و برای مدل خطی سازی شده چندین کنترل کننده پیشبین طراحی و با تنظیم پارامترهای مختلف عملکردشان مورد بررسی قرار گرفته است. کنترل پیشبین طراحی شده در بلوک MPC  قرار گرفته  و بر روی مدل غیر خطی CSTR  در محیط سیمولینک پیاده سازی و شبیه سازی شده است.

مدت زمان: 65 دقیقه

محتوا: فایل تصویری ۷۲۰p ، کدهای طراحی  و  پاورپورینت درس.

پیش نمایش جلسه  سیزدهم:


جلسه چهاردهم:  در این جلسه روش طراحی کنترل کننده PID پیشبین با استفاده از  کنترل پیشبین تعمیم یافته با وزن دهی حالت ماندگار خروجی مطرح شده است. کنترل کننده PID  بعلت سادگی در پیاده سازی کاربرد گسترده ای در صنعت دارد. برای داشتن  عملکرد مطلوب، ضرایب این کنترل کننده باید بطور مناسبی تنظیم شوند. در این بخش با استفاده از کنترل پیشبین GPC ضرایب کنترل کننده PID  تنظیم می شود بطوریکه کنترل کننده کلاسیک PID عملکردی همانند کنترل کننده مدرن GPC دارد. برای اثبات صحت و بررسی عملکرد، برای یک فرآیند ناپایدار با روش ارائه شده در محیط متلب کدهای طراحی ارائه شده و در محیط سیمولینک شبیه سازی صورت گرفته است.

مدت زمان: 63 دقیقه

محتوا: فایل تصویری ۷۲۰p ، کدهای طراحی  و  پاورپورینت درس.

پیش نمایش جلسه  چهاردهم:


جلسه پانزدهم:  در این جلسه اصول اولیه کنترل کننده پیشبین صریح(EMPC) معرفی شده است. کنترل پیشبین صریح یکی از الگوریتمهای پیاده سازی بلادرنگ کنترل پیشبین برای فرآیندها با دینامیک سریع  می باشد. در این روش لازم نیست که در فاصله زمانی بین دو نمونه مسئله بهینه سازی برخط حل شود. بلکه مسئله بهینه سازی بصورت offline و با روش Multi-Programing حل می شود. این روش نیز با چالش ها و مشکلات مخصوص به خودش روبه رو است که در این جلسه به این مباحث نیز پرداخته شده است. از آنجائیکه این روش، زمینه فعال تحقیقاتی در حوزه کنترل پیشبین می باشد، به معرفی  مقالات پایه ای این روش پرداخته ایم و همچنین سخنرانی پروفسور Bemporad در دانشگاه میشیگان سال 2016 در اختیار شما قرار می گیرد تا بتوانید اطلاعات بیشتری در این زمینه بدست آورید. در پایان برای سیستم انتیگرال دو گانه با استفاده از ابزارهای متلب کنترل پیشبین صریح طراحی کرده و در محیط سیمولینک شبیه سازی انجام داده ایم. 

مدت زمان: 60 دقیقه

محتوا: فایل تصویری ۷۲۰p ، کدهای طراحی  و  پاورپورینت درس.

پیش نمایش جلسه پانزدهم:


بخش ویژه:  در این قسمت شبیه سازیهای مقالات و ابزارهای  طراحی در حوزه کنترل پیشبین معرفی می شود. درضمن فایلهای این بخش مجزا از جلسات آموزشی می باشند.

————————————————–

1- کنترل پیشبین غیرخطی در میپل (Maple): میپل نرم‌افزاری بسیار قوی در زمینهٔ ریاضی است که در کشور کانادا توسعه پیدا کرده است. شرکت میپل سافت (Maple Soft) اخیرا ابزار طراحی کنترل پیشبین غیرخطی با قابلیت ایجاد کد به زبان C را فراهم کرده است. در این قسمت فیلم آموزشی(انگلیسی)، مقالات مربوطه و کد میپل برای  کنترل پیشبین غیرخطی  هاورکرافت (هوا ناو) در اختیار شما قرار می گیرد.

—————————————————

2- رساله های دکتری در حوزه کنترل پیشبین: برای  انتخاب موضوع در هر حوزه تحقیقاتی، نیازمند بررسی رساله های به روز  دکتری انجام شده در آن حوزه می باشیم. با توجه به نیاز دانشجویان محترم، حدود 28 رساله دکتری به روز در حوزهای مختلف کنترل پیشبین از طریق پایگاه پروکوئیست (ProQuest)  دانلود و در اختیار شما دوست گرامی قرار می گیرد.

————————————————–

3- کد شبیه سازی GPC در سیمولینک: برنامه شبیه سازی الگوریتم GPC در فضای حالت بدون حل معادله دیوفانتین در سیمولینک متلب ارائه شده است. کنترل کننده در داخل یک Sfunction پیاده سازی شده است. شما میتوانید با توجه به توضیحاتی که در مقاله پیوست و فایل شبیه سازی ارائه شده پارامترهای مختلف  کنترل کننده را در تغییر دهید و سیستمهای خطی مختلف را کنترل کنید.

————————————————–

4-کنترل مدل غیر خطی فرآیند دو تانک کنترل فرآیند غیرخطی دوتانک با خطی سازی حول نقطه کار با روش GPC در محیط سیمولینک شبیه سازی شده است. مدل غیر خطی از مقاله پیوست  استخراج شده است و کدها شامل مدل فرآیند غیرخطی، کنترل کننده پیشبین و تعیین ضرایب GPC می باشد.

————————————————–

5کدهای شبیه سازی کنترل پیشبین در فضای حالت: استفاده از مدل فضای حالت یکی از پر طرفدارترین روشهای طراحی کنترل پیشبین می باشد. با توجه به درخواست های متعدد در این بخش کدهای طراحی کنترل پیشبین با استفاده از فضای حالت در اختیار شما قرار می گیرد. شما همچنین میتوانید محدودیتهای سیستم را در طراحی کنترل پیشبین لحاظ کنید. در این کدها از دستور quadprog متلب برای حل مسئله بهینه سازی کنترل پیشبین استفاده شده است. برای آشنایی بهتر دو سیستم 4 تانک و هلیکوپتر با این کدها شبیه سازی شده اند. روند کار  و نحوه طراحی در یک فایل PDF (به زبان انگلیسی) توضیح داده شده است.

————————————————–

6– کنترل پیشبین مقاوم با در نظر گرفتن محدودیتهای عملگر در نظر گرفتن محدودیتهای ورودی در طراحی کنترل پیشبین اهمیت زیادی دارد و در مقالات روشهای مختلف برای این منظور ارائه شده است. در این بخش کدهای شبیه سازی در متلب برای طراحی کنترل پیشبین مقاوم  با سه روش مختلف با در نظر گرفتن محدودیت ورودی ارائه شده است. این بخش دارای گزارش فارسی می باشد.  برای اینکه بتوانید مقایسه بهتری بین روشهای مختلف انجام دهید، کدهای شبیه سازی را به ترتیب تاریخ اشاره شده در نام کد اجرا کنید.  این بخش در واقع شبیه سازی مقاله زیر است.

An improved robust model predictive control design in the presence of actuator saturation. Automatica, 2011



                            
                                                            

مطالعه بیشتر