Пакет: робототехника
Создайте сетку заполнения с вероятностными значениями
OccupancyGrid
создает 2D карту сетки заполнения. Каждая ячейка в сетке заполнения имеет значение, представляющее вероятность заполнения той ячейки. Значения близко к 1 представляют высокую уверенность, что ячейка содержит препятствие. Значения близко к 0 представляют уверенность, что ячейка не занята и свободное препятствие.
Сетки заполнения используются в алгоритмах робототехники, таких как планирование пути (см. robotics.PRM
). Они также используются в отображении приложений для нахождения путей без коллизий, выполнения предотвращения столкновения и вычисления локализации (см. robotics.MonteCarloLocalization
). Можно изменить сетку заполнения, чтобы соответствовать определенному приложению.
Объекты OccupancyGrid
поддерживают мировые и декартовы координаты. Источник мировых координат задан свойством GridLocationInWorld
объекта, который задает нижний левый угол сетки. Номер и размер местоположений сетки заданы свойством Resolution
. Первое местоположение сетки с индексом (1,1)
начинается в верхнем левом углу сетки.
Используйте класс OccupancyGrid
, чтобы создать 2D карты среды со значениями вероятности, представляющими различные препятствия в вашем мире. Можно задать точные значения вероятности ячеек или включать наблюдения от датчиков, таких как лазерные сканеры.
Значения вероятности хранятся с помощью двоичного файла фильтр Бейеса, чтобы оценить заполнение каждой ячейки сетки. Представление логарифмических разногласий используется со значениями, сохраненными как int16
, чтобы уменьшать размер ресурса хранения карты и допускать приложения реального времени.
Если емкость памяти является ограничением, рассмотрите использование robotics.BinaryOccupancyGrid
вместо этого. Бинарная сетка заполнения использует меньше памяти с двоичными значениями, но все еще работает с алгоритмами Robotics System Toolbox™ и другими приложениями.
создает 2D объект сетки заполнения представление мирового пробела map
= robotics.OccupancyGrid(width
,height
)width
и height
в метрах. Разрешение сетки по умолчанию является 1 ячейкой на метр.
создает сетку заполнения с заданным разрешением сетки в ячейках на метр.map
= robotics.OccupancyGrid(width
,height
,resolution
)
создает сетку заполнения с конкретным количеством строк и столбцов и с разрешением в ячейках на метр.map
= robotics.OccupancyGrid(rows,cols,resolution
,"grid")
создает сетку заполнения из значений в матричном map
= robotics.OccupancyGrid(p
)p
. Размер сетки совпадает с размером матрицы с каждым значением вероятности ячейки, интерпретированным от матричного местоположения.
создает сетку заполнения из заданной матрицы и разрешения в ячейках на метр.map
= robotics.OccupancyGrid(p
,resolution
)
checkOccupancy | Проверяйте местоположения бесплатно, занятые, или неизвестные значения |
копия | Создайте копию сетки заполнения |
getOccupancy | Получите заполнение местоположения |
grid2world | Преобразуйте индексы сетки в мировые координаты |
раздуть | Раздуйте каждое занятое местоположение сетки |
insertRay | Вставьте луч от лазерного наблюдения сканирования |
occupancyMatrix | Преобразуйте сетку заполнения, чтобы удвоить матрицу |
rayIntersection | Вычислите точки пересечения карты лучей |
raycast | Вычислите индексы ячейки вдоль луча |
setOccupancy | Установите заполнение местоположения |
show | Покажите значения сетки в фигуре |
updateOccupancy | Интегрируйте наблюдение вероятности в местоположении |
world2grid | Преобразуйте мировые координаты в индексы сетки |
Значения заполнения имеют ограниченное разрешение ±0.001. Значения хранятся как int16
с помощью представления логарифмических разногласий. Этот тип данных ограничивает разрешение, но сохраняет вас память при хранении больших карт в MATLAB®. При вызове set
и затем get
, возвращенное значение не может равняться значению, которое вы устанавливаете. Для получения дополнительной информации смотрите раздел представлений логарифмических разногласий в Сетках Заполнения.
readOccupancyGrid
| robotics.BinaryOccupancyGrid
| robotics.PRM
| robotics.PurePursuit
| writeOccupancyGrid