دورزدن مانع (Obstacle Avoidance)

دور زدن مانع - ربات هوش مصنوعی

آموزش دورزدن مانع با ربات آموزشی CarBot؛ تمرین ربات خودران برای نوجوانان و جوانان

با پروژه‌ی «دورزدن مانع» در ربات آموزشی CarBot، کاربران یاد می‌گیرند چگونه با حسگر فاصله، دوربین و هوش مصنوعی، مسیر ایمن برای ربات خودران انتخاب کنند و بدون برخورد از بین موانع عبور کنند.

دورزدن مانع یعنی چه و چرا این‌قدر مهم است؟

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

از جاروبرقی‌های هوشمند گرفته تا خودروهای بدون راننده، همه‌ی این سیستم‌ها یک بخش مشترک دارند: Obstacle Avoidance. اگر ربات نتواند مانع را تشخیص دهد و دور بزند، عملاً استفاده از آن در دنیای واقعی خطرناک و بی‌فایده می‌شود. پروژه‌ی دورزدن مانع با CarBot، همین مفهوم مهم را در یک فعالیت ساده و قابل‌لمس برای نوجوانان تبدیل به تمرین عملی می‌کند.

 

تاریخچه ربات‌های دورزنِ مانع؛ از سنسور برخورد تا هوش مصنوعی

ربات‌های اولیه با سنسور برخورد

در نسل‌های اول ربات‌های متحرک، داستان خیلی ساده بود. ربات چند سنسور لمسی روی بدنه داشت. هر وقت به چیزی می‌خورد، سوئیچ سنسور فعال می‌شد و ربات می‌فهمید که «اوه، مانع!». بعد طبق برنامه‌ی بسیار ساده: به عقب برو + کمی بچرخ عمل می‌کرد. این روش کار می‌کرد، اما خیلی خشن بود و اصلاً هوشمند به‌نظر نمی‌رسید.

اضافه شدن حسگر فاصله‌سنج (Ultrasonic و IR)

قدم بعدی، استفاده از سنسورهای فاصله‌سنج بود؛ مثل سنسورهای التراسونیک و مادون‌قرمز. این سنسورها قبل از برخورد، فاصله تا مانع را اندازه می‌گیرند. اگر فاصله کمتر از یک حد مشخص شد، ربات سرعتش را کم می‌کند یا مسیرش را عوض می‌کند. اینجا ربات دیگر فقط بعد از برخورد واکنش نشان نمی‌دهد، بلکه پیش‌بینی هم می‌کند.

نقشه‌سازی و مسیریابی در ربات‌های پیشرفته

در ربات‌های حرفه‌ای‌تر، از روش‌هایی مانند SLAM (نقشه‌سازی و مکان‌یابی همزمان) استفاده شد. ربات با کمک حسگرهای مختلف، نقشه‌ای از محیط می‌سازد و برای عبور از بین موانع، مسیر بهینه را محاسبه می‌کند. این مدل برای ربات‌های صنعتی و ربات‌های انبار بسیار مهم است.

دورزدن مانع در عصر بینایی ماشین و هوش مصنوعی

امروزه با وجود دوربین و مدل‌های بینایی ماشین، ربات می‌تواند نوع مانع را هم تشخیص دهد: مثلاً بداند این یک جعبه است، انسان است یا علامت راهنمایی. اینجاست که هوش مصنوعی وارد بازی می‌شود و فقط یک «شی‌ء ناشناس» نمی‌بیند، بلکه می‌فهمد با چه چیزی طرف است و چگونه باید رفتار کند. پروژه‌ی CarBot نسخه‌ی ساده و آموزشی همین ایده‌ی مدرن است.

روش‌های مختلف دورزدن مانع در رباتیک

۱. روش واکنشی ساده با سنسور فاصله

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

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

این روش برای مسیرهای ساده و محیط‌های کنترل‌شده (مثل کلاس درس یا کارگاه آموزشی) بسیار مناسب است.

۲. ترکیب چند حسگر و رفتارهای هوشمندتر

در مرحله‌ی بعد می‌توان چند سنسور را با هم ترکیب کرد؛ مثلاً یک سنسور جلو و دو سنسور کنار. ربات با مقایسه‌ی فاصله‌ی سمت چپ و راست، مسیر بهتر را انتخاب می‌کند. اینجا دیگر فقط «اگر نزدیک شد، بپیچ» نداریم، بلکه نوعی تصمیم‌گیری اتفاق می‌افتد.

۳. مسیریابی و نقشه‌سازی برای مسیرهای پیچیده

در سیستم‌های پیشرفته‌تر، ربات از نقشه‌ی محیط استفاده می‌کند و با الگوریتم‌هایی مثل A* یا D*، مسیری را پیدا می‌کند که کوتاه و امن باشد. این سطح بیشتر مناسب ربات‌های صنعتی و تحقیقاتی است.

۴. استفاده از بینایی ماشین در تشخیص و دورزدن مانع

وقتی دوربین وارد کار می‌شود، ربات می‌تواند با کمک مدل‌های هوش مصنوعی، موانع را در تصویر تشخیص دهد و علاوه بر فاصله، «نوع» مانع را هم بداند. در CarBot، موبایل نقش دوربین هوشمند را دارد و می‌تواند مثلاً موانع رنگی یا جعبه‌ها را روی تصویر تشخیص دهد.

معماری سیستم دورزدن مانع در ربات آموزشی CarBot

در پروژه‌ی CarBot می‌خواهیم نسخه‌ای کوچک و قابل‌درک از ربات‌های خودران بسازیم. معماری این سیستم را می‌توان به چند لایه تقسیم کرد.

۱. لایه‌ی حسگرها: دوربین موبایل و سنسور فاصله‌سنج

  • دوربین موبایل: تصویر زنده از جلوی ربات را می‌گیرد.
  • سنسور فاصله‌سنج: فاصله‌ی دقیق تا مانع را بر حسب سانتی‌متر اندازه می‌گیرد.

۲. لایه‌ی درک محیط: تشخیص مانع با هوش مصنوعی

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

  • مکان مانع در تصویر (چپ، راست، وسط)،
  • نوع مانع (مثلاً جعبه، بلوک رنگی، مخروط)،
  • اطمینان مدل از تشخیص (confidence).

۳. لایه‌ی تصمیم‌گیری: انتخاب بهترین مسیر ایمن

حالا کد CarBot با ترکیب فاصله‌ی واقعی و موقعیت مانع در تصویر تصمیم می‌گیرد:

  • اگر مانع بسیار نزدیک است → سرعت کم + فرمان شدید به سمت امن‌تر،
  • اگر مانع دورتر است → تغییر مسیر آرام و ادامه حرکت،
  • اگر هیچ مانعی نیست → ادامه حرکت روی مسیر اصلی.

۴. لایه‌ی کنترل حرکت: تنظیم سرعت و زاویه‌ی فرمان

دستورات تصمیم‌گیری در نهایت تبدیل می‌شوند به:

  • سرعت موتورهای چپ و راست،
  • جهت حرکت (جلو، عقب، چرخش درجا)،
  • و در نسخه‌های پیشرفته‌تر، تنظیم نرم و پیوسته‌ی زاویه با کمک کنترل‌کننده‌هایی مثل PID.

آموزش گام‌به‌گام پروژه دورزدن مانع با CarBot

گام ۱: ساخت سالن تست و چیدن موانع

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

گام ۲: کالیبره کردن سنسور فاصله‌سنج

قبل از شروع، با یک کد ساده فاصله‌سنج را تست کنید. فاصله‌های ۱۰، ۲۰ و ۳۰ سانتی‌متری را اندازه بگیرید و مطمئن شوید خروجی سنسور قابل‌اعتماد است. آستانه‌ی «خطر» را مثلاً روی ۲۰ سانتی‌متر تنظیم کنید.

گام ۳: فعال‌کردن تشخیص مانع با تصویر دوربین

روی موبایلی که روی CarBot قرار دارد، یک مدل ساده‌ی بینایی ماشین (مثلاً مدل تشخیص اشیاء یا تشخیص رنگ) اجرا کنید تا موانع را در تصویر پیدا کند. هدف در سطح آموزشی این است که ربات بداند مانع بیشتر در سمت چپ است یا راست یا وسط تصویر.

گام ۴: نوشتن کد دورزدن مانع

حالا در کد CarBot، یک حلقه‌ی کنترلی در نظر می‌گیریم:

  • اگر مانع در مرکز تصویر و فاصله کمتر از ۲۰ سانتی‌متر است → سرعت کم و چرخیدن به سمتی که خالی‌تر است.
  • اگر مانع فقط در سمت چپ دیده می‌شود → کمی به راست بپیچ.
  • اگر مانع فقط در سمت راست دیده می‌شود → کمی به چپ بپیچ.
  • اگر مانعی نیست → مستقیم به حرکت ادامه بده.

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

گام ۵: تست سناریوهای مختلف

بعد از اینکه کد اولیه کار کرد، محیط را سخت‌تر کنید:

  • چند مانع پشت سر هم قرار دهید،
  • فاصله‌ی موانع را کمتر کنید،
  • یا مسیر را پیچیده‌تر طراحی کنید.

هر بار رفتار ربات را بررسی کنید و اگر لازم بود آستانه‌ها، سرعت‌ها یا قوانین تصمیم‌گیری را تنظیم کنید.

با پروژه دورزدن مانع چه مهارت‌هایی یاد می‌گیریم؟

  • درک مفهوم ربات خودران و اجتناب از مانع،
  • آشنایی عملی با سنسورهای فاصله‌سنج و نحوه‌ی استفاده از آن‌ها،
  • ترکیب داده‌ی حسگر با خروجی هوش مصنوعی،
  • تمرین برنامه‌نویسی شرط‌ها و حلقه‌ها در یک پروژه‌ی واقعی،
  • آشنایی با ایده‌های ساده‌ی مسیریابی و کنترل حرکت،
  • حل مسئله و تنظیم پارامترها بر اساس تست‌های عملی.

ایده‌های توسعه برای پروژه «دورزدن مانع» با CarBot

  • اضافه کردن امتیاز برای رباتی که بدون برخورد و در زمان کمتر مسیر را طی می‌کند.
  • استفاده از موانع متحرک (مثلاً ربات دوم یا جسمی که آرام حرکت می‌کند) برای شبیه‌سازی محیط واقعی‌تر.
  • ترکیب پروژه‌ی دورزدن مانع با دنبال‌کردن خط یا دنبال‌کردن شخص.
  • ذخیره‌ی مسیر طی‌شده توسط ربات و تحلیل آن در کلاس برای فهم بهتر تصمیم‌ها.

چند سوال متداول

آیا برای این پروژه لازم است حتماً هوش مصنوعی استفاده کنیم؟

 نه؛ می‌توانید از نسخه‌ی ساده که فقط با سنسور فاصله کار می‌کند شروع کنید. اما اگر موبایل و مدل بینایی ماشین را اضافه کنید، پروژه بسیار جذاب‌تر و شبیه‌تر به ربات‌های واقعی می‌شود.

این پروژه برای نوجوانان حدود ۱۳ سال به بالا طراحی شده است؛ اما با کمک مربی یا والدین، دانش‌آموزان کوچک‌تر هم می‌توانند بخش‌های ساده‌تر آن را انجام دهند.

 بله، منطق کلی پروژه شبیه چیزی است که در ربات‌های انبار، ربات‌های نظافت صنعتی و حتی خودروهای خودران استفاده می‌شود؛ فقط در سطح CarBot، همه‌چیز ساده و آموزشی شده تا فهم آن برای دانش‌آموزان ممکن باشد.

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

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پیمایش به بالا