پرش به محتوای اصلی

لیگ میکروماوس (Micromouse)؛ ربات کوچکی که هزارتو را حل می‌کند

میکروماوس یکی از قدیمی‌ترین مسابقات رباتیک جهان است و هنوز هم یکی از خالص‌ترین‌ها. قانونش زیباست: یک هزارتوی مربعی، یک ربات کوچک، و یک هدف در مرکز. ربات باید خودش هزارتو را کشف کند و سپس سریع‌ترین مسیر را طی کند.

دو مرحلهٔ مسابقه

مرحلهٔ کاوش (Exploration Run)

ربات از گوشهٔ شروع حرکت می‌کند و هزارتو را می‌گردد. اینجا سرعت مهم نیست؛ مهم این است که نقشهٔ درستی از دیوارها بسازد و به مرکز برسد.

مرحلهٔ سرعت (Speed Run)

حالا که ربات نقشه دارد، باید کوتاه‌ترین (و در واقع سریع‌ترین) مسیر را با حداکثر شتاب طی کند. تفاوت این دو مرحله، جوهرهٔ میکروماوس است: اول بفهم، بعد اجرا کن.

نکتهٔ ظریف: کوتاه‌ترین مسیر همیشه سریع‌ترین نیست. مسیری با ده خانهٔ اضافه ولی بدون پیچ، معمولاً از مسیر کوتاه‌تر با پنج پیچ ۹۰ درجه سریع‌تر است — چون هر پیچ یعنی کاهش سرعت. ربات‌های حرفه‌ای مسیر را بر اساس زمان بهینه می‌کنند، نه فاصله.

الگوریتم flood fill

معروف‌ترین راه‌حل میکروماوس این است: به هر خانهٔ هزارتو عددی نسبت بده که نشان می‌دهد چند قدم تا مرکز فاصله دارد. مرکز صفر است، همسایه‌هایش یک، همسایه‌های آن‌ها دو و همین‌طور تا اول. حالا ربات فقط کافی است همیشه به خانه‌ای برود که عددش از خانهٔ فعلی کمتر است.

زیبایی این روش در به‌روزرسانی است: هر بار که ربات دیوار جدیدی کشف می‌کند، اعداد دوباره محاسبه می‌شوند و مسیر بهینه خودبه‌خود اصلاح می‌شود. همین الگوریتم در لیگ امدادگر ماز هم استفاده می‌شود.

چالش‌های سخت‌افزاری

  • حرکت دقیقاً یک خانه: خطای کوچک در چرخش موتور، بعد از ده خانه به انحراف بزرگ تبدیل می‌شود. انکودر و ژیروسکوپ ضروری‌اند.
  • چرخش دقیق ۹۰ درجه بدون لغزش چرخ.
  • تصحیح مداوم با دیوار: ربات باید با فاصله‌سنجی از دیوارهای کناری، خودش را وسط راهرو نگه دارد.
  • شتاب و ترمز: در مرحلهٔ سرعت، مدیریت شتاب تفاوت بین قهرمان و نفر دهم است.
  • اندازهٔ کوچک: همه‌چیز باید در ابعاد بسیار محدود جا شود.

چرا میکروماوس درس خوبی است؟

چون به‌طور هم‌زمان الگوریتم (کشف و مسیریابی) و مهندسی دقیق (کنترل حرکت) را می‌طلبد و هیچ‌کدام به‌تنهایی کافی نیست. یک ربات با الگوریتم عالی ولی کنترل حرکت ضعیف، نقشهٔ اشتباه می‌سازد؛ و یک ربات با مکانیک عالی ولی الگوریتم ضعیف، مسیر بهینه را پیدا نمی‌کند.

از کجا شروع کنیم؟

  1. ابتدا یک ربات که فقط بتواند در راهرو صاف برود و در تقاطع دقیقاً ۹۰ درجه بچرخد.
  2. سپس کاوش ساده با قانون «دست چپ روی دیوار».
  3. سپس ساخت نقشه در حافظه.
  4. سپس flood fill و مسیریابی.
  5. و در پایان، بهینه‌سازی سرعت.

اگر هنوز رباتی نساخته‌اید، بهتر است از لیگ مسیریاب شروع کنید؛ کنترل حرکت پایه‌ای که آنجا یاد می‌گیرید دقیقاً پیش‌نیاز میکروماوس است.

پرسش‌های پرتکرار

میکروماوس با لیگ امدادگر ماز چه فرقی دارد؟

میکروماوس فقط روی کشف هزارتو و سرعت تمرکز دارد؛ امدادگر ماز علاوه بر آن، شناسایی قربانی، رهاسازی کیت نجات و عبور از رمپ را هم دارد.

چه دانشی برای شروع لازم است؟

کنترل موتور با انکودر، کار با حسگر فاصله و برنامه‌نویسی میکروکنترلر. برای بخش الگوریتم، آشنایی با آرایه و صف کافی است.

این لیگ برای چه سنی مناسب است؟

معمولاً از نوجوانی به بالا، چون هم دقت مکانیکی می‌خواهد و هم درک الگوریتمی. برای سنین پایین‌تر، لیگ مسیریاب مناسب‌تر است.

می‌خواهی وارد لیگ میکروماوس شوی؟

تیم‌های مسابقاتی نوین ذهن هر سال از صفر تا سکوی جهانی آموزش می‌بینند — حضوری در تهران و آنلاین در سراسر کشور.

ثبت‌نام و مشاوره رایگان دورهٔ رباتیک پیشرفته

مقالات مرتبط