ناوبری یا رهیابی در یک ربات، عبارت است از توانایی ربات برای حرکتی ایمن بسوی هدف با استفاده از دانش آن و اطلاعات سنسورها از محیط .
اگرچه راههای متفاوتی برای رهیابی وجود دارد، ولی بیشتر آن در مساله عبور از موانع مشترکند. مسیر یابی شامل پیدا کردن یک مسیر هندسی از ربات تا نقطه هدف است، در رباتهای متحرکی که در محیط ساختار نیافته حرکت می کنند، شناخت محیط و داشتن نقشه راه معمولا بسیاری جزئی است یا اصلاً وجود ندارد. محیط ممکن است استاتیک نباشد و ربات در طول حرکتش با انواع رباتهای دیگر، انسان یا اشیا مواجه شود.
به این دلیل مسیر یابی کلی، همواره در ارتباط با بحث شناسایی موانع و گریز از آنهاست.
گریز از موانع یعنی ربات در مسیر خود به سمت هدف از موانع ناخواسته اجتناب کند، در این میان خوانده های سنسور نقش مهمی را ایفا می کند. الگوریتم های متفاوتی برای گریز از موانع وجود دارد، مانند الگوریتم های ساده اصلاح مسیر تا الگوریتمهای بازدارنده در استراتژی های کنترلی.
چهار الگوریتم در اینجا مختصرا توضیح داده می شود:
1- BUG1 : در این الگوریتم، ربات مسیر مستقیم به سمت هدف را طی می کند و موانع احتمالی سر راه را دور می زند تا به نزدیکترین نقطه به هدف برسد سپس از مانع جدا می شود، در این الگوریتم خوانده های فعلی سنسور نقش اساسی را دارند. ضعف این روش در ماندن بیش از اندازه ربات در کنار موانع می باشد.
2- BUG2 : در این الگوریتم ربات روی خط شروع تا هدف حرکت می کند و اگر مانعی دید آن را دور می زند تا جایی که دوباره به نقطه ای روی خط واصل بین شروع تا هدف برسد آنگاه مانع را رها می کند .در این روش نیز ربات زمان زیادی را صرف حرکت در کنار ربات می کند ولی این زمان کمتر از الگوریتم قبلی است.
3- میدان پتانسیل[1] : این الگوریتم بر پایه اصول ساده و قوی نهفته شده در ربات است که اولین بار توسط اسامه خطیب پیشنهاد شد، در این روش ربات مانند یک ذره که در میدان پتانسیل حرکت می کند، فرض شده است. این میدان پتانسیل بوسیله هدف و موانع موجود در محیط بوجود می آید. هدف، پتانسیل جذبی و موانع، پتانسیل دفعی ایجاد می کنند. در این روش موانع یا از قبل شناخته شده هستند که در اینصورت میدان پتانسیل بصورت off-line محاسبه می شود، یا موانع بصورت on-line بوسیله سنسورها شناسایی می شوند. اساسا در کنار گریز از موانع، مسیر یابی میدان پتانسیلی نیز وجود دارد که با هم استراتژی کنترل حرکت را می سازند. این کنترل، بردار سرعت ربات را تعریف می کند که با آن به سمت هدف حرکت می کند و در عین حال از موانع اجتناب می کند. الگوریتم لانه مورچه ای نیز بر اساس جاذبه هدف و دافعه موانع کار می کند.
4 - هیستوگرام میدان برداری[2]: این الگوریتم یک سابقه نما قطبی بوجود می آورد که به بررسی آنی فضا ایجاد شده در مجاورت ربات می پردازد و اولین بار توسط Borenstein و Korem معرفی شد.سپس مناسب ترین قطاع از میان همه قطاع های قطبی با چگالی مانع کمتر را پیدا می کند و ربات در طول آن رانده می شود. این روش از شبکه توری دو بعدی کارتزین به عنوان مدل جهانی استفاده می کند. که این مدل به طور پیوسته بوسیله سنسورهای ربات ارتقا می یابد. روش میدان برداری از دو مرحله استفاده می کند. در مرحله اول یک زیرمجموعه دو بعدی شبکه توری پیرامون ربات، به یک هیستوگرام قطبی یک بعدی تقلیل می یابد. هر قطاع این هیستوگرام قطبی شامل مقادیر هستند که نشان دهند چگالی مانع قطبی در آن جهت هست. در مرحله دوم، الگوریتم مناسبترین قطاع را از میان همه قطاع ها با چگالی مانع کمتر انتخاب و ربات را در جهت آن قطاع می راند.
سه گام اصلی در اجرای روش VFH به طور خلاصه چنین است:
گام اول: ساختن یک شبکه توری هیستوگرام کارتزینی دو بعدی
گام دوم: از شبکه توری دو بعدی قبل یک پنجره دو بعدی فعال اطراف ربات در نظر گرفته می شود و این پنجره دو بعدی را تبدیل به شبکه توری قطبی یک بعدی می کند.
گام سوم: محاسبه زاویه فرمان و کنترل سرعت در شبکه توری یک بعدی.
برای ربات UWater در این طرح از الگوریتمی استفاده شده است که ابتدا روی خط مستقیم به سمت هدف حرکت می کند و از این نظر با الگوریتمهای BUG شباهت دارد و برای جدا شدن از مانع روشی نو را پیش می گیرد و آن عبارت است از : نبودن مانعی در خط ربات تا هدف و قرار گرفتن جهت ربات در زوایه 45 درجه با خط ربات تا هدف است.