Создание карты занятости с вероятностными значениями
occupancyMap создает 2-D объект карты сетки занятости. Каждая ячейка в сетке занятости имеет значение, представляющее вероятность занятости этой ячейки. Значения, близкие к 1, представляют высокую вероятность того, что ячейка содержит препятствие. Значения, близкие к 0, представляют высокую вероятность того, что ячейка не занята и не содержит препятствий.
Карты занятости используются в алгоритмах навигации, таких как планирование путей (см. plannerRRT). Они также используются в приложениях отображения для поиска путей без столкновений, выполнения предотвращения столкновений и вычисления локализации (см. monteCarloLocalization). Карту заполняемости можно изменить в соответствии с конкретным приложением.
occupancyMap объекты поддерживают локальные координаты, мировые координаты и индексы сетки. Первое расположение сетки с индексом (1,1) начинается в левом верхнем углу сетки.
Используйте occupancyMap класс для создания 2-D карт среды со значениями вероятности, представляющими различные препятствия в вашем мире. Можно указать точные значения вероятности ячеек или включить наблюдения с датчиков, таких как лазерные сканеры.
Значения вероятности сохраняются с использованием двоичного фильтра Байеса для оценки занятости каждой ячейки сетки. Используется представление логарифмических шансов со значениями, сохраненными как int16 для уменьшения размера памяти карты и обеспечения приложений реального времени.
создает карту занятости с заданным разрешением сетки в ячейках на метр. map = occupancyMap(width,height,resolution)resolution задает свойство «Разрешение».
создает карту заполнения с заданным количеством строк и столбцов и разрешением в ячейках на метр. Значения map = occupancyMap(rows,cols,resolution,'grid')rows и cols задает свойство GridSize.
создает карту занятости из значений в матрице map = occupancyMap(p)p. Размер сетки соответствует размеру матрицы, причем каждое значение вероятности ячейки интерпретируется из расположения матрицы.
создает карту занятости из указанной матрицы и разрешения в ячейках на метр.map = occupancyMap(p,resolution)
map = occupancyMap( создает объект с использованием значений из другого sourcemap)occupancyMap объект.
map = occupancyMap( создает объект с использованием значений из другого sourcemap,resolution)occupancyMap объект, но выполняет повторную выборку матрицы с заданным разрешением.
checkOccupancy | Проверять местоположения на наличие свободных, занятых или неизвестных значений |
copy | Создание копии сетки занятости |
getOccupancy | Получение значения заполняемости местоположений |
grid2local | Преобразование индексов сетки в локальные координаты |
grid2world | Преобразование индексов сетки в мировые координаты |
inflate | Надувать каждое занятое расположение сетки |
insertRay | Вставить луч от наблюдения лазерного сканирования |
local2grid | Преобразование локальных координат в индексы сетки |
local2world | Преобразование локальных координат в мировые |
move | Переместить карту в мировой рамке |
occupancyMatrix | Преобразовать сетку занятости в двойную матрицу |
raycast | Вычисление индексов ячеек вдоль луча |
rayIntersection | Поиск точек пересечения лучей и занятых ячеек карты |
setOccupancy | Установка значения заполняемости местоположений |
show | Отображение значений сетки на рисунке |
syncWith | Синхронизировать карту с перекрывающейся картой |
updateOccupancy | Интеграция вероятностных наблюдений в местоположениях |
world2grid | Преобразование мировых координат в индексы сетки |
world2local | Преобразование мировых координат в локальные |
Значения заполняемости имеют ограниченное разрешение ± 0,001. Значения сохраняются какint16 с использованием представления логарифмов. Этот тип данных ограничивает разрешение, но экономит память при сохранении больших карт в MATLAB ®. При звонкеsetOccupancy а затем getOccupancy, возвращаемое значение может не совпадать с заданным. Дополнительные сведения см. в разделе Представления регистрационных шансов в Сетках занятости.
Если размер памяти является ограничением, рекомендуется использовать binaryOccupancyMap вместо этого. Двоичная карта занятости использует меньше памяти с двоичными значениями, но все еще работает с алгоритмами Navigation Toolbox™ и другими приложениями.
binaryOccupancyMap | readOccupancyGrid (панель инструментов ROS) | writeOccupancyGrid(Панель инструментов ROS) | controllerPurePursuit(Панель инструментов системы робототехники) | mobileRobotPRM(Панель инструментов системы робототехники)