شبیه سازی مقاله کنترل کوادکوپتر: A Platform that Directly Evolves Multirotor Controllers با متلب
در این پست به شبیه سازی مقاله A Platform that Directly Evolves Multirotor Controllersبا نرم افزار متلب پرداخته است و سعی شده تمامی جزییات کوادکوپتر و کنترلر های حل به نمایش گذاشته شود
چکیده – ما یک پلت فرم آزمایشی را توصیف می کنیم که از تکامل افتراقی برای کشف خودکار کنترل کننده های چند موتوره با عملکرد بالا استفاده می کند. همه پارامترهای کنترل به طور همزمان تنظیم می شوند ، نیازی به مدل سازی نیست و ، همانطور که تکامل در یک مولتی موتور واقعی اتفاق می افتد ، کنترل کننده ها در واقعیت کار می کنند. این پلتفرم قادر است بدون مداخله انسانی بیش از یک هفته آزمایش پشت سر هم انجام دهد. نرخ خود سازگار در حالی که (حداقل) زمان همگرایی را حفظ می کند ، تناسب محلول را بهبود می بخشد. این پلتفرم اولین پلتفرمی است که امکان آزمایش رباتیک تکاملی را با ایمنی و به طور مکرر بر روی چند موتور واقعی ایجاد می کند. کنترل کننده های با کارایی بالا با وجود ارزیابی تناسب اندام پر سر و صدا ، سر و صدای حسی در دنیای واقعی ، اندازه کم جمعیت و تعداد محدودی از نسل های تکاملی ، تکامل می یابند.
چکیده
در این مقاله، از یک مدل پویا غیرخطی از یک نوع هواپیمای بدون سرنشین Quadrotor با استفاده از فرمالیتم نیوتن-اویلر، که بهطور گسترده درگذشته مورداستفاده قرارگرفته است، استفادهشده است. تمام نیروها و لحظات آئرودینامیکی UAV Quadrotor موردمطالعه در یک قاب استوانهای موردبررسی قرارگرفتهاند. سپس یک مدل دینامیک پایهای برای طراحی یک کنترلکننده LQG به همراه یک سیستم فازی برای تثبیت ارتفاع rotorcraft استفادهشده است. طراحی پارامترهای رویکرد کنترل LQG با ضرایب فازی پیشنهادی، یعنی ماتریس وزن R و Q فازی به اثربخشی چندین فرآیند خطا انجام میشود. درنهایت، نتایج شبیهسازی تظاهرات در محیط MATLAB / Simulink به دست میآید تا اثربخشی رویکرد تثبیت نسبی پیشنهادشده را نشان دهد.
برای دانلود فایل شبیه سازی متلب کلیک کنید
مقدمه
مدل اولیه آزمایشی یک Multiroter در سال ۱۹۰۷ توسط دو برادر فرانسوی بنام Jacques and Louis Breguet در پروژهای بنام Quadcopter ساخته و تست شد، هرچند آنها نتوانستند پرنده خود را در آسمان نگهدارند ولی موفق به پرواز ثابت شدند. بعدازآن ساخت بالگرد چهار پروانهای به سال ۱۹۲۰ میلادی برمیگردد. در آن سال یک مهندس فرانسوی بنام etienne oehmichen اولین بالگرد چهارپره را اختراع نمود و مسافت ۳۶۰ متر را با کوادکوپتر خود پرواز کرد در همان سال او مسافت یک کیلومتر را در مدت هفت دقیقه و چهل ثانیه پرواز کرد. این بالگرد از روش تنظیم X بهره میجست.
در حدود سال ۱۹۲۲ در آمریکا Dr George de Btheza موفق به ساخت و تست تعدادی Quadcopter برای ارتش شد که قابلیت کنترل و حرکت در سه بعد را داشت، ولی پرواز با آن بسیار سخت بود. در سال ۱۹۵۶ مدل دیگری توسط Convertewings طراحی شد و در سال ۱۹۵۸ مدل Curtis-Wright VZ-7 توسط کمپانی Curtis- Wright طراحی شد. در سالهای اخیر توجه مراکز دانشگاهی به طراحی و ساخت پهپادهای چهارپره جلب شده است و مدلهای مختلفی در دانشگاه استانفورد و کورنل ساختهشده است و بهتدریج رواج یافته است. از حدود سال ۲۰۰۶ کواد کوپترها شروع به رشد صنعتی بهصورت وسایل پرنده بدون سرنشین نمودند. امروزه مالتی روتورها بهویژه مدلهای چهارپره که به کواد کوپتر شهرت دارند یکی از پرکاربردترین وسایل پرنده بدون سرنشین میباشند؛ که بهعنوانمثال میتوان به کاربردهای گسترده تصویربرداری هوایی، نقشهبرداری، جاسوسی، تفریحی و … اشاره نمود. با گستردهتر شدن روزافزون جلوههای بصری در تبلیغات و فیلمهای سینمایی و تلویزیونی، استفاده از وسایل پرنده و تصویربرداری هوایی بیشازپیش موردتوجه قرارگرفته است.
برای دانلود فایل شبیه سازی متلب کلیک کنید
برخی از پژوهشهای دیگر که در این زمینه صورت گرفته است به شرح زیر میباشد.
درسال ۲۰۰۹ مارکوس[۱] و همکاران[۳] در مقاله خود یک سیستم کامل کنترلی طراحی کردند که در آن حرکت یک کوادکوپتر بهطور پایدار بر اساس بازخورد بصری و اندازهگیری سنسورهای اینرسی انجام میداد. که برای کنترل بهتر از سیستم تصویری یا نمایشی استفاده کردند.
در سال ۲۰۱۲ این کیو[۲] و همکاران [4]به طراحی یک سیستم کنترلی اوپن سورس پرداختند آنها در نظر داشتند که در این طراحی یک سیستم پویا و ارزانقیمت ارائه دهند تا در تمام شرایط و سرعتهای حرکتی مختلف کواد کپتر کنترل شود و همچنین آنها این سیستم را بروی دستگاههای دیگر تست کردند و نتیجه موفقیتآمیز گرفتند.
در سال ۲۰۱۲ مهدی فتان[۳] و همکاران [۵]در مقاله خود تلاش کردند تا یک کنترلکننده PID سازگار را شناسایی کنند که بتواند بهصورت انطباقی ضرایب مناسب را برای کنترل ارتفاع کوادکپتر پرواز کند. ساختار این کنترلکننده PID شبیه به نورون مصنوعی است که در بسیاری از شبکههای عصبی مصنوعی استفاده میشود. کنترل ارتفاع ربات توسط این کنترلکننده در یک مسیر سینوسی نشان دادهشده و از بین بردن اختلال ناگهانی توسط کنترلکننده PID تطبیقی عصبی نیز موردبررسی قرار گرفت.
در سال ۲۰۱۳ لوکاس[۴] و همکاران [۶] در مقاله خود باهدف ارائه یک مقایسه بین کنترلهای مختلف در یک مدل پویا از یک پلت فرم کوادکوپتر استفاده کردند. کنترلکنندههایی که در این کار استفاده شد، یک PID تنظیمشده ITAE، یک کنترلکننده LQR کلاسیک و یک PID تنظیمشده با یک حلقه LQR است.
در سال ۲۰۱۵ جاود[۵] و همکاران [۸] در مقاله خود یک استراتژی کنترل جدید برای یک کنترل Quadcopter با استفاده از سیگنالهای مغز پیشنهاد دادند. فنآوری مغز و کامپیوتر (BCI) با استفاده از الکتروانسفالوگرافی هیبرید – طیفسنجی نزدیک به مادونقرمز (EEG-NIRS) و دو دستور برای استفاده به quadcopter استفاده کردند.. نتایج نشان میدهد که طرح پیشنهادشده برای برنامههای کنترل BCI مناسب است.
برای دانلود فایل شبیه سازی متلب کلیک کنید
درسال ۲۰۱۷ ساسونگ کیم[۶] و همکاران [۲۴] یک سیستم ترکیبی برای کنترل یک کواد کپتر بدون سرنشین ارائه دادند کنترل پیشنهادی با آزمایشهای پرواز با استفاده از چند روتور با بازوی چهارگانه DOF استفاده شده است. نتایج بهدستآمده نشان میدهد عملکرد ردیابی برتر ساختار پیشنهادی در مقایسه با کنترل پشت سر و بدون DOB. است
درسال ۲۰۱۸ اندری[۷] و همکاران[۲۲] در مقاله خود از یک سیستم فازی مرتبه دو استفاده کردند و با مقایسه با سیستم فازی مرتبه یک نوع گوسی توانستند نشان دهند که میتوان با تغییر در پارامترهای فازی نوع دوم پایداری بهتری برای کوادکپتر متصور شد و همچنین مشخص نمودن که کواد کپتر های با فازی نوع دوم عملکرد یکسانتری دارند. و در شرایط غیر پیشبینیشده دارای پاسخ بهتری است.
برای دانلود فایل شبیه سازی متلب کلیک کنید
معادلات حاکم
مدلسازی پهپاد کوادکپتر
۱٫ شرح سیستم و نیروهای آیرودینامیکی
کوادکپتر یک نوع پهباد با چهار روتور است که بهطور مستقل کنترل میشوند. حرکت کوادکپتر منجر به تغییر در سرعت روتور میشود. ساختار کوادکپتر در این پایاننامه فرض شده است متقارن است. مرکز گرانش در کواد کپتر ثابت بوده. سرعت چرخشی پروانه ها پایدار است و نیروهای درگ آنها به مربع سرعت پروانهها وابسته است. روتور کوادکپتر موردمطالعه با قابهای بدنه در شکل ۱ نشان داده شده است
پارتیشنهای زیر را در مختصات انتقالی و چرخش ارائهشده است:
(۱) ξ = (x, y, z)ϵR3, η = (ϕ, θ, ψ)ϵR3
در معادله بالا = (x,y,z) ξ نشاندهنده موقعیت بردار مرکزی جرم کوادکپتر در قاب ثابت در نظر گرفتهشده. η = (ϕ,θ,ψ) حرکت کوادکپتر را نشان دادهشده که توسط زاویه یولر ϕ,θ,ψاست
میدانیم که ϕ زاویه رول در محور x است. θ زاویه زمین در محور y است وψ زاویه پیچشی در اطراف محور z هستند. تمام این زاویهها بهصورت زیر محدودشدهاند:
(۲) (۳) (۴) ![]() | ![]() |
هر موتور Mi=(i=1,2,3,4) از کوادکپتر نیروی Fi تولید میکند که متناسب با مربع سرعت زاویهای است. حرکت هر موتور در جهتی ثابت است، نیروی تولیدشده Fi همیشه مثبت است. موتورهای جلو و عقب (M1 و M3) چرخانده میشوند، درحالیکه موتورهای چپ و راست (M2 و M4) و بهصورت ساعت چرخ هستند.

شکل ۱- کواد کوپتر موردبررسی
همانطور که در [۳]، [۱۲] نشان دادهشده است، اثرات ژیروسکوپی و گشتاورهای آیرودینامیکی به دلیل طراحی مکانیکی کوادکپتر تمایل به لغو در پرواز کاهشیافته است. برآیند کل F برابر مجموع مسیرهای فردی هر موتور است. بگذارید با توجه به m مجموع جرم کوادکپتر و g شتاب گرانش. جهتگیری کوادکپتر توسط ماتریس چرخش که به سه زوایای اویلر (ϕ,θ,ψ) بستگی دارد و معادله زیر را تعریف میکند:
(5) | ![]() |
در طول پرواز خود کوادکپتر به نیروهای خارجی مانند ضربههای باد، گرانش، اصطکاک و دیگران نیروها که خود تولید میشوند مانند نیروی محرک و کشیدن است. علاوه بر این، گشتاورهای خارجی بهطور عمده توسط رانش روتور و کشیدن بر روی بدن و پروانه است. موانع ایجادشده توسط اثرات ژیروسکوپی موتور نیز ذکرشده است.
نیروی محرک تولیدشده توسط روتور I ام از کوادکپتر در زیر ارائهشده است[۵]، [۱۳]:
(۶) | ![]() |
که در آن ρ چگالی هوا، r و Λ به ترتیب شعاع و بخش از پروانه است، CT ضریب رانش آیرودینامیکی است.
گشتاور کشیدن آئرودینامیک، ناشی از نیروی کششی در پروانهی روتور i است و با گشتاور موتورهای دیگر مخالف است، به شرح زیر تعریف میشود:
(۷) | ![]() |
برای دانلود فایل شبیه سازی متلب کلیک کنید
که در فرمول بالا CD ضریب درگ آیرودینامیک است.
مجموع تمام گشتاورهای تولیدشده توسط چهار روتور کوادکپتر است که شتاب های تولید شده ترتیب به شرح زیر تعریف میشوند: [۱۵]، [۳]:
(۸) (۹) (۱۰) | ![]() |
جایی که C یک ضریب تناسب ثابت است و l از فاصله تا مرکز هر روتور تا مرکز ثقل مشخص میشود.
دو گشتاور اثر ژیروسکوپی، به دلیل حرکت پروانهها و بدن کوادکپتر، بهصورت افزایشی ارائه میشوند. این لحظات به ترتیب در زیر نشان دادهشده است[۱۳]، [۱۰]:
(۱۱) (۱۲) | ![]() |
در فرمول بالا O بردار سرعت زاویهای در قاب است.
کوادکپتر با تغییر مستقل سرعت هر روتور چهارگانه کنترل میشود. ازاینرو، این ورودیهای کنترل به شرح زیر تعریف میشوند:
(13) | ![]() ![]() |
که در آن b>0 and d>0 دو پارامتر بسته به تراکم هوا متغییر هستند، هندسه و نیرو درگ و ضریب درگ پروانه بهصورت دادهشده در معادله است. (۶) و معادله (۷)، و w1,2,3,4 سرعت زاویهای چهار روتور است.
از معادله (۱۳) میتوان مشاهده کرد که ورودی ۱u نیروی محرک کل را در محور z محور چهارگانه نشان میدهد، ورودیها u2 و u3 به ترتیب گشتاور رول و محور را نشان میدهند. و u4 نشانگر گشتاور چرخش است.
ب. مدلسازی نیوتن-اویلر
با استفاده از روش نیوتن-اویلر برای مدلسازی، قوانین نیوتن منجر به معادلات حرکت کوادکپتر میشود. [۱۵]، [۶]، [۳]، [۱۳]:
(۱۴) | ![]() |
که در فرمول بالا
نشاندهنده نیروی محرک کل چهار روتور | ![]() |
نیروی کشش هوا است که مقاومت در برابر حرکت کوادکپتر | ![]() ![]() |
نیروی جاذبه | ![]() |
گشتاور کل | |
گشتاور ناشی از اصطکاک آیرودینامیکی | ![]() |
جای گذاری بردار موقعیت و بیان نیروها در معادله. (۱۴)، دینامیک حرکت کواد کپتر بهصورت زیر ارائه میشود. [۱۲]، [۱۰]، [۵]:
(15) | ![]() ![]() |
برای دانلود فایل شبیه سازی متلب کلیک کنید
از قسمت دوم معادله (۱۴) با جایگذاری میتوان دینامیک چرخشی رتور ها را بهصورت زیر نوشت.:
(16) | ![]() |
در معادله بالا k1,2,3,… ضریب درگ است و Ωr = ω۱ – ω۲ + ω۳ – ω۴ سرعت زاویهای روتور ها است.
که معادله زیر

بهعنوان بردار حالت در فضا حالت کوادکپتر موردمطالعه به شرح زیر است:
(17) | ![]() |
که در معادله بالا متغیرها بهصورت زیر است

طراحی بهینه کنترلر LQG
برای دانلود فایل شبیه سازی متلب کلیک کنید
مفاهیم اساسی کنترل LQG
بهمنظور طراحی یک کنترل LQG مطلوب از یک مدل خطی استفاده شده که از یک سیستم غیرخطی مشتق شده بدست امده است. معادله (۱۷). شکل فضا حالت، که در این روش کنترل استفاده میشود بهصورت زیر است.
(۱۸) | ![]() |
به ترتیب w و v فرآیند اختلال و ورودی اندازهگیری نویز است، به ترتیب x (t) وضعیت سیستم، u (t) ورودی کنترل را نشان میدهد و y (t) خروجی سیستم است. متغیرهای w و v معمولاً بهعنوان فرآیندهای تصادفی گاوسی با ماتریسهای ثابت کوواریانس W و V ارائه میشوند. [۱۶]، [۱۷]:
(۱۹) | ![]() |
روش کنترل LQG بر اساس حداقل معیار بهینهسازی درجه دوم بهصورت زیر است. [۸]:
(۲۰) | ![]() |
در معادله بالا Q و R ماتریسهای وزن کنترل خطی (LQ) هستند [۱۸]، [۱۶]
درنهایت میتوان بلوک فضا حالت را بهصورت زیر نوشت:
(21) | ![]() |
در فرمول بالا L نشاندهنده میزان محاسبهگر KALMAN است و به شرح زیر تعریفشده است:
(۲۲) | ![]() |
P از معادله ری کاتی جبری شرح زیر است:
(۲۳) | ![]() |
۲٫ طراحی کنترل LQG برای کوادکپتر
ماتریس حالت و ورودی از فرم خطی فضای حالت (۱۸) به ترتیب توسط عبارت زیر ژاکوبین داده میشود:
(24) (25) | ![]() |
که در معادله بالا (x0, u0) نقطه عملیاتی تعادل سیستم غیرخطی از معادله (۱۵) و معادله (۱۶) است که بهصورت زیر ارائهشده:
(26) | ![]() |
طراحی LQG برای مسئله تثبیت ارتفاع و نواختی کوادکپتر در محیط MATLAB / Simulink حلشده است. از طریق یک فرآیند تابع جریمه، ما ماتریس وزن Q و R را بهصورت زیر انتخاب میکنیم:
(۲۷) (28) | ![]() |
که در فرمول بالا I12 یک ماتریس همانی است.
برای دانلود فایل شبیه سازی متلب کلیک کنید
پسازآن، ماتریس کوواریانس نویز تعیین میشود، و درنهایت ماتریس L , K بهصورت زیر به دست میآید.
ضرایب ماتریس l
۰٫۳۲۶ | ۱٫۱۷۶ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰٫۰۲۸- | ۰٫۸۸۸- | ۰ | ۰ |
۰ | ۰ | ۰٫۳۴ | ۰٫۸۳ | ۰ | ۰ | ۰٫۰۲۵ | ۰٫۹۹۴ | ۰ | -۰٫۱۹۸ | ۰ | ۰ |
۰ | ۰ | ۱٫۰۶۰ | ۹۳۲٫۷ | ۰ | ۰ | ۰ | ۰٫۰۱۹ | ۰ | ۰ | ۰ | ۰ |
۰ | ۰ | ۰ | ۰ | ۱٫۰۵۸ | ۱٫۰۲۳ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ |
۰ | ۰ | ۰ | ۰ | ۱٫۰۷۲ | ۳۶۷٫۳۸ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ |
۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰٫۸۹۲۶ | ۰٫۹۸۲۴ | ۰ | ۰ | ۰ | ۰ |
۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۱٫۰۶۹۴ | ۶٫۲۳۱۵ | ۰ | ۰ | ۰ | ۰ |
۰٫۰۳۰- | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰٫۸۴ | ۰٫۷۷۸ | ۰ | ۰ |
۱٫۱۲۸۵- | ۰٫۰۲۳۵- | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰٫۹۷ | ۶٫۴۸ | ۰ | ۰ |
۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰٫۹۶۷ | ۰٫۸۵۵ |
۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰٫۷۲۴ | ۷٫۴۹ |

ضرایب ماتریس k
۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۱٫۱۲۸ | ۱٫۱۰۲ |
۰٫۵۶ | ۰٫۱۰۱۱ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰٫۰۵۹۶- | ۰٫۰۷۹- | ۰ | ۰ |
۰ | ۰ | ۰٫۵۸۳۰ | ۰٫۰۸۷۸ | ۰ | ۰ | ۰٫۰۶۶۳ | ۰٫۰۸۶ | ۰ | ۰ | ۰ | ۰ |
۰ | ۰ | ۰ | ۰ | ۰٫۰۵۷ | ۰٫۰۷۷ | ۰ | ۰ | ۰ | ۰ | ۰ | ۰ |
۲- ۳کنترلکنندهی منطق فازي برای پهباد
ساختار عمومي يك سيستم كنترل فازي کامل در شكل زیر دادهشده است. کنترلکنندهی دستگاه از
متغیر حالت استنباط شده است. خطا
و تغييرات در خطا
. مقدارهاي واقعي ورودي به نزدیکترین مقدار در قلمرو بحث تخمين زده میشوند درنتیجه ورودیهای فازي شده بهوسیلهی مجموعههای فازي اختصاصی توصيف میشوند.
جزئيات اين کنترلکنندهها بر اساس برنامهی فازي است . قانونهای كنترلي طراحي میشوند تا مجموعهای فازي از ورودیهای كنترلي را به هر تركيبي از مجموعههای
و
ارجاع دهند.
برای دانلود فایل شبیه سازی متلب کلیک کنید
جدول يك نمونه از پايگاه قانون كنترلي ممكن را نشان میدهد. ستونها نشاندهندهی شيب تغييرات خطا
و سطرها نشاندهندهی خطا
هستند. هر جفت
سطح خروجي
نسبت به
را متناظر با
نشان میدهد.
در اينجا بزرگ منفي ،
متوسط منفي ،
صفر ،
متوسط مثبت و
بزرگ مثبت برحسب مجموعههای فازي هستند و تابعهای عضو متناظر با آنها در شکلهای ۲ نشان دادهشده است و درنهایت در شکل ۳ خروجی سهبعدی نرمافزار متلب مشخصشده است. پيوستگي تابع عضو ورودي ، روشهای استدلالي و روشهای عكس فازي براي پيوستگي نگاشت
ضروري است. در اين مقاله تابع عضو مثاثي ، روش استدلالي ماكزيمم –مينيمم و روش عكس فازي مركز ثقل مورداستفاده قرارگرفته است همچنان كه مکرراً در بسياري از تحقيقات ديگر نيز مورداستفاده قرارگرفته است.
جدول(۱) پایگاه قانون برای کنترل


شکل ۲- ممبرشیب فانکش های استفادهشده

شکل ۳- نتایج سهبعدی رولهای ایجادشده در نرمافزار متلب
برای دانلود فایل شبیه سازی متلب کلیک کنید
برای دانلود فایل شبیه سازی متلب کلیک کنید