توضیحات
Study of an adaptive fuzzy algorithm to control a rectangular-shaped unmanned surveillance flying car
شبیه سازی دینامیک ربات و سپس طراحی کنترل فازی تطبیقی و اعمال آن بر ربات
شبیه سازی این مقاله در دو گام شبیه سازی دینامیک ربات و سپس طراحی کنترل فازی تطبیقی و اعمال آن بر ربات و شبیه سازی آن نتایج آن انجام می گیرد.
گام اول:
شبیه سازی دینامیک ربات و تست
در معادلات فوق، ارتباط پارامترهای مربوط به درگ () با سرعت های انتقالی و دورانی ربات داده نشده است و بنابراین در ضمن شبیه سازی با توجه به ارتباط توان دو درگ با این پارامترها، ضرایب آن به دلخواه انتخاب شده است.
هم چنین، پارامترهای ارتباط آن با میزان تراست تولیدی داده نشده است و بنابراین به صورت فرضی با ضریب 5 منظور شده است.
شبیه سازی دینامیک سیستم در نرم افزار سیمولینک مطابق با شکل شماتیک زیر انجام شد:
پارامترهای مربوط به تراست ورودی به سیستم، با دابل کلیک کردن بر روی بلوک constant موجود در شکل فوق به صورت زیر وارد می شود:
پارامترهای اصلی سیستم شامل جرم، طول بازو و …. نیز با دابل کلیک کردن بر روی بلوک constant2 به صورت زیر وارد می شوند:
و اما بلوک اصلی مربوط به یافتن شتاب ربات، با گرفتن ورودی های فوق به صورت زیر انجام می شود:
function xdd = fcn(x,T,xds,para) … |
پس از یافتن شتاب ربات بوسیله تابع فوق، با دوبار انتگرال گیری از آن موقعیت و orientation ربات بدست می آید.
انجام پروژه متلب کنترل ربات و طراحی کنترل فازی با سایت متلبی
به منظور تست معادلات دینامیک سیستم، رفتار سیستم براساس تراست های ورودی مختلفی مورد بررسی قرار گرفته است، اما لازم به ذکر است که به علت پارامترهایی که مقدار آن ها در مقاله داده نشده بود نتایج با نتایج ارائه شده در مقاله کاملا یکسان نبود.
لازم به ذکر است که این مقاله دارای اشتباهات زیادی می باشد.
به عنوان مثال پارامترهای داده شده در شکل 9، با توجه به معادلات دینامیک داده شده حرکت رول ایجاد نمی کند و بنابراین جانمایی این اعداد به گونه ای تغییر داده شد که حرکت رول ایجاد کند.
دیگر اشتباه مربوط به جانمایی پارامترهای درگ در معادلات دینامیک می باشد به عنوان مثال رابطه زیر می بایست به صورت زیر نوشته شد:
جهت یافتن نتایج فوق کافیست ابتدا فایل simu.slx را با نرم افزار مطلب باز کنید و تراست های موردنظر را وارد کنید و سپس run کنید.
نتایج به صورت اتوماتیک بعد از تمام شدن run برای تمام state ها مشاهده خواهد شد.
گام دوم:
طراحی کنترلر فازی تطبیقی
در این مرحله یک کنترلر فازی تطبیقی بر روی مدل دینامیک شبیه سازی شده در نرم افزار سیمولینک اعمال گردید نمایی از این سیستم در زیر نشان داده شده است:
به علت پیچیده شدن سیستم از بلوک های from و go to استفاده شده است.
بدین صورت که پارامترها در این بلوک ها ذخیره می شوند و در مواردی که بخواهیم از این پارامترها استفاده کنیم از بلوک from مربوط به این بلوک ها استفاده می کنیم.
بلوک define desired trajectory بلوکی می باشد که با گرفتن زمان، قابلیت تعریف مسیر مطلوب برای پارامترهای ارتفاع، پیچ، رول و یاو فراهم می کند:
function r = fcn(t) … |
بلوک مربوط به controller با دریافت مسیر مطلوب (r)، position و orientation، velocity و angular velocity، به کنترل سیستم می پردازد.
در واقع با دریافت پارامترهای ذکر شده، ، ، و را به گونه ای تنظیم می کند کند که سیستم براساس مسیر مطلوب تعیین شده حرکت کند.
این بلوک شامل زیر بخش های زیر است:
در زیر به ارائه هر کدام از این بخش ها پرداخته می شود:
سیستم زیر با گرفتن مسیر مطلوب، به محاسبه سرعت های مطلوب و شتاب مطلوب می پردازد.
کنترل فازی تطبیقی مربوط به پارامتر Z
تابع z controller:
function [u1,tetad] = fcn(x,xd,r,rd,rdd,para,teta) … |
کنترل فازی تطبیقی مربوط به پارامتر pitch
تابع pitch controller:
function [u2,tetad] = fcn(x,xd,r,rd,rdd,teta,para) … |
کنترل فازی تطبیقی مربوط به پارامتر ROLL
تابع roll controller:
function [u3,tetad] = fcn(x,xd,r,rd,rdd,para,teta) … |
کنترل فازی تطبیقی مربوط به پارامترyaw
تابع yaw controller:
function [u4,tetad] = fcn(x,xd,r,rd,rdd,para,teta) … |
در نهایت با محاسبه u1 ، u2 ، u3 و u4 براساس بلوک زیر T1، T2، T3 و T4 مورد محاسبه قرار می گیرد که به مدل دینامیک سیستم ارسال می گردد:
function T = fcn(u1,u2,u3,u4,para,noise) … |
توابع عضویت فازی مورد استفاده، پارامترهای کنترلی، rull ها، قوانین کنترلی و …. همه براساس پارامترهای داده شده در مقاله، شبیه سازی شده است.
نتایج حاصل از اعمال کنترلر
برای= 1 Zref
برای= 0.8*sin(0.1*t) pitchref
برای= 0.8*sin(0.1*t) rollref
برای= 0.8*sin(0.1*t) yawref
همانطور که در نتایج فوق مشهود است کنترلر طراحی شده توانسته است به خوبی توانسته است مسیر مطلوب مورد نظر را دنبال کند.
جهت یافتن نتایج فوق کافیست ابتدا فایل simu_controller.slx را با نرم افزار مطلب باز کنید و مسیر مطلوب موردنظر را در بلوک موردنظر تعریف کنید و سپس run کنید.
نتایج به صورت اتوماتیک بعد از تمام شدن run برای تمام state ها مشاهده خواهد شد.
Adaptive fuzzy control, Nonlinear control, Rectangular-shaped unmanned surveillance flying car, Simulation
, پروژه متلب, پروژه matlab , شبیه سازی با متلب
شبیه سازی
Study of an adaptive fuzzy algorithm to control a rectangular-shaped unmanned surveillance flying car
به تعداد محدودی قابل فروش می باشد.
سفارش انجام پروژه مشابه
درصورتیکه این محصول دقیقا مطابق خواسته شما نمی باشد،.
با کلیک بر روی کلید زیر پروژه دلخواه خود را سفارش دهید.