ROS Learning-007 beginner_Tutorials ROS节点

原创 2016年08月30日 00:15:08

ROS Indigo beginner_Tutorials-06 ROS节点

我使用的虚拟机软件:VMware Workstation 11
使用的Ubuntu系统:Ubuntu 14.04.4 LTS
ROS 版本:ROS Indigo

一. 理解ROS 节点:

ROS的节点: 可以说是一个可运行的程序。当然这个程序可不简单。因为它可以接受来自ROS网络上其他可运行程序的输出信息,也可以发送信息给ROS网络,被其他 ROS 可运行程序 接收。所以虽然你看ROS它是在执行好多个程序,但是它们可是相互关联的,是一个网络。所以 Willow Garage 公司管这种可运行的程序叫做: 节点

二. 运行ros节点的大前提:

运行ros节点的大前提就是启动roscore (它是运行所有ROS程序前 首先要运行的命令) 。新开一个终端(Ctrl+Alt+T):

这里写图片描述

roscore 命令执行完之后,它也会产生一个节点,这个节点是主节点,叫:/rosout

三. 查看当前运行的 ROS 节点

现在你可以重新打开一个终端(Ctrl+Alt+T)去运行你要运行的ROS节点程序了:
我们先来看一下,当前有什么节点在运行:重新开一个终端,执行 rosnode list命令 就可以罗列出当前运行的所有ROS节点:

这里写图片描述

roscore命令 启动的就是 rosout 节点)
如果我们想看一下 某个节点里面的具体的信息,要怎么做:

$ rosnode info /rosout

这里写图片描述

没错,现在你也不知道这些信息有什么用处,你现在不知道没有关系,等用到时,我再介绍。

四. 举个例子,运行一个节点:

下面来具体运行一个 ros节点 程序,使用什么命令运行它 呢? 答案: rosrun 命令。

比如: 运行一个 ROS 里的例子程序: (这个例子是开一个窗口,窗口里面有一只小海龟。我仅仅只是想举一个例子来让大家直观的看看ROS节点是个什么东西。)

$ rosrun turtlesim turtlesim_node

输出下面信息,并弹出一个TurtleSim窗口,如下图所示。

[ INFO] [1472484820.593688966]: Starting turtlesim with node name /turtlesim
[ INFO] [1472484820.599420738]: Spawning turtle [turtle1] at x=[5.544445], y=[5.544445], theta=[0.000000]

这里写图片描述

看到了吗,这就是 ros 节点。

现在看一下这个 rosrun 命令的使用格式:


# rosrun [package_name] [node_name]

其中:package_name是程序包名;node_name是ros节点的可执行程序的名字。

我们重新开个终端(Ctrl+Alt+T),执行 rosnode list 命令,再来看现在有哪些节点在运行:

/rosout
/turtlesim

这里写图片描述

五. 自定义节点的名字:

如果你不喜欢这些默认生成的ROS节点名(/rosout /turtlesim). 你可以使用下面的方法改写它 ros节点的名称: (再新开一个终端)

$ rosrun turtlesim turtlesim_node __name:=my_turtle

这里写图片描述

参数 __name 后面跟的就是你自定义的名字。

再来看看当前运作的ros节点有哪些: (再新开一个终端)

这里写图片描述

六. ping一个ROS节点

你看ROS它是在执行好多个程序,但是它们可是相互关联的,是一个网络。所以我们可以ping任何一个节点。

rosnode ping /my_turtle

这里写图片描述


小小总结:

我上面说了,ROS中的每个节点都可以将一些数据发布到ROS网络上(这个过程叫做:发布话题)。并且ROS的每个节点都可以在这个网络总线上接收自己想要的数据(这个过程叫订阅话题, 就像是你订阅一刊杂志一样)。
所以下一讲,就讲: ROS 发布话题 和 订阅话题:

版权声明:本文为博主原创文章,未经博主允许不得转载。 更多博文,请浏览:http://www.aobosir.com/

ROS 编写一个简单的发布者和订阅者(C++)

0 编写发布者节点 节点是在ROS里面的一个专业术语,它可以被ROS的网络所链接。在这里我们将创建一个名叫“talker”的发布者节点,它将连续的广播一个消息。 改变你现在的位置到你之前在catk...
  • hzd12368
  • hzd12368
  • 2016年09月08日 21:27
  • 1375

ROS(一) 写自己的节点

1、创建一个工作空间$ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/src $ catkin_init_workspace最后一行效果:在src下创建了一个CM...
  • weewqrer
  • weewqrer
  • 2015年09月04日 19:17
  • 1596

8、ROS使用C++编写一个简单的Publisher和Subscriber

一、Publisher节点“节点” 是一个连接着ROS框架的可执行文件,这里我们用C++写一个publisher节点 (命名为”talker”) ,不断地发布一条信息。首先进入包目录的src文件夹:r...
  • ab748998806
  • ab748998806
  • 2016年04月19日 16:53
  • 1369

ROS Learning-010 beginner_Tutorials 编写简单的启动脚本文件(.launch 文件)

ROS Indigo beginner_Tutorials-09 编写简单的启动脚本文件我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.0...
  • github_35160620
  • github_35160620
  • 2016年09月03日 20:17
  • 14086

ROS Learning-013 beginner_Tutorials (编程) 编写ROS服务版的Hello World程序(Python版)

ROS Indigo beginner_Tutorials-12 编写ROS服务版的Hello World程序(Python版)我使用的虚拟机软件:VMware Workstation 11 使用的...
  • github_35160620
  • github_35160620
  • 2016年09月05日 19:46
  • 14355

ROS Learning-008 beginner_Tutorials ROS话题

ROS Indigo beginner_Tutorials-07 ROS话题我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LT...
  • github_35160620
  • github_35160620
  • 2016年08月30日 17:53
  • 17002

ROS Learning-005 beginner_Tutorials 创建ROS程序包(就是软件包)

ROS Indigo beginner_Tutorials-04 创建ROS程序包(就是软件包)我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu ...
  • github_35160620
  • github_35160620
  • 2016年08月27日 23:39
  • 16800

ROS Learning-011 beginner_Tutorials (编程) 编写 ROS 话题版的 Hello World 程序(Python版)

ROS Indigo beginner_Tutorials-10 编写 ROS 话题版的 Hello World 程序(Python版)我使用的虚拟机软件:VMware Workstation 11 ...
  • github_35160620
  • github_35160620
  • 2016年09月04日 20:44
  • 13806

ROS Learning-003 beginner_Tutorials 创建ROS工作空间

ROS Indigo beginner_Tutorials-02 创建ROS工作空间我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04....
  • github_35160620
  • github_35160620
  • 2016年08月27日 22:58
  • 16491

ROS Learning-009 beginner_Tutorials ROS服务 和 ROS参数

ROS Indigo beginner_Tutorials-08 ROS服务 和 ROS参数我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14...
  • github_35160620
  • github_35160620
  • 2016年09月01日 16:27
  • 13285
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ROS Learning-007 beginner_Tutorials ROS节点
举报原因:
原因补充:

(最多只允许输入30个字)