Избегайте препятствий с помощью гистограммы векторного поля
Панель инструментов навигации/Алгоритмы управления

Блок VFH (Vector Field Histogram) позволяет автомобилю избегать препятствий на основе данных датчика дальности. Учитывая показания датчика дальности в терминах диапазонов и углов, а также целевое направление движения, контроллер VFH вычисляет направление рулевого управления без препятствий.
Дополнительные сведения об алгоритме см. в разделе Гистограмма векторного поля в разделе Алгоритмы.
Ranges и Angles входные данные ограничены 4000 элементами при создании кода для моделей, использующих этот блок.
Ranges - Значения диапазона из данных сканированияЗначения диапазона из данных сканирования, заданные как вектор скаляров в метрах. Эти значения диапазона представляют собой расстояния от датчика под определенными углами. Вектор должен иметь ту же длину, что и соответствующий вектор Angles.
Angles - Значения углов из данных обзораЗначения углов из данных сканирования, заданные как вектор скаляров в радианах. Эти значения углов являются конкретными углами указанных диапазонов. Вектор должен иметь ту же длину, что и соответствующий вектор Ranges.
TargetDir - Целевое направление для транспортного средстваЦелевое направление для транспортного средства, указанное как скаляр в радианах. Направление движения транспортного средства вперед считается нулевым радианом с положительными углами, измеренными против часовой стрелки. Выходные данные TargetDir из блока «Чистый поиск» можно использовать при создании элементов управления из набора ППМ.
steeringDir - Направление рулевого управления для транспортного средстваНаправление рулевого управления для транспортного средства, указанное как скаляр в радианах. Это направление без препятствий вычисляется на основе алгоритма VFH +. Направление движения транспортного средства вперед считается нулевым радианом с положительными углами, измеренными против часовой стрелки.
Number of angular sectors - количество ячеек, используемых для создания гистограмм;180 (по умолчанию) | скалярКоличество ячеек, используемых для создания гистограмм, указанных как скаляр. Этот параметр не настраивается. Этот параметр можно задать только при инициализации объекта.
Range distance limits (m) - Пределы для показаний диапазона[0.05 2] (по умолчанию) | двухэлементный вектор скаляровПределы для показаний диапазона в метрах, определяемые как двухэлементный вектор скаляров. Входные показания диапазона учитываются только в том случае, если они находятся в пределах расстояния. Используйте нижний предел расстояния для игнорирования ложных срабатываний от плохой работы датчика в более низких диапазонах. Используйте верхний предел, чтобы игнорировать препятствия, которые находятся слишком далеко от транспортного средства.
Histogram thresholds - Пороговые значения для вычисления двоичной гистограммы[3 10] (по умолчанию) | двухэлементный вектор скаляровПороговые значения для вычисления двоичной гистограммы, определяемой как двухэлементный вектор скаляров. Алгоритм использует эти пороги для вычисления двоичной гистограммы из полярной плотности препятствий. Полярные значения плотности препятствий выше верхнего порога представлены в двоичной гистограмме как занятое пространство (1). Значения, меньшие нижнего порога, представлены как свободное пространство (0). Значения между пределами задаются значениями предыдущей вычисленной двоичной гистограммы, если она существует из предыдущих итераций. Если предыдущая гистограмма не существует, значение устанавливается как свободное пространство (0).
vehicle radius (m) - радиус транспортного средства;0.1 (по умолчанию) | скалярРадиус транспортного средства, указанный как скаляр в метрах. Этот размер определяет наименьший круг, который может ограничивать транспортное средство. Радиус транспортного средства используется для учета размера транспортного средства при вычислении направления без препятствий.
Safety distance (m) - Безопасная дистанция вокруг транспортного средства0.1 (по умолчанию) | скалярБезопасное расстояние, оставшееся вокруг положения транспортного средства в зависимости от радиуса транспортного средства, определяемое как скаляр в метрах. Радиус транспортного средства и безопасное расстояние используются для вычисления направления без препятствий.
Minimum turning radius (m) - Минимальный радиус поворота при текущей скорости0.1 (по умолчанию) | скалярМинимальный радиус поворота транспортного средства, движущегося с текущей скоростью, определяемый как скаляр в метрах.
Simulate using - Укажите тип выполняемого моделированияCode generation (по умолчанию) | Interpreted executionCode generation - Моделирование модели с использованием сгенерированного кода C. При первом запуске моделирования Simulink ® генерирует код C для блока. Код C используется повторно для последующего моделирования, если модель не изменяется. Эта опция требует дополнительного времени запуска, но скорость последующего моделирования сравнима сInterpreted execution.
Interpreted execution - Моделирование модели с помощью интерпретатора MATLAB ®. Эта опция сокращает время запуска, но имеет более низкую скорость моделирования, чемCode generation. В этом режиме можно отладить исходный код блока.
Настраиваемый: Нет
Target direction weight - Вес функции затрат для целевого направления5 (по умолчанию) | скалярВес функции затрат для перемещения к целевому направлению, заданному как скаляр. Чтобы следовать целевому направлению, установите этот вес выше суммы веса текущего направления и веса предыдущего направления. Чтобы игнорировать стоимость целевого направления, установите для этого веса значение 0.
Current direction weight - Вес функции затрат для текущего направления2 (по умолчанию) | скалярВес функции затрат для перемещения транспортного средства в направлении текущего курса, указанный как скаляр. Более высокие значения этого веса дают эффективные пути. Чтобы игнорировать текущую стоимость направления, установите для этого веса значение 0.
Previous direction weight - Вес функции затрат для предыдущего направления2 (по умолчанию) | скалярВес функции затрат для перемещения в ранее выбранном направлении управления, указанный как скаляр. Более высокие значения этого веса дают более плавные пути. Чтобы игнорировать стоимость предыдущего направления, установите для этого веса значение 0.
Блок использует алгоритм VFH + для вычисления направления без препятствий. Сначала алгоритм берет диапазоны и углы из данных датчика дальности и строит полярную гистограмму для мест расположения препятствий. Затем он использует пороги входной гистограммы для вычисления двоичной гистограммы, которая указывает на занятое и свободное направления. Наконец, алгоритм вычисляет маскированную гистограмму, которая вычисляется из двоичной гистограммы на основе минимального радиуса поворота транспортного средства.
Алгоритм выбирает множество направлений управления на основе открытого пространства и возможных направлений движения. Функция затрат с весами, соответствующими предыдущему, текущему и целевому направлениям, вычисляет стоимость различных возможных направлений. Затем алгоритм возвращает направление без препятствий с минимальными затратами. Используя направление без препятствий, можно ввести команды для перемещения транспортного средства в этом направлении.
Чтобы использовать этот блок для собственного приложения и среды, необходимо настроить параметры алгоритма. Значения параметров зависят от типа транспортного средства, датчика дальности и используемого оборудования. Для получения дополнительной информации об алгоритме VFH см. controllerVFH.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
