setOccupancy

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

Описание

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

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

пример

setOccupancy(map,ij,occval,'grid') значения заполнения присвоений, occval, к входному массиву индексов сетки, ij, как [rows cols].

validPts = setOccupancy(___) выводит n- вектор элемента из логических значений, указывающих, являются ли введенные координаты в пределах карты.

setOccupancy(map,bottomLeft,inputMatrix) присваивает матрицу значений заполнения путем определения нижнего левого углового местоположения в мировых координатах.

setOccupancy(map,bottomLeft,inputMatrix,'local') присваивает матрицу значений заполнения путем определения нижнего левого углового местоположения в локальных координатах.

setOccupancy(map,topLeft,inputMatrix,'grid') присваивает матрицу значений заполнения путем определения верхнего левого индекса ячейки в индексах сетки и матричном размере.

Примеры

свернуть все

Создайте пустую карту 10 10 метров в размере.

map = occupancyMap(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)

Figure contains an axes object. The axes object with title Occupancy Grid contains an object of type image.

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

inflate(map,0.5)
figure
show(map)

Figure contains an axes object. The axes object with title Occupancy Grid contains an object of type image.

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

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

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

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

Figure contains an axes object. The axes object with title Occupancy Grid contains an object of type image.

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

свернуть все

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

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

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

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

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

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

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

Значения заполнения в виде матрицы. Значения даны между 0 и 1 включительно.

Местоположение левого нижнего угла выходной матрицы в мировых или локальных координатах в виде двухэлементного вектора, [xCoord yCoord]. Местоположение находится в мировых или локальных координатах на основе синтаксиса.

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

Местоположение левого верхнего угла сетки в виде двухэлементного вектора, [iCoord jCoord].

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

Выходные аргументы

свернуть все

Допустимые местоположения карты, возвращенные как n-by-1 вектор-столбец, равняются в длине xy или ij. Местоположения в карте возвращают значение 1. Местоположения вне пределов карты возвращают значение 0.

Ограничения

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

Введенный в R2019b