A Satellite Control Method Using Laguerre Model Predictive Control Approach
Subject Areas : Specialshekoofeh jafari fesharaki 1 * , farzad tihidkhah 2 , heydarali talebi 3
1 -
2 -
3 -
Keywords: Satellite, Model Predictive Control, Laguerre Functions,
Abstract :
In this paper a Model Predictive Method based controller is proposed to control a satellite. Model Predictive Control (MPC) has been well known as a practical control method for various systems in industry. A problem with this method is its computational effort and time consuming. To reduce computational load Laguerre functions have been proposed in this literature. Simulation results are given to show feasibility and the validity of the design. A comparison between the time consumed in the presence and the absence of the Laguerre functions is done too.
فصلنامه علمي- پژوهشي فناوري اطلاعات و ارتباطات ایران | سال پنجم، شمارههاي 15 و 16، بهار و تابستان 1392 صص: 39- 48 |
|
کنترل ماهواره با رویکرد کنترل پیشبین و با استفاده از توابع لاگر
شکوفه جعفری فشارکی*1 فرزاد توحید خواه** حیدرعلی طالبی***
*کارشناسی ارشد، دانشکده مهندسی پزشکی، دانشگاه صنعتی امیرکبیر، تهران
** دانشیار، دانشکده مهندسی پزشکی، دانشگاه صنعتی امیرکبیر، تهران
*** استاد، دانشکده مهندسی برق، دانشگاه صنعتی امیرکبیر، تهران
تاريخ دريافت: 20/03/1392 تاريخ پذيرش: 10/06/1392
چکيده
در این مقاله یک کنترلکننده بر اساس کنترل پیشبینی جهت هدایت و کنترل ماهواره پیشنهاد شده است. امروزه کنترل کنندهی پیشبینی یک روش عملی شناخته شده جهت کنترل سیستمهای مختلف در صنعت به شمار میرود. یکی از چالشهای موجود بر سر راه اعمال عملی این نوع کنترل کنندهها بار محاسباتی آنها و زمان بر بودن عملیات کنترلی آن در هر گام زمانی میباشد. در این پژوهش برای کاهش بار محاسباتی کنترل کنندهی پیشبین استفاده از توابع لاگر پیشنهاد شده است. برای نشان دادن امکان پذیری و اعتبار کنترل کنندهی طراحی شده، نتایج شبیه سازی حاصل از اعمال آن روی یک مدل از ماهواره آورده شده است. همچنین مقایسهای بین زمان محاسبات کنترلکننده با استفاده از توابع لاگر و در غیاب آنها انجام گرفته است.
كليد واژگان: ماهواره، کنترل پیشبین، توابع لاگر.
1. مقدمه
کنترل پیشبین1 به دستهای از الگوریتمهای کامپیوتری کنترل اطلاق میشود که از مدل سیستم به صورت مستقیم برای پیشبینی پاسخ آیندهی آن استفاده میکنند. در هر بازهی زمانی الگوریتم کنترل کنندهی پیشبین سعی بر آن دارد که با محاسبهی یک دنباله از متغیرهای کنترلی رفتار آیندهی سیستم را بهینه سازی نماید. اولین المان از این توالی ورودی کنترلی بهینه شده به سیستم اعمال میگردد و در بازهی زمانی بعدی برای به دست آوردن ورودی کنترلی جدید، محاسبات دوباره تکرار میگردد [1].
معمولاً مدلی که برای طراحی کنترل پیشبین استفاده میشود مدل فضای حالت2 است که اطلاعات مورد نیاز در هر گام کنترلی جهت پیشبینی آینده با استفاده از حالتهای کنونی سیستم به دست میآیند [2].
تنها روش کنترل پیشرفته طراحی شده که تأثیر قابل توجهی در مهندسی کنترل صنعتی داشته است، کنترل پیشبین میباشد [3]. تجربههای عملی و تئوری زیادی بیانگر آن بوده است که کنترل کنندهی پیشبین عملکرد خوبی برای دستهی وسیعی از سیستمها داشته است. یکی از ویژگیهای اصلی کنترل کنندهی پیشبین که آن را به ویژه در صنعت محبوب کرده است توانایی برخورد مستقیم این کنترلکننده با قیود سخت موجود در سیستم میباشد. علاوه بر این کنترل کنندهی پیشبین به سادگی قابل تعمیم برای سیستمهای چند متغیره، تاخیردار و غیر حداقل فاز است [2] و [4-5].
تمام اینها در حالی است که یکی از مهمترین چالشهایی که بر سر راه پیادهسازی عملی کنترل پیشبین وجود دارد و اعمال آن را محدود کرده است بار محاسباتی روی خط این کنترلکننده میباشد [2] و [6]. در نتیجه در سیستمهایی که زمان نمونهبرداری آنها بسیار کوچک باشد و یا دینامیک سیستم پیچیده باشد کنترل کنندهی پیشبین در هر گام زمانی با تعداد زیادی متغیر تصمیمگیری رو به رو خواهد بود و همین باعث کاهش سرعت اجرای بلادرنگ این کنترلکننده میباشد.
1 Model Predictive Control(MPC) 2 State Space model |
پیشبین استفاده میشود آن است که سیگنال کنترل به صورت تابعی از شرایط اولیه به صورت خارج از خط محاسبه شده و در یک جدول مراجعهای قرار میگیرد تا کنترلکننده به صورت روی خط با توجه به شرایط اولیهی سیستم به این جدول مراجعه نموده و ورودی کنترلی را برای سیستم محاسبه کند [7]-[8]. این روش توانسته است در سیستمهای کوچک سرعت را تا 100 برابر افزایش دهد [9] اما در این روش با افزایش پارامترهایی چون افق پیشبینی، کنترل، تعداد حالتها و ورودیها تعداد المانهای این جدول به صورت نمایی افزایش مییابد. بنابراین در سیستمهای بزرگ اجرای این روش عملی نیست .
یکی از رویکردهای بسیار مناسب برای کاهش بار محاسباتی این کنترلکننده استفاده از توابع لاگر در طراحی آن میباشد. با پارامتری کردن دنباله سیگنال کنترل میتوان به طور موثری تعداد قیود موجود در افق پیشبینی و در نتیجه تعداد پارامترهایی که در هر گام کنترلکننده با آن سر و کار دارد را کاهش داد و بار محاسباتی این کنترلکننده برای سیستمهای با ابعاد وسیع و یا دینامیک سریع را کم کرد.
علاوه بر این یک عامل کاهشی نمایی در توابع لاگر وجود دارد که تضمین کنندهی همگرایی تفاضل سیگنال کنترل به سمت صفر، بعد از یک مدت زمان گذرا میباشد. بنابراین در بیشتر موارد میتوان قیود را تنها در این دورهی گذرا از پاسخ اعمال نمود و در نتیجه تعداد قیود موجود در مسئلهی کنترل پیشبین را نیز کاهش داد [2].
بنابر یک تعریف کلی، ماهواره1 به دستگاههای ساخت بشر گفته میشود که در مدارهایی در فضا به گرد زمین یا سیارات دیگر میچرخند. ماهوارهها برای اهداف مختلفی استفاده میشوند. اهمیت آنها برای مخابرات و بررسی منابع زمینی و پژوهش و کاربردهای نظامی و جاسوسی روزافزون است. معمولاً یک ماهواره دارای سیستمی نیمه خودکار و کنترل شده توسط کامپیوتر میباشد.
علاوه بر تمام این موارد، سیستم ماهواره یک سیستم چند متغیره2 بوده و نیازمند کنترل بلادرنگ است و قیود زیادی مانند قیود روی سیگنال ورودی، نرخ تغییرات سیگنال ورودی و سیگنال خروجی در سیستم آن وجود دارد. بنابراین کنترل پیشبین میتواند انتخاب مناسبی برای کنترل و یا پایدارسازی سیستم یک ماهواره باشد.
در این مقاله هدف طراحی یک کنترل کنندهی پیشبین برای کنترل یک ماهواره است به طوری که ماهواره بتواند یک مسیر از پیش مشخص را دنبال کند. در طراحی این کنترلکننده از توابع لاگر3 استفاده میشود تا بار محاسباتی کنترلکنندهی پیشبین طراحی شده کاهش یابد. همچنین برای حل مسئلهی برنامهریزی مربعی موجود در کنترل پیشبین از برنامه ریزی مربعی هیلدرث4 استفاده خواهد شد. در ادامه برای مقایسهی زمان محاسبات کنترل پیشبین با استفاده از توابع لاگر و کنترل پیشبین معمولی، کنترل پیشبین طراحی شده بدون استفاده از توابع لاگر نیز جهت کنترل ماهواره اعمال میشود و زمان انجام محاسبات برای هر دو روش اندازه گیری خواهد شد. همانطورر که انتظار میرود کنترل پیشبین معمولی زمانی بسیار بیشتر از کنترل پیشبین با استفاده از توابع لاگر نیاز دارد.
در ادامه مقاله به صورت زیر تنظیم شده است: در بخش دوم دینامیک ماهواره که برای آن کنترل پیشبین طراحی میشود معرفی خواهد شد. در بخش سوم به فرمولبندی کنترل پیشبین با استفاده از توابع لاگر و روش برنامهریزی مربعی هیلدرث به طور مختصر پرداخته خواهد شد. نتایج شبیهسازی حاصل از اعمال کنترلکنندهی طراحی شده (با استفاده از توابع لاگر) و کنترل پیشبین معمولی و مقایسهی انجام شده بین این دو در بخش چهارم آورده شده است. در پایان در بخش پنجم نتیجه گیری حاصل از مقاله ارائه خواهد شد.
2. مدلسازی ماهواره
برای به دست آوردن معادلات دینامیکی حاکم بر ماهواره در ابتدا به معرفی دستگاه مختصاتی که معادلات در آن تعریف میگردد پرداخته میشود. در این دستگاه مختصات محور Z نشان دهندهی جهت حرکت، محور X نشان دهندهی صفحهی چرخش و محور Y بردار نرمال صفحهی چرخش است و این سه محور یک دستگاه مختصات راستگرد متعامد را جهت معرفی دینامیک ماهواره نشان میدهند.
معادلان خطی شده ی یک ماهواره حول مبدا به صورت زیر است:
| (1) |
که در آن به ترتیب نشان دهندهی زاویهی چرخش5، جهش6 و غلتش7 است و زوایای حرکت ماهواره را نشان میدهند. همچنین نرخ تغییرات این زوایا را معرفی میکنند. بردار ، بردار ورودی را معرفی کرده و شامل گشتاورهای ورودی حول محورهای معرفی شده میباشد. نیز نشان دهندهی فرکانس چرخش8 است.
بردار حالت سیستم به صورت تعریف میگردد. در نتیجه معادلات دینامیکی مرتب شدهی ماهواره به صورت زیر بیان میشود:
| (2) |
در نتیجه اگر تعریف کنیم میتوان معادلات نهایی را به صورت زیر نوشت:
| (3) |
3. الگوریتم کنترل پیشبین
در این بخش به معرفی بیان ریاضی کنترل پیشبین و نحوه به دست آوردن معادلات حاکم بر آن پرداخته میشود. نکتهی قابل تذکر اینکه ایدهی استفاده از توابع لاگر در طراحی کنترل پیشبین اولین بار توسط ونگ9 در [2] و[10-11] معرفی شده است.
3.1. فرمول بندی کلی کنترل پیشبین
فرض کنید سیستمی دارای m ورودی و q خروجی بوده و تعداد حالتهای آن برابر باشد. هدف آن است که بتوان خطای حالت ماندگار هر یک از خروجیهای قابل اندازهگیری را به صفر رساند. همچنین فرض بر آن است که تعداد خروجیهای سیستم کمتر یا برابر با تعداد ورودیهاست ().
سیستم با معادلات گسستهی فضای حالت زیر توصیف میشود:
| (4) |
بهطوری کهه u بردار ورودی کنترلی، y بردار خروجی سیستم و بردار حالت سیستم را نشان میدهد. برای تغییر مدل با توجه به هدف طراحی که صفر کردن خطای ماندگار خروجیها است، لازم است یک انتگرال گیر کمکی وارد مدل سیستم گردد.
با اعمال عملگر تفاضلگیر به معادلهی (4) خواهیم داشت:
| (5) |
برای مرتبط کردن با y(k) بردار حالت جدید به صورت زیر تعریف میکنیم:
| (6) |
که نشان دهندهی ماتریس ترانهاده است.
تفاضل معادلهی خروجی میتواند به صورت زیر نوشته شود:
| (7) |
با ترکیب معادلات (6) و (7) خواهیم داشت:
| (8) |
به طوری که یک ماتریس یکه با ابعاد q ×q بوده و یک ماتریس صفر با ابعاد را نشان میدهد. همچنین A، B و C ماتریسهایی هستند که در ادامه برای توصیف سیستم جدید حاصل، از آنها استفاده میشود. اکنون میتوان دریافت که بعد مدل ترکیب شدهی جدید به صورت به دست میآید.
جهت به دست آوردن کنترل پیشبین برای سیستم به دست آمده در فوق ابتدا دو بردار به صورت زیر تعریف میکنیم:
| (9) |
به طوری کهه y(k+i|k) نشان دهندهی خروجی در لحظهی زمانی k+i بر اساس حالت در لحظهی زمانی k یعنی x(k) است.
بر اساس مدل فضای حالت جدید به دست آمده بردار متغیر خروجی به فرم ماتریسی زیر نشان داده میشود:
| (10) |
به طوری که:
| (11) |
هدف کنترل پیشبین آن است که خروجی پیشبین شده در لحظهی زمانی k+i بر اساس مدل را تا حد ممکن به مقدار مرجع از پیش تعیین شده برساند. فرض کنید که بردار خروجی مرجع به صورت زیر باشد:
| (12) |
و تابع هزینه به صورت زیر است:
| (13) |
به طوری که بخش اول این تابع هزینه برای کمینهسازی خطا بین خروجی پیشبینی شده و مقدار مرجع است و بخش دوم برای کمینه سازی حداکثر تلاش در این مسیر میباشد. همچنین R ماتریس وزن روی ورودی است که یک ماتریس قطری میباشد.
برای یافتن ورودی کنترلی بهینه برای کمینه سازی J، با قرار دادن معادلهی(10) در (13) خواهیم داشت:
| (14) |
با تفاضل گیری از معادلهی (14) و برابر صفر قرار دادن آن به دست میآوریم:
| (15) |
پاسخ بهینه یک دنباله از ورودیهاست اما همانطورر که قبلاً اشاره شد تنها المان اول از این دنباله به سیستم اعمال میگردد. بنابراین:
| (16) |
3.2. کنترل پیشبین همراه با قیود
برای اصلاح پاسخ بهینهی به دست آمده از کنترل پیشبین جهت برخورد با قیود موجود در سیستم باید کنترل پیشبین به صورت جدیدی فرمولهسازی شود. در اینجا فرض بر آن است که قیود موجود در سیستم به فرم نامساویهای خطی از متغیرهای سیستم هستند.
قیود روی نرخ تغییرات ورودی به صورت زیر است:
| (17) |
به صورت مشابه قیود روی ورودی به صورت زیر بیان میشود:
| (18) |
برای تبدیل این قیود به فرم نامساویهایی خطی آنها را به صورت قیودی روی نرخ تغییرات ورودی پارامتری میکنیم. برای این کار قیود روی نرخ تغییرات ورودی به صورت ماتریسی زیر نوشته میشود:
| (19) |
با اعمال همین روند بر روی قیود روی ورودی برای همهی نمونههای آینده خواهیم داشت:
| (20) |
بنابراین:
| (21) |
و به ترتیب نشان دهندهی بردارهای ستونی با المان از میباشند. اکنون برای سادهسازی بیشتر تعریف میکنیم:
| (22) |
3.3. حل عددی برای کنترل پیشبین
برای معرفی یک پاسخ عددی در ابتدا به معرفی برنامهریزی مربعی پرداخته میشود. فرض کنید x متغیر تصمیمگیری بوده و ماتریس E یک ماتریس متقارن و مثبت معین است. تابع هزینه و قیود به فرم زیر بیان میگردند:
| (23) |
در این مسئله قیود به فرم نامساوی هستند. این نوع قیود میتواند به دو دسته تقسیم شود. اگر یکی از آنها به تساوی تبدیل گردد آن را فعال مینامیم. در غیر این صورت قید غیر فعال است. دقت کنید که برای داشتن یک پاسخ بهینه در این مسئله، تعداد متغیرهای تصمیم گیری باید بیشتر یا برابر با تعداد قیود فعال باشد.
برای حل این مسئله در ابتدا شرایط KKT معرفی میشود تا با استفاده از آن بتوان قیود را به فرم ضرایب لاگرانژین10 وارد مسئله کرد. این شرایط لازم به صورت زیر بیان میشود:
| (24) |
که در آن بردار ضرایب لاگرانژین خوانده میشود. برای یک قید فعال ضریب لاگرانژین متناظر با آن مثبت است و برای یک قید غیرفعال این ضریب صفر است. واضح است که اگر رابطهی برقرار باشد آنگاه معادلهی (23) و (24) یکسان هستند.
برنامه ریزی مربعی هیلدرث یک الگوریتم ساده برای حل مسائل برنامهریزی مربعی است. عبارت تکرار شوندهی این روش به صورت زیر است:
| (25) |
که در آن:
[1] Satellite
[2] Multi input-Multi output(MIMO)
[3] Laguerre functions
[4] Hildreth’s quadratic programming
[5] Yaw
[6] Pitch
[7] Roll
[8] Orbital frequency
[9] L. Wang
[10] Lagrangian multipliers