OccupancyGrid

Создайте сообщение сетки заполнения

Описание

The OccupancyGrid объект является реализацией nav_msgs/OccupancyGrid тип сообщения в ROS. Объект содержит метаинформацию о сообщении и данных сетки заполнения.

Как создать binaryOccupancyMap (Robotics System Toolbox) объект из сообщения ROS, используйте readBinaryOccupancyGrid функция.

Как создать occupancyMap (Navigation Toolbox), используйте readOccupancyGrid функция.

Создание

Описание

пример

msg = rosmessage('nav_msgs/OccupancyGrid'); создает пустой OccupancyGrid объект. Чтобы задать информацию о карте и данные, используйте map.Info и msg.Data свойства. Можно также получить сообщения сетки заполнения из сети ROS с помощью rossubscriber.

Свойства

расширить все

Это свойство доступно только для чтения.

Тип сообщения ROS, возвращенный как вектор символов.

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

Это свойство доступно только для чтения.

Сообщение заголовка ROS, возвращенное как Header объект. Это сообщение заголовка содержит MessageType, последовательность (Seq), временная метка (Stamp), и FrameId.

Информация о карте, заданная как MapMetaData объект. Он содержит ширину, высоту, разрешение и источник карты.

Сопоставьте данные, заданные как вектор. Вектор является всеми данными заполнения из каждого местоположения сетки в одном 1-D массиве.

Функции объекта

readOccupancyGridЧтение сообщения сетки заполнения
readBinaryOccupancyGridСчитайте двоичную сетку заполнения
writeBinaryOccupancyGridЗапись значений из сетки в сообщение ROS
writeOccupancyGridЗапись значений из сетки в сообщение ROS

Примеры

свернуть все

Загрузите две карты, simpleMap и complexMap, как логические матрицы. Использование whos отобразить карту.

load exampleMaps.mat
whos *Map*
  Name              Size               Bytes  Class      Attributes

  complexMap       41x52                2132  logical              
  emptyMap         26x27                 702  logical              
  simpleMap        26x27                 702  logical              
  ternaryMap      501x501            2008008  double               

Создайте ROS-сообщение от simpleMap использование binaryOccupancyMap объект. Напишите OccupancyGrid сообщение с использованием writeBinaryOccupancyGrid.

bogMap = binaryOccupancyMap(double(simpleMap));
mapMsg = rosmessage('nav_msgs/OccupancyGrid');
writeBinaryOccupancyGrid(mapMsg,bogMap)
mapMsg
mapMsg = 
  ROS OccupancyGrid message with properties:

    MessageType: 'nav_msgs/OccupancyGrid'
         Header: [1x1 Header]
           Info: [1x1 MapMetaData]
           Data: [702x1 int8]

  Use showdetails to show the contents of the message

Использование readBinaryOccupancyGrid для преобразования сообщения ROS в binaryOccupancyMap объект. Используйте функцию объекта show отобразить карту.

bogMap2 = readBinaryOccupancyGrid(mapMsg);
show(bogMap2);

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

См. также

Объекты

Функции

Введенный в R2019b