getOccupancy

Получите значение заполнения местоположений

Описание

пример

occVal = getOccupancy(map,xy) возвращает массив значений заполнения в xy местоположения в мировой системе координат. Неизвестные местоположения, включая внешнюю сторону карта, возвращают map.DefaultValue.

пример

occVal = getOccupancy(map,xy,"local") возвращает массив значений заполнения в xy местоположения в локальной системе координат.

пример

occVal = getOccupancy(map,ij,"grid") задает ij индексы ячейки сетки вместо xy местоположения.

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

occMatrix = getOccupancy(map) возвращает все значения заполнения в карте как матрица.

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

occMatrix = getOccupancy(map,bottomLeft,matSize,"local") возвращает матрицу значений заполнения путем определения нижнего левого углового местоположения в локальных координатах и матричного размера в метрах.

occMatrix = getOccupancy(map,topLeft,matSize,"grid") возвращает матрицу значений заполнения путем определения верхнего левого индекса ячейки в индексах сетки и матричном размере.

Примеры

свернуть все

Создайте пустую бинарную карту сетки заполнения.

map = binaryOccupancyMap(10,10,20);

Введите положение транспортного средства, областей значений, углов и максимальной области значений лазерного скана.

pose = [5,5,0];
ranges = 3*ones(100,1);
angles = linspace(-pi/2,pi/2,100);
maxrange = 20;

Создайте lidarScan объект с заданными областями и углами.

scan = lidarScan(ranges,angles);

Вставьте лазерные данные сканирования в карту заполнения.

insertRay(map,pose,scan,maxrange);

Покажите карту, чтобы видеть результаты вставки лазерного скана.

show(map)

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

Проверяйте заполнение пятна непосредственно перед транспортным средством.

getOccupancy(map,[8 5])
ans = logical
   1

Доступ к значениям заполнения и проверке их состояние заполнения на основе занятых и свободных порогов occupancyMap объект.

Создайте матрицу и заполните ее со значениями. Используйте эту матрицу, чтобы создать карту заполнения.

p = zeros(20,20);
p(11:20,11:20) = ones(10,10);
map = binaryOccupancyMap(p,10);
show(map)

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

Получите заполнение других мест и проверяйте их состояния заполнения. Состояние заполнения возвращается 0 для свободного пространства и 1 для занятого места. Неизвестные значения возвращаются –1.

pocc = getOccupancy(map,[1.5 1]);
occupied = checkOccupancy(map,[1.5 1]);
pocc2 = getOccupancy(map,[5 5],'grid');

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

свернуть все

Сопоставьте представление в виде binaryOccupancyMap объект. Этот объект представляет среду транспортного средства.

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

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

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

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

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

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

Размер выходной матрицы в виде двухэлементного вектора, [xLength yLength] или [gridRow gridCol]. Размер находится в мировых координатах, локальных координатах или индексах сетки на основе синтаксиса.

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

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

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

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

свернуть все

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

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

Матрица значений заполнения, возвращенных как матрица с размером, равняется matSize или размер map.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Представленный в R2015a