Избегайте препятствий с помощью гистограммы векторного поля
controllerVFH Система object™ позволяет избежать препятствий на основе данных датчика дальности с использованием векторных гистограмм поля (VFH). Учитывая показания лазерного сканирования и целевое направление движения, объект вычисляет направление управления без препятствий.
controllerVFH специально использует алгоритм VFH + для вычисления направления без препятствий. Сначала алгоритм берет диапазоны и углы из данных лазерного сканирования и строит полярную гистограмму для мест расположения препятствий. Затем по порогам входной гистограммы вычисляют двоичную гистограмму, которая указывает на занятое и свободное направления. Наконец, алгоритм вычисляет маскированную гистограмму, которая вычисляется из двоичной гистограммы на основе минимального радиуса поворота транспортного средства.
Алгоритм выбирает множество направлений управления на основе открытого пространства и возможных направлений движения. Функция затрат с весами, соответствующими предыдущему, текущему и целевому направлениям, вычисляет стоимость различных возможных направлений. Затем объект возвращает направление без препятствий с минимальными затратами. Используя направление без препятствий, можно ввести команды для перемещения транспортного средства в этом направлении.
Чтобы использовать этот объект для собственного приложения и среды, необходимо настроить свойства алгоритма. Значения свойств зависят от типа транспортного средства, датчика дальности и используемого оборудования.
Чтобы найти направление рулевого управления без препятствий:
Создать controllerVFH и задайте его свойства.
Вызовите объект с аргументами, как если бы это была функция.
Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.
возвращает объект векторной гистограммы поля, который вычисляет направление управления без препятствий с помощью VFH = controllerVFHVFH+ алгоритм.
возвращает объект гистограммы векторного поля с дополнительными опциями, заданными одним или несколькими VFH = controllerVFH(Name,Value)Name,Value пар. Имя - имя свойства, а значение - соответствующее значение. Имя должно отображаться в отдельных кавычках (' '). Можно указать несколько аргументов пары имя-значение в любом порядке как Name1,Value1,...,NameN,ValueN. Не указанные свойства сохраняют значения по умолчанию.
находит направление рулевого управления без препятствий с помощью алгоритма VFH + для входаsteeringDir = vfh(scan,targetDir)lidarScan объект, scan. Целевое направление задается на основе целевого местоположения.
Чтобы включить этот синтаксис, необходимо установить UseLidarScan свойство для true. Например:
mcl = monteCarloLocalization('UseLidarScan',true); ... [isUpdated,pose,covariance] = mcl(odomPose,scan);
определяет лидарное сканирование с двумя векторами: steeringDir = vfh(ranges,angles,targetDir)ranges и angles.
Чтобы использовать функцию объекта, укажите объект System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:
release(obj)
[1] Боренштейн, Дж., и Я. Корен. «Векторная гистограмма поля - быстрое устранение препятствий для мобильных роботов». IEEE Journal of Robotics and Automation. Том 7, номер 3, 1991, стр. 278-88.
[2] Ульрих, И. и Дж. Боренштейн. «VFH: надежное предотвращение препятствий для быстрых мобильных роботов». Разбирательство. 1998 Международная конференция IEEE по робототехнике и автоматизации. (1998): 1572–1577.