setOccupancy

Класс: робототехника. OccupancyGrid
Пакет: робототехника

Установите заполнение местоположения

Синтаксис

setOccupancy(map,xy,occval)
setOccupancy(map,ij,occval,"grid")

Описание

пример

setOccupancy(map,xy,occval) присваивает значения заполнения каждой координате, заданной в xy. occval может быть массивом длина xy или скаляра, который применяется ко всем координатам.

setOccupancy(map,ij,occval,"grid") значения заполнения присвоений к заданным местоположениям сетки, ij, вместо к мировым координатам.

Входные параметры

развернуть все

Сопоставьте представление, заданное как объект robotics.OccupancyGrid. Этот объект представляет среду робота. Объект содержит матричную сетку со значениями, представляющими вероятность заполнения той ячейки. Значения близко к 1 представляют высокую уверенность, что ячейка содержит препятствие. Значения близко к 0 представляют уверенность, что ячейка не занята и свободное препятствие.

Мировые координаты, заданные как n-by-2 матрица пар [x y], где n является количеством мировых координат.

Типы данных: double

Положения сетки, заданные как n-by-2 матрица пар [i j] в формате [rows cols], где n является количеством положений сетки.

Типы данных: double

Значения заполнения вероятности, заданные как скаляр или вектор-столбец тот же размер или как xy или как ij. Скалярный вход применяется ко всем координатам или в xy или в ij.

Значения близко к 0 представляют уверенность, что ячейка не занята и свободное препятствие.

Примеры

развернуть все

Создайте 10m-by-10m пустую карту.

map = robotics.OccupancyGrid(10,10,10);

Обновите заполнение мировых местоположений с определенными значениями вероятности.

map = robotics.OccupancyGrid(10,10,10);
x = [1.2; 2.3; 3.4; 4.5; 5.6];
y = [5.0; 4.0; 3.0; 2.0; 1.0];

pvalues = [0.2 0.4 0.6 0.8 1];

updateOccupancy(map,[x y],pvalues)
figure
show(map)

Раздуйте занятые области данным радиусом. Большие значения заполнения перезаписывают меньшие значения.

inflate(map,0.5)
figure
show(map)

Получите местоположения сетки от мировых местоположений.

ij = world2grid(map,[x y]);

Установите местоположения сетки на занятые местоположения.

setOccupancy(map,ij,ones(5,1),'grid')
figure
show(map)

Ограничения

Значения заполнения имеют ограниченное разрешение ±0.001. Значения хранятся как int16 с помощью представления логарифмических разногласий. Этот тип данных ограничивает разрешение, но сохраняет вас память при хранении больших карт в MATLAB®. При вызове set и затем get, возвращенное значение не может равняться значению, которое вы устанавливаете. Для получения дополнительной информации смотрите раздел представлений логарифмических разногласий в Сетках Заполнения.

Введенный в R2017b

Для просмотра документации необходимо авторизоваться на сайте