Pure Pursuit

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

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

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

  • Pure Pursuit block

Описание

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

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

Порты

Вход

расширить все

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

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

Выход

расширить все

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

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

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

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

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

Зависимости

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

Параметры

расширить все

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

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

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

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

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

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

.
Введенный в R2019b