经过前面的学习,我们已经知道了如何构建一个ROS的包,这篇博客将介绍ROS中的节点的概念。

在继续之前,请按ctrl+alt+t打开一个终端,在里面输入:

sudo apt-get install ros-<distro>-ros-tutorials

安装一个轻量级的模拟器,命令中的"<distro>"需要替换为你自己的ros版本,若按照前面的教程的话,替换为hydro。

下面来看一下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 [package_name] [node_name]

在终端中输入:

rosrun turtlesim turtlesim_node

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

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

rosnode list

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

rosrun turtlesim turtlesim_node __name:=my_turtle

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

还可以使用ping命令:

rosnode ping my_turtle

ROS的学习(六)理解ROS的节点(NODE)相关推荐

  1. ROS入门学习(中科院ros视频笔记)

    >ros工程结构 catkin工作空间:组织和管理功能包的文件夹(工作空间:管理和组织ros工程代码的地方) catkin,编译构建系统,cmake的扩展 catkin workspace,用指 ...

  2. ROS入门_1.10 理解ROS服务和参数

    目录 ROS Services 使用rosservice rosservice list rosservice type rosservice call Using rosparam rosparam ...

  3. ROS中的roslaunch命令和launch文件(ROS入门学习笔记四)

    ROS中的基本对象和概念学习笔记(ROS入门学习笔记一) ROS中创建工作区和包(ROS入门学习笔记二) ROS功能包中CMakeLists.txt的说明(ROS入门学习笔记三) 1.roslaunc ...

  4. ROS wiki系列|通过ROS wiki-tutorials学习服务和参数

    依旧是上一期指路:ROS wiki系列|通过ROS wiki-tutorials学习话题 前面讲了节点和话题,我们接下来讲服务和参数,走你~ 同样甩上我们今天的教程页面链接:Understanding ...

  5. ROS学习笔记六:理解ROS服务和参数

    ROS学习笔记六:理解ROS服务和参数 主要介绍ROS服务和参数,同时使用命令行工具rosservice和rosparam. ROS service service是节点之间互相通信的另一种方式,se ...

  6. ROS学习笔记四:理解ROS节点

    ROS学习笔记四:理解ROS节点 本节主要介绍ROS图形概念,讨论ROS命令行工具roscore.rosnode和rosrun. 要求 要求已经在Linux系统中安装一个学习用的ros软件包例子: s ...

  7. 理解ROS节点---ROS学习第4篇

    文章目录 1.图概念速览 2.节点 3.客户端库 4.roscore 5.使用rosnode 6.使用rosrun 1.图概念速览 计算图(Computation Graph)是一个由ROS进程组成的 ...

  8. ROS学习笔记五:理解ROS topics

    ROS学习笔记五:理解ROS topics 本节主要介绍ROS topics并且使用rostopic和rqt_plot命令行工具. 例子展示 roscore 首先运行roscore系列服务,这是使用R ...

  9. ROS学习-理解ROS Services 和 Parameters

    假设上一篇博客:ROS学习-理解ROS话题中所启动的小乌龟turtlesim节点仍然还在运行. Services服务是节点之间进行相互联系的另外一种方式,允许节点之间进行发送请求和接收响应. 使用 r ...

最新文章

  1. Clustering Coefficient
  2. db2与oracle的区别 锁,db2和oracle语句区别
  3. 云计算之路-阿里云上:4000IOPS的RDS+16核CPU的负载均衡
  4. python在哪里写代码-程序员面试被要求手写代码,你与顶级程序员的差别在哪?...
  5. java正则表达式验证_Java中的正则表达式电话号码验证
  6. 【HDOJ】3500 Fling
  7. hdu1247 Hat’s Words 字符串模拟
  8. office 2010-初次接触
  9. 计算机test的应用,例举内存检测工具memtest详细使用教程
  10. 【ES实战】_forcemerge API 使用说明
  11. 烽火2640路由器命令行手册-01-基础配置命令
  12. CTS测试中的testSensorOperations项
  13. java arraylist 求和_java-ArrayList中类对象属性的总和
  14. 在html网页上在线连接邮箱,怎么在html中创建超级链接和电子邮件链接
  15. Eclipse 注释乱码
  16. Codeforces Round #791 (Div. 2)(A-D)
  17. Python基础学习(十二)标准库
  18. 香港金融中心谁与争锋
  19. Ubuntu环境中英文切换
  20. 终于,数据中台成为3000万企业的增长引擎

热门文章

  1. SignalTap II里面Power-Up Trigger的使用
  2. 杀死系统中的进程kill和killall命令
  3. 通过宝塔webhook,实现git自动拉取服务器代码
  4. less(css)语言快速入门
  5. Discuz常见小问题-如何关闭验证码
  6. CentOS搭建SVN记录
  7. How to make BBED(Oracle Block Brower and EDitor Tool) on Unix/Linux/Windows
  8. Pytorch---训练与测试时爆显存(out of memory)的一个解决方案(torch.cuda.empty_cache())
  9. caffe学习日记--Lesson2:再看caffe的安装和使用、学习过程
  10. 浅谈C#值类型和引用类型