show

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

Покажите значения сетки в фигуре

Синтаксис

show(map)
show(map, "grid")
show(___,"Parent",parent)
mapImage= show(map,___)

Описание

пример

show(map) отображает сетку заполнения map в текущей системе координат, с метками осей, представляющими мировые координаты.

show(map, "grid") отображает сетку заполнения с метками осей, представляющими декартовы координаты.

show(___,"Parent",parent) использует указатель осей, заданный в качестве родительского элемента, чтобы отобразить сетку заполнения. Используйте любой из аргументов от предыдущих синтаксисов.

mapImage= show(map,___) возвращает указатель на объект изображения, созданный show.

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

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

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

Оси, чтобы построить карту, заданную как любой объект Axes или UIAxes. Смотрите axes или uiaxes.

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

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

Сопоставьте изображение, заданное как указатель на объект.

Примеры

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

Создайте 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)

Преобразуйте портативный graymap (.pgm) файл, содержащий карту ROS в карту OccupancyGrid для использования в MATLAB.

Импортируйте изображение с помощью imread. Обрежьте изображение к соответствующей области.

image = imread('playpen_map.pgm');
imageCropped = image(750:1250,750:1250);
imshow(imageCropped)

Значения PGM выражаются от 0 до 255 как uint8. Нормируйте эти значения путем преобразования кадрированного изображения в double и деления каждой ячейки на 255. Это изображение показывает препятствия значениями близко к 0. Вычтите нормированное изображение от 1, чтобы добраться, значения заполнения с 1 представлением заняли место.

imageNorm = double(imageCropped)/255;
imageOccupancy = 1 - imageNorm;

Создайте объект OccupancyGrid с помощью настроенного изображения карты. Импортированное разрешение карты является 20 ячейками на метр.

map = robotics.OccupancyGrid(imageOccupancy,20);
show(map)

Введенный в R2017b