توضيح بيشتر در مورد رباتهاي مينياب خودكار (autonomous)، الگوريتمهاي متداول براي جستجوي زمين مسابقه و ...
به نام خدا
با سلام خدمت دوستان عزيزم
در جلسهي قبل توضيحاتي در مورد رباتهاي مينياب خودكار داده شد و دوستان تا حد زيادي با اين ربات و نحوهي عملكرد آن آشنا شدند. در اين جلسه نيز در مورد رباتهاي مينياب خودكار، توضيحات جلسات پيش را تكميل خواهيم كرد و در مورد نحوهي ارايهي نقشهي مينها توضيح خواهيم داد، سپس الگوريتمهاي متداول در ساخت رباتهاي مينياب را مورد بررسي قرار خواهيم داد.
رباتهاي مينياب خودكار بايد به سيستمهايي مجهز باشند كه وقتي ميني را كشف ميكنند، بتوانند موقعيت(مختصات مكاني) آن مين را ثبت كنند، و در پايان زمان جستجو، مختصات تمام مينها را در اختيار كاربر بگذارند تا كاربر بتواند با در اختيار داشتن اين مختصات مكان مينها را به راحتي پيدا كند. همانطور كه در جلسهي پيش هم گفته شد، زمين مسابقه به مربعهاي 50×50 سانتيمتري فرضي تقسيم شده است و مينها دقيقاً در وسط بعضي از اين مربعهاي فرضي كاشته شدهاند. اعلام مختصات مينها نيز بايد بر اساس همين تقسيم بنديهاي فرضي انجام شود. مثلاً اگر زمين مسابقه 5×5 متر باشد، اين تقسيمبندي زمين مسابقه را به 100 خانه تقسيم ميكند كه در وسط بعضي از آنها (كمتر از 10 خانه) مين كاشته شده است. ربات بايد قادر باشد توسط 2 عدد بين 1 تا 10 مختصات هر مين را اعلام كند. به عنوان مثال به شكل زير نگاه كنيد، اين شكل مكان مينهايي كه در زمين مسابقه دفن شدهاند را نشان ميدهد.
ربات در پايان زمان مسابقه، بايد بتواند صورت خودكار مختصات خانههايي را كه در آنها مين دفن شده است را به طريقي به كاربر (داور مسابقه) اعلام كند: مثلاً اگر زمين مسابقه مانند شكل بالا باشد، ربات بايد 3 جفت عدد روبهرو را اعلام كند. (3،2) و (6،4) و (6،9).
بعضي از رباتها اين اعداد را توسط نمايشگرهاي كوچكي كه بر روي آن تعبيه شده است نشان ميدهند. اين نمايشگرها مشابه نمايشگرهاييست كه در ساخت ساعتهاي مچي ديجيتال استفاده ميشوند. كار با اين نمايشگرها را نيز در جلسات آينده توضيح خواهيم داد.
الگوريتمهاي جستجوي زمين براي كشف مين |
كار اصلي يك ربات مينياب اين است كه سنسور فلزياب را در تمام نقاط زمين حركت دهد و در هر كجا كه وجود فلز را احساس كرد، وجود مين فرضي را اعلام كند. اما 2 نكتهي بسيار مهم را در ساخت يك ربات مينياب بايد مد نظر قرار دهيم تا ربات عملكرد مطلوبي داشته باشد:
1- در جستجوي خود به دنبال مين كليهي نقاط زمين را پوشش دهد و هيچ نقطهاي از زمين نباشد كه سنسور فلز ياب از روي آن گذر نكرده باشد.
2- عمل بالا را در كمترين زمان ممكن انجام دهد. به عنوان مثال اگر ربات يكي از نواحي زمين را چندين بار بگردد، ممكن است زمان زيادي تلف شود، پس بايد الگوريتمي طراحي شود كه هر نقطه از زمين بيش از يك بار هم جستجو نشود.
اما پياده سازي اين 2 نكته كار سادهاي نيست و كمتر تيمي ميتواند اين 2 نكته را به دقت اجرا كند، الگوريتم سادهتري هم براي جستجوي زمين وجود دارد كه در اين راه نيازي نيست 2 نكتهي بالا رعايت شوند، اكثر تيمها هم براي هدايت رباتهاي خود در زمين مسابقه از الگوريتم «تصادفي» (Random) استفاده ميكنند. اما طبيعيست كه عدم رعايت دو نكتهي بالا در طراحي ربات، موجب كاهش دقت و سرعت ربات خواهد شد.
در اين روش، ربات زمين مسابقه را طبق هيچ الگوي خاصي جستجو نميكند، و زمانيكه به ديوارهها يا موانع برسد، فقط جهت خود را عوض ميكند و راه را ادامه ميدهد، هر زماني هم كه وجود مين را احساس كند، 5 ثانيه بر روي آن متوقف ميشود و مجدداً به راه خود ادامه ميدهد. در اين الگوريتم سازندگان ربات فقط 2 مشكل اساسي در پيش رو دارند:
1- چگونه وجود مانع يا ديواره را در جلوي خود تشخيص دهند.
2- چگونه وقتي مانع را در جلوي خود تشخيص دادند، جهت خود را به گونهاي تغيير دهند كه با مانع برخورد نكنند.براي تشخيص موانع و ديوارههاي اطراف زمين، بايد از سنسورهاي فاصلهياب استفاده نمود. توسط اين سنسورها ميتوان فاصله از مانعي كه در روبروي ربات قرار دارد را تشخيص داد. در نتيجه زماني كه اين فاصله كمتر از حد معيني شد ميتوان تشخيص داد كه ربات به مانع نزديك شده است و امكان برخورد با مانع وجود دارد. در مورد انواع سنسورهاي فاصله ياب و نحوهي كار با آنها هم در جلسات آينده توضيح خواهيم داد.
زماني كه ربات به مانع نزديك شد، براي جلوگيري از برخورد ربات با موانع و ديوارهها بايد ربات جهت حركت خود را تغيير دهد. سادهترين راه براي تغيير جهت اين است كه ربات مسير حركت خود را مثلاً 90 درجه تغيير دهد، يعني هرگاه مانعي را در جلوي خود احساس كرد، به اندازهي ربع دايره ربات به دور خود بچرخد و به مسير خود ادامه دهد.
اين الگوريتم پر كاربردترين الگوريتم براي جستجوي زمين مسابقه است، زيرا پيادهسازي آن پيچيدگي فني زيادي ندارد و به خاطر سادهتر بودن سيستم، احتمال بروز خطاهاي پيشبيني نشده در آن كمتر است.
در اين الگوريتم، زمين مسابقه توسط الگوي مشخصي جستجو ميشود كه به واسطهي آن، هيچ قسمتي از زمين جستجو نشده باقي نميماند و هيچ قسمتي هم چند بار جستجو نميشود.
سادهترين الگو براي جستجوي منظم زمين اين است كه ربات، زمين را به صورت رديف به رديف جستجو كند، شكل زير نماي كلي حركت ربات را توسط اين الگوريتم نشان ميدهد:
در شكل بالا، ربات حركت خود را از خانهي (1و1) شروع ميكند، و در خانهي (1و10) به پايان ميرساند. در اين روش اگر در زمين مسابقه مانعي وجود داشته باشد، كار كمي پيچيدهتر ميشود و ربات بايد قادر باشد زمانيكه مانع را احساس ميكند، به گونهاي از برخورد با مانع پيشگيري كند كه از مسير حركت خود نيز منحرف نشود. به شكل زير دقت كنيد:
در شكل بالا، مانع در خانهي شمارهي (6و4) قرار دارد. ايدهالترين مسير براي ردّ مانع در شكل بالا نشان داده شده است.
درجلسهي آينده، به ليگ رباتهاي مينياب غير اتوماتيك(دستي) و همچنين رقابت فني در اين ليگ خواهيم پرداخت.
جلسهي آينده دوشنبهي هفتهي آينده بر روي سايت قرار خواهد گرفت.
پيروز باشيد
دوست شما، فراز اميرغياثوند