فرمت فایل ها : word,pdf,ppt,code Matlab
چکیده:
این مقاله الگوریتمی جدید برای مسئله برنامه ریزی مسیرکلی به یک هدف ، برای ربات متحرک را با استفاده از الگوریتم ژنتیک ارائه می دهد .الگوریتم ژنتیک برای یافتن مسیر بهینه برای ربات متحرک جهت حرکت در محیط استاتیک که توسط نقشه ای با گره ها و لینک ها بیان شده است ،بکار گرفته شده است.موقعیت هدف و موانع برای یافتن یک مسیر بهینه در محیط دو بعدی داده شده است .هر نقطه اتصال در شبکه ژنی است که با استفاده از کد باینری ارائه شده است.تعداد ژن ها در یک کروموزوم تابعی از تعداد موانع در نقشه (نمودار)می باشد.
بنابراین از یک کروموزوم با طول ثابت استفاده کردیم.مسیر ربات ایجاد شده ، در مفهوم کوتاهترین مسیر ،بهینه است .ربات دارای محل آغاز و محل هدف تحت فرضیه ای است که ربات از هر محل فقط یکبار می گذرد یا اصلا نمی گذرد.نتایج بدست آمده در شبیه سازی ؛قدرت الگوریتم پیشنهادی را تایید می نماید.
مقدمه:
مسئله طراحی مسیر ربات متحرک را می توان بصورت ذیل بیان کرد:
داده های مسئله (محل شروع،محل هدف، نقشه ای دو بعدی مسیرهاکه شامل موانع ساکن می باشد).هدف بدست آوردن یک مسیر بدون تصادم بین دو نقطه خاص در ایفای معیار بهینه سازی با در نظر گرفتن محدودیت ها (به احتمال زیاد:کوتاهترین مسیر)می باشد. مسئله طراحی مسیر از نظر محاسباتی بسیار پر هزینه است.
با اینکه حجم زیادی از تحقیقات برای حل بیشتر این مسائل انجام شده است،با این وجود،روش های معمول ،غیر قابل انعطاف می باشند.
1.اهداف مختلف بهینه سازی و تغییرات اهداف
2. عدم قطعیت ها در محیط ها
3. محدودیت های متفاوت برای منابع محاسباتی
مرور و بازنگری روش های موجود برای حل مسئله طراحی مسیر ،در [1] ارائه شده است . روش های زیادی برای ایجاد یک مسیر بهینه از قبیل برنامه ریزی دینامیک و روش های تبدیل مسافت گزارش شده است .
در روش برنامه ریزی دینامیک اگر نقطه ی شروعSP و نقطه ی هدف GP باشد ، نقطه ی زیر هدف IP است.و روش تولید مسیر ،نحوه تعیین توالی زیر اهداف است که زیر اهداف خود از مجموعه IP (I=1,2,3,…) انتخاب می شوند.ما باید تمام مسیرهای ممکن را بررسی کرده و مسیر با کمترین مقدار هزینه را به عنوان مسیر بهینه انتخاب نمائیم.توان محاسباتی بسیار فراوانی بویژه در محیط های دارای زیر اهداف فراوان مورد نیاز است . در روش تبدیل مسافت ،کارطراحی مسیر ،محیطی را با شبکه یکنواخت می پوشاند و فواصل را از طریق فضای خالی ،از سلول هدف،منتشر می کند.قسمت پیشین موج مسافت ،حول موانع و در نهایت از طریق تمامی فضاهای آزاد در محیط جریان می یابد.برای هر نقطه شروع در محیط نمایانگر محل اولیه ربات متحرک ،کوتاهترین مسیر به مقصد،از طریق رفتن به قسمت پائین و از طریق شیب دارترین مسیر نزولی رسم شده است.با این وجود به هنگام وجود دو سلول یا بیشتر جهت گزینش با همان حداقل تبدیل فاصله ابهام مسیرهای بهینه وجود دارد. دو روش مذکور ملزم توان محاسباتی بسیار بالا در محیطی است که دارای تعداد زیاد اهداف فرعی (زیر اهداف)و موانع است.
محققان روش های فراوان را برای حل مسائل طراحی مسیر ربات های متحرک با وجود موانع ایستا و متحرک بر مبنای soft computing ،بیان کرده اند. soft computing متشکل از منطق فازی،شبکه های عصبی و محاسبات تکاملی است (الگوریتم های ژنتیک و تکاملی GA & EA).تاکنون تلاش های زیادی در استفاده از منطق فازی برای طراحی و برنامه ریزی حرکت ربات متحرک وجود داشته است .اخیرا استفاده از محاسبات تکاملی رواج فراوانی پیدا کرده و در واقع روشی است که به منظور بکارگیری در موقعیت هایی که دانش اولیه راجع حل مسئله وجود نداشته و یا اطلاعات محدود می باشد،قابلیت استفاده به گونه ای موثرتر،عمومی تر و راحت تر را داراست.
الگوریتم های ژنتیکی و تکامکلی نیازمند اطلاعات اشتقاقی یا برآوردهای فرمال اولیه از راه حل نیستند و از آنجائیکه طبیعتا تصادفی می باشند دارای قابلیت جستجوی کل فضای جواب با احتمال بیشتر پیدا کردن بهینه عمومی می باشند.
می توان تحقیق قبلی راجع طراحی مسیر را به صورت یکی از دو روش مقابل طبقه بندی کرد: مبتنی بر مدل و مبتنی بر سنسور .
در حالت مبتنی بر مدل ،مدل های منطقی از موانع شناخته شده ،برای تولید تصادم بدون مسیر بکار گرفته می شوند.در حالیکه در روش مبتنی بر سنسور ، کشف و اجتناب از موانع ناشناخته است.در این مقاله الگوریتمی جدید جهت بدست آوردن مسیر بهینه بر مبنای مدل پیشنهاد شده است.
ادامه مطالب مقاله بصورت ذیل مرتب شده اند :
در بخش 2 ،مقدمه ای مختصر راجع الگوریتم ژنتیک ارائه شده است .در بخش 3 ،فرمول سازی مسئله مورد بررسی واقع شده،در بخش 4 الگوریتم پیشنهادی ، معرفی و در بخش 5 نتایج شبیه سازی نشان داده شده است.
1.مسیریابی
مسئله مسیریابی ربات در چند حالت قابل بررسی است :
در یک مفهوم می توان مسیریابی روبات را در قالب تعقیب خط (عموما مسیری از پیش تعیین شده با رنگ متفاوت از زمینه ) معرفی نمود.روبات هایی با این کاربرد تحت عنوان مسیریاب شناخته می شوند . یکی از کاربرد های عمده این ربات ، حمل و نقل وسایل و کالاهای مختلف در کارخانجات ، بیمارستان ها ، فروشگاه ها ، کتابخانه ها و ... میباشد .
ربات تعقیب خط تا حدی قادر به انجام وظیفه کتاب داری کتابخانه ها می باشد . به این صورت که بعد از دادن کد کتاب ، ربات با دنبال کردن مسیری که کد آن را تعیین میکند ، به محلی که کتاب در آن قرار گرفته می رود و کتاب را برداشته و به نزد ما می آورد .مثال دیگر این نوع ربات در بیمارستان های پیشرفته است ، کف بیمارستان های پیشرفته خط کشی هایی به رنگ های مختلف به منظور هدایت ربات های مسیریاب به محل های مختلف وجود دارد . (مثلا رنگ قرمز به اتاق جراحی یا آبی به اتاق زایمان.) بیمارانی که توانایی حرکت کردن و جا به جا شدن را ندارند و باید از ویلچر استفاده کنند ، این ویلچر نقش ربات تعقیب خط را دارد ، و بیمار را از روی مسیر مشخص به محل مطلوب می برد .
با توجه به وجود موانع (استاتیک و دینامیک) در محیط ،مسیریابی روبات در مفهومی کاربردی تر ،پیمودن مسیر مبدا تا مقصد بدون برخورد با موانع می باشد.مسلما با وجود تعداد زیاد موانع ،تعداد مسیرهای قابل عبور روبات بسیار زیاد خواهد بود و یقینا انتخاب کوتاه ترین مسیر توسط روبات برای حرکت از مبدا به مقصد ،دارای ارزش اجرایی بالایی خواهد بود.در این مقاله چنین مسئله ای مورد بررسی واقع شده است.نقاط مبدا و مقصد و نیز محل موانع به عنوان ورودی داده شده است ،نیز می دانیم موانع ایستا می باشند (در حالت وجود موانع پویا در عین نزدیکی بیشتر به شرایط واقعی ،روش های مورد استفاده بسیار پیچیده خواهند بود)و مسئله در حالت دو بعدی بررسی می شود (روبات بر روی صفحه حرکت می نماید). برای این منظور الگوریتم های مسیریابی با هدف انتخاب کوتاهترین مسیر قابل استفاده می باشند ،الگوریتم هایی که به منظور مسیریابی در شبکه ها قابلیت استفاده دارند.با این وجود در این بررسی از الگوریتم ژنتیک استفاده شده است . همچنین الگوریتم های ژنتیک و نیز دیگر روش های مشابه به منظور بهینه سازی مصرف انرژی روبات ،مسیر تغییر زاویه ازوی روبات ،زمان حرکت روبات و... قابل استفاده می باشند .
2.الگوریتم ژنتیک
GA در سال 1975 توسط Holland بر پایه تقلیدی از تکامل طبیعی یک جمعیت پایه ریزی شد به نحوی که کروموزوم ها به منظور خلق نسل جدید اجازه تولید مجدد داشته و جهت بقاء در نسل آینده به رقابت می پردازند.با گذشت زمان ،بر روی نسل ها ، fitness بهبود می یابد و در نهایت بهترین راه حل قابل حصول است .اولین جمعیت p(0) به طور تصادفی با 0و1 کد می شود در هر نسل ،t، مناسبترین عناصر برای حضور در mating pool انتخاب می شوند و با سه عملگر پایه ای ژنتیک ؛ تولید مثل،ادغام و جهش ؛ جهت تولید نسل جدید تکامل می یابند .بر پایه بقاء بهترین هامی توان نتیجه گرفت کروموزوم های بدست آمده با استفاده از روشی منتخب بهترین کروموزوم ها قابل حصول می باشند.
از جمله مزایای GA که این روش را جهت بکارگیری آن در مورد انتخاب متغیر مناسب می نماید می توان به توانایی پیدا کردن بهینه عمومی با سرعت بالا،امکان جستجو موازی چند نقطه و نیز فرار از بهینه های محلی اشاره نمود.
Procedure
GA
Begin
t=0
initialize p(t)
evaluate p(t)
while not satisfy stopping rule do
begin
t=t+1
select p(t) from p(t-1)
alter(t)
evaluate p(t)
end
end
چنانچه بیان شد عموما تکامل از یک نسل به نسل بعد ،شامل سه مرحله است :ارزیابی تناسب،گزینش و بازآفرینی.
ابتدا ،جمعیت کنونی با استفاده از تابع تکامل تناسب ارزیابی شده و سپس بر اساس مناسب بودنشان طبقه بندی می شوند و در واقع نسل جدید با هدف بهبود و ارتقاء تناسب بوجود می آید.
روش بکار بردن عملگرهای ،تولیدمثل؛جهش و ادغام توسط الگوریتم ژنتیک به شکل زیر است :
در آغاز ، باز آفرینی منتخب ،بر روی جمعیت کنونی بنحوی بکار گرفته می شود که رشته ،تعدادی کپی ،بر اساس مناسب بودن آنها تهیه می کند.این عمل منجر به تولید جمعیت میانی خواهد شد. سپس دوما ،الگوریتم ژنتیک والدین را از جمعیت کنونی با احتمال بیشتر در انتخاب کروموزوم های بهتر گزینش می نماید.این عمل همراه با کمیت تناسب و دسته بندی کروموزوم خواهد بود و نهایتا (سوما)،این الگوریتم فرزندان (رشته های جدید)را از والدین منتخب با استفاده از اپراتورهای ادغام یا جهش بازآفرینی می نماید.اساسا ادغام،شامل تبادل تصادفی بیت هابین دو رشته جمعیت میانی می باشد.در نهایت عملگر جهش ،به طور تصادفی تعدادی از بیت های بین رشته های جدید را تعویض می نماید.این الگوریتم زمانی پایان می یابد که راه حل قابل قبول پیدا شودویا معیار همگرایی ایفا شود و یا وقتی که به تعداد محدود و از پیش تعیین شده تکرار دست یابیم.مشخصه های اصلی الگوریتم های ژنتیک این است که آنها می توانند فضای جستجو را به طور برابر جستجو کنند و نیازی به بهینه سازی تابع برای تمایز گذاشتن یا هرگونه ویژگی یکنواخت ندارند.دقت راه حل اکتسابی به تعداد کد مورد استفاده برای کدگذاری متغیر خاص(طول کروموزوم)بستگی دارد.
3.فرمول سازی مسئله
مسئله به صورت زیر بیان شده است :ربات متحرک در مسیری بسته حرکت می نماید.این ناحیه به صورت نموداری دو بعدی توصیف می شود.چنین نموداری شامل تعداد محدودی موانع ایستا و یک سری نقاط به منظور جلوگیری از برخورد رباتها به موانع است.هدف،طراحی مسیر بهینه بدون هیچ گونه تصادم بین نقطه شروع و نقطه هدف می باشد.به این معنا که باید معیار هدف را با محدودیت عاری از تصادم بهینه سازی کرد .اگر نمودار دو بعدی شامل نقاط اتصال باشد ،فضای کل راه حل های احتمالی ،بسیار بزرگ است .در واقع فضای C هر ربات ، فضای کل پیکربندی های مسیر ربات است .
مسئله طراحی مسیر ، معادل با طراحی حرکت یک نقطه از ربات (نقطه مرجع )در فضای C می باشد.فضای C بدون رخورد ، اشاره به مکان هندسی تمام نقاط فضای C دارد که نمایانگر پیکربندی های عملی و عاری از تصادم است.به این معنا که باید مسیر بهینه عملی و میسر باشد.به طور کل برای پیدا کردن مسیر بهینه بدون تصادم ، سه هدف بهینه سازی متفاوت وجود دارد:
1.به حداقل رساندن مسافت طی شده (کوتاهترین مسیر)
2.حفظ مسیر یکنواخت
3.ایفای ملزومات مشخص (ربات نباید خیلی به موانع نزدیک شود)
شکل 1 موقعیت های مختلف را نشان می دهد
مسیر1.مسیری محتمل در نظر گرفته نمی شود(تصادم مانع)
مسیر2.کوتاهترین مسافت و مسیر محتمل است
مسیر3.میسر بوده و مطمئن تر است (دورترین مسیر از مانع)
مسیر4.میسر است ولی معیار بهینگی را ایفا نمی کند
می توان این اهداف را با عوامل متفاوت،نسبت به اهمیت شان در مسئله بهینه سازی ایستامورد آزمایش قرار داد.در این مقاله بر ارائه کوتاهترین مسیر بدون تصادم،بین نقطه شروع(PS)ونقطه هدف(PG)با استفاده از الگوریتم ژنتیک متمرکز می شویم.
4.الگوریتم طراحی مسیر پیشنهادی
در این بخش ،برای پیدا کردن مسیرهای بهینه برای یک ربات ،جهت حرکت در محیط ایستای بیان شده از طریق یک نمودار با گره ها و لینک ها،الگوریتم ژنتیک بکار رفته است.از موارد کاربرد این مسئله می توان به استفاده از چنین ربات هایی در نمایشگاه ها ،بیمارستان ها ،موزه ها و لابراتوارها برای انتقال مواد اشاره داشت. در الگوریتم پیشنهادی ،هر مسیر از نقطه شروع تا هدف ،جواب است.در آغاز جمعیت های تصادفی از رشته ،تولید شده که نشان دهنده جواب های مجاز (میسر)یا غیر مجاز(غیر میسر)می باشد.جواب های غیر مجاز ، رشته هایی هستند که نمی توانند به هدف برسند.به این معنا که جواب رشته ،ربات را به حرکت در تصادم با موانع ،هدایت می کند.جواب های مجاز ،رشته هایی هستند که می توانند به هدف برسند.برای حرکات ربات متحرک به سمتی که از برخورد با موانع اجتناب نماید باید بهترین رشته ای را بیابیم که هدف را در کوتاهترین مسیر می رساند.
راه حل غیرمجاز دارای کمترین تناسب است (تناسب صفر).نمودار x-y که در مقاله مورد بررسی واقع شده است چنانچه در شکل 2نشان داده شده است ناحیه ای با مساحت 15m2 می باشد.
ربات دارای یک نقطه شروع و نقطه هدف روی نمودار ، تحت این فرضیه است که در طراحی مسیر ،ربات از هر نقطه فقط یکبار می گذرد یا اصلا نمی گذرد.هر گره دارای یک عدد در شکل 2 است و گره ها برای رمزگذاری مسیر ،به صورت رشته بیان شده طبق ترتیب اعداد ،بکار می روند.برای مثال0-4-5-10-9-15
یک مسیر با PS=0 و PG=15 می باشد.
با استفاده از الگوریتم ژنتیک، نقاط اتصال ،در آغاز بطور تصادفی انتخاب شده اند،حال آنکه می بایستی اعداد مجاور ، با یک لینک روی نمودار ،بهم متصل باشند.در این زمینه ،اکثر محققان ،رشته مبنی بر ترتیب و دارای طول متغیر (کروموزوم ها)را بکار برده اند.این کروموزوم،از طریق رشته بیت ها ، بازآفرینی شده است (یعنی،نمایش طبیعی و نه دودوئی).بنابراین باید عملگرادغام و جهش خاصی را اتخاذ نمود.هنگام ادغام ،رشته ای که مناسب تشخیص داده شده است ،به طور تصادفی به عنوان یک والد انتخاب می شود.اگر والد دوم شامل عدد مشترکی در رشته اول باشد.یکی از دو رشته ها،بخشی از رشته هایشان را بعد از عدد مشترک مبادله می کنند در غیر اینصورت ،رشته ای دیگر بصورت والدین دوم انتخاب می شود و همین فرآیند دنبال می شود برای مثال با استفاده از نمودار شکل 2 :
والد1:
والد2:
هر والد دارای نقطه مشترک 10 است،بخش زیر خط دار هر رشته مبادله شده و دو مولود بصورت زیر ایجاد می شود
مولود1 : 0-1-5-10-9-15
مولود2 : 0-3-6-4-510-11-12-15
بعد از ادغام ،برای مشخص کردن تکرار یا عدم تکرار عدد در هر رشته ،مولود ها(فرزندان) بررسی می شوند.در اینصورت بخشی از رشته بین ارقام تکراری حذف می شود.سپس اصلاحاتی مورد نیاز است زیرا ممکن است حالتی پیش آید که مولود ها راه حل مجاز نیستند.این روش ،الگوریتم را پیچیده تر می سازد.مسئله مهم،نحوه تولید کدهای دودوئی به گونه ای که استفاده از کروموزوم هایی با طول ثابت عملی و آسان است .یکی از چالش آورترین جنبه های روش پیشنهادی ،کد گذاری هر رشته در کد دودوئی با طول ثابت است .مسیر ربات متحرک با استفاده از اعداد دودوئی کدگذاری شده که در آن هر ژن در یک کروموزوم ،از طریق 4 بیت باینری به گونه ای که در جدول 1 نشان داده شده است ،کدگذاری شده است.
A.کروموزوم ها و جمعیت اولیه
یک کروموزوم ،مطابق با راه حل عملی مسئله بهینه سازی است.بنابراین هر کروموزوم نشان دهنده مسیر است که متشکل از قطعات خط راست می باشد ،به صورت توالی گره ها با اولین گره که نشان دهنده نقطه شروع اولین قطعه ،به دنبال گره های یانی بین قطعات و قطعه آخری نشان دهنده نقطه پایانی قطعه آخری،هدف،می باشد.حداکثر طول کروموزوم پیش فرض ،برابر با تعداد نقاط نمودار در طول ژن است. در این حالت ،16 نقطه داری که هر نقطه در 4 بیت دودوئی کدگذاری شده است.به این معناکه طول کروموزوم برابر با 64=4*16 بیت می باشد.این نتیجه ساده است زیرا می توانیم طول موثر کروموزوم را برای کاستن توان محاسباتی لازم،کاهش دهیم.از توپولوژی نمودار مشاهده کردیم که مسیر بهینه برای رسیدن به نقطه هدف مرتبط با تعداد موانع است .
اگر تعداد موانع ایستا برابر با m باشد،کوتاهترین مسیر متشکل از حداکثر نقاط (m+2)یا تعداد(m+1)تکه خط است.این رابطه می پذیرد که شکل مانع پیچیده نیست و می تواند به صورت نقطه حجم در نظر گرفته شود.
برای مثال اگر هیچگونه مانعی وجود نداشته باشد(m=0)کوتاهترین مسیر متشکل از یک قطعه خطی از نقطه شروع تا هدف است (تعداد نقاط 2)در شکل1،تعداد موانع استا m=3 ؛کوتاهترین مسیر تشکل از 3 نقطه ؛کمتر از 5 (m+2)می باشد.در شکل 2 ،m=7،کوتاهترین مسیر از نقاط 0 تا نقطه 15 {0-4-6-7-9-15} (6 نقطه)می باشد که کمتر از 9 است(m+2).بنابراین معادله زیر برای تعریف طول کروموزوم بکار خواهد رفت. Cn=m+2 که m تعداد موانع ایستا و cn تعداد ژن ها در کروموزوم است.برای نمودار داده شده در شکل2،طول کروموزوم =4*(2+7)بیت دودوئی،می توان جمعیت اولیه کرووزوم ها را به طور تصادفی چنان تولید کرد کههر کروموزوم دارای m ژن تصادفی باشد حال آنکه نقاط آغازین و هدف در جمعیت ثابت شده اند.
.ارزیابیB
معمولا انتخاب تابع ارزیاب بر مسئله تحت شرایط بسیار خاص است.تابع ارزیاب یک کروموزوم،برای محاسبه تعیین مناسب بودن آن بکار می رود .زیرا تناسب باید به صورت کاهش فاصله ،افزایش یابد.بنابراین تابع تناسب F از یک مسیر محتمل بصورت زیرارزیابی شده است.
که در آن d(pi,pi+1) طول قطعه بین دو نقطه pi,pi+1 در کروموزوم با تعداد نقاط m+2 است.
می توان طول قطعه را با استفاده از مقادیر مختصات x-y در جدول 1 به صورت زیر محاسبه نمود
اگر مسیر محتمل نباشد ،مقدار تناسب آن صفر می باشد.الگوریتم پیشنهادی قادر است نقاط مسیر را برای آشکار سازی عملی بودن آن یا عدم عملی بودنش در جدول 2 ,ترسیم نماید.نقاط اتصالی, نقاط مجاز مجاوربه نقاط کنونی در راه حل برای اجتناب از موانع اند.
C.عملگرها
در الگوریتم ,ازدو عملگر ژنتیکی رایج استفاده شده است.ادغام وجهش.ادغام ,دو مسیر "والد" را برای تولید دومسیر جدید "مولود"در نسل بعدی دوباره ترکیب می کند.از ادغام دو نقطه ای استفاده شده است. هردومسیر والد به طور تصادفی به سه بخش تقسیم شده و دوباره ترکیب شده اند.بخش وسطی اولین مسیر بین موقعیت های بیت هی ادغام و بخش میانی دومین مسیر(والد دوم) برای ایجادفرزندان جدید تبادل می شوند,موقعیت های بیت ادغام به طور تصادفی در طول کوروموزوم بین موقعیت های 5.32 انتخاب شده اند.این محدودیت ها,برای عدم اعمال تغییر نقاط اولی و هدف,طی فرآیند ادغام ,انتخاب شده اند.برای مثال ,با مشخص ودن والدین (36 بیت) به صورت زیر ,باید به طور تصادفی در موقعیتهای 15و23 ادغام داده شوند.همچین فرآیند جهش ,برای تغییر تصادفی موقعیت یک بیت در کروموزوم کار برده شده است(بین موقعیت 5و32).شبه کد الگوریتم پیشنهادی بصورت ذیل داده شده است:
5.نتایج شبیه سازی
الگوریتم بالا به منظور شبیه سازی با استفاده از Matlabآزمایش شده است.محیط شبیه سازی دارای دستورات دستکاری رشته ای بسیار موثر است که تبدیل متغیرهای عدی به رشته ای و عکس این حالت را به گونه ای موثر میسر می سازد.در نتیجه عملگرهای ادغام و جهش به راحتی قابل پیاده سازی می باشند.
مثال شبیه سازی شده :
نقطه ی شروع 0 و نقطه ی پایان 15 است شکل 2 به صورت تولید کننده مسیر شبیه سازی شده است .بیت آغازین متشکل از 6 کروموزوم 63 بیتی است.احتمال ادغام 100 درصد در نظر گرفته شده و احتمال جهش 0.005 درصد می باشد.بهترین نتایج با استفاده از دو نقطه ادغام بدست امده است.نتایج شبیه سازی بعد از 50 نسل بصورت زیر داده شده است :
نتیجه ی بالا باینری معادل با جمعیت مسیرها به صورت زیر می باشد.
کروموزوم دومی به علت فرآیند جهش ،تاحدودی متفاوت است.بخشی از اعداد تکراری ،جداشده و نتیجه نهایی کوتاهترین مسیر منفرد{0-4-6-7-9-15}یا مسیر بهینه منفرد با طول 17.975 همگرا شده است.
این مسئله ،با سایر نقاط آغازین تست شده و نقاط نهایی و همگرایی آن،برای بدست آوردن مسیر بهینه در هر مورد ضمانت شده است.
الگوریتم ژنتیک ساده با طول ثابت کروموزوم،برای یک ربات متحرک به منظور دریافت کوتاهترین مسیر در محیط ایستای دو بعدی با M مانع ،شکل گرفته است.الگوریتم توسعه یافته از طرح کدگذاری موثر با رشته دودوئی دارای طول ثابت استفاده می نماید.طول کروموزوم بستگی به تعداد موانع ساکن دارد.هر کروموزوم دارای طول ثابت (m+2)ژن است.این الگووریتم نیازمند توان محاسباتی کمتر از سایر الگوریتمهای اخیرا توسعه یافته است.در محیط های دینامیک لازم است طول کروموزوم متغیر در نظر گرفته شود.
بررسی بیشتر
چنانچه در بخش 1 اشاره گردید نسخه های زیادی از مسأله طراحی مسیر وجود دارد .در این بخش با عنوان بررسی بیشتر ،هدف بررسی اجمالی یک نمونه مطالعه موردی در بهینه سازی حرکت بازوی روبات و نیز مروری بر روشهای قبلی اعمال شده می باشد. دسته بندی دقیقی از این مسائل و روشهایی برای حل آنها را می توان در بررسی انجام شده توسط Hwang وAhuja در سال 1992 پیدا کرد. برای روشن شدن بحث، مورد ویژه ای را بررسی می نمائیم . یک بازوی ربات در طول مجموعه از موانع قرار گرفت . موقعیت های ابتدایی و انتهایی بازوی ربات داده شدند و مسأله پیداکردن مجموعه حرکاتی است که روبات را راهنمایی می کند تا بین دو موقعیت بدون برخورد با موانع حرکت کند.
برای حرکت دادن روبات از بین موانع ، روشهای قبلی (Brooks 1983) مستقیماً بکار رفتند تا مدلهای 3D CAD برای روبات و موانع برای یافتن راه حلی بکار آیند،
یعنی «فضای سه بعدی اختیاری» مدنظر آنها بود . در این فضا مسأله طراحی مسیر شامل یافتن حرکاتی از ساختار مجتمع سه بعدی روبات در فضایی درهم ریخته 3 بعدی می باشند.
پیشرفت اساسی ، بیان مسأله در فضای شناخته شده دیگر به صورت فضای پیکربندی شده بود که توسط Lozano perez بیان گردید. در این فضا موقعیت(پیکربندی) روبات کاملاً توسط نقطه ای منفرد که دارای n پارامتر مستقل به صورت هماهنگ است مشخص شده بود . موقعیت هایی که از لحاظ فیزیکی غیرقانونی اند (به دلیل تصادفها) توسط نواحی خاصی بیان و نامیده می شوند. درفضای پیکربندی شده ، مسأله طراحی مسیر ، شامل یافتن یک منحنی پیوسته است (بیان ونمایش مسیر برای یک نقطه منفرد هندسی) است که:
نقاط بیان کننده پیکربندی اولیه ونهایی روبات را به هم وصل می کند
(ii)یکدیگر را قطع نمی کنند
این روش سبب تسهیل مسأله طراحی مسیر می گردد (یک مسیر را برای یک نقطه تنها جستجو می کند ) در مقابل جستجوی یک فضای چند بعدی (ابعاد به تعداد DOF روبات است) و در برابر شکلهای پیچیده تر موانع(موانع فیزیکی خیلی ساده ممکن است در نتیجه خیلی پیچیده و مجتمع باشند ). به عنوان مثال ، اجازه دهید بازوی طراحی شکل 1 را در نظر بگیریم . موقعیتش در طول موانع ، یکبار که مقادیر زاویه های بین اتصالاتش شناخته شوند، کاملاً مشخص می شود. بنابراین ، برای هر زوج ، امکان دارد که تصمیم گرفت که کجا روبات با موانع محیطی برخورد کند . این چیزی است که ما در شکل 2 ، برای نمایش نقشه بین موانع فیزیکی در فضای کاری انجام دادیم .
اکنون با حرکت یک نقطه در طول پیوستگی منحنی برای بازوی طراحی بین نقاط مربوطه و در فضای اختیاری یک حرکت آزاد از برخورد تعریف خواهد شد . این منحنی یک راه حل برای مسأله ی طراحی این مسیر خاص می باشد.
روش جدیدی در این زمینه ، به «فضای مسیر گلوله» توجه دارد که در آن تمام مسیر به عنوان یک نقطه ی تنها نمایش داده می شود . عامل هماهنگ کردن این نقطه ، مقادیر پارامترهایی است که حرکات موفق روبات را تعریف می کند.
برای نمونه ، فهرست فرمانهای موفق ارسال شده به کنترل کننده ی روبات ، عمیقاً مسیر ورودی روبات را کشف می کند. در این فضا، مسأله طراحی مسیر ، به جستجو برای یک نقطه تنها ، کاسته می شود . یکبار دیگر ما ، ساده سازی مسأله طراحی مسیر را (جستجو برای یک نقطه ) در برابر جستجوی فضای چند بعدی (ابعاد فضای مسیر گلوله ، به تعداد پارامترهای مورد نیاز برای ساده سازی کامل تمام مسیر است)عوض کردیم.
برای مثال ، در شکل 2 ، مسیر مابین ، میتواند توسط نقطه ای در یک فضای هفت بعدی ساده شده که از توجه به طول هفت قطعه بدست آمده نمایش داده می شود.
شکل1: یک بازوی DOF که در طول موانع در یک فضای کاری قرار دارد.
شکل: ساختار فضایی مربوط به شکل 1. توجه کنید.
(2) به دو ناحیه تقسیم شده است و نمی تواند با یک مسیر پیوسته متصل شده باشد.
(3) در اینجا مانعی وجود ندارد، چرا که مزاحمتی برای بازو ندارد.
روش های کلی :
روش های کلی تر به دو کلاس اصلی تقسیم می شوند:
روشهای قبض و جمع شدن
روشهای بسط و تجزیه
در روشهای قبض ، سعی می شود ابعاد مسأله آغازین را با ایجاد پیوستگی مجدد روی زیر مجموعه های متعدد فضای شکل گرفته ، کاهش داد. در روشهای تجزیه سعی می شود نواحی فضای ساخته شده را که رها از موانع اند تشخیص دهند و بشناسند. در نهایت هر دو روش با یک گراف کلاسیک که بیش تر از جستجوی یک فضای نظری است تمام می شوند. در اصل این روشها کاملند، چرا که اگر یک مسیر موجود باشد ، مسیر را خواهند یافت و اگر مسیری موجود نباشد در یک زمان محدود تمام می شوند .متأسفانه قبض مجدد یا گراف تجزیه یک مسأله کاملاً NP می باشد: همچنانکه تعداد DOF افزایش می یابد ، پیچیدگی این وظیفه هم بصورت نهایی (Exponentially) رشد می کند.
درنتیجه ، این طراحها فقط برای رباتهایی به کار می روند که تعداد محدودی DOF (3 یا 4) داشته باشند. علاوه بر آن، آنها آهسته اند و فقط می توانند بصورت Offline بکار روند. طراح مدلی از محیط اطراف را به کمک می طلبد . طرحی را ایجاد می کند که به کنترل کنندۀ ربات می رود و در واقع آن را اجرا می کند. معمولاً زمان مورد نیاز برای رسیدن به این هدف به اندازه کافی کوتاه نیست تا اجازه دهد که ربات در یک محیط دینامیک حرکت کند.
طراحی مسیر با طراحهای محلی:
یک راه برای مبارزه با مسئله ، جابجایی کامل شدن در برابر اجرا شدن می باشد . برای انجام این عمل، طراحهای محلی توسط شیب یک تابع هزینه (معمولاً فاصلۀ Euclidean به هدف) راهنمایی می شود و شروع به شمارش فشارهایی می کنند که موانع را معرفی می نماید تا از آنها پرهیز کند.
از آنجا که مسئله طراحی مسیر NP کامل می باشد با اطلاع از تابع هزینه، معمولاً طراحی یک محیط فریبنده امکان پذیر می گردد که در آن روش در یک حداقل محلی گیر خواهد افتاد. به هر حال این روشها ، کاربردهای صنعتی زیادی دارند ، چرا که می توانند توسط رباتهای مجتمع و مدلهای محیطی که دارای هزاران صورت هستند به کار گرفته شود، که اغلب زمان زیادی برای روشهای کلی صرف می کند.
طراحی مسیر با تکنیک های تصادفی و نشانه های رمزی:
تماس و دسترسی رندوم یا تصادفی ، اولین بار توسط Latombe & Barraquand معرفی شد و بعداً توسط Overmars و اخیراً توسط Kavyaki به کار رفته است . ایدۀ اصلی در پشت این الگوریتم ها ساخت گرافیکی در فضای شکل گرفته می باشد. گراف به صورت افزایشی به صورت زیر، بدست می آید:
یک طرح محلی به کار گرفته می شود و سعی می کند به هدف برسد. حرکت باید در یک حداقل محلی متوقف شود و یک نود جدید(Node) یا نشانه های مرزی با تولید یک حرکت رندوم که از آن حداقل محلی شروع می شود ، ایجاد می گردد. روش، این دو مرحله را تا تشکیل هدفی که از یکی از این موقعیت های واسطه به آن رسیده است با یک حرکت شیب نزولی تکرار می کند. این الگوریتم ها ، با یک نمایش دلخواه و محتاطانه از فضای تشکیل یافته کار می کنند. این ها به عنوان نمونه های احتمالی کامل شناخته می شوند ، چرا که احتمال دارد با یک راه حل به پایان برسند (یک مسیر یافته شود یا مسیری موجود نباشد) ودر یک نقطه به هم می رسند بصورتی که زمان مجاز به سمت بی نهایت افزایش می یابد.
روشهای دیگری هم طراحی شده اند که نشانه های مرزی استفاده می کنند برای مثال ، Sandros که توسط Hwang و Chen معرفی شده است که از نشانه های مرزی استفاده می کنند تا فضای آزاد را تقریبی نماید. این روش مشابه «طراحی سلسله مراتبی » است که در AI به کار رفته است :
روش باید در رسیدن به یک هدف دچار خطا شود و هدفهای جزئی تر تولید شوند تا زمانیکه مسئله برای حل شدن کاملاً آسان شود . در سایر روش های آنها ، ابتدا یک طراح محلی به کار می رود تا به موقعیت نهایی برسد . طراح محلی باید خطلا کند تا فضای شکل گرفته به دو زیر فضا تقسیم شود ، که یکی از آنها حاوی هدف و دیگری شامل هدف جزئی تر است . لذا مسئله به دو مسئله کوچکتر تقسیم می شود :
از موقعیت آغازین به هدف جزئی تر می رود.
از هدف جزئی تر به موقعیت نهایی می رود .
Sandros نشان داده است که برای یافتن مسیر به طرز استادانه به خوبی سازگار شده است این روش برای مسیرهای طراحی شده برای ربات های Puma و Adept تکمیل و تست شده است
طراحی مسیر در فضای مسیر گلوله:
روشهای قبلی اساساً بر اساس فضای شکل گرفته استوار بودند ، قبض یا جمع شدن ، تجزیه یا بسط ، یا بهینه سازی در این فضا ساخته می شود . روش دیگر توجه به «فضای مسیر گلوله » می باشد. به عنوان مثال ، Ferbach در روش خود VDP ، با توجه به موضوع خط راستی که در شکل آغازین و نهایی را پیوند می دهد شروع کرد. این مسیر بصورت تصاعدی تغییر می کند بطوریکه ، نواحی ممنوع برای عبور کاهش می یابد.
در هر تکرار، یک زیر مجموعه چند برابری که شامل مسیر صحیح است ، به صورت رندوم تولید میشود. سپس با استفاده از یک روش برنامه ریزی دینامیک، تجدید نظر و جستجو می گذرد که از طول ناحیه ممنوعه به عنوان تابع هزینه برای دستیابی به حداقل استفاده میکند. نتایج جستجو در مسیر گلوله ای جدیدی که با نواحی ممنوعه برخورد میکند از مسیر گلوله ای اصلی کوچکتر است، فرایند تکرار می شود تا یک مسیر گلوله ای مناسب پیدا شود.
همانطوریکه در بخش قبل دیدیم ، همچنین ممکن است محیط های ساده ای را طراحی کرد که این نوع از الگوریتم ها آهسته تر از یک روش رندم خالص می سازد . طرز کار Michalewicz and و Xiao و Lin مشابه این روش است . همانطور که در نسخه قبلی الگوریتم اشاره شد، الگوریتم های ژنتیک برای بهینه سازی از فضای مسیر گلوله به کار می رود.
مسیرهای گلوله ای با استفاده از هماهنگ های نقطه های واسطه پارامتربندی می شود . یک الگوریتم تکاملی برای بهینه سازی تابع هزینه بکار می رود که بر اساس طول مسیر گلوله و عرض نواحی ممنوعه قرار دارد . اپراتورهای استاندارد الگوریتم های ژنتیک تغییر یافته اند و بعداً برای ایجاد متغیر های بزرگ مسیرها توسعه یافته اند. تعداد نقاط واسطه ثابت شده است و با استفاده از یک روش ذهنی و غیر مستدل انتخاب می شوند . این تعداد داده شده ، ممانعتی برای طراحی یک مسئله ایجاد نمی کنند که برای حل شدن نیاز به نقاط واسطه بیشتری خواهد داشت و الگوریتم را به خطامی کشاند و قتی که یک راه حل وجود دارد....
پروژه جامع و کامل رباتیک به صورت اختصاصی از پایان نامه فوریو به مدت محدودی با قیمت فقط 4،500 تومان