بخشی از مقاله
عملکرد سیستم رباتهای گروهی در محیطهای ناشناخته و پر مخاطره با ساختاری نوین
چکیده - رباتهای گروهی امروزه کاربردهای بسیار پیدا کرده اند. از جمله ردیابی محیطهای فاصله محور حمل بار های دسته جمعی و کمک به جستجو و ارائه اطلاعات ... . آنها قابلیت اجرای فعالیتهایی که ممکن است ماورای توانایی رباتهای فردی باشند را فراهم میکنند. کاربردهای این رباتها در شرایط و مکان های حساس، نیازمند این است که اطمینان لازم جهت اینکه سیستم تنظیم شده، بسیار قابل اطمینان است، حاصل نماییم. در این مقاله ما یک سیستم گروهی از رباتهای مستقل را برای ایجاد عملکرد سیستمهای رباتی مستقل بسیار پایدار در محیط های ناشناخته بررسی میکنیم. این ساختار دارای ویژگیهای مهمی می باشد که برای دستیابی به سیستمهای گروهی پایدار عمل کننده در محیط های ناشناخته و پر مخاطره به منظور انجام ماموریت خاص آنها لازم و ضروری هستند.
کلید واژه- رباتهای گروهی ، پایداری، نقطه کنترل ،IC-PJ ، محیطهای ناشناخته.
-1 مقدمه
وقتی گروهی از رباتها در یک محیط ناشناخته برای انجام یک مأموریت به کار گرفته میشوند مسائل زیادی وجود دارد که سیستم را تحت تاثیر قرار میدهند، از جمله نقص ناگهانی ربات، مسائل ارتباطی که به وسیله خود رباتها و یا چندین عامل دیگر به وجود میآیند (شبکه پیام دهی متغیر، کثیف بودن دوربینها ... )، از بین رفتن اطلاعات بدلیل ناقص شدن سختافزار یا نرمافزار ربات و ... . به دلیل عدم شناخت روی محیط، روشهای مبنی بر طرحریزی قبلی [1] و [2] مؤثر نخواهند بود، زیرا آنها قابلیت اجرای عملکردهای ایجاد شده بطور دینامیکی را در طول فرآیند جستجو را ندارند. بواسطه محیط مخاطرهای، هماهنگی ربات و ارتباط آن میتواند بسیار چالشآور باشد. روشهای مبنی بر [3]Stigmergy به ردیابی و علامتگذاری در محیط نیاز دارند در محیطهای مخاطرهای ناشناخته مثل سطح دریا، دیگر سیارهها و ... دستیابی به آن میتواند مشکل باشد. روشهای مبنی بر مزایده و عرضه پیشنهاد [5] [4] [3] بدلیل مطالبه زیاد در ارتباط مشکل هستند. همچنین رباتهایی که مزایده را برنده میشوند ممکن است در فرآیند بد عمل کرده و شکست بخورند و دچار نقصان بزرگی شوند و به منابع اطلاعاتی بیشتر و سریعتری برای جبران خسارت نیاز داشته باشند. بطور بالقوه ایجاد ارتباط از طریق پیام [7] [6] ممکن است امکانپذیر نباشد و ممکن است باعث ایجاد مسائل زیادی شود .[8] روش مبنی بر نقطه تجمع [9] [7] [8] (Rally point) نیازمند این است که رباتها در یک مکان از قبل طراحی شده تجمع کنند و با هم ارتباط برقرار کنند. این یک مفهوم اشتقاق یافته از قرارداد بکار رفته در سیستمهای نجات انسان براساس روابط محدود میباشد. نقطه تجمع مخصوصاً نقطه تجمع ثابت مطمئن اما غیر موثر است.
روشهای بحث شده در قسمت بالا میتوانند تعدادی از مسائل مربوط به سیستمهای گروهی را مورد خطاب قرار دهند، اما آنها چالشهای سیستمهای گروهی را در محیطهای ناشناخته را مورد بررسی قرار نمیدهند. چندین اقدام کاری معدود برای ایجاد ساختارهای مختلف برای سیستمهایی از رباتهای گروهی شکل گرفته است. در [1] یک ساختار ALLIANCE پیشنهاد میشود. اما این یک ساختار از پیش طراحی شده است و برای محیطهای ناشناخته مناسب نیست. همچنین کار روی سیستم-های رباتی ارادی بهجای گروهی از رباتها تأکید دارد. در[4] یک راه حل ساختاری برای سیستمهای تجمعی رباتها پیشنهاد کردند. اگرچه آنها از الگوریتمهای مزایدهای و پیشنهادی برای تخصیص وظایف پویا استفاده میکنند و در صورتیکه ارتباط ثابت نباشد سیستم ممکن است شکست بخورد.
در یک ساختار جامعتر مسائل دیگری نیز مورد نیاز است از جمله هماهنگی بعد از تخصیص کار، حفظ دادهها و ... . اما در کارهای دیگر مورد توجه قرار نمیگیرند. در [8] یک راه حل ساختار مانند پیشنهاد گردید که تا حدی مسائل مربوط به هماهنگی ربات را بر اساس شرایطی با ارتباط محدود را با استفاده از علائم مرئی به عنوان ارتباط جایگزین مورد خطاب قرار میدهند. اگرچه استفاده از علائم مرئی برای زمانهایی که به عنوان نمونه بارش باران و یا طوفانهای ماسهای و یا خاک یا دود وجود داشته باشد، یک گزینه عملی نمی باشد. گذشته از این مدل آنها سیستم ساختاری را مدنظر دارد که بطور کلی به هماهنگی بیشتر از رباتهای طرحریزی سطح بالا نسبت به رباتهای سطح پایینتر نیاز دارد همچنین موفق نشدن رباتهای راهنما میتواند باعث ایجاد مشکلات بیشتری از نظر هماهنگی برای بازیافت و تعیین مکان یک ربات راهنمای جدید شود.
ما سعی داریم برای سیستمهای گروهی عمل کننده در یک محیط ناشناخته، ساختاری را طراحی کنیم. به نظر ما رباتهای تنظیم شده نه تنها محدود شدهاند و هیچ آگاهی قبلی در مورد محیط و وظایف موجود (گذشته از یک مأموریت کلی) را ندارد بلکه همچنین مجبورند براساس شرایط محیطی سخت که در آن شبکه پیامدهی و ارتباط جایگزین (مثل علائم مرئی و (Stigmergy که ممکن است بسیار محدود و یا غیرقابل دسترس باشند عمل کنند. ربات ها همچنین در معرض خطر از دست دادن اطلاعات مربوط به تعدادی از فاکتورهای خارجی در محیط و یا نقصهای بیشماری مربوط به خود ربات باشند. طرح ساختاری ما روی هماهنگی ربات براساس چنین محیطهایی تأکید دارد. تا جایی که ما میدانیم ساختارهایی وجود ندارند که برای ایجاد هماهنگی ربات براساس چنین محیطهایی طراحی شده باشند. از بین قوانین مهم تعیین شده براساس ساختار ما، یک الگوریتم تشکیل گروه پویای غیرمتمرکز برای محیطهای که میتوانند دارای نقصهای ارتباطی تقریبا کلی باشند را طراحی گردیده است. در تیم شکل گرفته براساس شرایط ،هیچ یک از رباتها بطور آشکار در مورد مکان و یا هدف ربات های دیگر خبر ندارند و این امر بعنوان هماهنگی غیرفعال شناخته میشود .[6] اگرچه به عنوان هماهنگی غیرفعال در نظر گرفته میشود، اما عمدتاً روی شیوهای برای محاسبه نقاط مورد علاقه (POI) تاکید دارد و نقص های ربات را مدنظر قرار نمیدهد. در پروتکل ما روش انتشار پیام و روشهای نقطه تجمع با هم ترکیب میشوند. این شیوه بسیار قابل قبول است و براساس شرایط، به انطباق و هماهنگی مؤثر و مطمئنتری دست پیدا میکند. ما همچنین طرحهایی در مورد مدت زمان تعیین شده برای اجرای کار و اتمام زمان مقرر برای افزایش قوانین و اطمینان از عملکردهای زمان واقعی را بدون داشتن مسائل مربوط به بنبست و یا توقیف را طراحی میکنیم. ما برای ارزیابی طراحی سیستم آزمایشاتی انجام دادهایم. ما انتشار پیام [6] [4] و روشهای نقطه تجمع [9] [8] [7] را براساس محیطهایی با محدودیت ارتباط ارزیابی کردیم. ما سناریویی را بوجود آوردیم که بیانگر این است که روش انتشار پیام نه تنها نمیتواند تشکیل سیستم را براساس میزان توقیف ارتباط اندک را بهبود بخشد بلکه سیستم ما را نیز کند میکند. ضمناً، روشهایی مثل نقطه تجمع ممکن است بعنوان یک میانگین منطقی برای محاسبه بهترین مسیر برای جستجوی مکانها و یک منطقه در نظر گرفته شوند. سناریوی ما نشان داد که اگر رباتها قبل از نقطه تجمع با استفاده از یافته های اولیه و انتشار پیام، مکانها را جستجو کنند و سپس در یک مکان برای محاسبه مسیر گرد هم آیند و تیمها را به مکانهای گم شده بفرستند و میتوانند جستحوی مکانی را در محدوده زمانی مناسبی کامل کنند.
ادامه مقاله بهترتیب زیر میباشد: در بخش 2 مدل سیستم و چالشهایی که باید هنگام عملکرد براساس محیطهای ناشناخته بر آنها غلبه کرد ارائه میشوند. در بخش 3 و 4 جزئیات مربوط به ساختار پایدار و الگوریتمهای انطباق ارائه میشود. جزئیات مربوط به ارزیابی تجربی در بخش 5 ارائه میشود. در آخر فصل 6 خلاصهای از مقاله ارائه میشود و چندین دستورالعمل برای تحقیقات آینده مشخص میشود.
-2 مدل سیستم و مقدمات
ما یک سیستم گروهـی از ربـاتهـا را شـامل مجموعـهای از رباتهای همسان مورد بررسـی قـرار مـیدهـیم. هـر ربـات سـه عملکرد عمده دارد: ایجاد ارتباط و مدیریت، فرآیند تصمیمگیـری و عمل. در شکل1 مراحل مختلفی نشان داده میشود کـه در آن هر گروه از رباتهای مکانی در طول مأموریت مـیتواننـد در هـر نقطهای قرار بگیرند. رباتها در گروه بعنوان شـرکت کننـدههـای یک گروه اتلاق میشوند. گروه در حاشیه مناطق جسـتجو نشـده برای اجرای یک مأموریت خاص مثل جستجوی قطار، پیدا کردن یک شیء گم شده، و ... قرار مـیگیرنـد. مأموریـت ممکـن اسـت شامل تعدادی وظایف از قبل تعیین شـده باشـد و گـروه ممکـن است برای هر وظیفه به چندین زیرگروه تقسیم شود.
شکل:1 حالات مختلف گروه ربات محلی
از آنجایی که ربات ها دارای اطلاعات قبلی در مورد منطقه نیستند هنگامی که موقعیتهای پیشبینی نشده اتفاق میافتد، بوسیله تعدادی از شرکت کنندهها وظایف جدیدی ممکن است پیشنهاد شود. بعنوان مثال، وقتی یک ربات با مانعی برخورد میکند که نمیتواند بر آن غلبه کند از رباتهای دیگر میخواهد با تشکیل تیم جهت غلبه بر این موقعیت وظایف جدیدی را اعمال کنند. در ضمن، یک ربات ممکن است پدیدههای جالبی را مشاهده کند و ممکن است به جمعآوری یک گروه برای انجام تحقیق نیاز داشته باشد. در این حالتها، گروهی از رباتها یک تیم را تشکیل میدهند و با یکدیگر برای انجام یک کار هماهنگی پیدا میکنند. ما گروه را یک واحد مکانی مینامیم. شرکت کنندهها میتوانند به یک واحد مکانی بپیوندند و یا آن را ترک کنند. منطقه مشارکت به زیر مناطق زیادی تقسیم میشود. رباتها در گروه بطورکلی به مناطق مختلف فرستاده میشوند و در یک واحد مکانی در یک منطقه، روی یک عمل کار میکند. در یک مکان خاص در منطقه، مثل یک مانع یا نقطه مشارکت یک مکان نامیده میشود. در شکل2 روابط بین واحدهای مکانی و مناطق فرعی شرح داده میشوند که میتوانند براساس عملکرد یکی به چند تا یا چند تا به چند تا باشد.
شکل:2 چارجوب مدل ارتباطی رباتها
منطقهای که رباتها در آن کار میکنند ممکن است چندین شرایط آب و هوایی داشته باشد و میتوانند سبب ناتوانی رباتها جهت برقراری ارتباط مناسب شود مثل رباتهایی که ممکن است نتوانند بطور همزمان ارتباط دوطرفه داشته باشند و یا دوربینهای روی صفحه ربات ممکن است نتوانند تصاویر مجزا بگیرند. غیر از رباتهایی که بسیار به هم نزدیک (وابسته) هستند رباتهای دیگر ممکن است نتوانند موقعیت یکدیگر و کاری که انجام میدهند را شناسایی کنند. مدل اخیر ما تنها رباتهای همسان را برای افزونگی های ذاتی و ویژگیهای تحمل پذیری خطا مدنظر دارد. این باعث میشود که مدل ساده باشد و حفظ و نگهداری آن آسان باشد. زیرا باعث کم کردن زمان میشود و یک نوع ربات مختلف را برای جایگزین کردن یک ربات آسیبدیده را علامتگذاری میکند و در مأموریتهایی که از لحاظ زمانی حساس است بسیار اهمیت دارد. اگر در یک مأموریت به رباتهای غیر همجنس نیاز باشد مجری میتواند یک ساختار طبقاتی را بوجود بیاورد که آن مدل در سطح پایینتر قرار میگیرد و لایه همجنس در سطح بالاتر و یا یک ساختار ماژولار را بوجود بیاورد.
-3 ساختار پایدار
ساختار پایدار مطابق با عملکرد گـروه طراحـی شـده اسـت. هماهنگی توزیع میشود و رباتهـا تصـمیمات جداگانـهای بـرای خودشان میگیرند.
رباتها هنگامی که در گروه قرار میگیرند با هم حرکت میکنند تا وقتی که مقصد متفاوت آنها را از هم جدا کند. ربات ها توافق میکنند که در یک مکان یا منطقه به هم برسند و بطور کلی این مکان توافق مکانی است که ربات ها با تقسیم قبلی از آن گذر کردهاند. ما چنین مکان ملاقات تنظیم شدهای را یک نقطه کنترل مینامیم. ساختار شامل یک قاعده نقطه کنترل است که به رباتها اجازه میدهد اطلاعات را مبادله کنند و از دادههای خود محافظت کرده و نقصها را تصحیح کنند، وظایف را تخصیص دهند و اقدام جدید را محاسبه کنند. همانطوریکه در بخش 2 گفته شد وظایف جدیدی ممکن است بوسیله تعدادی از رباتها در طول مکاشفه و اجرای وظیفه صادر شود. به یک ساختار تشکیل تیم برای جمعآوری رباتهای دیگر برای ایجاد یک واحد مکانی و هماهنگی برای یک وظیفه نیاز است. ساختار همچنین شامل یک قاعده انتشار پیام است که در صورت نیاز به انتقال پیام کمک میکند. در بخشهای بعدی این قاعده مورد بحث قرار میگیرد.
-1-3 قاعده تشکیل تیم
در این قاعده یک ربات ممکن است نیاز به اجرای یک وظیفه جدید را تشخیص دهد و براساس آن درخواست تشکیل تیم را صدور کند. این ربات برای این قاعده ربات راهنما میباشد. در خواست تشکیل تیم باید شامل وظیفه مورد نظر، مکان وظیفه زمان مورد نظر برای تکمیل وظیفه و زمان پایان باشد . رباتهای دیگری که سعی میکنند در انجام وظیفه کمک کنند باید به آن مکان خاص بروند. همه رباتهایی که در پاسخ به درخواست تشکیل تیم به یک مکان میرسند رباتهای کمک کننده نامیده میشوند و با ربات راهنما یک واحد مکانی نامیده میشوند. براساس اینکه چند ربات به آن مکان میرسند هر واحد مکانی میتواند از لحاظ مکانی برای اجرای وظیفه طرحریزی کند. برای جلوگیری از منتظر شدن ربات راهنما برای تشکیل تیم یک زمان پایان در درخواست تشکیل تیم تعیین شود. وقتی زمان پایان یابد، ربات راهنما کار را رها کرده و هدف خود را پیش میگیرد. طرحریزی برای انجام هر کار پس از شکلگیری تیم و براساس اندازه اندازه تیم شکل گرفته انجام میشود. این استراتژی باعث انعطافپذیری میشود. این همان پروتکل استفاده شده در تیمهای نجات برای انسان براساس شرایط نامطلوب می باشد.
-2-3 قاعده نقطه کنترل
یک نقطه کنترل، یک قرار ملاقات از پیش تعیین شده با زمان ثابت است و مکان توسط گروه پس از تقسیم شدن برای تجمع دوباره تنظیم میشود. همه نقطههای کنترل یک ساختار درختی را شکل میدهند که بعد از تقسیم شدن افزایش یافته و بعد از ارسال دوباره کاهش مییابد. هر چند دفعه که مورد نیاز باشد ساختار درختی بطور دینامیک افزایش و کاهش مییابد. در یک نقطه کنترل، رباتها اطلاعات جمعآوری شده در طول مرحله تقسیم را برای ایجاد دانش جمعی مربوط به وظایف خود را مبادله میکنند. بعد از آن، رباتها هرگونه نقص را برطرف میکنند و طرحهای اجرایی مختلف را محاسبه میکنند و برای انجام هر نوع عمل کامل نشده آن را ارزیابی میکنند و براساس اطلاعات جدید برای تعیین ویژگیهای کاری طرحریزی میکنند. خلاصهای از اطلاعات جمعآوری شده به همه اعضای گروه برای اطمینان از قابلیت ماندگاری گروه داده میشود. بخشهایی از اطلاعات دقیق بوسیله واحدهای مکانی که به آن نیاز دارند و نیز توسط برخی رباتها دیگر برای افزونگی، حفظ میشود.
-3-3 قاعده انتقال پیام
برای انتقال پیام قابل نگهداری هر ربات پیامهایی را به رباتهای دیگر انتقال میدهند. بعد از دریافت یک پیام، هر واحد مکانی تصمیم میگیرد که آن را بیشتر انتشار دهد. برای کاهش ترافیک ارتباطی، یک گروه تنها یک انتقال انجام میدهد. برای انجام توزیع یکی از اعضای تیم انتخاب میشود و عضوهای دیگر برای اطمینان از اینکه فرآیند انتشار بطور مناسب انجام شده است فرآیند را کنترل میکنند. برای درخواست تشکیل تیم اگر زمان درخواست به اتمام رسیده باشد پیام دیگر انتشار نمییابد.اما پیام درخواست کمک همیشه برای افزایش میزان موفقیت،همیشه انتشار مییابد. هر ربات یک پیام تازه دریافت شده را بررسی میکند تا مطمئن شود که آیا قبلاً آنرا انتشار داده است و اگر اینگونه باشد نمیتواند دیگر آن پیام را انتشار دهد مگر اینکه به یک مکان نسبتاً دور وابسته به موقعیت انتقال یافته باشد که در آن پیام قبلاً انتقال یافته باشد.
-4 الگوریتم اتصالی پایدار
ما یک الگوریتم تشکیل تیمی پایدار به اسم الگوریتم IC-PJ برای گروهی از رباتهای عمل کننده در محیطهای ناشناخته بـا شرایط مختلف را ارائه میکنیم. قاعـده IC-PJ یـک قاعـده زمـان محور است. پیامها شامل زمان اجرای مشخص هنگام پایان یافتن هستند. رباتی که باید یک وظیفه جدید را انجام دهـد یـک پیـام درخواست کمک صادر میکند. ربات دیگری که پیـام را دریافـت میکند برای کمک کردن پیام دیگری را انتقال میدهد. در مـورد دوم، ربات یک پیام اقدام برای کمک انتقال میدهد امـا هنـوز در سطح IC-PJ قرار ندارد. به این معنا که مـیتوانـد هـدف خـود را تغییر دهد. اگر ربات یک پیام تاییـد از ربـات درخواسـت کننـده دریافت کند سپس به سطح IC-PJ حرکت میکنـد در ابتـدا کـه ربات برای یک کار ارتباط برقرار میکند برای انجام وظیفه دیگـر کمک نمیکند و مسیر خود را برای رسیدن به ربـات درخواسـت کننــده در مکــان ملاقــات تعیــین شــده، در درخواســت طراحــی میکند. در IC-PJ این مرحله چندان طولانی نیست. بنابراین اگـر ربات پیـامهـای درخواسـت کمـک جدیـدی را دریافـت کنـد در حالیکه روی یک وظیفه دیگر کار میکند، میتواند مطـابق بـا آن طرحریزی کرده و پاسخ دهد. این حرکات و شرایط بین ربـاتهـا (که در دو نقش بدون وقفه خلاصه میشوند Lem را در پایان این بخش مشاهده کنید). الگـوریتم را قـادر مـیسـازند کـه در بـین رباتهای شرکت کننده بنبست و یا توقیف ایجاد نکند.
الگوریتم همچنین از یک مرحله زمانی توقیف (بنبست) برای جلوگیری از انتظار کشیدن غیرضروری توسط ربات درخواست کننده استفاده میکند. اگر ربات درخواست کننده یک پیام ارائه کمک را با یک زمان رسیدن تخمین زده شده را دریافت کند میتواند توقیف را زیاد کند. این مشخصه از زمان انتظار کشیدن طولانی برای درخواست کننده جلوگیری میکند و براساس اطلاعات گرفته شده امکان طرحریزی ارتجاعی را فراهم میکند. قانون-1 یک گروه از رباتها درصورتیکه پیام درخواست کمک دیگری را فرستاده باشد به پیام درخواست کمک دیگر پاسخ نمیدهند و با گروه دیگر در حال ارتباط میباشد.