Глобальный планировщик
Глобальный планировщик (Global Planner)
Как только нода move_base получает цель для перемещения, ее координаты сразу передаются в глобальный планировщик, который прокладывает путь до цели.
При построении глобального пути (без учета изменения ситуации), планировщик рассчитывает траекторию только по той карте которая в него загружена. Глобальный планировщик не учитывает данные от датчиков, которые поступают в процессе движения робота. Для обработки актуальных данных и изменения траектории движения в соответствии с появляющимися препятствиями используется локальный планировщик.
Запустим навигацию по карте.
roslaunch turtlebro_navigation turtlebro_slam_navigation.launch
Если задать точку для цели робота, то черная линия, соединяющая робота и цель, это и будет наш глобальный маршрут.
Если робот не сможет построить такой маршрут (например точка цели окажется в недоступной области) то робот не начнет движение.

Изменить настройки отображения маршрута мы можем через rviz, для этого откроем папку на вкладке Display / Planner Plan
Рассчитанный глобальный маршрут мы можем увидеть в топике /move_base/NavfnROS/plan
Если нам необходимо тестировать алгоритм построения пути, то у нас есть способ задавать конечную и начальную точку через сервис /move_base/make_plan При запуске сервиса происходит построение маршрута, но сам робот движение не начинает, что очень удобно для отладки.
Например для построения маршрута из точки 0,0,0 в точку 1,0,0 (на метр вперед) нам необходимо выполнить команду.
rosservice call /move_base/make_plan "start:
header:
seq: 0
stamp:
secs: 0
nsecs: 0
frame_id: 'map'
pose:
position:
x: 1.0
y: 0.0
z: 0.0
orientation:
x: 0.0
y: 0.0
z: 0.0
w: 1.0
goal:
header:
seq: 0
stamp:
secs: 0
nsecs: 0
frame_id: 'map'
pose:
position:
x: 0.0
y: 0.0
z: 0.0
orientation:
x: 0.0
y: 0.0
z: 0.0
w: 1.0
tolerance: 0.0"
Как результат выполнения вызова сервиса, мы получим точки построенного плана маршрута и также увидим его в rviz
Выбор глобального планировщика
Для построения глобального "пути", мы можем использовать несколько различных планировщиков.
NavFN
Для нашего робота по умолчанию используется планировщик Navfn.Это один из самых популярных планировщиков, использующий для построения кратчайшего пути алгоритм Де́йкстры (https://ru.wikipedia.org/wiki/Алгоритм_Дейкстры)
Carrot Planner
Это довольно "простой" планировщик, который удобно использовать если, например, вы хотите чтобы ваш робот двигался по кратчайшему пути между двумя точками и вы точно знаете, что никаких препятствий на его пути не появится.
Планировщик получает цель, строит прямую линию до цели и начинает движение по этой линии. При встрече с препятствием, робот просто перестает двигаться. Этот планировщик нельзя и назвать глобальным, так как он не планирует маршрут. В реальных условиях автономной работы этот планировщик не очень применим.

Вы можете изменить используемый глобальный планировщик на Carrot Planner командой:
rosrun dynamic_reconfigure dynparam set /move_base base_global_planner carrot_planner/CarrotPlanner
Global Planner
Global Planner это более гибкая замена планировщика navfn. Вы можете выбирать различные алгоритмы построения пути (например A∗), а не только алгоритм Де́йкстры Более подробно http://wiki.ros.org/global_planner
Вы можете поменять алгоритм планировщика на Global Planner выполнив команду
rosrun dynamic_reconfigure dynparam set /move_base base_global_planner global_planner/GlobalPlanner
или запустив rqt_reconfigure
rosrun rqt_reconfigure rqt_reconfigure

Помимо изменений алгоритмов через ноду dynamic_reconfigure вы можете также менять параметры прямо в файлах конфигурации (директория params)