主要内容

ROS网络设置

简介

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

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

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

网络连接布局

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

ROS主节点连接网络。节点1和节点2向ROS主服务器注册,两个节点之间相互交换数据。

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

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

另请参阅

||

相关的话题