receive

Подождите нового сообщения ROS

Описание

пример

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

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

Примеры

свернуть все

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

rosinit
Launching ROS Core...
Done in 0.95002 seconds.
Initializing ROS master on http://192.168.0.10:50060.
Initializing global node /matlab_global_node_87093 with NodeURI http://bat6315glnxa64:45715/
exampleHelperROSCreateSampleNetwork

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

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

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

msg2 = receive(sub,10)
msg2 = struct with fields:
       MessageType: 'sensor_msgs/LaserScan'
            Header: [1x1 struct]
          AngleMin: -0.5216
          AngleMax: 0.5243
    AngleIncrement: 0.0016
     TimeIncrement: 0
          ScanTime: 0.0330
          RangeMin: 0.4500
          RangeMax: 10
            Ranges: [640x1 single]
       Intensities: []

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

exampleHelperROSShutDownSampleNetwork

Завершите работу сети ROS.

rosshutdown
Shutting down global node /matlab_global_node_87093 with NodeURI http://bat6315glnxa64:45715/
Shutting down ROS master on http://192.168.0.10:50060.

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

свернуть все

ROS-абонент, заданный как Subscriber указатель на объект. Вы можете создать абонента, используя rossubscriber.

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

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

свернуть все

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

Примечание

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

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

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

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

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

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

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