در این مقاله ابتدا به بررسی متدهای مختلف در مکان یابی ربات ها پرداخته شده است.
سپس یکی از متدهای احتمالاتی در موقعیت یابی را که دارای مزایا و قابلیت های متناسب با سیستم مورد نظرمان بود را انتخاب کردیم.
پس از انتخاب متد EKF به بررسی ساختاری ربات جهت منطبق کردن با سیستم انتخابی پرداخته شد.
بعلاوه از یک سیستم فازی نیز جهت بهینه سازی خروجی و داشتن خروجی متناسب با داده های ورودی استفاده کردیم.
در بخش پایانی نیز به پیاده سازی سیستم و تست آن برروی ربات مورد نظر که در این مقاله یک ربات فوتبالیست سایز متوسط است که در مرکز تحقیقاتی مکاترونیک دانشگاه آزاد اسلامی قزوین ساخته شده و بنام MRL خوانده می شود.
محیط مورد نظر، زمین فوتبال خاص این گونه ربات ها می باشد.
هدف این مقاله ارائه سیستمی جهت موقعیت یابی مناسب ربات فوتبالیست با توجه به وجود خطا در اطلاعات جمع آوری شده جهت موقعیت یابی می باشد.
در سال های اخیر مساله موقعیت یابی ربات های متحرک از جمله مسائلی است که مورد توجه محققین در این زمینه قرار گرفته است.
هدف اصلی، موقعیت یابی اینگونه ربات ها در محیط های پویای دو بعدی است.
یکی از انواع این ربات ها ربات های سه چرخ همه جهته بوده که امکان جابجایی و حرکت مستقل از زاویه و جهت ربات را فراهم می سازد که در محیط های پویا مورد استفاده قرار گرفته اند.
تحقیقات مختلفی در این زمینه صورت گرفته است.
مرکز تحقیقات مکاترونیک دانشگاه آزاد اسلامی قزوین نوعی از این ربات های فوتبالیست که بنام MRL خوانده می شوند را در اختیار دارد.
این ربات دارای سه چرخ با زاویه 120درجه نسبت به هم است که توسط یک موتور فرمان با یک شفا انکدر هدایت می شود برای کنترل این ربات از یک سیستم کامپیوتری کتابی با سیستم عامل ویندوز استفاده شده است.
اطلاعات مورد نظر ربات توسط دوربینی با قابلیت دریافت تمام جهات درک شده و مورد پردازش قرار می گیرد.
در این مقاله کنترل حرکت ربات MRL برای رسیدن توپ با توجه به وجود مانع(حریف مقابل) مورد بررسی قرار گرته است که هدف آن است که بتوان با توجه به غیرخطی بودن مساله امکان ارائه یک مسیر مناسب را مورد بررسی و شبیه سازی قرار داد شکل (1) نمونه ساخته شده این ربات را نشان می دهد.
مساله مکان یابی در این ربات یکی از مسائلی است که جای بررسی بسیار داشته که در این مقاله از متدی خاص براساس قابلیت های سیستم مورد نظر استفاده شده است.
2- بررسی متدهای موقعیت یابی احتمالاتی
در زمینه موقعیت یابی متدهای مختلفی ارائه شده است اما امروزه استفاده از متدهای احتمالاتی در این زمینه کاربرد بیشتری دارد.
با بررسی که بر روی این متدها انجام شد دو روش کالمن فیلتر و مارکوف دارای کارائی بیشتری برای سیستم های مشابه سیستم مورد نظر ما داشته اند.
از این رو ما روش کالمن فیلتر و به شکل دقیق تر فیلتر کالمن گسترده را بکار بردیم.
از آنجا که یک ربات متحرک ممکن است از سنسورهای متعدی استفاده نماید که هرکدام نشانه هائی را در مورد مکان ربات دربر خواهند داشت.
استفاده از sensor fusion ممکن است بتواند تخمین بهتری از موقعیت ربات بدست آورد.
فیلتر کالمن روش قدرتمندی است که امکان ترکیب داده های سنسورهای مختلف را فراهم می آورد این روش نسبت به روش مارکف ساده تر است.
اما منجر به یک الگوریتم برگشتی می گردد .
3- انتخاب متد EKF و بررسی ساختار ربات
با توجه به مشخص شدن راهکار مورد استفاده و ساختار ربات مورد نظر در این بخش به بررسی بیشتر و جمع آوری اطلات منطبق با سیستم مورد نظر پرداختیم .
3-1- فیلتر کالمن گسترده: روش های مختلفی برای حل مشکل Localization، با فرض در دسترس بودن نقشه محیط مطرح شده است، که رایج ترین ابزار، فیلتر کالمن است، که چارچوبی مؤثر برای تلفیق انواع مختلف دانش و آگاهی ارائه می دهد.
ساختار سیستم Localization در شکل نشان داده شده است، که مستقیماً از معادلات EKF نشأت می گیرد.
3-1- فیلتر کالمن گسترده: روش های مختلفی برای حل مشکل Localization، با فرض در دسترس بودن نقشه محیط مطرح شده است، که رایج ترین ابزار، فیلتر کالمن است، که چارچوبی مؤثر برای تلفیق انواع مختلف دانش و آگاهی ارائه می دهد.
ساختار سیستم Localization در شکل نشان داده شده است، که مستقیماً از معادلات EKF نشأت می گیرد.
شکل(2) ساختار سیستم موقعیت یابی سایرمراحل چارت به همین شکل می باشد با این تفاوت که با توجه به اطلاعاتی که در مراحل بعدی دریافت کردیم مجبور به تغییراتی در زمان پیاده سازی و استفاده از متدهای فازی جهت بهینه سازی خروجی سیستم فیلتر کالمن گسترده شدیم که توضیحات بیشتر را در همان قسمت خواهیم داد.
4- بررسی ساختاری ربات جهت منطبق کردن با سیستم انتخابی این بخش شامل بررسی سینماتیکی و نحوه کار سنسورهای ربات جهت منطبق کردن با فرمول های بدست آمده بود.
ساختارکلی ربات متحرک همه جهته در شکل نشان داده شده است.
همانطور که در شکل دیده می شود مختصات مرکز ربات بصورت[Xm,Ym, m] فرض شده و ربات دارای سه چرخ است که با زاویه 120 درجه نسبت به یکدیگر قرار گرفته اند .
شکل( 3) ساختارکلی ربات متحرک همه جهته این ربات دارای یک دوربین همه جهته می باشد که این دوربین تصویری کامل از زمین ارائه می دهد.
از طرف دیگر زمین دارای چهار Flag واقع در چهار گوشه زمین می باشد.
اطلاعاتی که Vision در اختیار ما قرار داد عبارت از یک ماتریس 2*4 بود که شامل بردار فاصله تا هر Flag موجود در زمین و زاویه بین هر دو بردار Flag ها بود.
شکل( 4) ساختارکلی زمین مسابقه روابط محاسباتی بصورت زیر می باشد : Odometric prediction F در حقیقت همان معادله حرکت ربات می باشد که موقعیت اولیه را با میزان جابجایی جمع می کند.
Odometric position uncertainty در این جا تابع h در حقیقت پیش بینی موقعیت حاصل از منطبق کردن مقادیر پیش بینی و نقشه اصلی را به ما می دهد که در ادامه اختلاف این مقادیر, با مقادیری که Vision به ما داده است را بصورت Vk بیان می کند.
Constant matrix Rk =R.
در این مرحله فیلتر کالمن گسترده، برای تصحیح تخمین موقعیت Odometric برمبنای مشاهدات معتبرسازی شده، مورد استفاده قرار می گیرد.
موقعیت واقعی که فیلتر کالمن تشخیص داده بصورت حاصل جمع موقعیت پیش بینی شده بر اساس موقعیت قبلی بعلاوه ضریب کالمن در اختلاف حاصل از Vision و پیش بینی (encoder) محاسبه می شود.
Update ضریب کالمن برای مراحل بعدی.
5- پیاده سازی در این مرحله با توجه به مقادیری که سنسورها به ما می دهند و سایر ورودی ها تغییراتی را به ناچار در الگوریتم دادیم البته این مقادیر اثری در نحوه کار ندارد تنها تغییراتی جزئی در پیاده سازی ایجاد کرده است.
در ابتدا لازم است تا توضیحاتی اجمالی در زمینه تغییرات انجام داده شده ارائه دهیم.
از آن جا که داده های ورودی Vision بصورت ماتریس2*4 می باشد در حقیقت موقعیت ربات از دید Vision با چهار زوج که بیان کننده فاصله ربات تا هر Flag و زاویه بین این بردارها که بهFlag ها متصل است, دریافت می شد.
از این رو برای تطبیق با مقادیر پیش بینی که با نقشه اصلی نیز منطبق شده اند موقعیتی را که براساس موقعیت قبلی و میزان جابجایی پیش بینی کرده بودیم رابا نقشه اصلی بصورت چهار بردار تا چهار Flag با زوایای مشخص محاسبه کردیم.
محاسبه موقعیت بر اساس چهار Flag در حقیقت به ما چهار موقعیت بدست آمده از فیلتر کالمن را می دهد که با بررسی هایی که انجام دادیم مشاهده شد که با استفاده از یک ضریب وزنی فازی نتایج نسبت به مقادیری که دو Flag نزدیکتر به ربات بدست آورده اند موقعیت دقیق تری را به ما می دهد.
البته باید این مقادیر با ضرائب خاص بصورت فازی محاسبه شود.
همانطور که مشاهده شد تغییراتی که اعمال کردیم به این صورت بود که ما چهار مقدار ورودی و خروجی از هر نوع بر حسب چهار Flag زمین داریم که مزیت این کار آن است که خطای حاصل از هر Flag تنها بر روی همان مقادیر اثر می گذارد و سایر مقادیر را دچار خطای غیر قابل پیش بینی نمی کند و با این روش می توان تنها از Flag های مشاهده شده به راحتی استفاده کردو سایر مقادیر که مشاهده نشده یا دارای خطای فاحش است را در نظر نگیریم.
هر چند بر روی این بخش روش پیشنهاد شده به این صورت است که مقادیر بدست آمده را با ضرائب مشخص (که بصورت فازی براساس فاصله تا موقعیت ربات محاسبه می شود) با یکدیگر ترکیب کنیم به این ترتیب اثر Flag هایی که مشاهده نشده اند در صد اثر گذلری آنها کمتر می شود.
6- تست و نتیجه گیری در این مرحله براساس داده هایی که از Vision دریافت کردیم همچنین اندازه گیری دستی که انجام دادیم و مقادیری که سیستم موجود برروی ربات های آزمایشگاه ارائه می دادند به نتایجی دست یافتیم.
در این بررسی مشخص شد مقادیر موقعیت که از طریق EKF پیاده شده بدست می آوریم دارای خطای بسیار کمی می باشد از مقایسه این مقادیری و مقادیری که سیستم موجود ارائه می دهد مشاهده شد که مقادیری که سیستم ربات در حال حاضر می دهد نیز دارای خطای بسیار پایینی می باشد و تفاوت آن با مقادیری که ما بدست آوردیم خیلی بزرگ نمی باشد.
البته این موضوع با توجه به این که این ربات ها براساس محیط موجود برنامه ریزی شده اند تا حدودی واضح می باشد و در حقیقت تفاوت سیستم موجود برروی ربات ها و روش ارائه شده زمانی مشخص تر خواهد شد که ربات را در چند محیط مختلف تحت آزمایش قرار دهیم و مقادیر حاصل از سیستم موجود و سیستم ارائه شده (EKF ) را مقایسه نماییم.
در این حالت میزان پایداری هر روش مشخص می شود.
از آن جا که داده هایی که ما با آن ها کار می کردیم همه از محیط موجود دریافت می شد نمی توان نظری کاملا قطعی در مورد این سیستم داد و باید داده هایی را در محیط های مختلف جمع آوری و با آن ها تست کرد که این امر مستلزم داشتن چند محیط استاندارد مشابه با شرایط محیطی مختلف است و سیستم باید با تعداد آزمایشات زیاد مورد تست قرار گیرد.
سیستم موجود چنانچه بر روی یک ربات که هنوز از محیط هیچ اطلاعاتی ندارد و برای اولین بار در یک محیط قرار می گیرد، مطمئنا جواب بسیار مناسب با خطای کم ارائه خواهد داد.
نتایج زیر بر اساس تستی که با داده هایی که از محیط موجود جمع آوری شده, انجام شده است.
نتیجه بدست آمده دارای خطا در حدود 0.1 تا 4 سانتی متر براساس فاصله تا Flag ها بوده است.
همانطور که مشاهده می شود در هر دو حالت روش فازی با ضریب بهترین پاسخ را می دهد.
از لحاظ منطقی نیز باید چنین باشد.
آبی : موقعیت بدست آمده کالمن و متد فازی بکار رفته (نزدیک ترین موقعیت به Flag ها) قرمز : پیش بینی بر اساسFlagشماره 1 سبز : موقعیت بدست آمده ازکالمن بر اساسFlag شماره 1 شکل( 5) نتیجه گیری مجموعه داده آبی : موقعیت بدست آمده کالمن و متد فازی بکار رفته (نزدیک ترین موقعیت به Flagها) قرمز : پیش بینی بر اساس Flag شماره 1 سبز : موقعیت بدست آمده ازکالمن بر اساس Flag شماره 1 شکل( 6) نتیجه گیری مجموعه داده 7 .
منابع [1]- Gutmann.
Steffen, "Cooperative Perceptionfor world modeling and localization", Sony Corp.29.
July 2003.
[2]- E.
Fabrizi¤, G.
Oriolo, S.
Panzieriy, G.
Uliviy, ”Enhanced Uncertainty Modeling For Robot Localization”, 1998.
[3]- E.
Fabrizi, G.
Oriolo§, S.
Uliviy, ”Mobile Robot Localization Via Fusion Of Ultrasonic and Inertial Sensor Data”,2000.
[4]- Gary Bishop,Greg Welch, SIGGRAPH, “An Introduction to the Kalman Filter”, 2001.