Home » ROS与Matlab入门教程 » ROS与Matlab语言入门教程-ROS网络设置

ROS与Matlab语言入门教程-ROS网络设置

设置ROS网络使得不同的设备之间能够通信。不同的参与者或者节点通过注册到同一个ROS主控节点实现信息共享。ROS主控节点是唯一的并且每一个ROS网络只有一个主控节点。虽然一个设备能够运行多个节点,但是通常每个节点对电影一个单独的设备。当与ROS进行通信的时,MATLAB®作为参与其中的一个节点。为使ROS连接可用,所有的设备必须连接到相同的实际或虚拟网络。你可以在MATLAB当中创建一个新的ROS主控节点,或可以连接到一个在其他设备运行着的ROS主控节点。如果你想要连接到一个外部的主控节点,那么你需要知道该设备的IP地址或者主机名。通过调用rosinit能够完成ROS主控节点连接的初始化工作。有关设置和使用ROS网络的更多信息,请参阅Network Connection and Exploration.。

网络连接布局
通过使用被称为发布器、订阅器和服务的实体发送信息来实现数据的传输。发布器通过话题名称发布数据,同时订阅器在网络中通过该话题名称接收数据。服务通过客户端向服务器请求信息实现数据的传输。有关数据传输的更多信息,请参阅Publishers, Subscribers, and Services。

ROS网络连接是所有节点的集合,并且这些节点都连接到ROS主控节点。根据你的应用和设备,节点的数目可以是非常巨大的。当节点注册都主控节点之后,那么该节点与所有其它节点的通信将成为可能。为了与其他节点交换信息,每个节点注册了不懂的发布器、订阅器和服务。虽然在ROS网络中所有的节点都注册到一个主控节点,但是数据的交换可以直接在节点之间进行。(相当于在互联网中,每台机器只要按照一定的协议连接到互联网当中,那么就可以与其它设备任意通信)。下面的图1.1展示了一个具有两个节点的ROS网络。所有节点之间能够在网络中进行双向的数据共享是非常重要的。在设置的过程当中,确认这些连接是非常重要的。

请输入图片描述

每一个节点向主控节点注册自己的节点URI,每个节点有自己独有的URI。ROS网络中的其它参与者将通过该URI与该节点取得联系。此外,在ROS网络中其它每一个节点都能通过该URI与对应节点通信。调用rosinit可以在MATLAB中创建节点,如果ROS主控节点已经存在,MATLAB能够检测到它并能够恰当的设置该节点的URI。

默认情况下,每一个MATLAB实例拥有一个“全局”节点。该节点被分配给一个随机产生的独一无二的名称。所有的发布器、订阅器、服务终端和服务器都将在这个全局节点运行。

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros与matlab语言入门教程