OccupancyGrid

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

Описание

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

Примечание

Смотрите robotics.OccupancyGrid для представления MATLAB® сеток заполнения, независимых от ROS.

Создание

Синтаксис

msg = rosmessage('nav_msgs/OccupancyGrid');

Описание

пример

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

Свойства

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

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

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

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

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

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

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

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

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

readBinaryOccupancyGridСчитайте бинарную сетку заполнения
writeBinaryOccupancyGridЗапишите значения от сетки до сообщения 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 с помощью объекта BinaryOccupancyGrid. Запишите сообщение OccupancyGrid с помощью writeBinaryOccupancyGrid.

bogMap = robotics.BinaryOccupancyGrid(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 в объект BinaryOccupancyGrid. Используйте объектный функциональный show, чтобы отобразить карту.

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

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