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