فصل پنجم
نتایج شبیهسازیها و
پیشنهادهای ادامه کار
نتایج شبیهسازیها و پیشنهادهای ادامه کار
مقدمه
سنجش کارآیی و مقایسه عملکرد روشهای حل مسالهای مشخص، اصولاً با در نظر گرفتن معیارهای مناسب و نتیجه مطلوب مساله صورت میپذیرند. معیارهای مورد توجه در ارزیابی الگوریتم پیشنهاد شده برای ناوبری ربات، موفقیت ربات در رسیدن به هدف، میزان برخورد با موانع و زمان لازم برای رسیدن به هدف میباشد. تعریف نتیجه مطلوب به طور کیفی این است که ربات بتواند به طور سریع و امن خودش را به مختصات هدف برساند. بدین معنی که مدت زمان رسیدن به هدف و تعداد برخوردها با موانع حتی الامکان کم باشند. برای دستیابی به نتایج قابل اطمینان و استناد، بایستی آزمایشها در محیطهای مختلف و متنوعی از نظر شکل و اندازه موانع و مساحت اشغال شده توسط موانع انجام شوند. همچنین لازم است آزمایشها به دفعات تکرار شوند. به کارگیری نرمافزار شبیهساز مناسب، که حتی الامکان مدل واقعگرایانهای از ربات و عملکرد آن ارائه دهد، در تخمین کارآیی روش پیشنهادی ضروری میباشد. در ادامه نرمافزار شبیهسازی KiKS، که برای مدلسازی ربات کپرا مورد استفاده قرار گرفت، معرفی میشود. پس از توضیح نحوهی محاسبه معیارهای در نظر گرفته شده، نتایج کمی و کیفی آزمایشها نشان داده میشوند. این فصل با نتیجه گیری از نتایج حاصل از آزمایشها و پیشنهادهایی برای ادامه کار پایان مییابد.
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))
نرمافزار شبیهسازی KiKS
با وجود اینکه نتایج حاصل از شبیهسازی ربات و محیط کاری آن، تنها راه ارزیابی عملکرد الگوریتمهای ناوبری ربات نمیباشد، مزایای بسیار آن منجر به استفاده وسیع نرمافزارهای شبیهسازی در علم رباتیک شده است. شبیهسازی به پژوهشگران اجازه میدهد آزمایشهای متعددی را با هزینهی بسیار اندک انجام دهند. همچنین امکان کنترل کامل بر متغیرهای محیطی و ربات، نظیر نویزی بودن داده های حسگرها یا پویایی موانع را فراهم میآورند. بنابراین، شبیهسازها میتوانند آزمایشها را در شرایط یکسان تکرار کنند. همچنین، امکان تغییر پارامترها را به طور جداگانه و مستقل از سایر پارامترها، به منظور بررسی اثر، آنها فراهم میآورند. در مورد رباتها و محیطهای واقعی واقعی غیرممکن است که تمامی متغیرها تحت کنترل باشند و در نتیحه هر آزمایش منحصر به فرد و غیرقابل تکرار میباشد. یکی از دلایل عمده استفاده از شبیهسازها نتایج قابل تکرار و اشتراک آنها است. بسیاری از تحقیقات در رباتیک و هوش مصنوعی هرگز ادامه پیدا نکردند، زیرا تولید دوباره نتایج تحقیق دیگری بدون دسترسی به همان ربات، همان حسگر و همان محیط غیرممکن بوده است. در حالیکه برای پژوهشگران امکان پذیر است که به ربات، حسگرها و محیط شبیهسازی یکسان دسترسی داشته باشند.
آزمایشهای شبیهسازی شده در محیط نرمافزار KiKS انجام شدند. KiKS مخفف عبارت
”Kiks is a Khepera Simulator” میباشد. این نرمافزار، یک برنامه کاربردی نرمافزار MATLAB است که ربات کپرا را به طور بسیار واقعی شبیهسازی می کند. ربات کپرا شبیهسازی شده در مطلب به طور مشابهای نظیر ربات واقعی کپرا کنترل می شود. شبیهساز KiKS می تواند از آدرس www.tstorm.se/projects/kiks دانلود شود [۵۱]. برای راه اندازی KiKS، بایستی مسیر MATLAB به مسیر KiKS تغییر یابد. سپس دستور kiks_setup، جهت اضافه کردن مسیرهای لازم KiKS به مسیر MATLAB، اجرا شود. شکل(۵-۱) پنجره آماده سازی KiKS را نمایش میدهد. محیط شبیهسازی دو بعدی است و می تواند از طریق نرمافزار KiKS طراحی شود یا به شکل ماتریس یا عکس تولید شود و توسط KiKS مورد استفاده قرار گیرد. در این پژوهش، محیطهای شبیهسازی توسط برنامهای، که در محیط ویرایشگر MATLAB نوشته شد، تولید شدند. محیطهای شبیهسازی تولید شده به صورت یک ماتریس توسط KiKS مورد استفاده قرار می گیرند. بخش بعدی به معرفی محیطهای شبیهسازی می پردازد.
شکل(۵-۱): پنجره آماده سازی KiKS
برای استفاده از برنامه های پیشنوشته همراه نرمافزار KiKS بایستی ماژولهای kMatlab از
K-team نصب شده باشند. بستهی kMatlabهمراه نرمافزار KiKS بوده و قابل نصب میباشد. همچنین می تواند از http://www.k-team.com/download/khepera.html دانلود شود. بسته kMatlab شامل سه دستور اصلی kopen.dll, ksend.dll, kclose.dll میباشد، که برای ارتباط با ربات کپرای واقعی از طریق MATLAB به کار میآیند. KiKS ربات کپرایی که به درگاه سریالی متصل است را شبیهسازی می کند و از سه دستور KiKS_Kopen، KiKS_Ksend و KiKS_Kclose برای ارتباط با ربات استفاده می کند. این دستورات درست مانند ماژولهای Kopen.dll، Ksend.dll و Kclose.dll، که توسط K-Team تهیه شده، کار می کنند. در واقع میتوان از دستورات KiKS_K* برای کنترل ربات کپرای واقعی مانند ربات کپرای شبیهسازی شده استفاده کرد. هنگام فراخوانی KiKS_Kopen با درگاه سریال #-۱، KiKS فعال می شود و محیط کاری برای ربات کپرای شبیهسازی شده ایجاد می شود. در حالیکه اگر درگاه سریال #۰ باشد، KiKS_Kopen فراخوانی را به Kopen.dll ارسال می کند.
یک نمونه کد به صورت زیر است:
سه دستور اصلی در کد کردن الگوریتم پیشنهادی عبارتند از: Rpos=kiks_siminfo_robotpos، reflex=kProximity(ref) و kSetSpeed(ref,ML_speed,MR_speed) که از آنها به ترتیب برای اطلاع از موقعیت ربات در محیط، خواندن مقدار حسگرها و مشخص کردن سرعت موتورها استفاده می شود.
محیطهای شبیهسازی
علیرغم وجود نرمافزارهای شبیهسازی متعدد محیطهای شبیهسازی محک مناسب و متداولی جهت مقایسه الگوریتمهای مختلف ناوبری وجود ندارند. لذا برای ارائه نتایج قابل اطمینان تعداد قابل قبولی از محیطهای مختلف با انواع شکلهای موانع جهت انجام آزمایشهای شبیهسازی شده در نظر گرفته شدند. شصت محیط شبیهسازی شده مختلف در سه سطح پیچیدگی طرح شدند: ساده، معمولی و پیچیده. هر سطح شامل بیست محیط میباشد. موانع موجود در محیطهای شبیهسازی شده نوعاً به صورت نشان داده شده در شکل(۵-۲) میباشند. این موانع گسترهی وسیعی از شکلهای هندسی منظم و نامنظم را در بردارند، که نمایندگانی قابل اطمینانی از انواع موانع موجود در محیطهای دنیای واقعی میباشند.
در تولید انواع مختلف موانع، تصور پایه این بوده است که محل کار ربات، منازل، ادارات، آزمایشگاههای تحقیقاتی و اماکنی از این دست میباشند. با این حال نتایج عملکرد ربات در مورد محیطهای مختلفی قابل تعمیم و استناد است، چرا که موانع گسترهی وسیعی از شکلهای مورد انتظار در محیطهای دنیای واقعی را شامل میشوند. در مواجه با هر یک از انواع موانع در نظر گرفته شده ربات به نحوی دچار چالش می شود. در شکل(۵-۲)، نوع I موانع مربعی را نشان میدهد، که دارای اضلاع به صورت خط صاف و زوایای ۹۰ درجه میباشند و در محیطهای ساخت بشر به وفور دیده میشوند. نوع II، موانع با شکل دایره و کاملا محدب را نشان میدهد. نوع III، موانع مستطیلی تا بیضی شکل را شامل می شود، که در آنها زوایای ۹۰ درجه به گوشههای محدب میل میکنند. نوع IV، موانع مثلثی را نشان میدهد، که دارای زویای حاده یا منفرجه میباشند. زوایای تیزتر به دلیل سطح کوچکتری که دارند، مخصوصاً در صورتی که رو به روی ربات باشند، نور کمتری به سمت ربات بازتاب می کنند. بنابراین ممکن است ربات در تشخیص آنها به عنوان مانع دچار اشتباه شود. نوع V، موانع مقعر را نشان میدهد، با توجه به اینکه سطح بیرونی این موانع حالت تورفتگی دارد ممکن است ربات در حفظ حداقل فاصله با آن دچار مشکل شود. نوع VI، موانع V شکل را نشان میدهد، که معمولاً ربات با آنها در کنج اتاق مواجه می شود و دو سوم فضای دید نیمه جلوی ربات را احاطه می کند. نوع VII، موانع U شکل را نشان میدهد، که ربات در انتهای راهروهای بنبست و زیر میزها با آنها مواجه می شود و کل دید نیمه جلوی ربات را در بر میگیرد. نوع VIII، موانع با شکلهای نامنظم و تعریف نشده را نشان میدهد، که ممکن است ربات در طول محیط آن با زوایای تیز، گوشه های محدب، تقعر و تحدب مواجه شود.
سطوح پیچیدگی از نظر نوع موانع به کار رفته در آنها و درصد مساحت اشغال شده توسط موانع تعریف میشوند (جدول(۵-۱)). محیطهای پیچیدهتر شامل شکلهای پیچیدهتر موانع و مساحت اشغال شده بیشتری میباشند. مساحت تمامی محیطهای شبیهسازی شده برابر و مساوی ۵/۱x5/1 مترمکعب میباشد. مساحت موانع در محیطها می تواند از نصف تا سی برابر مساحت ربات، که برابر ۰۲۲/۰ مترمکعب است، تغییر کند. در هر گروه از محیطهای ساده، معمولی و پیچیده انواع مجاز موانع و محدوده مساحت اشغال شده معلوم است. برای تولید یک محیط شبیهسازی شده، ابتدا کل مساحت اشغال شده توسط موانع به صورت تصادفی از محدوده معلوم با توجه به نوع آن محیط مشخص می شود. سپس با توجه به آن، مساحت اختصاص داده شده به هر یک از انواع مجاز موانع به طور تصادفی انتخاب می شود و مجموع آنها کوچکتر مساوی کل مساحت مجاز اشغال شده میباشد. پس از آنکه مساحت اختصاص داده شده به هر نوع مانع معلوم شد، تعدادی از آن نوع مانع با مقدار مساحتهای تصادفی انتخاب میشوند. تعداد هر نوع مانع به قدری است که مجموع مساحتهای تصادفی تولید شده کوچکتر مساوی کل مساحت اختصاص داده شده به آن نوع مانع باشد. شکل(۵-۷)، شکل(۵-۱۳) و شکل(۵-۱۹) به ترتیب محیط های ساده، معمولی و پیچیده را نشان می دهند.
شکل(۵-۲): نمونه اشکال موانع I) مربعی II) دایروی III) مستطیل-بیضی IV) مثلثی
V) مقعر VI) V شکل VII) U شکل VIII) شکلهای نامنظم
جدول(۵‑۰۱): توصیف کمی درجه پیچیدگی محیطها
درصد مساحت اشغال شده(%) | انواع موانع | انواع محیطها |
۵-۱ | I-III | ساده |
۱۰-۵ | I-V | معمولی |
۱۵-۱۰ | I-VIII | پیچیده |
نتایج شبیهسازی
عملکرد الگوریتم پیشنهادی از لحاظ موفقیت در رسیدن به هدف، سرعت و امنیت مسیر طی شده سنجیده می شود. پیش از ارائه نتایج حاصل از آزمایشهای شبیهسازی شده، معیارهای مورد نظر معرفی میشوند:
موفقیت در رسیدن به هدف (GR)
نسبت تعداد دفعاتی که ربات موفق به رسیدن به هدف شده است به تعداد کل آزمایشها موفقیت ربات در رسیدن به هدف محسوب می شود که به صورت درصد بیان می شود.
امنیت مسیر طی شده تا هدف (SF)