کنترل کننده های فازی-عصبی در متلب

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

کنترل کننده فازی عصبی:

  • تطبیقی غیر مستقیم و مستقیم
  • طراحی بر اساس تکنیک مد لغزشی
  • طراحی بر اساس اچ-اینفینتی
  • طراحی بر اساس تکنیک پسگام
  • طراحی بر اساس بهره کوچک
  • طراحی بر اساس تکنیک LMI
  • کنترل فازی-عصبی بهینه
  • کنترل فازی-عصبی پیش بین
    • کنترلر عصبی تقلیدگر
    • کنترلر عصبی با استفاده از شناساگر عصبی معکوس
    • ساختار کنترلر عصبی معکوس مستقیم
    • کنترلر معکوس مستقیم با مدل مرجع
    • کنترلر عصبی غیر مستقیم
    • کنترلر معکوس غیر مستقیم با مدل مرجع
    • کنترل تطبیقی عصبی معکوس با مدل مرجع
    • شبکه عصبی به عنوان جبرانگر
    • کنترلر PID خود تنظیم بر پایه شبکه عصبی

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

مدرس: دکتر محمدزاده، عضو هیأت علمی دانشگاه دولتی بناب

جهت مشاوره و راهنمایی پایان نامه ارشد و دکتری از طریق ایمیل intelligent.controlref@gmail.com تماس بگیرید.

پیش نیاز: شبکه های عصبی، سیستم های فازی


جلسه اول:

مقدمه


جلسه دوم:

طراحی کنترل کننده بر اساس قواعد اگر و آگاه فازی + کنترل کننده نظارتی


جلسه سوم:

طراحی کنترل کننده PID  بر اساس قواعد اگر و آگاه فازی (نوع اول و نوع دوم)


جلسه چهارم:

طراحی کنترل کننده عصبی تطبیقی غیر مستقیم, Indirect adaptive neural network controller, Matlab


جلسه پنجم:

طراحی کنترل کننده فازی تطبیقی  غیرمستقیم با استفاده از سیستم های فازی نوع دوم بازه ای

Indirect adaptive interval type-2 fuzzy controller, Flexible Joint, Matlab


جلسه ششم:

طراحی کنترل کننده عصبی تطبیقی و فازی تطبیقی بر اساس گرادیان,

Indirect adaptive neural network controller and type-2 fuzzy controller based on gradient descent optimization method, Matlab


جلسه هفتم: 

طراحی کنترل کننده عصبی-لغزشی و فازی نوع۲ –لغزشی به فرم تطبیقی

adaptive interval type-2 fuzzy sliding mode controller, Matlab

adaptive neural network sliding mode controller, Matlab


جلسه هشتم: 

طراحی کنترل کننده PID تطبیقی با استفاده از شبکه های عصبی رویکرد گرادیان

adaptive PID using neural network based on back propagation method, Matlab


جلسه نهم:

طراحی کنترل کننده PID تطبیقی با استفاده از شبکه های عصبی رویکرد گرادیان

adaptive PID controller using type-2 fuzzy systems based on back propagation method, Matlab


جلسه دهم:

 طراحی کنترل کننده PID عصبی-تطبیقی با استفاده شناساگر عصبی

adaptive PID controller using neural model based on back propagation method, Matlab


جلسه یازدهم:

طراحی کنترل کننده PID فازی-تطبیقی بر اساس مدل عصبی و با استفاده از سیستم های فازی نوع اول و دوم

adaptive PID controller based on neural model  using type-1 and type-2 fuzzy systems based on back propagation method, Matlab


جلسه دوازدهم:

طراحی کنترل کننده تطبیقی مدل معکوس عصبی

adaptive  controller based on inverse  neural model  and back-propagation approach

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

محتویات درس:  فایل آموزشی با کیفیت ۷۲۰p+ فایل های شبیه سازی متلب +pdf

حجم فایل: ۶۰MB

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


جلسه سیزدهم:

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

adaptive  controller based on inverse  type-1 fuzzy model  and back-propagation approach

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

محتویات درس: فایل آموزشی با کیفیت ۷۲۰p+ فایل های شبیه سازی متلب +pdf

حجم فایل: ۷۰MB

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


جلسه چهاردهم:

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

direct adaptive fuzzy  controller

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

محتویات درس:  فایل آموزشی با کیفیت ۷۲۰p+ فایل های شبیه سازی متلب +pdf

حجم فایل: ۷۰MB

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

 


جهت خرید کلیک بفرمایید

۸۳ نظر

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

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

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

  2. با سلام خدمت شما جناب اقای دکتر ببخشید ی سوال داشتم چرا در جلسات ۴ و ۵ و۷ برای طراحی سیستم عصبی فازی ابتدا سیستم را به فرم نرمال تبدیل می کردین ممنون میشم راهنمایی کنید

  3. با سلام و احترام
    در قوانین تطبیق ( جلسات ۵ و ۷) نرخ آموزش گاما بر چه اساسی تعیین می شود؟ فقط به صورت سعی و خطا و رویت خطای حالت ماندگار و سیگنال کنترلی u باید مقدار گاما را تعیین کرد یا اینکه روشی وجود دارد که بهینه ترین مقدار گاما را به دست آورد.( کنترلر به عنوان ردیابی به کار می رود و هدف من رسیدن به کمترین خطای حالت ماندگار با کمترین مقدار سیگنال کنترلی و کمترین نوسان در سیگنال کنترلی در ابتدای کار می باشد.)
    سوال دوم این است که در سیستم های فازی تطبیقی یا فازی لغزشی تطبیقی، آیا نوسان سیگنال کنترلی در ابتدای کار عادی است؟ به طوری که چند ثانیه اول نوسانات میراشونده وجود دارد و کم کم خطای حالت ماندگار به سمت صفر پیش می رود. با نرخ گاما پایین مثل ۱۰ نوسان نداریم ولی خطای حالت ماندگار دیر تر به سمت صفر می رود و در حالی که با گاما ۱۰۰ سیگنال کنترلی در ابتدای کار نوسان می کند ولی خطای حالت ماندگار سریع به سمت صفر میل می کند.
    با تشکر

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

  4. با سلام خدمت شما جناب اقای دکتر ببخشید سوال داشتم خدمتتون اقای دکتر اگه از شبکه عصبی به صورت مستقیم و نه به عنوان تخمین گر در سیستم های اسلایدینگ بخواهیم استفااده بشه ممنون میشم راهنمایی کنید بتونم استفاده کنم فرمودین در جلسه ۷ اموزش برای روش مستقیم ارائه میدیدن ممنون میشم اگه وقتتون نمی گیره و امکانش هست اموزشی در این زمینه هم تدارک ببینید با تشکر از اموزش های خوبتون

      1. با سلام مجدد خدمتتون جناب اقای دکتر ممنون از اطفتون بابت اموزشش های بسیار خوبتون و مقاله بسیار مفیدی که لطف کردین در اختیارم قرار دادین رو مطالعه کردم جناب اقای دکتر فقط سوال داشتم در تعیین ضریب k به صورت فازی عصبی ممنون میشم راهنماییم کنید که به چه علت s و sdot را به عنوان ورودی شبکه عصبی به منظور تعیین k انتخاب کردین روش اثبات به مانند روش اثبات شبکه عصبی بود که لطف کردین به عنوان تخمین گر استفاده کرده بودین در توضیحات جلسه ۷ فقط تنها تفاوت در ورودی این جا هستش که ممنون میشم راهنماییم کنید تا دلیل این موضوع بدونم با تشکر

        1. سلام
          به خاطر اینکه مقدار بهینه k وابسته هست به s و تغییرات s. هر چی تغییرات s کمتر باشد میتونیم کران بالا و پایین اشباع را به هم نزدیکتر کنیم بدون اینکه نوسانی در سیگنال کنترل داشته باشیم. موفق باشین

          1. با سلام مجدد اقای دکتر ممنون از اموزش های خوبتون اقای دکتر خدا خیرتون بده من کنترل کننده مستقیم عصبی اسلایدینگ طبق اموزش های خوبتون در محیط سیمولینک بر روی سیستم خودم پیاده کردم و ج گرفتم فقط باید زمان رسیدن و انرژی کنترلی رو با کمک تنظیم ضرایب درست کنم اثای دکتر ببخشید من درس عصبی نگزروندم و فرصت نشده که از اموزش های خوبتون استفاده کنم بی زحمت ممکنه راهنمایی بفرمایید تا بتونم مشکلم رو در این موترد زیر حل کنم
            ۱- جناب اقای دکتر این قانون به منظور اپیدیت پارامتر ها ایا از شبکه عصبی mlp استفاده کردین؟ یا شبکه عصبی دیگه که با مشتق زنجیره ای این وزن ها رو اپدیت کردین؟
            dw1=gama*s.*u*(w2.*delta2.*delta1)’;
            ۲- اقای دکتر ببخشید من با کد نویسی بیشتر کار کردم و الگوریتم ژنتیک رو در سیستم خودم به صورت کد نویسی انجام دادم ولی با کمک اموزش های خوب شما تا حد زیادی با محیط سیمولینک کار کردم ممنون میشم بتونید راهنماییم کنید تا بتونم الگوریتم بهینه سازی ژنتیک رو در محیط سیمولینک پیاده سازی کنم با بتونم ج بهینه در سیستم به دست بیاورم

            1. سلام
              ۱- اگه s سطح لغزشی باشد این قانون آموزش حتما از آنالیز لیاپانوف بدست آمده. و dw1 بیانگر مشتق w1 نسب به زمان است. البته اگه با روشهای دیگه هم میشه به این قانون رسید.
              ۲- همانطور که گفتم کافیه کد استفاده شده را در بلوک متلب سیمولینک قرار بدید. به راحتی قابل استفاده در سیمولینک می باشد. البته باید یک سری تنظیمات رو انجام بدید مثلاً اینکه در یک سمپل تایم قرار چند بار الگوریتم ژنتیک پیش بره؟ یا برای کاهش حجم محاسبات میتونید طوری تنظیم کنید که در هر سمپل تایم فقط یک مرحله از پردازش ژنتیک صورت بگیره.
              موفق باشین.

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

  5. سلاو و روز بخیر خدمت شما اقای دکتر ببخشید در جلسه ۷ که فرمودین کنترل کننده اسلایدینگ و تخمین زننده شبکه عصبی فرمودین فرض می کنیم که معادلات حالت رو نداریم و با کمک شبکه عصبی fhatو ghat تخمین می زنیم اقای دکتر ببخشید در قسمت سیمولینک در جایی که u وارد می شود و y خارج می شود این رابطه از کجا امده است
    dy4=-(M*g*L/II*cos(y1)+K/II+K/JJ)*y3+M*g*L/II*(y2^2-K/JJ)*sin(y1)+K/(II*JJ)*u+noise;
    و اینکه بی زحمت مقاله و یا رفرنس که زحمت کشیدین این مثال به خوبی شبیه سازی کردین در اختیار ما قرار بدین تا بتونیک به معادلات حالت دسترسی داشته باشیم و ضمن تشکر از اموزش های خوبتون ممنون میشم بتونید این مشکل رو برا من رفع کنید تا سریعتر بتونم با کمک شما این قسمت رو هم شبیه سازی کنم

  6. سلام و احترام خدمت شما اقای دکتر خسته نباشید.
    این مجموعه برای کنترل سرعت توربین گازی که مدلش غیرخطی مرتبه ۳ هستش مناسبه؟ کدوم قسمت هاش ؟
    ممنون از پاسخگویی

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

  7. سلام ببخشید من تابع تبدیل یک سرووموتور را دارم .میخواستم یک کنترل کننده عصبی-فازی برای آن تهیه کنم.ممنون میشم راهنماییم کنین کدوم قسمت رو تهیه کنم.

      1. سلام خسته نباشید
        ببخشید من جلسه هشتم رو تهیه کردم و از مطالب بسیار مفید آن بهره بردم فقط میخواستم بدونم چرا وقتی دامنه ورودی پله رو ۲ یا۳ برابر میکنم سیستم باز هم به سمت ۱ میرود ؟ ممنون میشم پاسخ دهید.

        1. سلام
          احیاناً اگه تابع اشباعی داخل سیمولینک هست بررسی کنید. همچنین ورودی مرجع داخل بلوکها.
          موفق باشین.

  8. سلام و خسته نباشید ممکنه بپرسم کدوم جلسات این مجموعه مربط به کاربرد lmi و اچ اینفینیتی در فازی میشود؟به طودیکه بتوان مباحث را کامل درک کرد ممنون

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

  10. سلام
    من یک سیستم ربات دو چرخ تعادلی دارد که یک ورودی و دو خروجی است میخواهم با کنترلر عصبی انرا کنترل کنم. فیمای اموزشی رو نگاه کردم همشون SISO هستند. راهنمایی فرمایید من از کدوم مدل کنترلی استفاده کنم که جواب دهد

    1. سلام. ببخشید متوجه سوالتون نشدم. فازی نوع دو برای مد لغزشی کفایت میکنه؟ مد لغزشی چه نیازی به فازی داره؟
      اگه منظورتون ترکیب مد لغزشی و فازی هست، با همون فازی نوع یک هم میتونین اینکارو بکنین

پاسخ دادن به محمد لغو پاسخ

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