Pure Pursuit

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

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

Описание

Блок 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 или задайте их как массив в Simulink®.

Вывод

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

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

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

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

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

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

Зависимости

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

Параметры

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

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

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

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

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

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

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

Введенный в R2019b