کنترل مقاوم ∞H فیدبک خروجی سیستمهای خطی تحت اغتشاش با استفاده از نامساوی‌های ماتریسی خطی (LMI)

فیلمهای مربوط به کنترل مقاوم فیدبک حالت سیستمهای خطی تحت اغتشاش و همچنین کنترل فیدبک خروجی سیستمهای خطی با استفاده از رویتگر قبلا خدمت دوستان تقدیم شده است. اگر سیستمی هم تحت تاثیر اغتشاش خارجی بوده و هم امکان اندازه‌گیری تمامی حالتها وجود نداشته باشد، دیگر نمی‌توان از این فیلمها برای چنین سیستمی استفاده کرد. در سری فیلمهای حاضر دقیقا این مشکل مدنظر قرار گرفته و هدف طراحی یک کنترل‌کننده مقاوم برای سیستمهای خطی تحت تاثیر اغتشاش فقط با استفاده از یک یا چند خروجی سیستم است. کنترل کننده مورد نظر دارای رویتگر نبوده ولی دارای دینامیک داخلی است. همچنین تنها از خروجی سیستم فیدبک گرفته شده و نیازی به ورودی سیستم تحت کنترل ندارد. معیار تضعیف اغتشاش همان نرم ∞H است که به تفصیل در سری فیلمهای کنترل مقاوم سیستمهای خطی تحت اغتشاش با استفاده از نامساویهای خطی ماتریسی تشریح شده و ارتباط آن با تلف کنندگی (Dissipativity) و پایداری بهره L2 بحث شده است. برای اطلاعات بیشتر در مورد تضعیف اغتشاش از طریق نرم ∞H و مزایای فرمولبندی این مساله به شکل LMI به فیلمهای مربوط به کنترل مقاوم سیستمهای خطی تحت اغتشاش با استفاده از نامساویهای خطی ماتریسی مراجعه کنید.

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

با امید به اینکه مورد رضایت شما عزیزان قرار بگیرد

پیشنیازها: آشنایی اولیه با جبر خطی و تئوری پایداری لیاپونوف – آشنایی با کدنویسی در محیط متلب – آشنایی با نامساوی‌های ماتریسی خطی (LMI)

قبل از دیدن ادامه پست، راهنمای استفاده از سری فیلمهای کنترل مقاوم را حتما ببینید:

 

جلسه اول:

فرمولبندی طراحی کنترل مقاوم فیدبک خروجی برای سیستمهای دارای اغتشاش خارجی


جلسه دوم:

استخراج LMI های مورد نیاز با استفاده از مکمل شور و تبدیل متجانس


جلسه سوم:

پیاده‌سازی کنترل‌کننده مقاوم بر روی سیستم تعلیق فعال خودرو و شبیه‌سازی در متلب


جلسه چهارم:

شبیه‌سازی در محیط سیمولینک و تحلیل در حوزه فرکانس


برای خرید کلیک فرمایید

توجه توجه!! در صورتیکه مایل به پرداخت از طریق کارت می باشید هزینه را به شماره کارت زیر (بنام موسی پور) واریز فرموده و سپس اطلاعات زیر رو به شماره زیر پیامک کنید. بعد از پرداخت و پیامک نمودن اطلاعات زیر لینک دانلود رو به ایمیلتون می فرستیم.

شماره پرداخت

محصول و جلسات خریداری شده

ایمیل

شماره کارت: ۶۰۳۷۹۹۷۳۸۲۹۱۱۳۵۳

شماره موبایل: ۰۹۱۶۲۳۳۵۰۳۲ ( ارتباط فقط از طریق تلگرام)

۳۶ نظر

  1. با عرض سلام و خسته نباشید خدمت استاد گرامی.
    چرا وقتی پارامتر گاما را افزایش می دهیم، شکل های خروجی تقریبا می توان گفت تغییری نمی کند؟
    مثلا به جای مقدار گاما=۱۰، مقدار گاما=۱۰۰۰ را امتحان کردم، ولی تغییری در شکل ها ایجاد نشد.
    با تشکر فراوان

    1. سلام
      به خاطر اینکه وقتی گاما از یه حدی بیشتر میشه، اون قسمت از lmi که به گاما وابسته هست دیگه تاثیر زیادی روی برقراری کل نامساوی نداره.
      بلحاظ فلسفی وقتی گاما رو زیاد انتخاب می کنید، یعنی شما تضعیف اغتشاش براتون خیلی مهم نیست و طبیعتا تغییر گاما روی نامساویها تاثیر زیادی نداره

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

        1. بستگی به مفهوم اون پارامترهای طراحی داره.
          در حالت کلی نمیشه قبل از حل LMI اظهار نظر کرد مگر اینکه بدونیم پارامترها چه اثری دارند

  2. سلام آقای دکتر. وقت شما بخیر
    عذرخواهم سوالی داشتم از خدمتتون
    آیا در LMI ای که در جلسه ۲ همین بخش به دست آوردید، نمی شود بر روی آرایه ۲-۲ (منفی سیگما به توان ۲) schur complement زد، تا خود سالور سیگمای بهینه را به دست آورد؟
    در نهایت باید از تدریس خوبتان تشکر کنم و روز استاد را هم خدمتتان تبریک عرض می نمایم.
    با تشکر

    1. سلام و وقت به خیر
      فکر کنم منظورتون گاما باشه چون تو این LMI سیگما نداریم.
      لازم به مکمل شور نیست شما میتونید گاما به توان ۲ رو یک متغیر جدید تعریف کنید مثلا eta و بعد eta رو مینیمم کنید چون اگر eta مینیمم بشه گاما هم مینیمم میشه.
      من این روش رو پیشنهاد نمیدم چون قبلا این کار رو کردم و جواب خوبی نگرفتم. ظاهرا علتش اینه که سالورهای تولباکس یالمیپ مسایل feasibility رو بهتر از مسایل مینیمم سازی حل می کنند.
      بنابراین توصیه میکنم شما هم دستی گاما رو مینیمم کنید.

      1. خیلی ممنونم.
        پس آیا می توان گفت برای مسایل مینیمم سازی بهتر است از تولباکس LMI خود متلب استفاده کنیم؟یا آن هم همین مشکل را دارد؟
        سوال دیگری هم داشتم آقای دکتر، اگر با نامساوی ای به صورت زیر برخورد کنیم:
        (X-Y’ZY<0) و Z هم ماتریسی مثبت باشد.
        آیا باز هم از لم شور می توان استفاده کرد؟
        (با توجه به این که زمانی که نامساوی کوچکتر از صفر باشد، در لم شور، درایه ۲-۲ آن باید منفی باشد.ولی در این حالت ماتریسی مثبت ((Z^(-1+) قرار می گیرد.)
        با سپاس

  3. با سلام و عرض ادب و تشکر فراوان بخاطر آموزش بسیار خوبتون.
    جناب دکتر بنده بروی مقاله ای کار میکنم که پایه و اساس پایان نامه من منطبق با اون هستش.
    حالت های سیستم به دست آومده معادل یک ماتریس ۴*۴ =A و ماتریس ۲*۴=B و ماتریس ۴*۲=C هستند.
    مشکلی که نتونستم راه حلی براش پیدا کنم اینکه داخل ماتریس A، پارامترهای ماتریس وابسته به حالتهای سیستم هستن. یعنی در ابتدا ثابت نیستن مثل مثالهای که واسه نمونه حل کریدن.
    ممنون میشم راهنمایی کنید که چطور بتونم کد نویسی این حالت از سیستم انجام بدم.

    1. با سلام و تشکر از لطف شما
      با توضیحاتی که دادید، سیستم شما غیرخطی بوده و از روشهای موجود در این سری فیلمها نمیشه استفاده کرد.
      باید از روشهای مقاوم غیرخطی مثل مد لغزشی استفاده کنید

  4. من یه پایان نامه دارم در خصوص کنترل کننده مقاوم htc یا همون High Temperature Control که با کنترل کننده pid ترکیب میشه این کنترل کننده از نوع h بینهایته الان دنبال یه رفرنس و مقاله میگردم که بتونم نشون بدم htc یه نوعی از h بینهایته

    1. @احسان شایان,
      سلام
      در مورد HTC اطلاعی ندارم اما اگه میدونید که نوعی از H بینهایته خوب اثباتش کنید و اگر نمیدونید باید داخل مراجع پیدا کنید. باید مراجع مرتبط رو بیشتر بگردید.

  5. با عرض سلام و احترام،
    من برای پایداری سیستم قدرت (small stability)نیاز به طراحی یه کنترلر H infinity دارم ایا امکانش هست دراین زمینه بهم کمک کنید.

    پیشاپش سپاسگذارم

  6. با سلام
    ممنونم از آموزشهای مفیدتون در زمینه کنترلر hinfinity. من میخواستم کنترلر l2gain برای مینیمم کردن اثر اغتشاش رو به سیستم غیرخطی هم اعمال کنم. آیا آموزشی در این خصوص در سایت موجود هست؟یا امکانش هست مرجعی معرفی کنید؟
    ممنونم از کمکتون

    1. @salma,
      با سلام و تشکر از لطف شما
      تا حالا در این مورد آموزشی آماده نکردم ولی روشهای معروف به H-infinity غیرخطی وجود داره که تعمیم یافته حالت خطی به سیستمهای غیرخطیه.
      به عنوان مثال میتونم کتاب زیر رو بهتون معرفی کنم:
      https://goo.gl/YA1qLa
      این کتاب هم خوبه:
      https://goo.gl/h6YHpE

      1. کد فعال سازی برای مشاهده فیلم ها ندارم دوتا فیلد هست کد برنامه اون پر هست ولی فیلد دوم کدی نیست که وارد کنم و اگر اون فیلد خالی باشه کد فعالسازی رو نمیده

  7. من برای مدل کامل سیستم تعلیق ماتریس های فضای حالتو استخراج کردم ولی lmi feasible نمیشه. گاما هم تغییر میدم. آیا برای گاما مرز خاصی تعریف میشه یا میشه هر مقداری بگیره؟

    1. @غلامرضا بامی محمدی,
      سلام
      اصولا گاما ابتدا یه مقدار بزرگ انتخاب میشه اونقدر که LMI حل بشه. بعد گاما رو کمتر میکنیم تا جایی که همچنان LMI قابل حل باشه. هر چقدر گاما کوچکتر انتخاب بشه تضعیف اغتشاش بیشتره.
      سعی کنید گاما رو تا جایی بیشتر کنید تا LMI حل بشه

  8. با سلام تشکر فراروان از آموزش خوبتون.
    بنده ماتریس های فضا ی حالت مربوط به مدل کامل خودرو را استخراج نموده ام و lmi را برای آن حل کرده ام، ولی وقتی ورودی جاده تصادفی به سیستم میدهم خطا زیر
    (Assignment has more non-singleton rhs dimensions than non-singleton subscripts) ظاهر می شود. ورودی جاده را از روش های آ»وزش داده شده توسط جنابعالی به سیستم می دهم. لطفا بفرمایید مشکل بنده از کجاست.
    با تشکر فراوان

    1. @غلامرضا بامی محمدی,
      این خطا مربوط به پروفایل جاده یا شبیه سازی سیستم نیست. احتمالا یه جایی یک بردار رو می‌خواهید تو یه بردار دیگه که هم سایز نیستند جاگذاری کنید. خط به خط اجرا کنید تا خطا رو پیدا کنید و درستش کنید. شاید اطلاعات لینک زیر هم کمک کنه:
      https://goo.gl/rk7yk6

  9. با سلام و وقت بخیر خدمت شما
    سوالی که داشتم این هست که من طبق توضیحات شما در سری فیلم های مربوط به LMI ، حلگر YALMIP رو نصب کردم بعدش M-file مربوط به مثالی که شما در این سری فیلم ها نوشتید رو تا قسمت حل LMI عینا کپی – پیست کردم و برای گاما = ۱۵ گذاشتم که حل بشه مشکلی که هست اینه که جواب OK میشه ولی اعداد مربوط به ماتریس های A_hat و … نسبت به چیزی که توی فیلم هست خیلی بزرگتر در میاد میخواستم بدونم چه دلیلی داره همون کد جواب دیگه ای میده
    با تشکر از توجه شما

    1. @یزدان,
      با سلام
      اولا که یالمیپ حلگر نیست و تولباکسه. حلگر الگوریتم مورد استفاده در تولباکس یالمیپ هستش مثل mosek و …
      حالا اگر مثل من از حلگر mosek استفاده بکنید به جوابی مشابه (و نه دقیقا یکسان) پاسخهای داخل فیلم می رسید. البته اگر حلگر شما mosek نباشه ولی feasible شده باشه مشکلی وجود نداره. البته ممکنه با mosek به گامای کمتر از حلگرهای دیگه برسید چون mosek معمولا نسبت به بقیه جوابهای خوبی داره و به صورت پیش فرض توسط یالمیپ استفاده میشه (البته اگه نصب شده باشه)

  10. سلام، می خواستم بپرسم که اگر تو همین سیستم تاخیر در ورودی کنترلی داشته باشیم چه تاثیری روی روابط خواهد داشت ؟ اگر در مورد کنترلرH2/H-infinity هم مطلبی تو سایت بگذارید ممنون میشم.

    1. @hengameh,
      سلام
      بحث تاخیر خیلی مفصله. برنامه اینه که بعد تموم شدن تخمین بهینه حالت بحث تاخیر رو شروع کنم. بعد از اینکه خود تاخیر بحث شد، احتمالا ترکیبش با کنترل مقاوم رو هم اشاره بکنم. همچنین ترکیب H2/H-inf هم جزو برنامه های بعدیه. امیدوارم فرصت بکنم و به زودی همه این مباحث رو پوشش بدم
      لطفا کمی صبور باشید

  11. با سلام
    بنده قصد شبیه سازی مقاله ای در خصوص
    Active Disturbance Rejection Control
    که در حوزه کنترل مقاوم است رو دارم. عنوان این مقاله:
    Combined feedforward and model-assisted active disturbance
    rejection control for non-minimum phase system
    هست. در صفحه ۴ و ۵ این مقاله اثبات روابطی آورده شده و از آنجاییکه بنده با کنترل مقاوم آشنایی ندارم(قدرتی هستم)، خواستم که در صورت امکان بفرمایید کدام یک از فایل های آموزشی شما توضیحات کاملی در خصوص این مطلب ارائه دادن؟
    سپاسگزارم

    1. @امیر,
      سلام
      مقاله ای که اشاره کردید از یک قسمت feedforward هم استفاده کرده ولی کنترل کننده هایی که من داخل آموزشها استفاده کردم فقط شامل feedback هستند. از طرف دیگه تحلیل پایداری در این مقاله در حوزه فرکانسه در حالیکه من از تحلیل پایداری لیاپونوف استفاده کردم. به نظرم باید روی خود مقاله و مراجعش تمرکز کنید و فیلمهای موجود کمکی بهتون نمیکنه
      موفق باشید

  12. با سلام خدمت شما
    ضمن تشکر بسیار بخاطر تدریس بی نقص و عالیتون ، سوالی که داشتم این هست که اگر بخواییم نویز ناشی از سنسورهای اندازه گیری رو در سیستم کم بکنیم به غیر از فیلتر کردن سیگنال های اندازه گرفته شده ، آیا با روش H بینهایت هم میشه بدون فیلتر کردن به این هدف رسید یعنی علاوه بر اغتشاش سیستم به نویز هم مقاوم باشه ، اگر در این زمینه مقاله یا منبع مناسبی هست و بتونید بهم معرفی کنید بی اندازه سپاگزار خواهم بود
    با تشکر فراوان از شما

    1. @یزدان,
      با سلام و تشکر از لطف شما
      برای هر سیگنالی که نرم L2 محدود باشه، میشه از روش H بینهایت برای کاهش اثرش استفاده کرد از جمله نویز اندازه‌گیری سفید.
      البته در فرمولبندی کلی H بینهایت میتونید نویز اندازه‌گیری رو داخل بردار اغتشاش کلی جا بدید و از روش H بینهایت اثر کل بردار اغتشاش (که داخلش نویز اندازه‌گیری هم هست) رو کم بکنید. مثلا داخل مقاله Doyle شکل سیستم فرض شده رو ببینید:
      http://ieeexplore.ieee.org/document/29425/

یک پاسخ بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *