您的位置:首页 > Web前端 > Node.js

ROS学习历程(6)------理解ROS的节点(NODE)

2016-11-30 17:09 211 查看
经过前面的学习,我们已经知道了如何构建一个ROS的包,这篇博客将介绍ROS中的节点的概念。

首先,安装一个轻量级的模拟器,命令中的””需要替换为你自己的ros版本,若按照前面的教程的话,替换为kinetic。

sudo apt-get install ros-kinetic-ros-tutorials


下面来看一下ROS中图的相关概念:

节点(NODE):一个节点就是一个可执行程序,它使用ROS可以和其他节点进行通信。

消息(Message):当在一个话题上,发布或订阅时所使用的ROS的数据类型。

话题(Topic):节点可以在一个话题上发布消息,同样也可以订阅一个话题来接收消息。

主机(Master):是ROS的名字服务器。

ROS的客户端库允许用不同的编程语言编写的节点之间相互通信。

roscore是你在使用ros之前应该首先运行的程序。在终端中运行roscore:

roscore


rosnode命令显示了正在运行的ros的节点的信息。如下命令列出了活跃的ros节点,新打开一个终端输入:


rosnode list


你将会看到:

/rosout


着说明了当前只有一个节点rosout在运行。下面的这个命令可以返回活跃的节点的信息:

rosnode info /rosout


rosrun允许你直接运行一个包里面的节点。

在终端中输入:

rosrun turtlesim turtlesim_node


将会看到在屏幕上出现了一只乌龟。这个命令的作用是运行
turtlesim
包下面的
turtlesim_node
节点,多次运行这个命令会看到乌龟可能会不同

新打开一个终端,在里面输入:

rosnode list


可以看到我们刚刚运行的节点,出现在了列表中。我们还可以在命令行下给运行的节点直接指定名字,将刚刚打开的乌龟关闭,输入:

rosrun turtlesim turtlesim_node __name:=my_turtle


再使用
rosnode list
就可以看到我们所修改的名字。

还可以使用
ping
命令:

rosnode ping my_turtle
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: