rosmessage

创建ROS消息

描述

例子

味精= rosmessage (messagetype)创建一个空ROS和消息类型消息对象。的messagetype字符串标量是区分大小写的,不允许有部分匹配。它必须匹配消息列表通过调用rosmsg(“列表”)

例子

味精= rosmessage (酒吧)创建一个空的消息由主题发表的酒吧

味精= rosmessage ()创建一个空的消息由订阅的主题

味精= rosmessage (客户端)创建一个空的消息由相关的服务客户端

味精= rosmessage (服务器)创建一个空消息的服务类型决定服务器

例子

全部折叠

strMsg = rosmessage (“std_msgs /字符串”)
strMsg = ROS字符串消息的属性:MessageType: std_msgs /字符串数据:”使用showdetails显示消息的内容

开始ROS的主人。

rosinit
启动ROS .......................................核心…在1.4714秒内完成。初始化ROS主在http://192.168.0.10:53162上。初始化全局节点/ matlab_global_node_93995 NodeURI http://bat1012501glnxa64:38929

创建发布者' /聊天'主题与“std_msgs /字符串”消息类型。

chatpub = rospublisher (' /聊天',“std_msgs /字符串”);

创建一个消息发送。指定数据财产。

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

通过出版商发送消息。

发送(chatpub,味精);

ROS网络关闭。

rosshutdown
关闭全球节点/ matlab_global_node_93995 NodeURI http://bat1012501glnxa64:38929关闭............ ROS大师在http://192.168.0.10:53162上

您可以创建一个对象数组来存储多个消息。数组可转位,类似于任何其他数组中。您可以修改每个对象的属性或从每个元素使用点符号访问特定属性。

创建两个——的消息对象数组。

msgArray = [rosmessage (“std_msgs /字符串”)rosmessage (“std_msgs /字符串”)]
msgArray = 1 x2 ROS字符串消息数组属性:MessageType数据

将数据分配给单个对象数组的元素。

msgArray (1)。Data =“一些字符串”;msgArray (2)。Data =“其他字符串”;

阅读所有的数据从消息对象属性到一个细胞数组。

allData = {msgArray.Data}
allData =1 x2单元格{“一些字符串”}{其他字符串的}

使用ROS消息preallocate数组,使用arrayfuncellfun功能,而不是repmat。这些函数创建对象或细胞阵列处理类。

Preallocate ROS消息的对象数组。

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

Preallocate细胞ROS消息的数组。

msgCell = cellfun (@ (~) rosmessage (“std_msgs /字符串”),细胞(50),“UniformOutput”、假);

输入参数

全部折叠

消息类型,指定为字符串标量或特征向量。字符串是区分大小写的,不允许有部分匹配。它必须匹配消息列表通过调用rosmsg(“列表”)

ROS出版商指定为一个出版商对象句柄。您可以创建对象使用rospublisher

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

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

ROS服务服务器指定为一个ServiceServer对象句柄。您可以创建对象使用rossvcserver

输出参数

全部折叠

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

介绍了R2019b