主要内容

ROS网络设置

介绍

通过建立ROS网络,可以实现不同设备之间的通信。这些参与者,或者节点,全部注册到aROS的主人共享信息。每个ROS网络只有一个唯一的主网络。每个节点通常是一个独立的设备,尽管一个设备可以运行多个节点。MATLAB®在现有的ROS网络上通信时充当这些节点之一。

所有设备必须连接到相同的实际网络或虚拟网络,才能使ROS连接生效。你可以在MATLAB中创建一个新的ROS主机,或者你可以连接到一个运行在不同设备上的现有ROS主机。如果您连接到外部主机,您必须知道设备的IP地址或主机名。初始的ROS主连接是通过调用rosinit.有关设置和使用ROS网络的更多信息,请参见网络连接与探索

节点通过使用称为发布者、订阅者和服务的实体发送消息进行通信。发布者使用主题名发送数据,然后订阅者通过网络接收这些主题名。服务使用客户端从服务器请求信息。有关发送消息的更多信息,请参见发布者和订阅者

网络连接的布局

ROS网络是所有连接到ROS主机的节点的集合。根据应用程序和设备的不同,节点的数量可能非常大。在主节点上注册的节点可以与所有其他注册节点通信。每个节点在ROS主服务器上注册不同的发布者、订阅者和服务,以便在节点之间发送和接收信息。即使ROS网络中的所有节点都在主节点上注册,数据仍然直接在节点之间交换。以配置2个ROS节点为例,组网布局如下图所示。所有节点必须具有双向连接才能在网络上共享数据。在安装过程中,验证这些连接非常重要。

每个节点注册自己的节点节点URI的主人。ROS网络中的其他参与者将使用这个URI与节点联系。同样,这个URI必须可以被ROS网络中的每个其他节点访问。要在MATLAB中创建节点,调用rosinit.如果已经设置了ROS主节点,MATLAB会检测它并适当设置节点URI。否则,它将创建一个被连接的ROS主节点和节点。

默认情况下,每个MATLAB实例都有一个全球节点。节点有一个随机生成的名称分配给它,以保证其唯一性。所有发布者、订阅者、服务客户机和服务服务器都在这个全局节点上操作。

另请参阅

||

相关的话题