5-2- نرم افزار شبیه سازی KiKS48
5-3- محیط های شبیه سازی51
5-4- نتایج شبیه سازی53
5-4-1-موفقیت در رسیدن به هدف (GR)53
5-4-2-امنیت مسیر طی شده تا هدف (SF)53
5-4-3-سرعت مسیر طی شده تا هدف (SP)53
5-5- بحث و نتیجه گیری65
5-6-پیشنهادهای ادامه کار66
مراجع…………………………………………………………………………………………………………………………………………………………………………….67
چکیده لاتین…………………………………………………………………………………………………………………………………………………………………….70
فهرست شکل ها
شکل(‏21): معماری سلسله مراتبی جهت ناوبری ربات 12
شکل(‏22): معماری مبتنی بر رفتار جهت ناوبری ربات 15
شکل(‏23): معماری رده بندی جهت ناوبری ربات 15
شکل(‏24): معماری الگوهای حرکتی جهت ناوبری ربات 16
شکل(‏25): معماری ترکیبی جهت ناوبری ربات18
شکل(‏31): توابع عضویت فازی متغیرهای ورودی 25
شکل(‏32): روش فازی زدایی متوسط مقدار بیشینه 26
شکل(4-1): ربات کپرا 35
شکل(42): میزان دریافت نور بازتاب شده از موانع مختلف توسط گیرندههای مادونقرمز ربات کپرا36
شکل(4-3): توابع عضویت فازی ورودی 38
شکل(4-4): نمایش راستای محاسبه زاویه چرخش در دستگاه کارتزین39
شکل(4-5): الگوریتم یادگیری Q فازی 40
شکل(4-6): فلوچارت الگوریتم یادگیری Q فازی پیشنهادی 41
شکل(4-7): بهینه سازی غیربرخط پارامترهای کلیدی یادگیری Q و سامانه استنباط فازی……………………………….43
شکل(4-8): محیط در نظر گرفته شده جهت فرآیند بهینه سازی 44
شکل(4-9): نمودار بهینه سازی تابع هدف بر حسب تعداد تکرارها 45
شکل(4-10): فلوچارت الگوریتم بهینه سازی46
شکل(5-1): پنجره آماده سازی KiKS 49
شکل(5-2): نمونه شکل های موانع52
شکل(5-3): عملکرد الگوریتم یادگیری Q فازی در محیط ساده 56
شکل(5-4): عملکرد الگوریتم فازی در محیط ساده 56
شکل(5-5): عملکرد الگوریتم یادگیری Q فازی در محیط ساده57
شکل(5-6): عملکرد الگوریتم فازی در محیط ساده 57
شکل(5-7): عملکرد الگوریتم یادگیری Q فازی در محیط ساده 58
شکل(5-8): عملکرد الگوریتم فازی در محیط ساده 58
شکل(5-9): عملکرد الگوریتم یادگیری Q فازی در محیط معمولی 59
شکل(5-10): عملکرد الگوریتم فازی در محیط معمولی 59
شکل(5-11): عملکرد الگوریتم یادگیری Q فازی در محیط معمولی 59
شکل(5-12): عملکرد الگوریتم فازی در محیط معمولی59
شکل(5-13): عملکرد الگوریتم یادگیری Q فازی در محیط معمولی 60
شکل(5-14): عملکرد الگوریتم فازی در محیط معمولی 61
شکل(5-15): عملکرد الگوریتم یادگیری Q فازی در محیط پیچیده62
شکل(5-16): عملکرد الگوریتم فازی در محیط پیچیده62
شکل(5-17): عملکرد الگوریتم یادگیری Q فازی در محیط پیچیده 63
شکل(5-18): عملکرد الگوریتم فازی در محیط پیچیده 63
شکل(5-19): عملکرد الگوریتم یادگیری Q فازی در محیط پیچیده 64
شکل(5-20): عملکرد الگوریتم فازی در محیط پیچیده 64
فهرست جدول ها
جدول(‏21): مقایسه خصوصیات معماری های مختلف22
جدول(‏22): تعریف معیارهای ارزیابی معماری های مختلف22
جدول(41): محدوده صفات زبانی زاویه چرخش39
جدول(42): مقادیر سیگنال تشدیدی در حالتهای مختلف42
جدول(4-3): پارامترهای الگوریتم بهینه سازی44
جدول(4-4): مقادیر پارامترهای بهینه شده و تابع هدف45
جدول(51): توصیف کمی درجه پیچیدگی محیط ها53
جدول(5-2): عملکرد الگوریتم یادگیری Q فازی پیشنهادی54
جدول(5-3): عملکرد الگوریتم فازی55
فهرست علایم و اختصارات
FQL………………………………………………………………………………………………….. Fuzzy Q-learning
DFQL………………………………………………………………………………….. Dynamic Fuzzy Q-learning
ABC………………………………………………………………………… Artificial Bee Colony Optimization
KiKS………………………………………………………………………………… KiKS is a Khepera Simulator
فصل اول
مقدمه
مقدمه
ربات خودمختار1 به سامانهی فیزیکی‌ای اطلاق میشود که بتواند به طور هدفمند، بدون دانش پیشین از محیط و بدون دخالت انسان در دنیای واقعی، که مخصوصا برای ربات مهندسی نشده، حرکت کند و وظایف مشخصی را انجام دهد [1]. به عنوان مثال، مطلوب مساله ناوبری2 ربات، که در این پژوهش مطرح است، حرکت ربات به سمت هدفی مشخص بدون برخورد با موانع موجود میباشد. این موانع میتوانند موانع ثابت مثل دیوار، میز، صندلی و یا موانع متحرک مثل انسانها و … باشند. جهت عملکرد بهتر لازم است ربات محیط را حس نماید و قادر به برنامه ریزی عملیات خود باشد. پیچیدگی و تنوع محیطهایی که ربات باید در آنها کار کند، همچنین محدودیتهای زیاد حرکتی (مانند حداکثر سرعت ممکن ربات) و محیطی (مانند وجود موانع) که ربات مجبور به رعایت آنها میباشد، مساله ناوبری ربات را به یک مساله مشکل تبدیل کرده است. رباتهای خودمختار بایستی قادر به سازگاری با عدم قطعیتهای بسیار موجود در محیط باشند، زیرا محیطهای فیزیکی معمولاً پویا و غیر قابل پیشبینی هستند. اغلب موانع ایستا نیستند و داده های حسگرها به علت نویز، غیردقیق و غیر قابل اطمینان هستند. حرکت رباتها، معمولاً براساس معیارهای کارایی عملکرد و محدودیتهای ذاتی آنها بهینه میشود. معیارهای کارایی متداول، غالباً کمینهسازی تعداد برخورد با موانع و زمان رسیدن به هدف میباشند و از آن سو محدودیت، لحاظ نمودن حداکثر سرعت ربات است.
ماشینهای هوشمندی که بتوانند وظایف خسته کننده، تکراری و خطرناک را انجام دهند، جایگزین تواناتر و قدرتمندتر و قابل اطمینان تری نسبت به نیروهای انسانی میباشند. رباتیک امروزی از زمین‌های ساخت یافتهی کارخانهها به محیطهای انسانی غیرقابل پیشبینی حرکت کرده است. رباتهای امروزی میبایست در محیطهای ساختنیافته و پویا فعالیت کنند. رباتها به طور گسترده در منازل، ادارهها، بیمارستانها، امدادرسانی در نواحی خطرناک یا غیرقابل دسترس، یاریرسانی به افراد معلول، تولید و مونتاژ و بستهبندی، حمل و نقل، اکتشافات زمینی و فضایی، جنگ افزارها و تحقیقات آزمایشگاهی به کار میروند.

تعاریف اولیه در رباتیک
یک تعریف ساده از ربات میتواند این باشد: مکانیزمی که قادر به حس و درک محیط پیرامون و حرکت و واکنش باشد. در تعریفی دقیقتر و جزییتر میتوان ربات را مجموعهای از زیر سامانههای ادوات حسگری، واحد تصمیمگیری، کنترلکننده، محرکها، بازوهای مکانیکی و منابع تغذیه دانست [2]. برای ناوبری رباتهای متحرک ممکن است از حسگرهای مختلف استفاده شود که لزوماً از یک نوع نیستند. بعضی از حسگرها اطلاعات یکدیگر را تکمیل و برخی دیگر، اطلاعات یکدیگر را تصحیح مینمایند. ربات از حسگرهای با محرک خارجی مانند دوربین، حسگر فراصوت یا مادونقرمز برای مشاهدهی حالت محیط استفاده میکند؛ و از حسگرهایی با محرک داخلی مانند قطبنما یا رمزگذارمحور3 (بر روی چرخها) برای مشاهدهی موقعیت، سرعت و شتاب پیوندها و مفاصل مختلف خود بهره میگیرد. اطلاعات به دست آمده از حسگرها به منظور ترکیب و تفسیر به واحد تصمیمگیری ارسال میشوند، که مغز ربات تلقی میشود و مهمترین نقش را در برنامهریزیهای ربات ایفا میکند. پس از تحلیل دادههای حسگرها و اخذ تصمیم، فرمان مناسب به کنترلکننده ارسال میشود. وظیفهی کنترلکننده تولید سیگنالهای لازم جهت درایو محرکها میباشد. محرکها، سیگنالهای دریافتی از کنترلکننده را به حرکت تبدیل مینمایند. بازوهای مکانیکی مانند بازوهای رباتیک یا محور چرخها مجموعهای از پیوندها هستند که توسط مفاصل به هم متصل شدهاند و توانایی تاثیرگذاری در محیط را دارند (حرکت دادن یا گرفتن اجسام). منابع تغذیه سامانههای قدرتی میباشند که برای تولید و تنظیم انرژی مورد نیاز محرکها و درایورها به کار میروند.
چالشهای ناوبری خودمختار
به رغم پیشرفتهای قابل توجه در زمینه رباتیک خودمختار در سالهای اخیر هنوز تعدادی مسایل حل نشده باقی مانده است. اکثر مشکلات از طبیعت محیطهای ساختنیافتهی دنیای واقعی و عدم قطعیتهای وسیع ذاتی آنها سرچشمه میگیرند [1]. اولاً دانش پیشین دربارهی محیط معمولاً ناقص، غیرقطعی و تقریبی است. برای مثال در نقشه‌هایی که ربات از محیطش میسازد معمولاً برخی جزییات و مشخصههای موقتی حذف میشوند، روابط مکانی میان اشیا ممکن است از زمانیکه نقشه ساخته شده است تغییر کرده باشند و اطلاعات متریک شاید غیر دقیق و ناصحیح باشند. دوماً اطلاعات ادراکی به دست آمده معمولاً غیر قابل اطمینان هستند. گستره محدود، ترکیب شده با اثر مشخصههای مکانی (مانند انسداد) و شرایط نابسامان مشاهدات (مانند روشنایی ضعیف)، منجر به اطلاعات نویزی و غیر دقیق میشوند؛ و خطاهای موجود در فرآیند تفسیر اندازهگیریها ممکن است منجر به باورهای ناصحیح شوند. سوماً محیطهای دنیای واقعی معمولاً دارای دینامیک پیچیده و غیر قابل پیشبینی میباشند: اشیا میتوانند حرکت کنند، سایر عوامل میتوانند محیط را تغییر دهند و مشخصههای نسبتاً پایدار ممکن است با زمان تغییر کنند (مانند تغییرات فصلی). نهایتاً اثر عملهای کنترلی کاملاً قابل اعتماد نیستند: چرخها ممکن است سر بخورند، و یک گیرنده ممکن است شیئ را رها کند.
از لحاظ لغوی عدم قطعیت مشخصهی اطلاعات نیست بلکه مشخصهی عامل است. یک عامل ممکن است در مورد وجود شیئ، مقدار یک مشخصه، صحت یک پیشفرض یا انجام عملی نامطمئن باشد. با این وجود بسیار معمول است که از اطلاعات غیرقطعی صحبت کنیم. رباتی را در نظر بگیرید که قصد دارد جعبه ای را بگیرد؛ این عمل نیازمند اطلاع از موقعیت جعبه با حد زیادی از دقت میباشد- چقدر “زیاد” به مکانیزم گیرنده‌ی ربات بستگی دارد. مثالهایی از حالت‌های ممکن اطلاعات غیر‌قطعی میتوانند به صورت زیر باشند:
“جعبه روی میز است”: برای انجام عمل بسیار ضعیف است چون موقعیت یکتایی به دست نمی‌دهد.
“جعبه حدوداً در وسط میز است”: مبهم است چون موقعیتی واضح به‌دست نمی‌دهد.
“جعبه دیروز در مختصات (1و3) دیده شد”: غیر قابل اطمینان است چون جعبه ممکن است دیگر آنجا نباشد.
همهی این حالات می توانند غیرقطعی در نظر گرفته شوند چون عامل را در حالت عدم اطمینان از موقعیت واقعی جعبه قرار میدهند. توجه شود که غیرقطعی در نظر گرفتن یک اطلاع ممکن است به آن عمل مشخص بستگی داشته باشد مثل حالت (1)، یا به منبع اطلاع مانند حالت (3).
روشهای حل مسالهی ناوبری ربات
سه نگرش کلی برای هدایت ربات وجود دارد: الگوریتمهای سلسله مراتبی4 یا طرح مسیر سراسری5، الگوریتمهای واکنشی6 یا مبتنی بر رفتار7 یا طرح مسیر محلی8 و الگوریتمهای ترکیبی9 [3]. الگوریتمهای اولیهی ناوبری ربات در محیطهایی کاملاً شناختهشده، که ربات اطلاعات کاملی در مورد موانع و شکل هندسی آنها در دست داشت، توسعه یافتند. لذا در این حالت، ربات در زمان غیر حقیقی تصمیمهای لازم را جهت رسیدن به هدف و برخورد نکردن با موانع اتخاذ کرده و سپس به سمت هدف حرکت میکند. در این الگوریتمها مطلوب، یافتن مسیری بهینه بین نقطه شروع اولیه و هدف در مرحله طراحی و سپس هدایت ربات در آن مسیر در مرحله اجرا میباشد. اینگونه روشهای طرح مسیر سراسری تا هدف تنها جهت تعیین مسیر به صورت غیرلحظهای مناسبند و برای پرهیز از مانع به صورت بلادرنگ، که یکی از موضوعات مهم در محیطهای پویا میباشد، کافی به نظر نمیرسند. اگر یک مانع متحرک ظاهر شود مسیر میبایست تغییر کند، یعنی دوباره محاسبه شود که ممکن است زمان زیادی نسبت به حرکت مانع بگیرد. بنابراین رفتار ربات به اندازه کافی واکنشی نیست. دنبال کردن مسیری از پیش محاسبه شده راهی مؤثر برای رساندن ربات به موقعیت هدف است اگر دو شرط برقرار باشند: فرضیات به کار رفته هنگام محاسبهی مسیر هنوز در زمان اجرا معتبر باشند (برای مثال محیط به طور صحیح مدل شده باشد و بعد از آن تغییر نکرده باشد)؛ ربات قادر باشد به طور قابل اطمینانی موقعیت خود را نسبت به مسیر به دست آورد. در این روشها محققین تلاش کردهاند با طراحی دقیق مکانیک و حسگرهای ربات یا مهندسی محیط و یا هردوی اینها بر بعضی از مشکلات ناوبری ربات غلبه کنند. مهندسی دقیق ربات و محیط هزینهها را افزایش میدهد، خودمختاری ربات را کاهش میدهد، و نمی تواند برای تمامی محیطها به کار رود.
هر الگوریتم برای کنترل یک سامانه نیازمند دانش یا مدلی از آن سامانه تحت کنترل میباشد. در مورد ربات این سامانه از خود ربات به علاوه محیطی که در آن فعالیت میکند تشکیل شده است. گرچه مدلی از خود ربات به طور معمول میتواند به دست آید، در مورد محیطهای ساختنیافته دنیای واقعی متأسفانه شرایط متفاوت است. همانطور که اشاره شد این محیطها با حضور فراگیر عدم قطعیتها توصیف میشوند. چالش اصلی رباتیک خودمختار امروز ساخت الگوریتمهای قدرتمند طراحی مسیر است که علیرغم عدم قطعیتها وظایف پیچیده را به طور قابل اطمینانی انجام دهند. یک استراتژی معمول برای کنار آمدن با این مقدار وسیع عدم قطعیت، رها کردن ایده‌ی مدل کردن کامل محیط در مرحله‌ی طراحی است، و اینکه به ربات این قابلیت داده شود که این مدل را خودش و به صورت برخط بسازد.
دسته‌ی دوم الگوریتمهای ناوبری بر خلاف دسته‌ی اول محیط را ناشناخته فرض کرده و واحد تصمیمگیری ربات را به گونهای طراحی میکنند که بتواند در زمان حقیقی رفتار صحیح را تشخیص داده و ربات را به سمت هدف مورد نظر هدایت کند. به علت تفاوت مهمی که در دو نگرش فوق در مورد هدایت یک ربات وجود دارد، الگوریتمهایی که برای اجرای این دو نگرش پیاده سازی میشوند با دو نام مختلف شناخته شده و در مقالات به آنها اشاره میشود. در مورد دسته اول اصطلاح مسیریابی و در مورد دسته دوم اصطلاح ناویری استفاده میشود. در روش ناوبری مبتنی بر رفتار، رفتارهای پیچیده با ترکیب برخی اجزای رفتاری قابل حل و سادهتر مانند رفتارهای جستجوی هدف و دوری از موانع به دست میآید. در الگوریتمهای مبتنی بر رفتار مسیر به صورت محلی و نه سراسری طرح میشود. روش طرح مسیر محلی نیازمند هیچ مرحله پیش محاسبه سنگینی پیش از شروع جستجوی مسیر نیست. روشهای طرح مسیر محلی اطلاعات کنونی حسگر را به صورت بلادرنگ به دست میآورند تا ربات را از موانع محلی دور نگاه دارند. به دلیل آنکه الگوریتمهای محلی هیچگاه قسمتهای مختلف مسیر را از پیش محاسبه نمیکنند.
با این حال الگوریتمهای طرح مسیر محلی یافتن مسیر بهینه را تضمین نمیکند. ممکن است موقعیتهایی پیش بیاید (کمینههای محلی) که الگوریتمهای طرح مسیر محلی در یافتن موقعیت هدف شکست بخورد. اگر تعداد موانع به طور محسوسی کم باشد، ممکن است ثابت شود که این روشها بهترین راه حل را ارایه میدهند. هر دو روش طرح مسیر سراسری و محلی میتوانند برای وظایف متعددی مناسب باشند و مزایا و معایب خاص خود را دارا هستند. اما به منظور تعیین مسیر در محیطهای پویا هیچکدام راه حلی کارآمد ارایه نمیدهند. دسته سوم الگوریتمهای ناوبری ربات، ترکیبی از روشهای طرح مسیر سراسری و مبتنی بر رفتار میباشند. در این روشها از ماژول طرح مسیر سراسری برای رسیدن به هدف و از ماژول مبتنی بر رفتار برای پاسخ به وقایع محیط، مانند دوری از موانع، بهره گرفته میشود.
اهداف و نتایج
در این پژوهش الگوریتمی ساده و کارآمد به منظور ناوبری ربات خودمختار از یک نقطه شروع معلوم به سمت هدفی مشخص در محیطی کاملاً ناشناخته و در حضور موانع ایستا ارایه شده است. الگوریتم پیشنهادی از مزایای ترکیب منطق فازی و یادگیری Q برای تامین نیازهای ناوبری خودمختار بهره میگیرد. دو رفتار سادهتر حرکت به سمت هدف و دوری از موانع در یک مجموعه قانون فازی پیادهسازی شده‌اند. مهمترین ویژگی منطق فازی عملکرد کارآمد آن در مواجه با عدم قطعیتهای محیط است. ربات اطلاعات به دست آمده از جهان پیرامون را به مجموعهای از حالتهای فازی خلاصه میکند. برای هر حالت فازی، تعدادی عمل پیشنهادی وجود دارند. حالتها توسط قوانین اگر-آنگاه فازی، که با منطق انسان طرح شدهاند، به عملهای نظیرشان مربوط میشوند. برای هر حالت، ربات بهترین عمل را با یادگیری Q و از طریق تجربیات برخط انتخاب میکند. یادگیری Q با توجه به حالت فعلی و حافظهای از حالتهای پیشین ربات، خروجی هر قانون فازی را به نحوی انتخاب میکند که حتیالامکان ربات با تضمین دوری از موانع به سمت هدف حرکت نماید. مشخصه قابل توجه یادگیری Q عدم نیاز به مربی و مدل محیط، ساختار پویا و پیاده سازی آسان آن میباشد.

تمرکز اصلی این پایان نامه بر طراحی واحد تصمیمگیری ربات میباشد. ربات ساده و کوچک کپرا10 برای شبیهسازیها به کار رفته است، که میتوان از مدل نقطهای برای آن بهره گرفت. بدین ترتیب الگوریتم پیشنهادی به راحتی قابل انتقال به محیطهای دیگر و پیادهسازی بر سایر رباتها باشد. حسگرهای ربات کپرا از نوع مادونقرمز میباشند که خروجیهای دیجیتال آنها بدون نیاز به مرحله پیش پردازش به عنوان ورودیهای فازی مورد استفاده قرار میگیرند و بیانگر حالت قرارگیری ربات نسبت به موانع می باشند. خروجیهای قوانین فازی میزان سرعت انتقالی و زاویه چرخش چرخهای ربات میباشند. ربات کپرا به صورت دیفرانسیلی حرکت میکند.
روش پیشنهادی مستقل از مدل محیط و دانش پیشین از محیط میباشد. تنها منبع اطلاعات از محیط توسط حسگرهای مادونقرمز ربات به دست میآید. همچنین فرض میشود ربات مجهز به سامانه موقعیت یاب محلی است و در هر گام از موقعیت خود نسبت به هدف مطلع میباشد. فاصله تا هدف از روش محاسبه فاصله اقلیدسی با معلوم بودن مختصات ربات و هدف در هر گام به دست میآید. برای خروجی زاویه چرخش هر قانون فازی تعدادی گزینه پیشنهادی وجود دارد که به هرکدام یک مقدار q منتسب میشود. ربات در هر گام بهترین خروجی (دارای بیشترین مقدار q) را توسط یادگیری Q و از طریق تعاملات برخط با محیط انتخاب میکند. مقادیر q پس از دریافت سیگنال تشویق یا جریمه به روز میشوند. تنظیم برخط سامانه استنباط فازی11، منجر به واحد تصمیمگیری انعطاف پذیری میشود که میتواند خود را با محیطهای مختلف و موانع متنوع تطبیق دهد.
در روش پیشنهادی، یادگیری Q بدون هیچ مرحله یادگیری یا اکتشافی به کار گرفته شده است. بدین معنی که هر بار اجرای الگوریتم با مقادیر q اولیه صفر آغاز میشود. یادگیری Q بدون مرحله اکتشافی (یادگیری قبل از آزمایش) به کار گرفته شدهاست. بدین معنی که مقادیر q در هر آزمایش بدون پیشفرض و از مقدار اولیه صفر شروع میشوند، لذا محیط یادگیری جهت مقداردهی اولیه به مقادیر q وجود ندارد. پارامترهای کلیدی مجموعه فازی و یادگیری Q، شامل پارامترهای توابع عضویت ورودی فازی و همچنین مقدار عامل فراموشی یادگیری Q، توسط بهینهسازی کلونی زنبور مصنوعی به صورت غیربرخط، پیش از قرار گرفتن ربات در محیطهای آزمایش، به دست آمدهاند. محیط بهینهسازی شامل موانعی است که انتظار می‌رود خود یا ترکیبی از آنها در محیطهای آزمایش دیده شوند.
برای آزمایش الگوریتم پیشنهادی 60 محیط شبیهسازی دو بعدی به طور تصادفی ایجاد شدند. شکل، مساحت و مکان موانع، محل اولیه ربات و مختصات هدف در این محیطها به طور تصادفی انتخاب شدند. موانع تولید شده، گستره وسیعی از شکلهای هندسی منظم و نامنظم شامل چند ضلعیها، شکلهای محدب یا مقعر، زاویهدار یا با گوشههای محدب و غیره را در بردارند. این شکلها تقریبا تمامی انواع موانعی، که ربات ممکن است در محیط واقعی با آن مواجه شود، را شامل میشوند. محیطهای شبیهسازی از نظر نوع موانع موجود و مساحت اشغال شده توسط موانع به سه سطح ساده، معمولی و پیچیده تقسیم بندی شدند. عملکرد ربات با توجه به اندازهگیریهای کمی معیارهایی چون درصد موفقیت رسیدن به هدف (طی اجراهای مختلف الگوریتم پیشنهادی)، امنیت مسیر طی شده تا هدف (نسب تعداد برخوردها با موانع به کل گامهای طی شده) و سرعت مسیر طی شده تا هدف (تعداد گامهای طی شده نسبت به زمان سپری شده) سنجیده شد. به منظور معتبر بودن و تکرارپذیری نتایج، هر آزمایش 10 بار تکرار شده است و نتیجه گزارش شده میانگین نتایج حاصل از این 10 بار اجرا بوده است.
نتایج نشان دادند که الگوریتم تصمیمگیری پیشنهادی قادر است با موفقیت ربات را به سمت هدف هدایت کرده و از برخورد آن با موانع جلوگیری نماید. به منظور آشکار کردن نقش موثر یادگیری Q در افزایش کارایی الگوریتم پیشنهادی آزمایشهای مشابهای با مجموعه قوانین فازی مشابه بدون یادگیری Q تکرار شدند. مقایسه نتایج نشان داد تنظیم برخط قوانین فازی توسط یادگیری Q عملکرد آن را از نظر معیارهای عملکردی مطرح شده و انعطافپذیری در مواجه با انواع محیطهای ساده تا پیچیده، بهبود میبخشد.

ساختار پایان نامه
فصل های بعدی این پایاننامه شامل مطالب زیر هستند:

در این سایت فقط تکه هایی از این مطلب(به صورت کاملا تصادفی و به صورت نمونه) با شماره بندی انتهای صفحه درج می شود که ممکن است هنگام انتقال از فایل ورد به داخل سایت کلمات به هم بریزد یا شکل ها درج نشود-این مطالب صرفا برای دمو می باشد

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

اینجا کلیک کنید

فصل دوم به مرور، دستهبندی و مقایسه کیفی برخی روشهای ناوبری ربات میپردازد. فصل سوم مبانی و ابزار لازم برای معرفی الگوریتم پیشنهادی شامل منطق فازی12، یادگیری Q و الگوریتم بهینهسازی کلونی زنبور مصنوعی13 را توصیف میکند. فصل چهارم به توصیف ربات کپرا و توضیح الگوریتم پیشنهادی میپردازد. الگوریتم مطرح شده یک سامانه تصمیمگیری فازی ناوبری ربات است، که بدون دانش پیشین از محیط طراحی میشود و سپس به طور برخط توسط یادگیری Q و در مواجه با محیط تنظیم میشود. پارامترهای کلیدی مجموعه فازی و یادگیری Q، شامل پارامترهای توابع عضویت ورودی فازی و همچنین مقدار عامل فراموشی یادگیری Q، توسط بهینهسازی کلونی زنبور مصنوعی به صورت غیربرخط، پیش از قرار گرفتن ربات در محیطهای آزمایش، به دست آمدهاند. در نهایت فصل پنجم پس از توصیف نرمافزار شبیهسازی KiKS و محیطهای آزمایش، نتایج حاصل از شبیه سازیها را ارایه میدهد. سپس نتایج شبیهسازیها تحلیل میشوند و پیشنهادهایی برای ادامه کار مطرح میگردند.
فصل دوم
بررسی روش های پیشین
بررسی روشهای پیشین
مقدمه
از اوایل سال 1960، تعداد محققین روی مساله ناوبری ربات‌های متحرک به تدریج افزایش یافتهاست. کاربردهای مختلف ربات‌های متحرک منجر به ارایه راهحلهای متفاوتی برای حل مساله ناوبری آنها میشو‌د. برای ربات‌های هوشمند متحرک ضروری است که محیط را حس و درک کنند، مسیری را طراحی کنند، تصمیمی اتخاذ کنند و رفتار مناسب را با استفاده از این اطلاعات اجرا کنند [4]. معماری‌های مختلف ناوبری ربات تعریف می‌کنند که این توانایی‌ها چگونه بایستی مجتمع شوند تا نتایج مطلوب به دست آیند. معماری‌های مختلفی برای طرح و توسعه‌ی ناوبری مقاوم، انعطاف پذیر، قابل اطمینان و با عملکرد عالی ربات‌های متحرک پیشنهاد شدهاند. بنابراین دستهبندی روشهای ناوبری ربات جهت مروری منسجمتر بر آنها، مفید به نظر میرسد. سه دستهی کلی این معماریها عبارتند از: سلسله مراتبی یا طرح مسیر سراسری، واکنشی یا مبتنی بر رفتار یا طرح مسیر محلی و ترکیبی.
معماری سلسله مراتبی
معماری سلسله مراتبی قدیمی‌ترین طرح ناوبری ربات در هوش مصنوعی است. در این معماری [5-10] از مدل سراسری محیط که توسط داده ورودی کاربر یا حسگرها تهیه شده است برای تولید عملهای مناسب برای رساندن ربات به هدف بهره ‌گرفته میشود. همان‌طور که در شکل(‏21) نشان داده شده است، این معماری از چهار ماژول اصلی تشکیل شده است: حس کردن، مدل کردن، تصمیم گیری و عمل کردن. ابتدا ربات محیط اطراف را حس می‌کند و با استفاده از ترکیب اطلاعات حسگرها مدل سراسری محیط ایستا را ایجاد می‌کند، سپس ماژول تصمیم گیری را برای یافتن مسیر بهینه تا هدف را به کار می‌گیرد و مسیری جهت دنبال کردن برای ربات طرح می‌کند. در نهایت ربات عملهای مطلوب را تا رسیدن به هدف اجرا می‌کند. پس از یک عمل موفقیت آمیز، ربات متوقف می‌شود و اطلاعات خود را برای انجام حرکت بعدی به روز می‌کند. سپس این فرآیند را تا رسیدن به هدف تکرار می‌کند [11, 12].

شکل(‏21): معماری سلسله مراتبی جهت ناوبری ربات [3]

معماری سلسله مراتبی زمانی به کار گرفته میشود که محیط برای ربات کاملاً شناخته شده و همچنین در حین حرکت ربات به سمت هدف بدون تغییر (ایستا) باشد. در این صورت میتوان مسیر بهینه را قبل از حرکت محاسبه کرد. روشهای متعددی برای این حالت از مسالهی ناوبری ربات ارایه شدهاند مانند: نمودار ورونی، گراف دیداری، میدان پتانسیل، روش شبکهای و تجزیه سلولی. همچنین روشهای مبتنی بر الگوریتمهای بهینهسازی نیز برای طرح مسیر بهینه مورد استفاده قرار میگیرند [13]. به عنوان مثال داویدر14 [14] الگوریتم ژنتیکی برای طرح مسیر بهینه ارایه داد. همچنین نیرچو15 [15] از تعداد راسهای گراف دیداری برای ساختن الگوریتم ژنتیک استفاده کرد و توانست یک مسیر نزدیک به بهینه را برای این نوع مساله حل کند. در ذیل خلاصه ای از اساس کار سه نمونه از روشهای متداول ذکر شده در بالا توضیح داده میشوند:
روش گراف دیداری
این روش زمانی استفاده میشود که هندسه محیط برای ربات مشخص باشد. ایده اصلی این روش این است که اگر یک مسیر بدون برخورد بین دو نقطه وجود داشته باشد، آنگاه کوتاهترین مسیر بین این دو نقطه تنها در راسهای موانع شکسته میشود. گراف دیداری گرافی است که راسهای آن شامل نقطه آغاز، نقطه پایان و راسهای موانع هستند. یالهای گراف دیداری بین راسهایی وصل میشوند که نقاط متناظر آنها همدیگر را میبینند. با داشتن گراف دیداری می توان از روشهای موجود برای پیدا کردن کوتاهترین مسیر بین دو راس در یک گراف و در نتیجه کوتاهترین مسیر ربات استفاده کرد. از معایب این روش زمان اجرای بالای آن است هنگامی که موانع زیاد باشند گراف پیچیده میشود و الگوریتمهای مبتنی بر این روش کند عمل میکنند [16].
روش تجزیه سلولی
در این روش محیط به صورت شطرنجی به مربعات (سلولها) تقسیم میشود، که معمولا هر سلول به صورت مربع ساده در نظر گرفته میشود. در این حالت هر مربع سه وضعیت دارد: فصای خالی، به طور کامل توسط مانع اشغال شدهاست یا قسمتی از فضای آن آزاد و قسمتی از آن توسط مانع اشغال شدهاست. یک سلول مرکب شامل فضای آزاد و موانع است و یک سلول پر فقط شامل مانع است. در این روش هدف، یافتن سلولهای آزادی است که نقطه اولیه را به نقطه هدف مرتبط کند. اگر سلولی دارای حالت ترکیبی باشد (شامل فضای آزاد و مانع) دوباره به سلولهای کوچکتر تجزیه میشود و سلولها برای پیدا کردن دنباله مسیر آزاد، از نقطه آغاز به هدف، جستجو میشوند [17].
روش میدان پتانسیل
در این روش تابع پتانسیل فضای آزاد به صورت جمع پتانسیلهای جاذب، که ربات را به سمت موقعیت هدف میرانند، و پتانسیلهای دافع، که آن را از موانع دور میکنند، تعریف میشود. و در هر تکرار نیرویی مصنوعی که توسط تابع پتانسیل در موقعیت فعلی القا میشود به عنوان جهت مناسب حرکت در نظر گرفته میشود. از مزیتهای روش پتانسیل، قابلیت تعمیم آن در فضاهای با ابعاد بالاتر است، اما امکان افتادن در مینممهای محلی و مشکلات تعریف درست موانع از نواقص آن میباشد. امروزه از این روش در ترکیب روشهای دیگر استفاده میشود [16].
رویکرد بالا به پایین در ماژول تصمیم‌گیری مشخصه مهم معماری سلسله مراتبی است که در آن محدودیت‌های سطح بالا به فرامین سطح پایین شکسته می‌شوند. این معماری می‌تواند اهداف و محدودیت‌های چندگانه را در یک محیط پیچیده جمع کند [11]. با این وجود، در این روش ناوبری ربات، مدل دقیق محیط برای طرح مسیر سراسری کارآمد نیاز است. برای دنبال کردن مسیر طراحی شده بایستی ربات نقشهای از محیط تهیه کند و موقعیت خود را نسبت به محیط بداند. به دست آوردن نقشه از محیط و مکانیابی ربات مستلزم داشتن اطلاعات کامل و دقیق از محیط میباشد که همیشه در دسترس نیست یا به دست آوردن آن مشکل است. به علاوه برای انجام محاسبات لازم، قابلیت‌های پردازش و حافظه قابل توجه‌ای مورد نیاز است.همچنین، رویکرد بالا به پایین در تصمیمگیری تأخیر ایجاد می‌کند و اگر یکی از ماژول‌ها به درستی کار نکند تمام سیستم مختل می‌شود. بنابراین، این رویکردها در حضور عدم قطعیت در دنیای پویای واقعی مناسب نیستند.
معماری مبتنی بر رفتار
معماری مبتنی بر رفتار توسط بروکس16 در سال 1986 [18] مطرح شد تا مشکلات معماری سلسله مراتبی را در محیط‌های پویا و ناشناخته حل کند. این رویکردها فرامین کنترلی را بر اساس اطلاعات حسگری فعلی تولید می‌کنند. برای عمل کردن، ربات مدل محلی محیط را بدون فرآیند تصمیم‌گیری به کار میگیرد. بنابراین، نیار به ساخت مدل کامل و دقیق محیط نمی‌باشد. رویکرد پایین به بالا برای تصمیم‌گیری در معماری مبتنی بر رفتار استفاده می‌شود که در آن محدودیت‌های سطح بالا در فرآیند تولید عمل مجتمع می‌شوند. هدایت مبتنی بر رفتار پاسخی سریع در محیط پویا و ناشناخته دارد. شکل(‏22) معماری کلی رویکردهای مبتنی بر رفتار را نمایش می‌دهد.
شکل(‏22): معماری مبتنی بر رفتار جهت ناوبری ربات [3]

در لایه اول، ربات اطلاعات حسگری را جمع‌ میکند. سپس یک تابع انتقال که رفتار نامیده می‌شود درک مشخصی از ورودی حسگری دریافت می‌کند و آنها را به پاسخ‌های از پیش تعیین شده تبدیل می‌نماید. در نهایت، ربات عملی را بر اساس خروجی رفتارهای فعال اجرا می‌کند. در واقع وظیفه پیچیدهی هدایت ربات به چندین وظیفه سطح پایین ساده‌تر و کوچک‌تر (رفتار) خرد می‌شود، این رویکرد عملکرد کلی سامانه ناوبری را بهبود می‌بخشد. دو معماری پایه مبتنی بر رفتار، شامل معماری رده بندی17 [18] و الگوهای حرکتی18 [19] می‌باشند.
معماری ردهبندی نخستین بار توسط بروکس در سال 1986 معرفی شد. سامانه مبتنی بر ردهبندی از چندین لایه رفتار تشکیل شده است که در آن هر رفتار می‌تواند اطلاعات حسگری را برای انجام عمل خواسته شده (دوری از موانع، تعقیب دیوار، جستجوی هدف و غیره) دریافت نماید. فرآیند به انجام رساندن وظیفههای سادهتر، قابلیت پاسخگوبی سامانه ناوبری را در محیط‌ پویا و ناشناخته افزایش می‌دهد و از پیچیدگی آن میکاهد. در معماری رده بندی، ماژول تصمیم‌گیری از معماری حذف می‌شود و تمرکز منحصراً روی ماژول‌های حس‌کردن و عمل کردن می‌باشد. برخلاف معماری سلسله مراتبی، رفتارها کوپلاژ مستقیمی میان ورودی‌های حسگری و عملهای ربات ایجاد می‌کنند. همانطور که شکل(‏23) نشان می‌دهد، در معماری ردهبندی، رفتارها لایه‌بندی می‌شوند. هر رفتار، اطلاعات حسگری مشخصی را دریافت می‌نماید. تلفیق لایه‌های رفتارها منجر به انتخاب مبتنی بر اولویت می‌شود. انتخاب مبتنی بر اولویت، فرآیند تصمیم‌گیری در این مورد است که کدام رفتار پیروز ‌شود وقتی چندین رفتار متضاد باهم فعال می‌شوند [20]. بنابراین، ماژول رفتاری با بالاترین درجه فعالیت19، خروجی کلی را تعیین می‌کند.

شکل(‏23): معماری ردهبندی جهت ناوبری ربات [3]

معماری مبتنی بر رفتار دیگر که توسط آرکین20 در سال 1998پیشنهاد شد، معماری الگوهای حرکتی میباشد (شکل(‏24)). تئوری الگوهای حرکتی، رفتارهای حرکتی را از نظر کنترل همزمان فعالیت‌های مختلف بسیار توصیف می‌کند. هر رفتار می‌توند خروجی‌ای در فرم یک بردار تولید کند. این خروجی‌ها ترکیب می‌شوند و سپس پاسخ نهایی سامانه با جمع برداری به‌دست می‌آید. برای مثال یک میدان پتانسیل می‌تواند به‌عنوان خروجی هر الگو تعریف شود. حرکت نهایی برداری است که حاصل از انطباق تمام میدان‌ها است. معماری ردهبندی به انتخاب رقابتی رفتارها اختصاص دارد، حال آنکه معماری الگوهای حرکتی بر اساس تلفیق تعاونی رفتارها استوار می‌باشد. معماری الگوهای حرکتی قابلیت استفاده همزمان از خروجی های بیش از یک رفتار را با در نظر گرفتن اثر آنها روی خروجی نهایی فراهم می آورد [4].

شکل(‏24): معماری الگوهای حرکتی جهت ناوبری ربات [3]
مزایای کلی معماری مبتنی بر رفتار عبارتند از:
قابلیت ساخت سامانه ناوبری ربات با روند افزایشی به صورت لایه روی لایه
عکس العمل سریع به محیط پویا و ناشناخته

شما می توانید تکه های دیگری از این مطلب را با جستجو در همین سایت بخوانید

عدم نیاز به مدلسازی و ذخیره مدل کامل و دقیق محیط
محاسبات و تاخیر کمتر میان عمل و ادراک
نسبت به رویکرد سلسله مراتبی مقاومترو قابل اطمینانتر میباشد. از این لحاظ که در هنگام خطای یکی از واحدهای رفتاری، سایر واحدها به انجام وظایف خود ادامه میدهند.
معایب معماری مبتنی بر رفتار عبارتند از:
مساله تلفیق رفتارهای مجزا: تعامل میان سامانه ناوبری و محیط مشکل و کمتر قابل پیشبینی میباشد.
رفتارها در سطح پایین هستند و رفتارهای سطح بالا را انعکاس نمیدهند.
نبود ماژول تصمیمگیری میتواند برای بعضی مسایل پیچیده مناسب نباشد.
روش ترکیبی
علی رغم اینکه معماری مبتنی بر رفتار چهارچوب موفقی برای ناوبری رباتهای متحرک فراهم میآورد، هنوز برخی مشکلات در مواجه با محیطهای پویا و ناشناخته وجود دارند. یک رویکرد برای حل این مشکلات، ترکیب معماریهای سلسله مراتبی و مبتنی بر رفتار میباشد. روشهای ترکیبی می توانند به سه دسته کلی طبقه بندی شوند [16]: مدیریتی21، سلسله مراتب حالتها22 و مدل گرا23. در نوع مدیریتی [21-25] ماژول سلسله مراتبی مسئول تصمیمگیری در سطح بالاتر است. سپس تصمیمات برای پیادهسازی به سطح پایینتر که ماژول مبتنی بر رفتار است فرستاده میشوند. هر ماژول سعی میکند مسایل را به تنهایی اصلاح و حل کند ولی چنانچه امکان پذیر نبود به ماژول بالادست خود ارجاع میدهد. نوع سلسله مراتب حالتها [26, 27] دانش مربوط به حالتهای گذشته، حال و آینده ربات را به کار میگیرد. لایه سلسله مراتبی برای پیشبینی آینده (طرح مسیر) نیازمند حالت گذشته ربات (کارهای انجام شده در گذشته) میباشد. لایه مبتنی بر رفتار در حال عمل میکند (خود آگاهی) و مسئول انجام فرامین لایه سلسله مراتبی و تولید حرکت ربات میباشد. نوع مدل گرا [28] بیشتر بر مدل سراسری محیط تمرکز میکند و بیشتر مشابه روش سلسله مراتبی است. با این حال، لایه مبتنی بر رفتار فوراً از مدل سراسری به روز شده محیط استفاده میکند تا زمان پردازش کاهش یابد [29].

دسته بندی : پایان نامه ها

پاسخ دهید