بخشی از مقاله
چکیده
اخیراً روشهای کنترل رباتها به سرعت در حال رشد است. با این حال، تحقیقات در زمینه ربات ماهی در سطح پایینی قرار دارد. دقت ربات ماهی به عوامل مختلف از جمله دقت سنسورهای حرکتی، لقی مفاصل، قابلیت ارتجاعی محرکهای ربات ماهی و دقت کنترلکننده بستگی دارد. در این میان دقت و کارآیی کنترلکننده مهمترین سهم را در دقت ربات ماهی دارد.
در این مقاله یک ربات ماهی با دینامیک و مکانیزم شناگری تقریباً مشابه با یک ماهی واقعی طراحی شده است. باتوجه به معادلات حرکت، ربات ماهی به صورت 3 مفصل لولایی در نظر گرفته شده است. سپس باتوجه به این معادلات، سیستم کنترلی تعریف شده است. بررسی پایداری کنترل ربات ماهی یک مسئله پیچیده است .در این مقاله، برای کنترل مسیر حرکت ربات ماهی، کنترلکننده PID بهینه شده توسط الگوریتم غذایابی باکتری، پیشنهاد شده است . سپس این کنترلکننده با کنترلکننده قدرتمند فازی و کنترلکننده PID بهینه شده با PSO با اعمال ورودیهای پله و سینوسی مقایسه شده است.
که نتایج بدست آمده نشان میدهد که کنترلکننده PID بهینه شده توسط الگوریتم غذایابی باکتری عملکرد بهتری نسبت به کنترلکننده فازی و کنترلکننده PID بهینهشده توسط الگوریتم PSO از دیدگاه کاهش زمان نشست، کاهش فراجهش و زمان خیز در پاسخ به ورودی پله را دارد. و همچنین در پاسخ به ورودی سینوسی که مهمترین مشخصه ی آن کاهش میانگین خطاهای سیگنال میباشد عملکرد بهتری داشته است. عملکرد روش پیشنهادی در نرمافزار MATLAB بررسی شده است
-1 مقدمه
رباتها مظهر مهیجترین تکنولوژی پیشرفته در عصر حاضر هستند. مخصوصا رباتهایی که از طبیعت الهام میگیرند . رباتهای خزنده، دونده، پرنده و شناگر توجه هر کس را به خود جلب میکند. با توجه به رشد چشمگیر تکنولوژی ساخت رباتهای سیار مانند رباتهای انسان نما، رباتهای شستشوگر، ربات خنثیکننده مواد منفجره یا مینیاب، رباتهای فوتبالیست و غیره. هنوز تعداد تحقیقات و مطالعه در زمینه رباتهای زیرآبی کنترل از راه دور و بویژه خودکار به اندازه کافی صورت نگرفته است و میتوان گفت این موضوع هنوز در سطح پایین فناوری روز دنیا قرار دارد.
مطالعات مختلفی به بررسی ماهیهای رباتیک پرداختهاند. در سال 1994، دانشگاهMIT اولین ماهی رباتیک به نام Robotuna را معرفی کرد.[7] در مطالعات بسیار زیاد، در دانشگاه ESSEX یک ماهی رباتیک به نام نسل - G9 - 9 ساخته شد که قادر به شنا کردن با سرعت زیاد نسبت به موارد مشابه قبلی بود و در حال حاضر این ماهی رباتیک در نمایشگاه آکواریوم Hall لندن نگهداری میشود.
درمقاله[1]، کنترل زاویه انحراف ربات ماهی با 4 محرک در جهت افقی مورد مطالعه قرار گرفته است . در این راستا، یک مدل پویا جهت توصیف حرکت ربات ماهی 4 محرک با سه مفصل به دست آمده است . سپس، یک کنترل کننده فازی برای دستیابی به عملکرد مناسب پاسخ پله جهت کاهش خطای حالت ماندگار، کاهش فرا جهش و کاهش زمان نشست پیشنهاد شده است.
مقاله[2]، یکی از کاربردهای منطق فازی را در طراحی یک ماهی رباتیک هوشمند با محرک های چندگانه معرفی مینماید، که میتواند به راحتی شنا نموده و از خطراتی که در آب وجود داردکاملاً مستقل عمل کند. مقاله های [3] و [4]مدل ریاضی برای یک ربات ماهی با توجه به حرکت رو به جلو و انحراف زاویه حرکت ماهی ارائه شده است. کنترل مقاوم سرعت ربات ماهی در مقاله[5] بررسی شده است. طراحی کنترل کنندهی پایدار از ماهی رباتیک در مقاله [6] ارائه شده است.
در مقاله [9] کنترل مسیر یک ربات سه چرخ با استفاده از کنترل کننده PID بهینه شده با الگوریتم PSO مورد مطالعه قرار گرفت. در این تحقیق از کنترلکننده PID بر کنترل دو مشخصه ربات یعنی کنترل سرعت و کنترل زاویه چرخش چرخ ها مورد استفاده قرار گرفت. از الگوریتم PSO برای پیدا کردن ضرایب بهینه کنترلکننده استفاده شده است.
در مقاله [10] انواع روش های تنظیم کردن پارامترهای کنترل کننده PID، با استفاده از تکنیک های محاسبات نرم مثل ژنتیک، PSO و فازی را برای بهبود دادن سرعت موتورهای DC مورد مقایسه قرار دادند. که نتایج مقایسات حاکی از این بود که، استفاده از الگوریتمهای تکاملی پاسخهای به مراتب بهتری را نسبت به روشهای کلاسیک مانند نیکولس یا زیگلور داده است. و همچنین در مقایسه کنترلکننده فازی با کنترلکننده PID، کنترل کننده فازی با توجه با ذات هوشمندی خود توانسته پاسخهای یهینهتری را تولید کند. اما کنترل کننده فازی دارای ساختار پیجیده و هزینه ساخت بالا نسبت به کنترلکننده PID دارد. حال اگر کنترلکننده PID بگونهای نتظیم شود که با تنظیم آن پاسخ بهتری نسبت به کنترلکننده فازی بدست آوریم، بصرفهتر خواهد بود.
در این مقاله، تلاش برای پیاده سازی یک ربات ماهی داریم. این طراحی برای یک ربات ماهی دارای چهار قطعه با دو مفصل متحرک صورت گرفته است. این ماهی از سه بخش تشکیل شده است: سر، قسمت انعطافپذیر و دم پشتی . قسمتهای کنترلی سیستم بر روی قسمت انعطافپذیر ربات صورت میگیرد. در قسمت بعد روش پیشنهادی مقاله که یک کنترلکننده PID بهینه شده توسط الگوریتم غذایابی باکتری برای کنترل حرکت ماهی معرفی میگردد.
بخشهای مختلف مقاله به صورت زیر است. بخش دوم، به بررسی مدل ربات ماهی میپردازد. در بخش سوم کنترلکننده PID بیان شده است. در بخش چهارم طراحی کنترلکننده PID برای کنترل ربات ماهی و در بخش پنجم الگوریتم غذایابی باکتری توضیح داده شده است. نتایج شبیهسازی به منظور بررسی روش ارائه شده در بخش ششم نشان داده شده است. و در نهایت، در بخش هفتم نتیجهگیری ذکر شده است.
-2 مدل ربات ماهی
شکل - 1 - ساختمان ربات ماهی چهار قطعه را نشان میدهد. همانگونه که در این شکل مشاهده میگردد ربات ماهی دارای سه مفصل بند بند میباشد. سه سروموتور با انکدر به ترتیب روی مفصل اول، دوم و سوم بدن ماهی قرار گرفته است. در این تحقیق، مفصل اول و دوم متحرک و مفصل سوم ثابت در نظر گرفته شده است. چهارمین قطعه دم است که برای تولید پیشرانه و ایجاد یک حرکت نرم شبیه به ماهی واقعی به مفصل سوم متصل گردیده است. در اینجا سه قسمت اصلی وجود دارد:
- 1 سر - قسمت صلب ربات -
- 2 قسمت انعطافپذیر
- 3 تراشه آویخته به قسمت انعطافپذیر - یا همان دم ماهی -
شکل :1 ساختمان ربات ماهی چهار قطعه با سه مفصل
قیود مکانیکی ربات ماهی در شکل - 2 - و پارامترهای سینماتیک برای مدل دینامیکی ربات ماهی در شکل - 3 - نشان داده شده است.
2-2 معادله حرکت ربات ماهی
اگر ربات ماهی را به عنوان یک جسم صلب در نظر بگیریم، معادله حرکت رو به جلو - پیشرانه یا رانش - ربات به صورت رابطه - 1 - بیان میشود:
اگر ربات ماهی در راستای محور x حرکت کند، سرعت نسبی در مرکز جرم باله دمی - در جهت محور - y به صورت رابطه - 2 - محاسبه میگردد.
تصویر بلوک دیاگرام سیمولینک مدل حرکتی ربات ماهی در شکل - 4 - نشان داده شده است.
وارد کنترلکننده میشود و مقدار مشتق و انتگرال آن محاسبه میشود. و سپس سیگنال کنترلی u با ضریبی از سیگنال خطا - - ،ضریبی از انتگرال خطا - - و ضریبی از مشتق خطا - - محاسبه میشود.
-4 طراحی کنترلکننده PID برای کنترل حرکت ربات ماهی
در این قسمت یک کنترلکننده PID برای کنترل حرکت ماهی طراحی میگردد. این طراحی برای یک ربات ماهی با چهار قطعه صورت گرفته است. شکل - 5 - ساختار و هدایت و کنترل این ربات را نشان میدهد.
شکل:5 ساختار هدایت و کنترل ربات ماهی
تصویر بلوک دیاگرام سیمولینک کنترلکننده PID برای کنترل حرکت ربات ماهی در شکل - 6 - نشان داده شده است.
شکل :4 بلوک دیاگرام سیمولینک مدل حرکت ربات ماهی
-3 کنترلکننده PID
کنترلکننده PID از رایجترین نمونههای کنترل بازخوردی است که در بسیاری از فرایندهای کنترلی نظیر کنترل سرعت موتور DC، کنترل فشار، کنترل دما و ... کاربرد دارد. هدف از به کار بردن الگوریتم PID در کنترل حلقه بسته، کنترل دقیق و سریع خروجی سیستم تحت شرایط متفاوت و بدون دانستن دقیق رفتار سیستم در پاسخ به ورودی است.
کنترلکننده PID از سه قسمت مجزا به نامهای Proportional - تناسبی - ، Integral - انتگرالی - و Derivative - مشتق - تشکیل شده، که باید پارامترهای P، I و D برای بدست آوردن بهترین پاسخ برای سیستم ربات ماهی تنظیم شود. هر کدام از این پارامترها سیگنال خطا را به عنوان ورودی گرفته و عملیاتی را روی ان انجام می دهند و در نهایت خروجیشان با هم جمع میشود. خروجی این مجموعه که همان خروجی PID است برای اصلاح خطا - Error - به سیستم فرستاده میشود.
خروجی کنترلکننده PID به صورت معادله - 5 - می باشد:
متغییر e - t - که نشان دهنده سیگنال خطا است، یعنی تفاوت میان مقدار خواسته شده - r - و مقدار واقعی خروجی - y - میباشد.سیگنال خطا
شکل :6 بلوک دیاگرام سیمولینک کنترل حرکت ربات ماهی با استفاده از کنترلکننده PID
برای تنظیم پارامترهای کنترلکننده PID یعنی ، و ، ازالگوریتم غذایابی باکتری استفاده شده است . الگوریتم غذایابی باکتری باید سه مقدار بهینه را از میان بی نهایت عددی که در مختصات دکارتی وجود دارد، پیدا کند
-5 الگوریتم غذایابی باکتری - - Bacterial Foraging
الگوریتم غذایابی باکتری - BFO - یک الگوریتم بهینه سازی مبتنی بر هوش جمعی است که در [11] پیشنهاد شده است. ایده الگوریتم غذایابی باکتری بر این واقعیت استوار است که در طبیعت، جانداران با روش غذایابی ضعیف احتمال انقراض بیشتری نسبت به جاندارانی با استراتژی غذایابی موفق دارند. پس از نسلهای زیاد، جانداران با روش غذایابی ضعیف نابود شده و با به حالت های بهتر تغییر شکل می دهند.

