انسانی غیرقابل پیش بینی حرکت کرده است. رباتهای امروزی میبایست در محیطهای ساختنیافته و پویا فعالیت کنند. رباتها به طور گسترده در منازل، ادارهها، بیمارستانها، امدادرسانی در نواحی خطرناک یا غیرقابل دسترس، یاریرسانی به افراد معلول، تولید و مونتاژ و بستهبندی، حمل و نقل، اکتشافات زمینی و فضایی، جنگ افزارها و تحقیقات آزمایشگاهی به کار میروند.
تعاریف اولیه در رباتیک
یک تعریف ساده از ربات می تواند این باشد: مکانیزمی که قادر به حس و درک محیط پیرامون و حرکت و واکنش باشد. در تعریفی دقیقتر و جزییتر میتوان ربات را مجموعه ای از زیر سامانههای ادوات حسگری، واحد تصمیم گیری، کنترل کننده، محرکها، بازوهای مکانیکی و منابع تغذیه دانست [۲]. برای ناوبری رباتهای متحرک ممکن است از حسگرهای مختلف استفاده شود که لزوماً از یک نوع نیستند. بعضی از حسگرها اطلاعات یکدیگر را تکمیل و برخی دیگر، اطلاعات یکدیگر را تصحیح مینمایند. ربات از حسگرهای با محرک خارجی مانند دوربین، حسگر فراصوت یا مادونقرمز برای مشاهده حالت محیط استفاده می کند؛ و از حسگرهایی با محرک داخلی مانند قطبنما یا رمزگذارمحور[۳] (بر روی چرخها) برای مشاهده موقعیت، سرعت و شتاب پیوندها و مفاصل مختلف خود بهره میگیرد. اطلاعات به دست آمده از حسگرها به منظور ترکیب و تفسیر به واحد تصمیم گیری ارسال میشوند، که مغز ربات تلقی می شود و مهمترین نقش را در برنامه ریزیهای ربات ایفا می کند. پس از تحلیل داده های حسگرها و اخذ تصمیم، فرمان مناسب به کنترل کننده ارسال می شود. وظیفهی کنترل کننده تولید سیگنالهای لازم جهت درایو محرکها میباشد. محرکها، سیگنالهای دریافتی از کنترل کننده را به حرکت تبدیل مینمایند. بازوهای مکانیکی مانند بازوهای رباتیک یا محور چرخها مجموعه ای از پیوندها هستند که توسط مفاصل به هم متصل شده اند و توانایی تاثیرگذاری در محیط را دارند (حرکت دادن یا گرفتن اجسام). منابع تغذیه سامانههای قدرتی میباشند که برای تولید و تنظیم انرژی مورد نیاز محرکها و درایورها به کار میروند.
چالشهای ناوبری خودمختار
به رغم پیشرفتهای قابل توجه در زمینه رباتیک خودمختار در سالهای اخیر هنوز تعدادی مسایل حل نشده باقی مانده است. اکثر مشکلات از طبیعت محیطهای ساختنیافتهی دنیای واقعی و عدم قطعیتهای وسیع ذاتی آنها سرچشمه میگیرند [۱]. اولاً دانش پیشین درباره محیط معمولاً ناقص، غیرقطعی و تقریبی است. برای مثال در نقشههایی که ربات از محیطش میسازد معمولاً برخی جزییات و مشخصههای موقتی حذف میشوند، روابط مکانی میان اشیا ممکن است از زمانیکه نقشه ساخته شده است تغییر کرده باشند و اطلاعات متریک شاید غیر دقیق و ناصحیح باشند. دوماً اطلاعات ادراکی به دست آمده معمولاً غیر قابل اطمینان هستند. گستره محدود، ترکیب شده با اثر مشخصههای مکانی (مانند انسداد) و شرایط نابسامان مشاهدات (مانند روشنایی ضعیف)، منجر به اطلاعات نویزی و غیر دقیق میشوند؛ و خطاهای موجود در فرایند تفسیر اندازه گیریها ممکن است منجر به باورهای ناصحیح شوند. سوماً محیطهای دنیای واقعی معمولاً دارای دینامیک پیچیده و غیر قابل پیش بینی میباشند: اشیا میتوانند حرکت کنند، سایر عوامل میتوانند محیط را تغییر دهند و مشخصههای نسبتاً پایدار ممکن است با زمان تغییر کنند (مانند تغییرات فصلی). نهایتاً اثر عملهای کنترلی کاملاً قابل اعتماد نیستند: چرخها ممکن است سر بخورند، و یک گیرنده ممکن است شیئ را رها کند.
از لحاظ لغوی عدم قطعیت مشخصهی اطلاعات نیست بلکه مشخصهی عامل است. یک عامل ممکن است در مورد وجود شیئ، مقدار یک مشخصه، صحت یک پیشفرض یا انجام عملی نامطمئن باشد. با این وجود بسیار معمول است که از اطلاعات غیرقطعی صحبت کنیم. رباتی را در نظر بگیرید که قصد دارد جعبه ای را بگیرد؛ این عمل نیازمند اطلاع از موقعیت جعبه با حد زیادی از دقت میباشد- چقدر “زیاد” به مکانیزم گیرندهی ربات بستگی دارد. مثالهایی از حالتهای ممکن اطلاعات غیرقطعی میتوانند به صورت زیر باشند:
“جعبه روی میز است": برای انجام عمل بسیار ضعیف است چون موقعیت یکتایی به دست نمیدهد.
“جعبه حدوداً در وسط میز است": مبهم است چون موقعیتی واضح بهدست نمیدهد.
“جعبه دیروز در مختصات (۱و۳) دیده شد": غیر قابل اطمینان است چون جعبه ممکن است دیگر آنجا نباشد.
همه این حالات می توانند غیرقطعی در نظر گرفته شوند چون عامل را در حالت عدم اطمینان از موقعیت واقعی جعبه قرار می دهند. توجه شود که غیرقطعی در نظر گرفتن یک اطلاع ممکن است به آن عمل مشخص بستگی داشته باشد مثل حالت (۱)، یا به منبع اطلاع مانند حالت (۳).
روشهای حل مسالهی ناوبری ربات
سه نگرش کلی برای هدایت ربات وجود دارد: الگوریتمهای سلسله مراتبی[۴] یا طرح مسیر سراسری[۵]، الگوریتمهای واکنشی[۶] یا مبتنی بر رفتار[۷] یا طرح مسیر محلی[۸] و الگوریتمهای ترکیبی[۹] [۳]. الگوریتمهای اولیه ناوبری ربات در محیطهایی کاملاً شناختهشده، که ربات اطلاعات کاملی در مورد موانع و شکل هندسی آنها در دست داشت، توسعه یافتند. لذا در این حالت، ربات در زمان غیر حقیقی تصمیمهای لازم را جهت رسیدن به هدف و برخورد نکردن با موانع اتخاذ کرده و سپس به سمت هدف حرکت می کند. در این الگوریتمها مطلوب، یافتن مسیری بهینه بین نقطه شروع اولیه و هدف در مرحله طراحی و سپس هدایت ربات در آن مسیر در مرحله اجرا میباشد. اینگونه روشهای طرح مسیر سراسری تا هدف تنها جهت تعیین مسیر به صورت غیرلحظهای مناسبند و برای پرهیز از مانع به صورت بلادرنگ، که یکی از موضوعات مهم در محیطهای پویا میباشد، کافی به نظر نمیرسند. اگر یک مانع متحرک ظاهر شود مسیر میبایست تغییر کند، یعنی دوباره محاسبه شود که ممکن است زمان زیادی نسبت به حرکت مانع بگیرد. بنابراین رفتار ربات به اندازه کافی واکنشی نیست. دنبال کردن مسیری از پیش محاسبه شده راهی مؤثر برای رساندن ربات به موقعیت هدف است اگر دو شرط برقرار باشند: فرضیات به کار رفته هنگام محاسبهی مسیر هنوز در زمان اجرا معتبر باشند (برای مثال محیط به طور صحیح مدل شده باشد و بعد از آن تغییر نکرده باشد)؛ ربات قادر باشد به طور قابل اطمینانی موقعیت خود را نسبت به مسیر به دست آورد. در این روشها محققین تلاش کرده اند با طراحی دقیق مکانیک و حسگرهای ربات یا مهندسی محیط و یا هردوی اینها بر بعضی از مشکلات ناوبری ربات غلبه کنند. مهندسی دقیق ربات و محیط هزینهها را افزایش میدهد، خودمختاری ربات را کاهش میدهد، و نمی تواند برای تمامی محیطها به کار رود.
هر الگوریتم برای کنترل یک سامانه نیازمند دانش یا مدلی از آن سامانه تحت کنترل میباشد. در مورد ربات این سامانه از خود ربات به علاوه محیطی که در آن فعالیت می کند تشکیل شده است. گرچه مدلی از خود ربات به طور معمول می تواند به دست آید، در مورد محیطهای ساختنیافته دنیای واقعی متأسفانه شرایط متفاوت است. همانطور که اشاره شد این محیطها با حضور فراگیر عدم قطعیتها توصیف میشوند. چالش اصلی رباتیک خودمختار امروز ساخت الگوریتمهای قدرتمند طراحی مسیر است که علیرغم عدم قطعیتها وظایف پیچیده را به طور قابل اطمینانی انجام دهند. یک استراتژی معمول برای کنار آمدن با این مقدار وسیع عدم قطعیت، رها کردن ایدهی مدل کردن کامل محیط در مرحلهی طراحی است، و اینکه به ربات این قابلیت داده شود که این مدل را خودش و به صورت برخط بسازد.
دستهی دوم الگوریتمهای ناوبری بر خلاف دستهی اول محیط را ناشناخته فرض کرده و واحد تصمیم گیری ربات را به گونه ای طراحی می کنند که بتواند در زمان حقیقی رفتار صحیح را تشخیص داده و ربات را به سمت هدف مورد نظر هدایت کند. به علت تفاوت مهمی که در دو نگرش فوق در مورد هدایت یک ربات وجود دارد، الگوریتمهایی که برای اجرای این دو نگرش پیاده سازی میشوند با دو نام مختلف شناخته شده و در مقالات به آنها اشاره می شود. در مورد دسته اول اصطلاح مسیریابی و در مورد دسته دوم اصطلاح ناویری استفاده می شود. در روش ناوبری مبتنی بر رفتار، رفتارهای پیچیده با ترکیب برخی اجزای رفتاری قابل حل و سادهتر مانند رفتارهای جستجوی هدف و دوری از موانع به دست می آید. در الگوریتمهای مبتنی بر رفتار مسیر به صورت محلی و نه سراسری طرح می شود. روش طرح مسیر محلی نیازمند هیچ مرحله پیش محاسبه سنگینی پیش از شروع جستجوی مسیر نیست. روشهای طرح مسیر محلی اطلاعات کنونی حسگر را به صورت بلادرنگ به دست میآورند تا ربات را از موانع محلی دور نگاه دارند. به دلیل آنکه الگوریتمهای محلی هیچگاه قسمت های مختلف مسیر را از پیش محاسبه نمیکنند.
با این حال الگوریتمهای طرح مسیر محلی یافتن مسیر بهینه را تضمین نمیکند. ممکن است موقعیتهایی پیش بیاید (کمینههای محلی) که الگوریتمهای طرح مسیر محلی در یافتن موقعیت هدف شکست بخورد. اگر تعداد موانع به طور محسوسی کم باشد، ممکن است ثابت شود که این روشها بهترین راه حل را ارائه می دهند. هر دو روش طرح مسیر سراسری و محلی میتوانند برای وظایف متعددی مناسب باشند و مزایا و معایب خاص خود را دارا هستند. اما به منظور تعیین مسیر در محیطهای پویا هیچکدام راه حلی کارآمد ارائه نمیدهند. دسته سوم الگوریتمهای ناوبری ربات، ترکیبی از روشهای طرح مسیر سراسری و مبتنی بر رفتار میباشند. در این روشها از ماژول طرح مسیر سراسری برای رسیدن به هدف و از ماژول مبتنی بر رفتار برای پاسخ به وقایع محیط، مانند دوری از موانع، بهره گرفته می شود.
اهداف و نتایج
در این پژوهش الگوریتمی ساده و کارآمد به منظور ناوبری ربات خودمختار از یک نقطه شروع معلوم به سمت هدفی مشخص در محیطی کاملاً ناشناخته و در حضور موانع ایستا ارائه شده است. الگوریتم پیشنهادی از مزایای ترکیب منطق فازی و یادگیری Q برای تامین نیازهای ناوبری خودمختار بهره میگیرد. دو رفتار سادهتر حرکت به سمت هدف و دوری از موانع در یک مجموعه قانون فازی پیادهسازی شدهاند. مهمترین ویژگی منطق فازی عملکرد کارآمد آن در مواجه با عدم قطعیتهای محیط است. ربات اطلاعات به دست آمده از جهان پیرامون را به مجموعه ای از حالتهای فازی خلاصه می کند. برای هر حالت فازی، تعدادی عمل پیشنهادی وجود دارند. حالتها توسط قوانین اگر-آنگاه فازی، که با منطق انسان طرح شده اند، به عملهای نظیرشان مربوط میشوند. برای هر حالت، ربات بهترین عمل را با یادگیری Q و از طریق تجربیات برخط انتخاب می کند. یادگیری Q با توجه به حالت فعلی و حافظهای از حالتهای پیشین ربات، خروجی هر قانون فازی را به نحوی انتخاب می کند که حتیالامکان ربات با تضمین دوری از موانع به سمت هدف حرکت نماید. مشخصه قابل توجه یادگیری Q عدم نیاز به مربی و مدل محیط، ساختار پویا و پیاده سازی آسان آن میباشد.
تمرکز اصلی این پایان نامه بر طراحی واحد تصمیم گیری ربات میباشد. ربات ساده و کوچک کپرا[۱۰] برای شبیهسازیها به کار رفته است، که میتوان از مدل نقطهای برای آن بهره گرفت. بدین ترتیب الگوریتم پیشنهادی به راحتی قابل انتقال به محیطهای دیگر و پیادهسازی بر سایر رباتها باشد. حسگرهای ربات کپرا از نوع مادونقرمز میباشند که خروجیهای دیجیتال آنها بدون نیاز به مرحله پیش پردازش به عنوان ورودیهای فازی مورد استفاده قرار میگیرند و بیانگر حالت قرارگیری ربات نسبت به موانع می باشند. خروجیهای قوانین فازی میزان سرعت انتقالی و زاویه چرخش چرخهای ربات میباشند. ربات کپرا به صورت دیفرانسیلی حرکت میکند.
روش پیشنهادی مستقل از مدل محیط و دانش پیشین از محیط میباشد. تنها منبع اطلاعات از محیط توسط حسگرهای مادونقرمز ربات به دست می آید. همچنین فرض می شود ربات مجهز به سامانه موقعیت یاب محلی است و در هر گام از موقعیت خود نسبت به هدف مطلع میباشد. فاصله تا هدف از روش محاسبه فاصله اقلیدسی با معلوم بودن مختصات ربات و هدف در هر گام به دست می آید. برای خروجی زاویه چرخش هر قانون فازی تعدادی گزینه پیشنهادی وجود دارد که به هرکدام یک مقدار q منتسب می شود. ربات در هر گام بهترین خروجی (دارای بیشترین مقدار q) را توسط یادگیری Q و از طریق تعاملات برخط با محیط انتخاب می کند. مقادیر q پس از دریافت سیگنال تشویق یا جریمه به روز میشوند. تنظیم برخط سامانه استنباط فازی[۱۱]، منجر به واحد تصمیم گیری انعطاف پذیری می شود که می تواند خود را با محیطهای مختلف و موانع متنوع تطبیق دهد.
در روش پیشنهادی، یادگیری Q بدون هیچ مرحله یادگیری یا اکتشافی به کار گرفته شده است. بدین معنی که هر بار اجرای الگوریتم با مقادیر q اولیه صفر آغاز می شود. یادگیری Q بدون مرحله اکتشافی (یادگیری قبل از آزمایش) به کار گرفته شدهاست. بدین معنی که مقادیر q در هر آزمایش بدون پیشفرض و از مقدار اولیه صفر شروع میشوند، لذا محیط یادگیری جهت مقداردهی اولیه به مقادیر q وجود ندارد. پارامترهای کلیدی مجموعه فازی و یادگیری Q، شامل پارامترهای توابع عضویت ورودی فازی و همچنین مقدار عامل فراموشی یادگیری Q، توسط بهینهسازی کلونی زنبور مصنوعی به صورت غیربرخط، پیش از قرار گرفتن ربات در محیطهای آزمایش، به دست آمدهاند. محیط بهینهسازی شامل موانعی است که انتظار میرود خود یا ترکیبی از آنها در محیطهای آزمایش دیده شوند.
برای آزمایش الگوریتم پیشنهادی ۶۰ محیط شبیهسازی دو بعدی به طور تصادفی ایجاد شدند. شکل، مساحت و مکان موانع، محل اولیه ربات و مختصات هدف در این محیطها به طور تصادفی انتخاب شدند. موانع تولید شده، گستره وسیعی از شکلهای هندسی منظم و نامنظم شامل چند ضلعیها، شکلهای محدب یا مقعر، زاویهدار یا با گوشههای محدب و غیره را در بردارند. این شکلها تقریبا تمامی انواع موانعی، که ربات ممکن است در محیط واقعی با آن مواجه شود، را شامل میشوند. محیطهای شبیهسازی از نظر نوع موانع موجود و مساحت اشغال شده توسط موانع به سه سطح ساده، معمولی و پیچیده تقسیم بندی شدند. عملکرد ربات با توجه به اندازه گیریهای کمی معیارهایی چون درصد موفقیت رسیدن به هدف (طی اجراهای مختلف الگوریتم پیشنهادی)، امنیت مسیر طی شده تا هدف (نسب تعداد برخوردها با موانع به کل گامهای طی شده) و سرعت مسیر طی شده تا هدف (تعداد گامهای طی شده نسبت به زمان سپری شده) سنجیده شد. به منظور معتبر بودن و تکرارپذیری نتایج، هر آزمایش ۱۰ بار تکرار شده است و نتیجه گزارش شده میانگین نتایج حاصل از این ۱۰ بار اجرا بوده است.
نتایج نشان دادند که الگوریتم تصمیم گیری پیشنهادی قادر است با موفقیت ربات را به سمت هدف هدایت کرده و از برخورد آن با موانع جلوگیری نماید. به منظور آشکار کردن نقش موثر یادگیری Q در افزایش کارایی الگوریتم پیشنهادی آزمایشهای مشابهای با مجموعه قوانین فازی مشابه بدون یادگیری Q تکرار شدند. مقایسه نتایج نشان داد تنظیم برخط قوانین فازی توسط یادگیری Q عملکرد آن را از نظر معیارهای عملکردی مطرح شده و انعطافپذیری در مواجه با انواع محیطهای ساده تا پیچیده، بهبود میبخشد.
ساختار پایان نامه
فصل های بعدی این پایان نامه شامل مطالب زیر هستند:
فصل دوم به مرور، دستهبندی و مقایسه کیفی برخی روشهای ناوبری ربات می پردازد. فصل سوم مبانی و ابزار لازم برای معرفی الگوریتم پیشنهادی شامل منطق فازی[۱۲]، یادگیری Q و الگوریتم بهینهسازی کلونی زنبور مصنوعی[۱۳] را توصیف می کند. فصل چهارم به توصیف ربات کپرا و توضیح الگوریتم پیشنهادی می پردازد. الگوریتم مطرح شده یک سامانه تصمیم گیری فازی ناوبری ربات است، که بدون دانش پیشین از محیط طراحی می شود و سپس به طور برخط توسط یادگیری Q و در مواجه با محیط تنظیم می شود. پارامترهای کلیدی مجموعه فازی و یادگیری Q، شامل پارامترهای توابع عضویت ورودی فازی و همچنین مقدار عامل فراموشی یادگیری Q، توسط بهینهسازی کلونی زنبور مصنوعی به صورت غیربرخط، پیش از قرار گرفتن ربات در محیطهای آزمایش، به دست آمدهاند. در نهایت فصل پنجم پس از توصیف نرمافزار شبیهسازی KiKS و محیطهای آزمایش، نتایج حاصل از شبیه سازیها را ارائه میدهد. سپس نتایج شبیهسازیها تحلیل میشوند و پیشنهادهایی برای ادامه کار مطرح میگردند.
فصل دوم
بررسی روش های پیشین
بررسی روشهای پیشین
مقدمه
از اوایل سال ۱۹۶۰، تعداد محققین روی مساله ناوبری رباتهای متحرک به تدریج افزایش یافتهاست. کاربردهای مختلف رباتهای متحرک منجر به ارائه راه حلهای متفاوتی برای حل مساله ناوبری آنها میشود. برای رباتهای هوشمند متحرک ضروری است که محیط را حس و درک کنند، مسیری را طراحی کنند، تصمیمی اتخاذ کنند و رفتار مناسب را با بهره گرفتن از این اطلاعات اجرا کنند [۴]. معماریهای مختلف ناوبری ربات تعریف میکنند که این تواناییها چگونه بایستی مجتمع شوند تا نتایج مطلوب به دست آیند. معماریهای مختلفی برای طرح و توسعهی ناوبری مقاوم، انعطاف پذیر، قابل اطمینان و با عملکرد عالی رباتهای متحرک پیشنهاد شده اند. بنابراین دستهبندی روشهای ناوبری ربات جهت مروری منسجمتر بر آنها، مفید به نظر میرسد. سه دستهی کلی این معماریها عبارتند از: سلسله مراتبی یا طرح مسیر سراسری، واکنشی یا مبتنی بر رفتار یا طرح مسیر محلی و ترکیبی.
معماری سلسله مراتبی
معماری سلسله مراتبی قدیمیترین طرح ناوبری ربات در هوش مصنوعی است. در این معماری [۵-۱۰] از مدل سراسری محیط که توسط داده ورودی کاربر یا حسگرها تهیه شده است برای تولید عملهای مناسب برای رساندن ربات به هدف بهره گرفته می شود. همانطور که در شکل(۲‑۱) نشان داده شده است، این معماری از چهار ماژول اصلی تشکیل شده است: حس کردن، مدل کردن، تصمیم گیری و عمل کردن. ابتدا ربات محیط اطراف را حس میکند و با بهره گرفتن از ترکیب اطلاعات حسگرها مدل سراسری محیط ایستا را ایجاد میکند، سپس ماژول تصمیم گیری را برای یافتن مسیر بهینه تا هدف را به کار میگیرد و مسیری جهت دنبال کردن برای ربات طرح میکند. در نهایت ربات عملهای مطلوب را تا رسیدن به هدف اجرا میکند. پس از یک عمل موفقیت آمیز، ربات متوقف میشود و اطلاعات خود را برای انجام حرکت بعدی به روز میکند. سپس این فرایند را تا رسیدن به هدف تکرار میکند [۱۱, ۱۲].
شکل(۲‑۱): معماری سلسله مراتبی جهت ناوبری ربات [۳]
معماری سلسله مراتبی زمانی به کار گرفته می شود که محیط برای ربات کاملاً شناخته شده و همچنین در حین حرکت ربات به سمت هدف بدون تغییر (ایستا) باشد. در این صورت میتوان مسیر بهینه را قبل از حرکت محاسبه کرد. روشهای متعددی برای این حالت از مسالهی ناوبری ربات ارائه شده اند مانند: نمودار ورونی، گراف دیداری، میدان پتانسیل، روش شبکه ای و تجزیه سلولی. همچنین روشهای مبتنی بر الگوریتمهای بهینهسازی نیز برای طرح مسیر بهینه مورد استفاده قرار میگیرند [۱۳]. به عنوان مثال داویدر[۱۴] [۱۴] الگوریتم ژنتیکی برای طرح مسیر بهینه ارائه داد. همچنین نیرچو[۱۵] [۱۵] از تعداد راسهای گراف دیداری برای ساختن الگوریتم ژنتیک استفاده کرد و توانست یک مسیر نزدیک به بهینه را برای این نوع مساله حل کند. در ذیل خلاصه ای از اساس کار سه نمونه از روشهای متداول ذکر شده در بالا توضیح داده میشوند:
روش گراف دیداری
این روش زمانی استفاده می شود که هندسه محیط برای ربات مشخص باشد. ایده اصلی این روش این است که اگر یک مسیر بدون برخورد بین دو نقطه وجود داشته باشد، آنگاه کوتاهترین مسیر بین این دو نقطه تنها در راسهای موانع شکسته می شود. گراف دیداری گرافی است که راسهای آن شامل نقطه آغاز، نقطه پایان و راسهای موانع هستند. یالهای گراف دیداری بین راسهایی وصل میشوند که نقاط متناظر آنها همدیگر را میبینند. با داشتن گراف دیداری می توان از روشهای موجود برای پیدا کردن کوتاهترین مسیر بین دو راس در یک گراف و در نتیجه کوتاهترین مسیر ربات استفاده کرد. از معایب این روش زمان اجرای بالای آن است هنگامی که موانع زیاد باشند گراف پیچیده می شود و الگوریتمهای مبتنی بر این روش کند عمل می کنند [۱۶].
روش تجزیه سلولی
در این روش محیط به صورت شطرنجی به مربعات (سلولها) تقسیم می شود، که معمولا هر سلول به صورت مربع ساده در نظر گرفته می شود. در این حالت هر مربع سه وضعیت دارد: فصای خالی، به طور کامل توسط مانع اشغال شدهاست یا قسمتی از فضای آن آزاد و قسمتی از آن توسط مانع اشغال شدهاست. یک سلول مرکب شامل فضای آزاد و موانع است و یک سلول پر فقط شامل مانع است. در این روش هدف، یافتن سلولهای آزادی است که نقطه اولیه را به نقطه هدف مرتبط کند. اگر سلولی دارای حالت ترکیبی باشد (شامل فضای آزاد و مانع) دوباره به سلولهای کوچکتر تجزیه می شود و سلولها برای پیدا کردن دنباله مسیر آزاد، از نقطه آغاز به هدف، جستجو میشوند [۱۷].
روش میدان پتانسیل
در این روش تابع پتانسیل فضای آزاد به صورت جمع پتانسیلهای جاذب، که ربات را به سمت موقعیت هدف میرانند، و پتانسیلهای دافع، که آن را از موانع دور می کنند، تعریف می شود. و در هر تکرار نیرویی مصنوعی که توسط تابع پتانسیل در موقعیت فعلی القا می شود به عنوان جهت مناسب حرکت در نظر گرفته می شود. از مزیتهای روش پتانسیل، قابلیت تعمیم آن در فضاهای با ابعاد بالاتر است، اما امکان افتادن در مینممهای محلی و مشکلات تعریف درست موانع از نواقص آن میباشد. امروزه از این روش در ترکیب روشهای دیگر استفاده می شود [۱۶].
رویکرد بالا به پایین در ماژول تصمیمگیری مشخصه مهم معماری سلسله مراتبی است که در آن محدودیتهای سطح بالا به فرامین سطح پایین شکسته میشوند. این معماری میتواند اهداف و محدودیتهای چندگانه را در یک محیط پیچیده جمع کند [۱۱]. با این وجود، در این روش ناوبری ربات، مدل دقیق محیط برای طرح مسیر سراسری کارآمد نیاز است. برای دنبال کردن مسیر طراحی شده بایستی ربات نقشهای از محیط تهیه کند و موقعیت خود را نسبت به محیط بداند. به دست آوردن نقشه از محیط و مکان یابی ربات مستلزم داشتن اطلاعات کامل و دقیق از محیط میباشد که همیشه در دسترس نیست یا به دست آوردن آن مشکل است. به علاوه برای انجام محاسبات لازم، قابلیتهای پردازش و حافظه قابل توجهای مورد نیاز است.همچنین، رویکرد بالا به پایین در تصمیم گیری تأخیر ایجاد میکند و اگر یکی از ماژولها به درستی کار نکند تمام سیستم مختل میشود. بنابراین، این رویکردها در حضور عدم قطعیت در دنیای پویای واقعی مناسب نیستند.
معماری مبتنی بر رفتار
معماری مبتنی بر رفتار توسط بروکس[۱۶] در سال ۱۹۸۶ [۱۸] مطرح شد تا مشکلات معماری سلسله مراتبی را در محیطهای پویا و ناشناخته حل کند. این رویکردها فرامین کنترلی را بر اساس اطلاعات حسگری فعلی تولید میکنند. برای عمل کردن، ربات مدل محلی محیط را بدون فرایند تصمیمگیری به کار میگیرد. بنابراین، نیار به ساخت مدل کامل و دقیق محیط نمیباشد. رویکرد پایین به بالا برای تصمیمگیری در معماری مبتنی بر رفتار استفاده میشود که در آن محدودیتهای سطح بالا در فرایند تولید عمل مجتمع میشوند. هدایت مبتنی بر رفتار پاسخی سریع در محیط پویا و ناشناخته دارد. شکل(۲‑۲) معماری کلی رویکردهای مبتنی بر رفتار را نمایش میدهد.
شکل(۲‑۲): معماری مبتنی بر رفتار جهت ناوبری ربات [۳]
در لایه اول، ربات اطلاعات حسگری را جمع می کند. سپس یک تابع انتقال که رفتار نامیده میشود درک مشخصی از ورودی حسگری دریافت میکند و آنها را به پاسخهای از پیش تعیین شده تبدیل می کند. در نهایت، ربات عملی را بر اساس خروجی رفتارهای فعال اجرا میکند. در واقع وظیفه پیچیده هدایت ربات به چندین وظیفه سطح پایین سادهتر و کوچکتر (رفتار) خرد میشود، این رویکرد عملکرد کلی سامانه ناوبری را بهبود میبخشد. دو معماری پایه مبتنی بر رفتار، شامل معماری رده بندی[۱۷] [۱۸] و الگوهای حرکتی[۱۸] [۱۹] میباشند.
معماری ردهبندی نخستین بار توسط بروکس در سال ۱۹۸۶ معرفی شد. سامانه مبتنی بر ردهبندی از چندین لایه رفتار تشکیل شده است که در آن هر رفتار میتواند اطلاعات حسگری را برای انجام عمل خواسته شده (دوری از موانع، تعقیب دیوار، جستجوی هدف و غیره) دریافت نماید. فرایند به انجام رساندن وظیفههای سادهتر، قابلیت پاسخگوبی سامانه ناوبری را در محیط پویا و ناشناخته افزایش میدهد و از پیچیدگی آن میکاهد. در معماری رده بندی، ماژول تصمیمگیری از معماری حذف میشود و تمرکز منحصراً روی ماژولهای حسکردن و عمل کردن میباشد. برخلاف معماری سلسله مراتبی، رفتارها کوپلاژ مستقیمی میان ورودیهای حسگری و عملهای ربات ایجاد میکنند. همانطور که شکل(۲‑۳) نشان میدهد، در معماری ردهبندی، رفتارها لایهبندی میشوند. هر رفتار، اطلاعات حسگری مشخصی را دریافت می کند. تلفیق لایههای رفتارها منجر به انتخاب مبتنی بر اولویت میشود. انتخاب مبتنی بر اولویت، فرایند تصمیمگیری در این مورد است که کدام رفتار پیروز شود وقتی چندین رفتار متضاد باهم فعال میشوند [۲۰]. بنابراین، ماژول رفتاری با بالاترین درجه فعالیت[۱۹]، خروجی کلی را تعیین میکند.
شکل(۲‑۳): معماری ردهبندی جهت ناوبری ربات [۳]
معماری مبتنی بر رفتار دیگر که توسط آرکین[۲۰] در سال ۱۹۹۸پیشنهاد شد، معماری الگوهای حرکتی میباشد (شکل(۲‑۴)). تئوری الگوهای حرکتی، رفتارهای حرکتی را از نظر کنترل همزمان فعالیتهای مختلف بسیار توصیف میکند. هر رفتار میتوند خروجیای در فرم یک بردار تولید کند. این خروجیها ترکیب میشوند و سپس پاسخ نهایی سامانه با جمع برداری بهدست میآید. برای مثال یک میدان پتانسیل میتواند بهعنوان خروجی هر الگو تعریف شود. حرکت نهایی برداری است که حاصل از انطباق تمام میدانها است. معماری ردهبندی به انتخاب رقابتی رفتارها اختصاص دارد، حال آنکه معماری الگوهای حرکتی بر اساس تلفیق تعاونی رفتارها استوار میباشد. معماری الگوهای حرکتی قابلیت استفاده همزمان از خروجی های بیش از یک رفتار را با در نظر گرفتن اثر آنها روی خروجی نهایی فراهم می آورد [۴].
شکل(۲‑۴): معماری الگوهای حرکتی جهت ناوبری ربات [۳]
مزایای کلی معماری مبتنی بر رفتار عبارتند از:
قابلیت ساخت سامانه ناوبری ربات با روند افزایشی به صورت لایه روی لایه
عکس العمل سریع به محیط پویا و ناشناخته