主要内容

收到

等待新的ROS消息

描述

例子

味精=收到()等待MATLAB®从指定的用户收到一个主题的信息,,并返回它味精

味精=收到(,超时)指定在超时的秒数等信息。如果没有收到消息在超时限制,这个函数将显示一个错误。

例子

(味精,状态,statustext)=收到(___)返回一个状态指示是否已经接收了消息成功,statustext捕获更多的信息状态,从以前的语法使用任何参数。如果发生错误条件,如在指定的超时未收到消息,状态,这个函数不会显示一个错误。

例子

全部折叠

连接到一个ROS网络。建立一个示例ROS网络。的“/扫描”主题是发表在网络上。

rosinit
启动ROS核心……在0.6836秒内完成。初始化ROS主在http://172.29.219.144:49913上。初始化全局节点/ matlab_global_node_85550 NodeURI http://dcc273459glnxa64:37641和http://localhost MasterURI: 49913。
exampleHelperROSCreateSampleNetwork

创建一个用户“/扫描”主题使用消息的结构。等待用户注册的主人。

子= rossubscriber (“/扫描”,“DataFormat”,“结构”);暂停(1);

接收数据的用户作为ROS消息结构。指定一个10秒的超时。

[msg2、状态、statustext] =接收(子,10)
msg2 =结构体字段:MessageType:“sensor_msgs /提升”标题:[1 x1 struct] AngleMin: -0.5467 AngleMax: 0.5467 AngleIncrement: 0.0017 TimeIncrement: 0 ScanTime: 0.0330 RangeMin: 0.4500 RangeMax: 10范围:[640 x1单]强度:[]
状态=逻辑1
statustext = '成功'

关闭定时器样品所使用的网络。

exampleHelperROSShutDownSampleNetwork

ROS关闭网络。

rosshutdown
关闭全局节点/ matlab_global_node_85550 NodeURI http://dcc273459glnxa64:37641和http://localhost MasterURI: 49913。在http://172.29.219.144:49913上关闭ROS的主人。

输入参数

全部折叠

ROS订阅者,指定为一个订阅者对象句柄。您可以创建用户使用rossubscriber

超时接收消息,指定为一个标量在几秒钟内。

输出参数

全部折叠

ROS的信息,作为一个返回消息对象处理或结构。

请注意

在未来的版本中,ROS工具箱将使用的消息结构,而不是对象ROS的消息。

现在使用的消息结构,设置“DataFormat”名称-值参数“结构”。有关更多信息,请参见ROS消息结构

消息的接收状态,作为一个返回逻辑标量。如果没有接收到消息,地位

请注意

使用状态输出参数使用接收时的入口点函数的代码生成。这将避免运行时错误和输出状态相反,可以对调用代码。

状态文本与接待,返回的信息为以下之一:

  • “成功”——成功接收的消息。

  • “超时”——在指定的超时没有收到的消息。

  • “未知”——由于未知的错误信息是没有收到。

提示

对于代码生成:

  • 使用状态输出参数当你调用收到的入口点函数。这将避免运行时错误,相反,输出消息接收的状态,可以对调用代码。

扩展功能

版本历史

介绍了R2019b

全部展开

在未来的发布行为改变