主要内容

节点

启动ROS节点并连接到ROS Master

描述

ros.node.对象表示ROS网络中的ROS节点。该对象使您可以与ROS网络的其余部分通信。您必须在使用其他ROS功能之前创建一个节点,例如发布者,订阅者和服务。

您可以使用ros节点使用罗斯尼特功能,或通过呼叫ros.node.

  • 罗斯尼特- 在matlab中创建一个单个ROS节点®。您可以指定现有的ROS主机,或者该函数为您创建一个。这节点对象不可见。

  • ros.node.- 创建多个ROS节点,以便在MATLAB中的同一ROS网络上使用。

创建

描述

例子

n = ros.node(名称的)使用ROS节点初始化名称并尝试连接到默认URI的ROS主站,http:// localhost:11311

n = ros.node(名称主持人的)尝试在指定的IP地址或主机名中连接到ROS主设备,主持人使用默认端口号,11311.

n = ros.node(名称主持人港口的)尝试连接到ROS主站的端口号,港口

n = ros.node(名称Masteruri.港口的)尝试在指定的IP地址连接到ROS主站,Masteruri.

n = ros.node(___,'nodehost',hostname)指定节点用于向ROS网络通告本身的IP地址或主机名。例子包括“192.168.1.1”或者“comp-home”。您可以使用以前的语法中的任何参数。

特性

展开全部

节点的名称,指定为字符串标量或字符向量。节点名称必须是有效的ROS图表名称。看ROS名称

ROS主机的URI,指定为字符串标量或字符向量。该节点与给定URI连接到ROS主机。

节点的URI,指定为字符串标量或字符向量。该节点使用此URI在ROS网络上宣传为其他人进行连接。

当前的ROS网络时间,指定为a时间目的。有关更多信息,请参阅罗斯蒂姆

例子

全部收缩

创建多个ROS节点。使用节点具有发布者,订阅者和其他ROS功能的对象,可指定您连接的节点。

创建一个ROS主人。

master = ros.core;
推出ROS核心......在0.89732秒内完成。

初始化多个节点。

node1 = ros.node('/ test_node_1');node2 = ros.node('/ test_node_2');

使用这些节点执行单独的操作并发送单独的消息。发布的消息node1.可以通过运行的订户访问node2.

pub = ros.publisher(node1,'/喋喋不休''std_msgs / string');sub = ros.subscriber(node2,'/喋喋不休''std_msgs / string');msg = rosmessage('std_msgs / string');msg.data =.'来自节点1'的消息;

发送消息node1.。订阅者附加到node2.将收到消息。

发送(PUB,MSG)%从节点1发送暂停(1)%等待邮件更新sub.latestmessage.
ans =带有属性的ROS字符串消息:MessageType:'std_msgs / string'数据:'来自节点1的消息'使用showdetails来显示消息的内容

清除发布者,订阅者和节点的ROS网络。删除对象关闭ROS大师。

清除('酒吧''亚''node1''node2') 清除('掌握'的)

使用MATLAB®可以连接到多个ROS主机。这些单独的ROS主人不共享信息,必须具有不同的端口号。基于如何在网络上分发信息,将ROS节点连接到每个主设备。

在不同的端口上创建两个ROS主人。

m1 = ros.core;%默认端口11311
推出ROS核心......在0.85317秒内完成。
m2 = ros.core(12000);
启动ROS核心......在0.92636秒内完成。

将单独的ROS节点连接到每个ROS主站。

node1 = ros.node('/ test_node_1''localhost');node2 = ros.node('/ test_node_2''localhost',12000);

清除ROS节点。关闭ROS主人。

清除('node1''node2') 清除('m1''m2'的)

也可以看看

|

外部网站

介绍在R2019B.