主要内容

ROS网络设置

简介

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

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

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

网络连接的布局

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

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

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

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

另请参阅

||

相关的话题

Baidu
map