主要内容

节点

启动ROS节点并连接到ROS master

描述

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

方法创建ROS节点rosinit函数,或者通过调用ros。节点

  • rosinit-在MATLAB中创建单个ROS节点®.您可以指定一个现有的ROS主服务器,也可以由函数为您创建一个。的节点对象不可见。

  • ros。节点-在MATLAB中创建多个ROS节点用于相同的ROS网络。

创建

描述

例子

N = ros。节点(的名字初始化ROS节点的名字并尝试连接到默认URI的ROS master,http://localhost:11311

N = ros。节点(的名字宿主尝试连接到指定IP地址或主机名的ROS主机,宿主使用默认端口号,11311

N = ros。节点(的名字宿主港口尝试用端口号连接到ROS主机,港口

N = ros。节点(的名字MasterURI港口尝试连接到指定IP地址的ROS主机,MasterURI

N = ros。节点(___、“NodeHost”主机名)指定节点用于向ROS网络发布自身的IP地址或主机名。例子包括“192.168.1.1”“comp-home”.您可以使用前面语法中的任何参数。

属性

全部展开

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

ROS主服务器的URI,指定为字符串标量或字符向量。节点使用给定的URI连接到ROS主服务器。

节点的URI,指定为字符串标量或字符向量。节点使用这个URI在ROS网络上发布自己,以便其他节点连接到它。

当前ROS网络时间,指定为时间对象。有关更多信息,请参见rostime

例子

全部折叠

创建多个ROS节点。使用节点对象,其中包含发布者、订阅者和其他ROS功能,以指定要连接的节点。

创建一个ROS master。

master = ros.Core;

初始化多个节点。

Node1 = ros。节点(' / test_node_1 ');Node2 = ros。节点(' / test_node_2 ');

使用这些节点执行不同的操作并发送不同的消息。由node1订阅者是否可以访问node2

Pub = ros。出版商(node1' /聊天'“std_msgs /字符串”);Sub = ros。订户(node2' /聊天'“std_msgs /字符串”);消息(“std_msgs /字符串”);味精。Data =“来自节点1的消息”

发送消息node1.订阅者附至node2会收到消息。

发送(酒吧、味精)%从节点1发送暂停(1)等待消息更新sub.LatestMessage

清除发布者、订阅者和节点的ROS网络。删除核心对象关闭ROS主机。

清楚(“酒吧”“子”“node1”“node2”)明确(“大师”

使用MATLAB®可以连接到多个ROS主机。这些独立的ROS主机不共享信息,必须具有不同的端口号。根据您希望如何在网络上分发信息,将ROS节点连接到每个主服务器。

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

m1 = ros.Core;默认端口11311
启动ROS核心…耗时0.34116秒。
m2 = ros.Core(12000);
启动ROS核心…耗时0.38625秒。

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

Node1 = ros。节点(' / test_node_1 '“localhost”);Node2 = ros。节点(' / test_node_2 '“localhost”, 12000);

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

清楚(“node1”“node2”)明确(“m1”“平方米”

版本历史

R2019b引入

另请参阅

|

外部网站