Pure Pursuit

Линейный и скорость вращения управляют командами

  • Библиотека:
  • Robotics System Toolbox / Мобильные Алгоритмы Робота

    Navigation Toolbox / Алгоритмы управления

  • Pure Pursuit block

Описание

Блок Pure Pursuit вычисляет линейный и команды скорости вращения для следующего путь с помощью набора waypoints и текущего положения дифференциального транспортного средства диска. Блок берет обновленные положения, чтобы обновить скоростные команды для транспортного средства, чтобы следовать за путем вдоль желаемого набора waypoints. Используйте Max angular velocity и параметры Desired linear velocity, чтобы обновить скорости на основе эффективности транспортного средства.

Параметр Lookahead distance вычисляет предварительную точку на пути, который является мгновенной локальной целью для транспортного средства. Команда скорости вращения вычисляется на основе этой точки. Изменение Lookahead distance оказывает значительное влияние на эффективность алгоритма. Более высокое предварительное расстояние приводит к более сглаженной траектории для транспортного средства, но может заставить транспортное средство сокращать углы вдоль пути. Слишком низко предварительного расстояния может привести к колебаниям в отслеживании пути, вызвав нестабильное поведение. Для получения дополнительной информации о чистом алгоритме преследования смотрите Чистый Контроллер Преследования.

Порты

Входной параметр

развернуть все

Текущее положение транспортного средства в виде [x y theta] вектор, который соответствует положению x-y и углу ориентации, theta. Положительные углы измеряются против часовой стрелки от положительного x - ось.

Waypoints в виде n-by-2 массив [x y] пары, где n является количеством waypoints. Можно сгенерировать планировщиков пути к использованию waypoints как mobileRobotPRM (Robotics System Toolbox) или задает их как массив в Simulink®.

Вывод

развернуть все

Линейная скорость в виде скаляра в метрах в секунду.

Типы данных: double

Скорость вращения в виде скаляра в радианах в секунду.

Типы данных: double

Целевое направление для транспортного средства в виде скаляра в радианах. Прямое направление транспортного средства рассматривается нулевыми радианами с положительными углами, измеренными против часовой стрелки. Этот выход может использоваться в качестве входа к порту TargetDir для блока Vector Field Histogram.

Зависимости

Чтобы включить этот порт, выберите параметр Show TargetDir output port.

Параметры

развернуть все

Желаемая линейная скорость в виде скаляра в метрах в секунду. Контроллер принимает, что транспортное средство управляет в постоянной линейной скорости и что вычисленная скорость вращения независима от линейной скорости.

Максимальная скорость вращения в виде скаляра в радианах в секунду. Контроллер насыщает абсолютную скорость вращения выход в данном значении.

Предварительное расстояние в виде скаляра в метрах. Предварительное расстояние изменяет ответ контроллера. Транспортное средство с более высоким предварительным расстоянием производит сглаженные пути, но принимает большие обороты в углах. Транспортное средство с меньшим предварительным расстоянием следует за путем тесно и принимает крутые обороты, но колеблитесь вдоль пути. Для получения дополнительной информации о воздействиях предварительного расстояния смотрите Чистый Контроллер Преследования.

Выберите этот параметр, чтобы включить TargetDir порт. Этот порт дает целевое направление как угол в радианах от прямого положения с положительными углами, измеренными против часовой стрелки.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Введенный в R2019b