طراحی مسیر در ربات‌های خودمختار (Path Planning)

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

ربات امدادگر آزمایشگاه رباتیک KN2C
ربات امدادگر آزمایشگاه رباتیک KN2C


مسیریابی یا طراحی مسیر یا Path Planning از مباحث مهم ربات‌های خودمختار است. مسیریابی عبارت است از اینکه ربات از یک نقطه‌ی شروع (Starting Position) به یک نقطه‌ی پایانی و هدف (Goal Position) برود. این عملیات لازم است بدون دخالت انسان باشد. ربات برای پیدا کردن مسیر نقطه‌ی شروع تا نقطه‌ی پایانی (Path Planning)، موانع (‌‌Obstacles) را نیز در نظر می‌گیرد و از آن‌ها دوری می‌کند.

مسیر از نقطه‌ی شروع تا پایان و دوری از موانع
مسیر از نقطه‌ی شروع تا پایان و دوری از موانع


مسیریابی با توجه به محیط اطراف ربات به دو نوع تقسیم می‌شود. مسیریابی ایستا (Static Path Planning) و مسیریابی پویا (Dynamic Path Planning). در مسیریابی ایستا محیط اطراف ربات با گذر زمان تغییر نمی‌کند. در حالی که در مسیریابی پویا به دلیل تغییر محیط در زمان لازم است ربات همواره و به صورت هم‌زمان (online) عملیات مسیریابی را انجام دهد.

طراحی مسیر در ناوبری در محیط محلی (Local Navigation)

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


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

نمونه ای از سنسور‌های LIDAR
نمونه ای از سنسور‌های LIDAR


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

جاروبرقی رباتیکی و خودکار
جاروبرقی رباتیکی و خودکار

در ادامه ویدیوی ساخته‌شدن هم‌زمان نقشه توسط LIDAR را مشاهده می‌کنید.


طراحی مسیر با استفاده از هوش مصنوعی (Artificial Intelligence)

هوش مصنوعی علم بخشیدن هوش و خرد به ماشین‌ها و ربات‌ها است که توانایی تصمیم‌گیری در موقعیت‌های مختلف را به ربات می‌بخشد. یک ربات یا سیستم هوشمند برای حل کردن مسئله‌ها از روش‌هایی به نام روش‌های هوش مصنوعی استفاده می‌کند. از جمله‌ی این روش‌ها سیستم منطق فازی (Fuzzy Logic System)، شبکه عصبی (Neural Network)، عصبی-فازی (Neural-Fuzzy) و ... می توان نام برد. برای بهینه کردن مسیر طراحی شده از الگوریتم‌هایی مانند بهینه‌سازی کلونی مورچه (Ant Colony Optimization)،‌ بهینه سازی ازدحام ذرات (Particle Swarm Optimization) و ... استفاده می‌شود. با استفاده از بهینه‌سازی می توانیم کوتاه‌ترین و موثر‌ترین مسیر را بدون برخورد با موانع، طراحی کنیم.


الگوریتم کلونی مورچه‌ها در نوشته‌ی دیگری از مریم تیموری در انتشارات KN2C منتشر شده‌ است که می‌توانید اینجا بخونید.

برای خواندن نوشته‌های بیشتری در این زمینه، می‌توانید از این لینک با تیم رباتیک KN2C بیشتر آشنا شوید.