شکل ۳‑۲: پاسخ سیستم و ورودی کنترلی پس از تکرار اول الگوریتم
شکل ۳‑۳: پاسخ سیستم و ورودی کنترلی پس از تکرار سوم الگوریتم
در واقع این بهبود عملکرد کنترل کننده با افزایش تکرار الگوریتم را از لحاظ پیادهسازی میتوان این گونه تعبیر کرد که در تکرار اول سیستم به صورت در خط[۸۷] عمل کرده و عملکرد آن کمی خطا دارد. با افزایش تعداد تکرار حرکت مشابه سیستم، رفتار سیستم بهتر می شود . در کنترل جرثقیلهای حامل کانتینر این مسئله خود را بهتر نشان میدهد. زیرا با توجه به وزن تقریباً یکسان کانتینرها وطول طناب برابر در حالت عبور بار و تکرار مشابه مسیر جا به جایی بار از لحاظ مکان و سرعت حرکت ارابه؛ این طور میتوان تعبیر کرد که هر حرکت بار از کشتی به بندر و بالعکس ر ا باید بصورت یک تکرار الگوریتم [۲۶] در نظر بگیریم. در نتیجه با افزایش تعداد جا به جاییها عملکرد سیستم بهتر می شود. در واقع میتوان گفت که این الگوریتم در چنین مسایلی قادر به آموزش کنترل کننده میباشد. به علاوه، با افزایش مقدار جا به جاییهای بار عملکرد مقاومتری نسبت به نامعینیها نشان خواهد داد.
طراحی کنترل کننده در صورت عدم فراهم شدن شرایط لازم برای کنترل
برای طراحی کنترل کننده SDRE در مدل افاین، باید شرایط زیر فراهم بشود[۳۴]:
f(x) باید یک تابع پیوستهی مشتقپذیر بر حسب x در زیر مجموعه اعداد حقیقی باشد. به علاوه B(x) نیز باید تابعی پیوسته باشد.
اغلب x=0 نقطه تعادل سیستم در حالت u=0 بوده و همواره در این حالت f(0)=0 و نیز باید تابعی پیوسته باشد.
در صورتی که ماترسهای وزنی Q و R وابسته به x باشند؛ پیوسته خواهند بود. به علاوه باید و باشند.
پس از انجام خطیسازی توسعه یافته باید به ترتیب جفتهای و پایدارپذیر و آشکارپذیر باشند.
شرایط ۱و ۲ برای انجام عمل خطیسازی توسعه یافته لازمند و شرطهای ۳و ۴ برای اینکه معادله SDRE پاسخی مثبت معین[۸۸] و منحصر به فرد داشته باشد مورد نیازند. با این وجود، بسیاری از سیستمها هستند که بعضی از شرایط ذکر شده را احراز نکرده و در نتیجه کنترل کننده SDRE برای آنها قابل طراحی نخواهد بود. در ادامه به معرفی راهکارهای ارائه شده برای چند مورد از عدم فراهمشدن شرایط میپردازیم.
دینامیک مشتق ناپذیر
بعضی از سیستم ها ممکن است که شرط اول را احراز نکنند و در نتیجه ماتریس سیستم وابسته به حالت آنها پس از اعمال خطیسازی توسعه یافته پیوسته نخواهد شد. این خود موجب می شود که پایداری سیستم تضمین نشود. در این حالت باید تابع f(x) را به شکل یک تابع مشتق پذیر تقریب زد. به عنوان مثال در [۳۳]، پیشنهاد شده است که برای f(x)=sgn(x) که تابع علامت میباشد و در نزدیکی مبدا مشتق ناپذیر است؛ از تابع زیر استفاده کنیم:
۳‑۵۲ |
با این کار آن خط راست مبرا که باعث عدم مشتق پذیری تابع f(x)=sig(x) شده است را به صورت یک منحنی نزدیک به خط راست در بازهای بسیار کوچک حول مبدا تقریب میزنیم. در واقع عملکرد تابع بسیار نزدیک به تابع علامت خواهد بود ولی مشتق پذیر شده و همان طور که در [۳۳] نشان داده شده است کنترل کننده SDRE در آن قابل طراحی می شود.
تابع مورد استفاده دیگری که بسیار کاربرد دارد و شبیه همین تابع اشاره است تابع پله می باشد که می توان آن را به صورت زیر با تقریب بسیار بالایی معرفی نمود:
۳‑۵۳ |
در این تابع هر چه که مقدار بیشتر باشد (حداقل ۱۵)، دقت بالاتر خواهد بود. همچنین مقدار t0 برابر زمانی است که پله در آن رخ میدهد. در این کار از این تابع استفاده شده است.
وجود عوامل تاثیر گذاری که به حالات سیستم وابسته نیستند
اگر درمدل، عاملی که به حالت سیستم وابسته نباشد وجود داشته باشد؛ در نتیجه شرط دوم (f(0)=0) نقض می شود. این مساله امکان اعمال خطیسازی توسعه یافته به مدل را از ما میگیرد. سه راهکار برای حل این مشکل ارائه شده است [۳۶]: (عامل تاثیر گذار مستقل از حالت را با b(t) نشان میدهیم.)
اگر عامل تاثیرگذار ثابت و یا کند تغییر کند، آن را به عنوان یکی از حالات سیستم به مدل اضافه میکنیم. در این حالت دینامیک این عامل را به شکل پایدار زیر در نظر میگیریم:
۳‑۵۴ |
به طوریکه در آن مقدار مثبت کوچکی اختیار بشود.
عامل تاثیرگذار را میتوان در حالات و یا ترکیبی از حالات که حتماً به صفر میل نمیکنند ضرب و تقسیم نمود. بطور مثال در یک مسئلههای که مربوط به کنترل حرارت باشد؛ ممکن است دما بر حسب کلوین[۸۹] به عنوان یک متغیر حالت باشد. از آن جایی که هیچ وقت در فیزیک به صفر کلوین نمیرسیم؛ از عدم میل نمودن این متغیر حالت به صفر مطمئن خواهیم بود و میتوانیم آن را در عامل تاثیر گذار ضرب و تقسیم کنیم. ( ) به عنوان مثالی دیگر مسئله کنترل موشک را در نظر بگیرید. در این مساله هریک از بردارهای سرعت ممکن است که به صفر میل کنند ولی هیچ وقت مقدار سرعت موشک صفر نخواهد شد. در این حالت عامل تاثیر گذار، که ممکن است نیروی جاذبه باشد، را می توان در مربع سرعت موشک ضرب و تقسیم نمود. ( )
راه کار سوم افزودن یک متغیر حالت پایدار z به سیستم میباشد . این متغیر حالت دارای دینامیک باید باشد. دقت شود که مقدار باید بزرگتر از صفر باشد. سپس عامل تاثیرگذار را میتوان در این متغیر حالت ضرب و تقسیم نمود. ( )
- وجود عامل وابسته به حالتی که شرط دوم را نقض میکند
ممکن است عامل وابسته به حالتی در سیستم وجود داشته باشد که با صفر شدن متغیرهای حالت مانع از صفر شدن f(x) بشود. این باعث عدم احراز شرط دوم و در نتیجه عدم امکان اعمال خطیسازی توسعه یافته خواهد شد. در واقع این عوامل، همانند عوامل قبلی برای طراحی کنترل کننده SDRE مشکلساز میشوند. لذا میتوان از راهکارهای دوم و سوم مورد قبلی برای رفع این مشکل استفاده نمود. اما ممکن است که به منظور رسیدن به کنترلپذیری و یا بهینگی بخواهیم از خطیسازی توسعه یافته، که همان افزایش درجه آزادی طراحی است، استفاده کنیم. بدین منظور میتوان با در نظر گرفتن ماتریس سیستم بصورت ، وابستگی به حالت این عامل را در ماتریس سیستم قرار داد. بطور مثال اگر این عامل در سیستمی بصورت وجود داشته باشد؛ خطیسازی توسعه یافته روی آن را میتوان با انتقال آن به مبدا اعمال کرد. این کار با کم و اضافه کردن مقدار یک به آن صورت میگیرد. ( ) بدین شکل قسمت داخل کروشه با صفر شدن متغیر حالت به مبدا رفته و میتوان عمل خطیسازی توسعه یافته را روی آن انجام داد. ( ) در آخر، باید با عدد یک باقی مانده به شکل یک عامل تاثیرگذار مستقل از حالت و استفاده از راهکارهای ارائه شده در قسمت قبلی برخورد کرد.
گاهی ممکن است که چنین عاملی در یک عامل وابسته به حالتی که با صفر شدن متغیرهای حالت صفر می شود ضرب بشود و در نتیجه کل رابطه به صفر میل بکند. باز هم با توجه به رابطه (۳‑۱۰) میتوان درجه آزادی طراحی کنترل کننده SDRE را افزایش داد. بدین صورت که اثر عامل دور شونده از صفر را هم در ماتریس سیستم قرار داد. بطور مثال اگر سیستمی به صورت ( ) باشد؛ با صفر شدن ضریب x3 کل رابطه صفر می شود. در نتیجه یک فرم ساده برای درایههای ماتریس سیستم می تواند به صورت و باشد. با این حال برای افزایش کنترلپذیری و یا بهینگی میتوان اثر x1 را هم در سیسـتـم قـرار داد. ایـن کـار را بـا کـم و اضـافـه کـردن مقـدار یـک انجـام مـیدهیم.