Чистое преследование

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

  • Библиотека:
  • Robotics System 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 от класса robotics.PRM или задать их как массив в Simulink®.

Вывод

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

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

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

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

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

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

Зависимости

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

Параметры

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

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

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

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

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

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

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

Введенный в R2017b

Для просмотра документации необходимо авторизоваться на сайте