Локальный планировщик маршрута

Локальный планировщик делает тоже что и глобальный планировщик, но с учетом изменяющейся обстановки реальной окружающей среды вокруг робота. Появление движущихся препятствий (люди, машины, котики, закрытые двери, которые на карте были открыты и т.д.), проскальзывание робота на скользких поверхностях, сдвиг робота людьми или другими роботами. В любом случае, нам надо реагировать на внешние изменения. Для реализации этого локальный планировщик создает сетчатую функцию возможных альтернативных траекторий движения. И оценивает каждую из них по тому, насколько данная траектория ведет к заданной в move_base цели, насколько она отклоняется от маршрута заданного глобальным планировщиком, ведет ли она к столкновению и т.д. Далее все траектории сравниваются между собой по полученным оценкам и выбирается лучшая, параметры которой и передаются в move_base и далее в /cmd_vel.

альтернативные траектории при работе локального планировщика

Dynamic Window Approach (DWA)

Основная идея локального планировщика работающего на алгоритме Динамического Скользящего Окна (DWA) следующий:

  1. Берется пример вектора контроля движения (dx,dy,dtheta), где dx - изменение линейной скорости по х, dy - изменение линейной скорости по y и dtheta - изменение угловой скорости вращения.
  2. Для каждого примера вектора, рассчитывается симуляция поведения робота из текущего состояния (траектория), чтобы спрогнозировать что произойдет, если данный вектор будет применен в течение какого-то небольшого периода времени.
  3. Оценивается каждая траектория, по метрике: близость к препятствиям, близость к глобальному пути, близость к цели, скорость. Отбрасываются траектории ведущие к столкновению с препятствиями.
  4. Берется траектория с самой высокой оценкой и реализующий ее вектор передается в move_base для исполнения.
  5. Данные сбрасываются и все повторяется заново.

Следуя данному алгоритму робот продвигается вдоль маршрута спланированного глобальным планировщиком, реагируя на локальные препятствия.

Основные параметры локального планировщика можно посмотреть здесь: https://wiki.ros.org/dwa_local_planner?distro=melodic

results matching ""

    No results matching ""