receive

Ожидайте нового сообщения ROS

Описание

пример

msg = receive(sub) ожидает MATLAB®, чтобы получить сообщение темы от заданного подписчика, sub, и возвращает его как msg.

msg = receive(sub,timeout) задает в timeout номер секунд, чтобы ожидать сообщения. Если сообщение не получено в пределе тайм-аута, программное обеспечение производит ошибку.

Примеры

свернуть все

Соединитесь с сетью ROS. Настройте демонстрационную сеть ROS. '/scan' тема публикуется в сети.

rosinit
exampleHelperROSCreateSampleNetwork

Создайте подписчика для '/scan' тема с помощью структур сообщения. Ожидайте подписчика, чтобы указать с ведущим устройством.

sub = rossubscriber('/scan','DataFormat','struct');
pause(1);

Получите данные от подписчика как структура сообщения ROS. Задайте 10 вторых тайм-аутов.

msg2 = receive(sub,10)

Завершите работу таймеров, используемых демонстрационной сетью.

exampleHelperROSShutDownSampleNetwork

Закройте сеть ROS.

rosshutdown

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

свернуть все

Подписчик ROS в виде Subscriber указатель на объект. Можно создать подписчика, использующего rossubscriber.

Тайм-аут для получения сообщения в виде скаляра в секундах.

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

свернуть все

Сообщение ROS, возвращенное как Message указатель на объект или структура.

Примечание

В будущем релизе ROS Toolbox будет использовать структуры сообщения вместо объектов для сообщений ROS.

Чтобы использовать структуры сообщения теперь, установите "DataFormat" аргумент значения имени к "struct". Для получения дополнительной информации смотрите, что ROS передает Структуры.

Вопросы совместимости

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

Изменение поведения в будущем релизе

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

Введенный в R2019b