Vector Field Histogram
Избегание препятствий с помощью гистограммы векторного поля.
Тип: VectorFieldHistogram
Путь в библиотеке:
|
Описание
Блок Vector Field Histogram (Vector Field Histogram, VFH) позволяет транспортному средству избегать препятствий на основе данных датчика дальности. Получив показания датчика в виде дальностей и углов, а также целевое направление движения, контроллер VFH вычисляет направление поворота руля, свободное от препятствий.
Более подробную информацию об алгоритме см. в разделе Гистограмма векторного поля.
Порты
Вход
#
Ranges
—
значения дальностей из данных сканирования
вектор
Details
Значения дальностей из данных сканирования, заданные как вектор скалярных величин в метрах. Эти значения дальностей представляют собой расстояния от датчика под заданными углами. Длина вектора должна совпадать с длиной соответствующего вектора Angles.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
#
Angles
—
значения углов из данных сканирования
вектор
Details
Значения углов из данных сканирования, заданные как вектор скалярных величин в радианах. Эти значения углов представляют собой конкретные углы заданных дальностей. Длина вектора должна совпадать с длиной соответствующего вектора Ranges.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
#
TargetDir
—
направление движения транспортного средства
скаляр
Details
Целевое направление транспортного средства, заданное как скаляр радианах. Направление движения транспортного средства вперед считается равным нулю радиан, а положительные углы измеряются против часовой стрелки. Можно использовать выходной порт Target Direction блока Pure Pursuit при создании элементов управления на основе набора путевых точек.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
Выход
#
SteerDir
—
направление поворота транспортного средства
скаляр
Details
Направление поворота транспортного средства, возвращаемое в виде скаляра в радианах. Это свободное от препятствий направление рассчитывается на основе алгоритма VFH+. Направление движения транспортного средства вперед считается равным нулю радиан, а положительные углы измеряются против часовой стрелки.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
Параметры
Histogram parameters
#
Number of angular sectors —
количество интервалов, используемых для создания гистограмм
Вещественное число
Details
Количество интервалов, используемых для создания гистограмм, заданное как скаляр. Установить значение для этого параметра можно только при инициализации объекта.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |
#
Range distance limits (m) —
пределы для показаний датчика дальности
Массив вещественных чисел
Details
Пределы для показаний датчика дальности в метрах, заданные как двухэлементный вектор скалярных величин. Входные показания дальности учитываются только в том случае, если они попадают в пределы дальности. Используйте нижний предел дальности, чтобы игнорировать ложные срабатывания из-за низкой производительности датчика на малых расстояниях. Используйте верхний предел, чтобы игнорировать препятствия, находящиеся слишком далеко от транспортного средства.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Да |
| Вычисляемый |
Да |
#
Histogram thresholds —
пороговые значения для вычисления бинарной гистограммы
Массив вещественных чисел
Details
Пороговые значения для вычисления бинарной гистограммы, заданные как двухэлементный вектор скалярных величин. Алгоритм использует эти значения для вычисления бинарной гистограммы на основе плотности полярных препятствий. Значения плотности полярных препятствий выше верхнего порогового значения представляются как занятое пространство (1) в бинарной гистограмме. Значения меньше нижнего порогового значения представляются как свободное пространство (0). Значения, попадающие в пределы, устанавливаются равными значениям предыдущей вычисленной бинарной гистограммы, если таковая существует из предыдущих итераций. Если предыдущая гистограмма не существует, значение устанавливается как свободное пространство (0).
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Да |
| Вычисляемый |
Да |
Vehicle parameters
#
Vehicle radius (m) —
радиус транспортного средства
Вещественное число
Details
Радиус транспортного средства, заданный как скаляр в метрах. Этот параметр определяет наименьшую окружность, которая может охватить транспортное средство. Радиус транспортного средства используется для учета размеров транспортного средства при вычислении направления, свободного от препятствий.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Да |
| Вычисляемый |
Да |
#
Safety distance (m) —
безопасное расстояние вокруг транспортного средства
Вещественное число
Details
Безопасное расстояние, остающееся вокруг положения транспортного средства, в дополнение к параметру Vehicle radius (m), заданное как скаляр в метрах. Радиус транспортного средства и безопасное расстояние используются для вычисления направления, свободного от препятствий.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Да |
| Вычисляемый |
Да |
#
Minimum turning radius (m) —
минимальный радиус поворота при текущей скорости
Вещественное число
Details
Минимальный радиус поворота транспортного средства, движущегося с текущей скоростью, заданный как скаляр в метрах.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Да |
| Вычисляемый |
Да |
Основные
#
Target direction weight —
вес функции стоимости для целевого направления
Вещественное число
Details
Вес функции стоимости для движения в целевом направлении, заданный как скаляр. Чтобы следовать целевому направлению, установите для этого параметра значение больше суммы значений параметров Current direction weight и Previous direction weight. Чтобы игнорировать стоимость целевого направления, установите для этого параметра значение 0.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Да |
| Вычисляемый |
Да |
#
Current direction weight —
вес функции стоимости для текущего направления
Вещественное число
Details
Вес функции стоимости для движения транспортного средства в текущем направлении, заданный как скаляр. Более высокие значения этого параметра обеспечивают более эффективные траектории. Чтобы игнорировать стоимость текущего направления, установите для этого параметра значение 0.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Да |
| Вычисляемый |
Да |
#
Previous direction weight —
вес функции стоимости для предыдущего направления
Вещественное число
Details
Вес функции стоимости для движения в ранее выбранном направлении, заданный как скаляр. Более высокие значения этого параметра обеспечивают более плавные траектории. Чтобы игнорировать стоимость предыдущего направления, установите для этого параметра значение 0.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Да |
| Вычисляемый |
Да |
Алгоритмы
Гистограмма векторного поля
Details
Блок использует алгоритм VFH+ для вычисления направления, свободного от препятствий. Сначала алгоритм получает данные о дальности и углах от датчика дальности и строит полярную гистограмму для местоположения препятствий. Затем он использует пороговые значения входной гистограммы для вычисления бинарной гистограммы, указывающей на занятое и свободное направления. Наконец, алгоритм вычисляет маскированную гистограмму, которая определяется из бинарной гистограммы на основе минимального радиуса поворота транспортного средства.
Алгоритм выбирает несколько направлений движения на основе открытого пространства и возможных вариантов направления. Функция стоимости с весами, соответствующими предыдущему, текущему и целевому направлениям, вычисляет стоимость различных возможных направлений. Затем алгоритм возвращает направление, свободное от препятствий, с минимальной стоимостью. Используя свободное от препятствий направление, можно вводить команды для перемещения транспортного средства в этом направлении.
Для использования этого блока в пользовательской модели необходимо настроить параметры алгоритма. Значения параметров зависят от типа транспортного средства, датчика дальности и используемого оборудования.