راهنمای کامل • CoSpace Rescue

ربات امدادگر ما چیست و چه می‌کند؟

این صفحه ساده و کامل توضیح می‌دهد ربات امدادگرِ شبیه‌سازِ ما چیست، چه مأموریتی دارد، چرا آن را ساختیم، چه سنسورهایی دارد، قوانین بازی چیست و چطور می‌توان آن را با پایتون برنامه‌ریزی کرد.

این ربات چیست؟

ربات امدادگرِ ما یک ربات مجازی در محیط شبیه‌سازِ CoSpace Rescue است (همان مسابقهٔ شبیه‌سازی RoboCupJunior). یک ربات چرخ‌دار که در یک میدان دوبعدی حرکت می‌کند، با سنسورهایش محیط را «می‌بیند» و خودش تصمیم می‌گیرد کجا برود. در نسخهٔ ما دو ربات داریم: یکی برای تیم قرمز و یکی برای تیم آبی که با هم رقابت می‌کنند.

چه می‌کند؟

🔎

۱) جست‌وجو

ربات در میدان می‌گردد و گنج‌ها (مصدوم‌ها) را پیدا می‌کند — یا با دانستن موقعیتشان، یا با چرخش و جست‌وجوی تصادفی به کمک سنسورها.

🤲

۲) جمع‌آوری

وقتی روی یک گنج می‌رود، آن را داخل مخزن خود می‌گذارد. مخزن ظرفیت ۶ گنج دارد؛ بیشتر از آن جا نمی‌شود.

🟧

۳) تحویل

گنج‌ها را به منطقهٔ امنِ نارنجی می‌برد و آنجا خالی می‌کند. تحویل در منطقهٔ امن امتیاز را دو برابر می‌کند.

🏆

۴) رقابت

هر تیم تلاش می‌کند در زمان مسابقه (۸ دقیقه) امتیاز بیشتری جمع کند. تیم با امتیاز بالاتر برنده است.

چرا این را ساختیم؟

  • 🎓 یادگیری الگوریتم: ربات با الگوریتم‌های مسیریابی A* و Dijkstra کوتاه‌ترین راه را پیدا می‌کند — بهترین راه برای فهمیدن این الگوریتم‌ها، دیدنشان در عمل است.
  • 🐍 برنامه‌نویسی واقعی: می‌توان ربات را با پایتونِ ساده و سنسوری برنامه‌ریزی کرد؛ دقیقاً مثل مسابقهٔ واقعی CoSpace. این یعنی تمرین منطق، شرط و حلقه.
  • 🤖 درک سنسورها: کار با اولتراسونیک، سنسور رنگ و قطب‌نما به ما یاد می‌دهد یک ربات واقعی چطور دنیا را «حس» می‌کند و تصمیم می‌گیرد.
  • 🏅 آمادگی برای مسابقه: این شبیه‌ساز تمرینی است برای مسابقات رباتیک (RoboCupJunior / FIRA) که تیم ما در آن‌ها شرکت می‌کند.
  • 🎮 سرگرمی و رقابت: دیدن نبرد دو ربات قرمز و آبی هیجان‌انگیز است و یادگیری را شیرین می‌کند.

اجزا و سنسورها

📏

اولتراسونیک (Front/Left/Right)

سه سنسور فاصله که فاصلهٔ تا نزدیک‌ترین مانع را به سانتی‌متر می‌دهند. در کد: Front، Left، Right.

🎨

سنسور رنگ

رنگِ کفِ زیر ربات را می‌خواند تا منطقهٔ امن (نارنجی)، تله (زرد) و… را تشخیص دهد. در کد: Color.

📍

موقعیت روی زمین

مختصات ربات روی میدان. در کد: X و Y (سانتی‌متر).

🧭

قطب‌نما

جهت ربات بر حسب درجه (۰ تا ۳۶۰). در کد: Compass.

⚙️

دو موتور

چرخ چپ و راست؛ با مقدار بین ۵- تا ۵+ کنترل می‌شوند. در کد: WheelLeft و WheelRight.

📦

مخزن گنج

صندوقی روی ربات که گنج‌های جمع‌شده را نگه می‌دارد — حداکثر ۶ گنج.

گنج‌ها و امتیازها

سه نوع گنج با ارزش‌های مختلف. داخل منطقهٔ ویژه ارزش گنج دو برابر می‌شود و تحویل در منطقهٔ امن هم آن را دو برابر می‌کند.

گنجامتیاز عادیداخل منطقهٔ ویژه
سیاه۲۰۴۰
آبی۱۵۳۰
قرمز۱۰۲۰
نارنجی (ویژه)۱۸۰ (حداقل ست) یا ۳۶۰ (ست کامل) — هم موقع برداشت، هم موقع تحویل
🟪

منطقهٔ ویژه

گنجی که اینجا جمع شود دو برابر امتیاز می‌گیرد.

🟧

منطقهٔ امن

محل تحویل گنج‌ها؛ تخلیه اینجا امتیاز را دو برابر می‌کند.

🟫

باتلاق

سرعت ربات را ۵۰٪ کم می‌کند؛ بهتر است دور بزند.

⚠️

تله

اگر ربات با بار وارد تله شود، تمام گنج‌هایش از بین می‌رود.

چطور برنامه‌اش می‌کنیم؟

سه راه: الگوریتم آمادهٔ A*، الگوریتم Dijkstra، یا کد سنسوریِ پایتونِ خودت. در حالت کد، با سنسورها تصمیم می‌گیری و موتورها را می‌رانی. یک نمونهٔ ساده:

# اگر مانع جلوست، به سمت بازتر بپیچ؛ وگرنه برو جلو if Front < 15: if Left > Right: left() else: right() else: forward()

می‌توانی کد را همان‌جا بنویسی یا یک فایل .py آپلود کنی — هم برای ربات قرمز، هم آبی. در شبیه‌ساز می‌توانی ابعاد زمین را تغییر دهی، خودت گنج/تله/دیوار بسازی، ربات‌ها را جابه‌جا کنی، نمای دوربین (بالا/بغل/POV) را عوض کنی و تمام‌صفحه تماشا کنی.

منبع قوانین رسمی: ربات و سنسورهای CoSpace · RoboCupJunior Rescue Simulation