主要内容

rosmessage

创建ROS消息

描述

例子

味精= rosmessage(MessageType.创建一个空的具有消息类型的ROS消息对象。的MessageType.字符串标量是区分大小写的,不允许部分匹配。它必须与调用所给出的列表中的消息相匹配rosmsg(“列表”)

请注意

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

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

例子

味精= rosmessage(酒吧创建由发布的主题确定的空消息酒吧

味精= rosmessage(创建由订阅主题确定的空消息

味精= rosmessage(客户端创建由关联的服务确定的空消息客户端

味精= rosmessage(服务器创建由服务类型确定的空消息服务器

味精= rosmessage(___“DataFormat”,“结构”)使用以前语法中的任何参数创建一个空消息作为消息结构。有关更多信息,请参见ROS消息结构

例子

全部收缩

创建ROS消息作为结构std_msgs /字符串消息类型。

strMsg = rosmessage (“std_msgs /字符串”“DataFormat”“结构”
strMsg =结构与字段:MessageType:'std_msgs / string'数据:''

开始罗斯大师。

罗斯尼特
启动ROS核心......在0.87184秒内完成。初始化ROS Master网上 -  0.10.0.0:53250。使用nodeUri初始化全局节点/ matlab_global_node_74952 http:// bat800205glnxa64:37397 /

为此创建发布者/喋喋不休主题与std_msgs /字符串消息类型。设置“DataFormat”name-value参数来构造ROS消息。

chatpub = rospublisher (“/喋喋不休”“std_msgs /字符串”“DataFormat”“结构”);

创建要发送的消息。指定数据属性具有字符向量。

味精= rosmessage (chatpub);味精。数据='测试短语'

通过发布者发送消息。

发送(chatpub,味精);

关闭ROS网络。

rosshutdown
使用nodeuri关闭全局节点/ matlab_global_node_74952 http:// bat800205glnxa64:37397 /关闭ros master http://192.168.0.10:53250。

您可以创建一个结构数组来存储多个消息。该数组是可索引的,类似于任何其他数组。您可以使用点表示法修改每个对象的属性或访问每个元素的特定属性。

创建一个包含两个消息的数组。指定DataFormat参数name-value使用结构来生成ROS消息。

blankMsg = rosmessage (“std_msgs /字符串”“DataFormat”“结构”
blankmsg =结构与字段:MessageType:'std_msgs / string'数据:''
msgArray = [blankMsg blankMsg]
msgArray =1×2结构阵列与字段:MessageType数据

将数据分配给数组中的单个消息字段。

msgArray(1)。Data ='有些字符串';Msgarray(2).data =“其他字符串”

阅读所有的数据从消息到小区数组的字段。

allData = {msgArray。数据}
alldata =1 x2单元格{'Some string'} {'Other string'}

如果要使用ROS消息作为对象来预分配数组,请使用arrayfun要么Cellfun.功能,而不是repmat..这些函数正确地为句柄类创建对象或单元格数组。

注意:在将来的释放中,ROS消息对象将被删除。要将ROS消息用作结构并利用结构阵列,请指定DataFormat的名称-值对rosmessage函数。

预分配一个对象阵列的ROS消息。

msgArray = arrayfun(@(~) rosmessage(“std_msgs /字符串”), 0 (50));

预分配一个cell array的ROS消息。

msgcell = Cellfun(@(〜)rosmessage(“std_msgs /字符串”),细胞(1,50),“UniformOutput”,错误的);

输入参数

全部收缩

消息类型,指定为字符串标量或字符向量。字符串区分大小写,不允许部分匹配。它必须与调用所给出的列表中的消息相匹配rosmsg(“列表”)

ROS发行者,指定为出版商对象句柄。您可以使用创建对象Rospublisher.

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

ROS服务客户端,指定为ServiceClient对象句柄。您可以使用创建对象rossvcclient

ROS业务服务器,指定为服务者对象句柄。您可以使用创建对象rossvcserver

输出参数

全部收缩

ROS消息,作为一个返回信息对象句柄或结构。

兼容性考虑因素

全部展开

未来发布的行为变化

扩展功能

介绍了R2019b