exponenta event banner

Гистограмма векторного поля

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

Размеры робота

Чтобы рассчитать направления рулевого управления, необходимо указать информацию о размере робота и его возможности вождения. Алгоритм VFH требует только четырех входных параметров для робота. Эти параметры являются свойствами controllerVFH объект: RobotRadius, SafetyDistance, MinTurningRadius, и DistanceLimits.

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

  • SafetyDistance дополнительно указывает добавленное расстояние поверх RobotRadius. Это свойство можно использовать для добавления коэффициента безопасности при навигации по среде.

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

  • DistanceLimits определяет диапазон расстояний, который необходимо учитывать для предотвращения препятствий. Границы задаются в двухэлементном векторе, [lower upper]. lower ограничение используется для игнорирования показаний датчика, пересекающихся с деталями робота, неточностей датчика на коротких расстояниях или шума датчика. upper предел - эффективный диапазон датчика или зависит от приложения. Возможно, не следует учитывать все препятствия в полном диапазоне датчиков.

Примечание

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

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

Веса функции затрат используются для вычисления окончательных направлений управления. Алгоритм VFH учитывает несколько направлений управления на основе текущих, предыдущих и целевых направлений. Путем установки CurrentDirectionWeight, PreviousDirectionWeight, и TargetDirectionWeight можно изменить поведение робота при управлении. Изменение этих весов влияет на отзывчивость робота и на то, как он реагирует на препятствия. Чтобы сделать робота головой к его целевому расположению, установите TargetDirectionWeight выше, чем сумма других весов. Этот высокий TargetDirectionWeight значение помогает гарантировать, что вычисленное направление рулевого управления близко к целевому направлению. В зависимости от приложения может потребоваться настроить эти веса.

Свойства гистограммы

Алгоритм VFH вычисляет гистограмму на основе данных датчика заданного диапазона. Он принимает все направления вокруг робота и преобразует их в угловые сектора, которые определены NumAngularSectors собственность. Это свойство не настраивается и остается исправленным после controllerVFH вызывается объект. Данные датчика дальности используются для вычисления полярной гистограммы плотности по этим угловым секторам.

Примечание

Использование небольшого NumAngularSectors значение может привести к пропуску алгоритмом VFH меньших препятствий. Пропущенные препятствия не отображаются на гистограмме.

Эта гистограмма отображает угловые сектора синим цветом, а пороги гистограммы - розовым. HistogramThresholds свойство представляет собой двухэлементный вектор, определяющий значения маскированной гистограммы, указанные как [lower upper]. Полярные значения плотности препятствий выше верхнего порога представлены в маскированной гистограмме как занятое пространство (1). Значения, меньшие нижнего порога, представлены как свободное пространство (0). Значения, попадающие между пределами, устанавливаются в значения предыдущей двоичной гистограммы, по умолчанию - свободное пространство (0). Маскированная гистограмма также влияет на MinTurningRadius, RobotSize, и SafetyDistance.

График полярной плотности имеет следующий график маскированной гистограммы. На этом графике показаны целевое и рулевое направления, показания диапазона и пределы расстояния.

Настройка параметров с помощью show

При работе с controllerVFH можно визуализировать свойства и параметры алгоритма с помощью show функция. Этот метод отображает график полярной плотности и замаскированную двоичную гистограмму. Он также отображает параметры алгоритма и направление управления выходом для VFH.

Затем можно настроить параметры, чтобы помочь прототипировать приложение для предотвращения препятствий. Например, если на графике «Полярная гистограмма в маскировке» (справа) не отображаются определенные препятствия, то на графике «Полярная плотность препятствий» рекомендуется скорректировать пороги гистограммы до соответствующих значений. После внесения изменений в график «Полярная гистограмма с маскировкой» показания датчика диапазона, показанные красным цветом, должны совпадать с расположениями в маскированной гистограмме (синяя). Также можно увидеть целевое и рулевое направления. Указывается целевое направление. Направление рулевого управления является основным выходом алгоритма VFH. Настройка весов функции затрат может помочь настроить выходные данные конечного направления рулевого управления.

Хотя вы можете использовать show способ в цикле замедляет скорость вычислений за счет графического построения графика. При выполнении этого алгоритма для приложений реального времени получайте и отображайте данные VFH в отдельных операциях.

См. также