Vector Field Histogram

Избегайте препятствий, используя гистограмму векторного поля

  • Библиотека:
  • Алгоритмы навигации/управления

  • Vector Field Histogram block

Описание

Блок Vector Field Histogram (VFH) позволяет вашему транспортному средству избегать препятствий на основе данных о датчике области значений. Учитывая показания датчика области значений в терминах диапазонов и углов и целевое направление для движения к, контроллер VFH вычисляет направление рулевого управления без препятствий.

Для получения дополнительной информации о деталях алгоритма смотрите Векторное поле Гистограмма в разделе Алгоритмы.

Ограничения

  • The Ranges и Angles входы ограничены 4000 элементами при генерации кода для моделей, которые используют этот блок.

Порты

Вход

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

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

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

Целевое направление для транспортного средства, заданное как скаляр в радианах. Прямое направление транспортного средства рассматривается как ноль радиан, с положительными углами, измеренными против часовой стрелки. Можно использовать выход TargetDir из блока Pure Pursuit при генерации элементов управления из набора путевых точек.

Выход

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

Направление рулевого управления для транспортного средства, заданное как скаляр в радианах. Это направление без препятствий вычисляется на основе алгоритма VFH +. Прямое направление транспортного средства рассматривается как ноль радиан, с положительными углами, измеренными против часовой стрелки.

Параметры

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

Главный

Количество интервалов, используемых для создания гистограмм, заданное как скаляр. Этот параметр nontunable. Установить этот параметр можно только при инициализации объекта.

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

Пороги для вычисления бинарной гистограммы, заданные как двухэлементный вектор скаляров. Алгоритм использует эти пороги, чтобы вычислить бинарную гистограмму из плотности полярных препятствий. Значения плотности полярных препятствий, превышающие верхний порог, представлены как занятое пространство (1) в бинарной гистограмме. Значения, меньшие нижнего порога, представлены как свободное пространство (0). Значения, которые находятся между пределами, устанавливаются на значения предыдущей вычисленной бинарной гистограммы, если она существует после предыдущих итераций. Если предыдущая гистограмма не существует, значение устанавливается как свободное пространство (0).

Радиус транспортного средства, заданный как скаляр в метрах. Эта размерность задаёт наименьший круг, который может описать ваше транспортное средство. Радиус транспортного средства используется для расчета размера транспортного средства при вычислении свободного от препятствий направления.

Безопасное расстояние, оставленное вокруг положения транспортного средства в зависимости от vehicle radius, указывается как скаляр в метрах. Радиус транспортного средства и расстояние безопасности используются для вычисления направления без препятствий.

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

  • Code generation - Моделируйте модель с использованием сгенерированного кода C. Первый раз, когда вы запускаете симуляцию, Simulink® генерирует код С для блока. Код С повторно используется для последующих симуляций, пока модель не меняется. Эта опция требует дополнительного времени запуска, но скорость последующих симуляций сопоставима с Interpreted execution.

  • Interpreted execution - Моделируйте модель с помощью MATLAB® интерпретатор. Эта опция сокращает время запуска, но имеет более низкую скорость симуляции, чем Code generation. В этом режиме можно отлаживать исходный код блока.

Настраиваемый: Нет

Веса функции затрат

Вес функции стоимости для движения к целевому направлению, заданный как скаляр. Чтобы следовать целевому направлению, установите этот вес выше, чем сумма Current direction weight и Previous direction weight. Чтобы игнорировать целевую стоимость направления, установите этот вес равным 0.

Вес функции стоимости для перемещения транспортного средства в направлении текущего курса, заданный как скаляр. Более высокие значения этого веса обеспечивают эффективные пути. Чтобы игнорировать текущую стоимость направления, установите этот вес равным 0.

Вес функции стоимости для перемещения в ранее выбранном направлении рулевого управления, заданный как скаляр. Более высокие значения этого веса дают более гладкие пути. Чтобы игнорировать стоимость предыдущего направления, установите этот вес равным 0.

Алгоритмы

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

См. также

Блоки

Классы

Введенный в R2019b