آموزش مد لغزشی از طراحی تا شبیه سازی

آموزش مد لغزشی طبق کتاب اسلوتین

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

چیزی که من تضمین میدم اینه که بعد از این دوره آموزشی، به نتایج زیر خواهید رسید:

مد لغزشی رو به طور کامل و فراتر از مطالب کتاب درک خواهید کرد

با نحوه شبیه سازی مثال ها و بحث روی آنها کاملا آشنا خواهید شد

نحوه تلفیق این روش با روش هایی مثل فازی، ژنتیک و … رو خواهید آموخت (مد لغزشی فازی در همین سایت قرار داده شده است برای دانلود این فیلم آموزشی کلیک بفرمایید)

پیاده سازی این روش بر روی سیستم های غیرخطی پیچیده و شبیه سازی آنها رو یاد خواهید گرفت.

میتونید برای سیستم خودتون این شبیه سازی ها رو انجام بدید

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

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


جلسه اول:

مقدمات و تبدیل مسئله مرتبه n به مسئله مرتبه یک


جلسه دوم:

شرط لغزشی ، فیلیپف دینامیک معادل


جلسه سوم:

نحوه طراحی و شبیه سازی مد لغزشی به صورت گام به گام


جلسه چهارم:

طراحی  و شبه سازی مد لغزشی برای سیستم های مرتبه دو و سه


جلسه پنجم:

کنترل انتگرالی ، حد بهره


جلسه هفتم:

چترینگ و راههای حذف آن (۲)


جلسه هشتم:

طراحی مد لغزشی برای یک سیستم چند ورودی – چند خروجی


 جلسه نهم:

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

ضمناً جهت یادگیری نحوه ایجاد gui (واسط گرافیکی در متلب) هم می توانید به آموزش واسط های گرافیکی در متلب و یا در اینجا کلیک کنید.

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


 

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

توجه: کل جلسات رو میتونید با ۳۰ درصد تخفیف با انتخاب گزینه آخر تهیه بفرمایید

۱۸۳ نظر

  1. سلام. من در سیستمی که دارم میخواهم معادلات سیستم رو دی کوپل کنم و جداگانه هر کدام رو بررسی کنم اما در معادله xdot2 هیچ گونه u وجود ندارد و من باید ۳ بار مشتق بگیرم تا u بوجود بیاد و در حالت بعدی هم ۲ بار. اما در یک مقاله ای دیدم که سطح لغزش را s1=c1e1+c2e2 و s2=c3e3+c4e4 در نظر گرفته! مگر نباید در حالت اول s از درجه ۳ و در حالت دوم از درجه ۲محاسبه شود؟
    معادلات سیستم :
    xdot1=x2
    xdot2=(x1x4^2-gsin(x3))1/k1
    xdot3=x4
    (xdot4=[-cos(x3)(k2x4cos(lx3/d)-0.5lmbg-mBgx1)+k3cos(x3)cos(lx3/d)u-2mBx1x2x4]1/(JB+Jb+mBx1^2
    که مقادیر k مشخص هستند.
    علاوه بر این beta1=beta3=0 و beta2=1 و beta4=ضریب u در معادله چهارم فرض شده. دلیل اینکه beta2 برابر ۱ فرض میشود چیست؟ ما در معادله دوم u نداریم که ضریبش ۱ باشد!
    و سوال دیگر اینست که نامعینی سیستم که در آموزش fhat گفته شد، چگونه باید از این معادلات بدست آید ؟ در سوالاتی که در آموزش بررسی شد همگی حد نامعینی مشخص بودند ولی در اینجا چگونه مشخص می شود؟ در یک مقاله دیدم که از ماتریسی مانند ژاکوبین بدست آمد:
    [rond(f1)/rond(x1) و … بقیه اجزا ماتریس بدین ترتیب…
    این سوالات ذهنم را درگیر کرده .خیلی ممنونم پیشاپیش از پاسخ شما.

    1. سلام
      در مورد این قسمت از سوالتون “مگر نباید در حالت اول s از درجه ۳ و در حالت دوم از درجه ۲محاسبه شود؟” . من البته مسئول مقالات دیگران نیستم و نمیدونم در اون مقاله چیکار کرده و فقط پاسخگوی فیلم های آموزشی خودم هستم اما پاسخ سوال شما اینه که بله باید از درجه سه باشه و خب شما میتونید مقاله رو ببینید وقتی که با دو بار نتونسته همچنان به یو برسه پس چطوری ورودی کنترلی رو محاسبه کرده؟! ضمن اینکه سطح لغزشی که من در آموزش ها عرض کردم یک سطح روتین هست که ۹۹ درصد مقالات به همین صورت میگیرند اما ممکنه برای یک سیستم خاص سطح لغزش به گونه های دیگری هم گرفته شود که احتمالا به لحاظ فیزیکی و براساس تجربه به اون صورت در نظر میگیرند.

      در مورد این قسمت از سوالتون “دلیل اینکه beta2 برابر ۱ فرض میشود چیست؟ ” من هیچ بتایی در معادلات نمیبینم.

      “و سوال دیگر اینست که نامعینی سیستم که در آموزش fhat گفته شد، چگونه باید از این معادلات بدست آید ؟” من نمیدونم در معادلات شما چه پارامترهایی متغیر هستند ولی اینکه fh چطوری بدست میاد شما باید یک مسئله بهینه رو به صورت تحلیلی حل کنید. به این ترتیب که با خودتون بگید که مقادیر نامعینی رو چه مقادیری بگیرم که کران بالای نامعینی بدست بیاد. البته این نکته رو هم عرض کنم که تخمین نامعینی معمولا با قرار دادن مقادیر متوسط پارامترهای نامعین بدست میاد.
      سپاس

  2. سلام اقای دکتر ببخشید در جلسه ۲ انتهای جلسه فرمودین با تنظیم ضرایبی میتونیم زمان رسیدن سطح لغزش رو تنظیم کنیم ممنون میشم راهنمایی کنید چه ضرایبی می تونیم این کار رو انجام بدیم با تشکر

    1. سلام. منظورم همون ضریب تابع علامت هست. زمان رسیدن به سطح لغزش رو مجددا توی فیلم ها ببینید (tr) . این زمان به چه پارامترهایی وابستس؟
      سپاس

  3. سلام اقای دکتر ببخشید در جلسه ۶ فرمودین به منظور حذف چترینگ باید به سیستم خطا تزریق کنیم که اگر لایه مرزی به صورت ثابت در نظر بگیریم در این حالت خطا دارای رابطه ای می باشد ببخشید رابطه خطا رو از کجا به دست آوردین تو کتاب اسلوتین هست

    1. سلام . بله اگه لایه مرزی بدیم چترینگ حذف میشه اما خطا به سیستممون تحمیل میشه. رابطه خطا و لایه مرزی رو در جلسات ابتدایی عرض کردم. مجددا ملاحظه بفرمایید

  4. با عرض سلام و تشکر از آموزش های بسیار خوبتون ببخشید یک سوال داشتم در قسمت ۸ نوشتید یک سیستم مایمو طراحی کردین ولی در محتویات کد متلبشو ننوشتید میخاستم بدونم داخل این اموزش این مثال در متلب شبیه سازی شده است و کد هاش موجود هست؟
    خیلی ممنونم

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

  5. سلام من سیستم زیر را دارم
    چجوری در سیمولینک پیاده سازی کنم.امکانش هست سیمولینکشو برام بذارین
    x¨ = f (x,ẋ) + g (x,ẋ)u,
    (Ṡ = −ksign(S,
    ((u =inv(b) (x¨d−λx −f−ksign(S

    s ̇=〖k|s|〗^α/〖β+(۱-β)e〗^(〖-γ|s|〗^μ ) sign(s)

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

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