بخشی از مقاله
استفاده از مدل احتمالاتي Extended Kalman Filter در موقعيت يابي ربات ها
چكيده:
در اين مقاله ابتدا به بررسي متدهاي مختلف در مکان يابي ربات ها پرداخته شده است. سپس يکي از متدهاي احتمالاتي در موقعيت يابي را که داراي مزايا و قابليت هاي متناسب با سيستم مورد نظرمان بود را انتخاب کرديم. پس از انتخاب متد EKF به بررسي ساختاري ربات جهت منطبق كردن با سيستم انتخابي پرداخته شد. بعلاوه از يک سيستم فازي نيز جهت بهينه سازي خروجي و داشتن خروجي متناسب با داده هاي ورودي استفاده کرديم.
در بخش پاياني نيز به پياده سازي سيستم و تست آن برروي ربات مورد نظر که در اين مقاله يك ربات فوتباليست سايز متوسط است كه در مركز تحقيقاتي مكاترونيك دانشگاه آزاد اسلامي قزوين ساخته شده و بنام MRL خوانده مي شود. محيط مورد نظر، زمين فوتبال خاص اين گونه ربات ها مي باشد. هدف اين مقاله ارائه سيستمي جهت موقعيت يابي مناسب ربات فوتباليست با توجه به وجود خطا در اطلاعات جمع آوري شده جهت موقعيت يابي مي باشد.
واژه هاي کليدي: موقعيت يابي، ربات، Flag، Extended Kalman Filter، Localization، فازي، انكدر، Vision.
1- مقدمه
در سال هاي اخير مساله موقعيت يابي ربات هاي متحرك از جمله مسائلي است كه مورد توجه محققين در اين زمينه قرار گرفته است. هدف اصلي، موقعيت يابي اينگونه ربات ها در محيط هاي پوياي دو بعدي است. يكي از انواع اين ربات ها ربات هاي سه چرخ همه جهته بوده كه امكان جابجايي و حركت مستقل از زاويه و جهت ربات را فراهم مي سازد كه در مح
يط هاي پويا مورد استفاده قرار گرفته اند. تحقيقات مختلفي در اين زمينه صورت گرفته است. مركز تحقيقات مكاترونيك دانشگاه آزاد اسلامي قزوين نوعي از اين ربات هاي فوتباليست كه بن
ام MRL خوانده مي شوند را در اختيار دارد. اين ربات داراي سه چرخ با زاويه 120درجه نسبت به هم است كه توسط يك موتور فرمان با يك شفا انكدر هدايت مي شود براي كنترل اين ربات از يك سيستم كامپيوتري كتابي با سيستم عامل ويندوز استفاده شده است. اطلاعات مورد نظر ربات توسط دوربيني با قابليت دريافت تمام جهات درك شده و مورد پردازش قرار مي گيرد. در امناسب را مورد بررسي و شبيه سازي قرار داد شكل (1) نمونه ساخته شده اين ربات را نشان مي دهد.
شكل( 1) نمونه ربات ساخته شده
مساله مکان يابي در اين ربات يكي از مسائلي است كه جاي بررسي بسيار داشته كه در اين مقاله از متدي خاص براساس قابليت هاي سيستم مورد نظر استفاده شده است.
2- بررسي متدهاي موقعيت يابي احتمالاتي
در زمينه موقعيت يابي متدهاي مختلفي ارائه شده است اما امروزه استفاده از متدهاي احتمالاتي در اين زمينه کاربرد بيشتري دارد. با بررسي که بر روي اين متدها انجام شد دو روش کالمن فيلتر و مارکوف داراي کارائي بيشتري براي سيستم هاي مشابه سيستم مورد نظر ما داشته اند. از اين رو ما روش کالمن فيلتر و به شکل دقيق تر فيلتر کالمن گسترده را بکار برديم. از آنجا که يک ربات متحرک ممکن است از سنسورهاي متعدي استفاده نمايد که هرکدام نشانه هائي را در مورد مکان ربات دربر خواهند داشت. استفاده از sensor fusion ممکن است بتواند تخمين بهتري از موقعيت ربات بدست آورد. فيلتر کالمن روش قدرتمندي است که امکان ترکيب داده هاي سنسورهاي مختلف را فراهم مي آورد اين روش نسبت به روش مارکف ساده تر است. اما منجر به يک الگوريتم برگشتي مي گردد .
3- انتخاب متد 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) نتيجه گيري مجموعه داده