فصل پنجم
نتایج شبیه­سازی­ها و
پیشنهادهای ادامه کار

نتایج شبیه­سازی­ها و پیشنهادهای ادامه کار

مقدمه
سنجش کارآیی و مقایسه عملکرد روش­های حل مساله­ای مشخص، اصولاً با در نظر گرفتن معیارهای مناسب و نتیجه مطلوب مساله صورت می‌پذیرند. معیارهای مورد توجه در ارزیابی الگوریتم پیشنهاد شده برای ناوبری ربات، موفقیت ربات در رسیدن به هدف، میزان برخورد با موانع و زمان لازم برای رسیدن به هدف می­باشد. تعریف نتیجه مطلوب به طور کیفی این است که ربات بتواند به طور سریع و امن خودش را به مختصات هدف برساند. بدین معنی که مدت زمان رسیدن به هدف و تعداد برخوردها با موانع حتی الامکان کم باشند. برای دستیابی به نتایج قابل اطمینان و استناد، بایستی آزمایش­ها در محیط‌های مختلف و متنوعی از نظر شکل و اندازه موانع و مساحت اشغال شده توسط موانع انجام شوند. همچنین لازم است آزمایش­ها به دفعات تکرار شوند. به­ کارگیری نرم­افزار شبیه­ساز مناسب، که حتی الامکان مدل واقع­گرایانه­ای از ربات و عملکرد آن ارائه دهد، در تخمین کارآیی روش پیشنهادی ضروری می­باشد. در ادامه نرم­افزار شبیه­سازی KiKS، که برای مدل‌سازی ربات کپرا مورد استفاده قرار گرفت، معرفی می‌شود. پس از توضیح نحوه‌ی محاسبه معیارهای در نظر گرفته شده، نتایج کمی و کیفی آزمایش­ها نشان داده می­شوند. این فصل با نتیجه گیری از نتایج حاصل از آزمایش­ها و پیشنهادهایی برای ادامه کار پایان می­یابد.
مقاله - پروژه
نرم­افزار شبیه­سازی 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)

موضوعات: بدون موضوع
[دوشنبه 1400-08-10] [ 10:54:00 ق.ظ ]