31-اصلاح و بهبود الگوریتم های تولید شیوه راه رفتن با استفاده از روشهای انشعابی و مقید
- مقدمه
تولید شیوه راه رفتن ربات اتوماتیک در حالت کلی نیازمند علم رباتیک متحرک است. یکی از راهکارهای ممکن استفاده از الگوریتم های مبنی بر جستجوی فضای پیرامونی است. تیم ما در گذشته به صورت موفقیت آمیزی الگوریتم های جستجوی Beam و الگوریتم A* را مورد آزمایش قرار داده بود. تاثیرات و تناسب این الگوریتمها، به صورت تئوری به وسیله روشهای انشعابی و مقید بهبود یافتهاند. این مقاله تجربه ما در خصوص ترکیب الگوریتم A* را توضیح داده است. آزمایشات با استفاده از نرم افزار شبیه سازی صورت گرفته است.
- روش های به کار برده شده
انتخاب شیوه راه رفتن در امتداد مجموعه درخواست های برنامه ریزی قرار دارد. هدف از این چنین کاری پیدا کردن مسیر بهینه در مورد تعریف شده ها به عنوان ترتیبی از نواحی و اپراتورهای است که تراکنش بین نواحی را انجام می دهند.هر ناحیه یک پیکربندی مخصوصی از ربات را ارائه می کند. قانون تغییر پیکربندی ربات باعث تشخیص اپراتور و عملکرد جدیدی می شود که نتیجه آن ایجاد یک ناحیه جدید است. بنابراین، همه این فرایند می تواند به صورت داخلی و با استفاده از گراف (درخت) تعیین پیوسته ارائه شود.
به منظور پیدا کردن راه حلی برای این چنین فرایندی، روشهای مجدد شکل گرفته ای جستجوی فضای پیرامونی می تواند به صورت موفقیت آمیزی مورد استفاده قرار گیرد. به عنوان مثال روش جستجوی Beam و یا A* می تواند مورد استفاده قرار گیرد. روشهای بهبود یافته بیشتری نیز می تواند با استفاده از ترکیب این الگوریتم ها با روشهای انشعابی و مقید بدست آیند. روشهایی که به صورت مداوم از حل مسائل امتناع میکنند بدتر از راه حل هایی هستند که قبلا در طول مراحل ابتدایی جستجوی فضای پیرامونی پیدا شده بودند. بنابراین این روشها شعبه شدن یا شبکه شدن درخت نامیده می شوند. به منظور امتناع ازحل دقیق هنوز هم ارزیابی محدود قابل قبول گره مورد استفاده قرار می گیرد. پس آن را مقید می نامند. در کنار الگوریتم های که بیشتر با روشهای انشعابی و مقید توسعه یافته اند ما می توانیم موارد دیگری را نیز ذکر کنیم. الگوریتم A* با انشعابی و مقیدبه شکل زیر است:
- مجموعه مقید تا بی نهایت
- مجموعه حداکثر عمق برای انشعابی
- تعیین پیکربندی واقعی ربات
- بکارگیری عمق اولین درخت فرعی تولید جستجو که آن درخت ارائه کننده پیکربندی واقعی ربات است.
الف- برای ارزیابی هر ناحیه ایجاد شده از عملکرد هزینه ای A* استفاده میشود.
ب- اگر ناحیه در دسترس ارزیابی شده یک لایه باشد ( یعنی در ماکزیمم عمق قرار گیرد) مقدار ارزیابی باید با مقدار محدود مقایسه شود.
اگر مقدار محدود بزرگتر بود پس:
Bound= : ارزیابی لایه
ناحیه ارزیابی شده به عنوان بهترین ناحیه در نظر گرفته می شود و موقعیت آن را در ذهن داشته باشید.
توسعه مربوط به لایه ارزیابی شده موجود را به اتمام برسانید و توسعه باید به اساس جستجوی اولین عمق ادامه داشته باشد.
- براساس موقعیت به خاطر سپرده شده بهترین گره از مرحله 4، قاعده ای که از پیکربندی واقعی ربات بدست آمده است را برای قرار دادن در درخت فرعی لایه با بهترین ارزیابی، تعیین شود.
- از قاعده تعیین شده در مرحله 5 پیکربندی واقعی ربات استفاده شود.
- ناحیه ایجاد شده اخیر را به عنوان پیکربندی واقعی ربات در نظر بگیرید.
- مرحله 4 را تا پیکربندی واقعی ربات و بدست آوردن ناحیه هدف ادامه دهید.
از طرف دیگر و با توجه به توضیحات الگوریتم میتوان مشاهده کرد که محدود در طول جستجو تغییر میکند و به صورت یکنواخت کاهش پیدا میکند. در مرحله 4 ب شعبه یابی درخت ایجاد شده که ارائه کننده تفاوت اصلی در مقابل الگوریتم A* بطور کلاسیک ظاهر میشود.
- بکارگیری
الگوریتم های تولید شیوه راه رفتن مورد نظر، نیاز دارند تا در روش اقتصادی و کوتاه زمانی تست شوند. این بدین معنی است که چرا یک نمونه اولیه مجازی ربات چهار پا حرکت سطحی را انجام میدهد، طراحی شده است. این یک نرم افزار شبیه سازی توسعه یافته در برنامه Borland Delphi میباشد. در هنگام طراحی نرم افزار شبیه سازی احتیاج داریم تا هر دو فرایند رفتاری و فعل و انفعال داخلی ربات را در محیط شرح دهیم. همین طور، خطاهای رخ داده در طول مکان یابی سروموتورها نیز باید انجام دهیم. صرفه نظر از نیازمندیهای موجود بالا مدل مجازی این قسمت های اصلی را در بر می گیرد:
- مدول مدل جنبشی ساده شده ربات در دو درجه آزادی
- مدول معرفی خطاها (شبیه سازی محیط)
- مدول تولید شیوه راه رفتن (بکارگیری تمام الگوریتم)
- مدول شبیه سازی اصلی
- مدول ارائه اطلاعات
با توجه به این خطاها، ما خطاها را در مکان یابی سرو درایورهایی که در برنامه واقعی غیر قابل اجتناب هستند به کار میبریم. این چنین خطاهایی باعث میشوند تا ضرورتهایی در مورد برنامه ریزی مجدد شیوه راه رفتنبوجود میآید در هنگامی که عمل برنامه ریزی شده در طول شرایط متفاوت موجود در نواحی واقعی و مورد نظر ربات مورد استفاده قرار گیرند.
- نتایج بدست آمده
با استفاده از نرم افزار توضیح داده شده بالا، آزمایشات نتایج A* ، جستجوی بیم و الگوریتم انشعابی و مقیدرا مقایسه میکنند تا با نتایج کار هزینه ای قبلی مقایسه کنند و بهترین نتیجه را به کار ببرند.
در این فرمول d(i) ارائه کننده فاصله ژئومتریک بین ناحیه i و ناحیه هدف میباشد، Δ(i) انحراف ناحیه i از مسیر ایده آل ربات را ارائه میکند، مرحله (i) شماره حرکت پایه ربات در مسیر خود و از ناحیه آغازین s تا ناحیه i میباشد.
حرکت i شماره حرکت توجیهی برگرداننده ربات در مسیر خودش از ناحیه آغازین s تا ناحیه i میباشد. مسیر مفهوم ki در حد بینهایت به شکل روبرو تعریف میشود: k5=5, k4=3, k3=3, k2=50, k1=10.
حداکثر عمق مربوط به گسترش درخت فرعی، مساوی با 3 است. عمق بزرگتر به صورت مناسب، زمان پاسخ گویی الگوریتم را افزایش میدهد. عمق پایین تر در نتیجه شیوه راه رفتن غیر قابل بوجود میآید. مقایسه کیفی شیوه راه رفتن های از موقعیت [0.0] تا موقعیت [0,9] از A* استفاده میکنند و الگوریتم های انشعابی و مقید و A* در جدول 1 نشان داده شده است.
جدول شماره 1 : تاثیرات خطاهای معرفی شده بروی اندازه فضای ناحیه
RL=طول ربات RPN=تعداد طراحی مجدد مسیر
الف) الگوریتم A*
مقایسه هر دو الگوریتم استفاده شده برای نسل شیوه راه رفتن نشان میدهد که روش انشعابی و مقید به صورت مناسب تعداد نواحی توسعه یافته کاهش یافته است. این حالت در حدود 68 درصد به طور میانگین وجود دارد بنابراین نیازمندیهای محاسباتی کاهش مییابد و بنابراین زمان پاسخگویی الگوریتم کاهش مییابد. نتیجه گیری شیوه راه رفتن ربات قابل مقایسه بوده و شامل حرکت پایه اضافی نمی باشد. حرکت های برگرداننده بدنه بسیار بزرگ است. شیوه راه رفتن به عنوان یک راندمان انرژی قابل توصیف است.
نتیجه گیری
این مقاله بکارگیری برنامه اصلاحی انشعابی و مقید الگوریتم A* را بروی ساخت اتوماتیک یک شیوه راه رفتن ربات 4 پا نشان میدهد. این اصلاحیه تنها باعث بوجود آمدن افزایش کمی در پیچدگی الگوریتم با کاهش قابل توجه تعداد نواحی توسعه یافته تولید شده. بنابراین کاهش کلی نیازمندیهای رقابتی و تطابق زمان پاسخگویی الگوریتم کاهش میدهد که مزیت اصلی در مورد برنامه ریزی مجدد شیوه راه رفتن و برای خطاهای موقعیت سرو درایور لازم است.