exponenta event banner

показать

Отображение значений сетки на рисунке

Описание

пример

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

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

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

show(___,Name,Value) указывает дополнительные параметры, указанные одним или несколькими аргументами пары «имя-значение».

mapImage = show(___) возвращает дескриптор объекту изображения, созданному show.

Примеры

свернуть все

Создайте пустую карту размером 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. The axes with title Occupancy Grid contains an object of type image.

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

inflate(map,0.5)
figure
show(map)

Figure contains an axes. The axes 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. The axes with title Occupancy Grid contains an object of type image.

Преобразование файла PGM, содержащего карту ROS, в occupancyMap для использования в MATLAB.

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

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

Figure contains an axes. The axes contains an object of type image.

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

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

Создать occupancyMap с использованием скорректированного изображения карты. Разрешение импортированной карты составляет 20 ячеек на метр.

map = occupancyMap(imageOccupancy,20);
show(map)

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

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

свернуть все

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

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'Parent',axHandle

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

Обновить существующий график карты, указанный как 0 или 1. Если карта ранее была нанесена на рисунок, установите значение 1 для более быстрого обновления рисунка. Это полезно для обновления фигуры в цикле быстрых анимаций.

Продукция

свернуть все

Изображение карты, указанное как дескриптор объекта.

Представлен в R2019b