Read Point Cloud

Извлечение облака точек из сообщения ROS PointCloud2

  • Библиотека:
  • ROS Toolbox/ROS

  • Read Point Cloud block

Описание

Блок Read Point Cloud извлекает облако точек из ROS PointCloud2 сообщение. Можно выбрать параметры сообщения ROS темы, активной в сети live ROS, или задать параметры сообщения отдельно. Сообщения ROS заданы как невиртуальная шина. Используйте блок Subscribe для получения сообщения от сети ROS и ввода сообщения в блок Read Point Cloud.

Примечание

При чтении сообщений облака точек ROS из сети Data свойство сообщения может превысить максимальную длину массива, установленную в Simulink®. Чтобы увеличить максимальную длину массива, щелкните Tools > Manage Array Lengths > Robot Operating System, выберите массив Data и увеличьте размер в зависимости число точек в облаке точек.

Порты

Вход

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

ROS- PointCloud2 сообщение, заданное как невиртуальная шина. Можно использовать блок Subscribe для получения сообщения от сети ROS.

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

Выход

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

x, y и z координаты данных облака точек, выводятся как матрица N -by-3 или h -by w -by-3 многомерный массив. N - число точек. h и w являются высотой и шириной изображения в пикселях. Чтобы получить x, y и z координаты как многомерный массив, выберите Preserve point cloud structure флажок в параметрах маски блока.

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

Значения RGB для каждой точки данных облака точек, выводимые как матрица N -by-3 или h -by w -by-3 многомерный массив. N - число точек. h и w являются высотой и шириной изображения в пикселях. Значения RGB соответствуют интенсивности красных, зеленых и синих цветов с областью значений [0 1].Чтобы получить значения RGB как многомерный массив, выберите Preserve point cloud structure флажок в параметрах маски блока.

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

Значения интенсивности для каждой точки данных облака точек, выводимые как массив или h матрица -by w. h и w являются высотой и шириной изображения в пикселях. Чтобы получить значения интенсивности в виде матрицы, выберите Preserve point cloud structure флажок в параметрах маски блока.

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

Код ошибки для преобразования изображений, возвращенный как скаляр. Значения кода ошибки:

  • 0 - Сообщение облака точек успешно преобразовано.

  • 1 - Размерности входящего облака точек превышают пределы, установленные в Maximum point cloud size.

  • 2 - Один из массивов переменной длины во входящем сообщении был усечен. Смотрите Управление размерами массивов для сообщений ROS в Simulink, чтобы увеличить максимальную длину массива.

  • 3 - The X, Y, или Z отсутствует поле сообщения облака точек.

  • 4 - облако точек не содержит никаких цветовых данных RGB. Вы, должно быть, переключились Show RGB output port для получения этой ошибки.

  • 5 - облако точек не содержит данных о интенсивности. Вы, должно быть, переключились Show Intensity output port для получения этой ошибки.

  • 6 - The X, Y, или Z поле сообщения облака точек не имеет правильного типа данных (float32).

  • 7 - The RGB поле сообщения облака точек не имеет правильного типа данных (float32).

  • 8 - The Intensity поле сообщения облака точек не имеет правильного типа данных (float32).

Для некоторых кодов ошибок данные усекаются или заполняются NaN значения, где это уместно.

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

Параметры

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

Максимальный размер изображения облака точек, заданный как двухэлементный [height width] вектор.

Щелкните Configure using ROS ..., чтобы автоматически задать этот параметр с помощью активной темы в сети ROS. Вы должны быть подключены к сети ROS.

Когда этот флажок установлен, данные облака выхода форму для XYZ, RGB, и Intensity сохранились. Выходные выходы поддерживают структуру оригинального изображения. Поэтому XYZ и RGB выводятся как многомерные массивы и Intensity выводится как матрица.

Установите этот флажок, чтобы получить RGB значения для каждой точки сообщения облака точек от порта RGB. Данные RGB должны быть предоставлены сообщением.

Установите этот флажок, чтобы получить значения интенсивности для каждой точки сообщения облака точек от Intensity порт. Данные интенсивности должны быть предоставлены сообщением.

Установите этот флажок, чтобы отслеживать ошибки с ErrorCode порт.

Установите этот флажок, чтобы выводить сигналы переменного размера. Сигналы переменного размера должны использоваться только, если ожидается изменение размера изображения с течением времени. Для получения дополнительной информации о переменной сигналах смотрите Основы сигнала переменного размера (Simulink).

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.
Введенный в R2019b