博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ROS学习(六)—— 理解ROS节点
阅读量:5995 次
发布时间:2019-06-20

本文共 1002 字,大约阅读时间需要 3 分钟。

一、准备工作

    下载一个轻量级的模拟器

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

 

 

二、图概念的理解

1、Nodes:一个节点就是一个可执行文件,用来与其他节点进行通信

2、Topic:话题,节点可以发布消息到话题,也可以订阅话题以接受消息。

3、Master:节点管理器,帮助节点找到彼此

4、rosout:

5、roscore:主机 + rosout + 参数服务器

 

三、节点

     一个节点不过是ROS程序包中的一个可执行文件

(1)ROS节点可以使用ROS客户库与其他节点通信

(2)节点可以发布或者接受一个话题。

(3)节点可以提供或使用某项服务

 

四、客户端库

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

  • rospy = python 客户端库

  • roscpp = c++ 客户端

 

五、Roscore

   是执行所有ROS程序前必须执行的指令,执行后会出现如图信息

 

六、使用rosnode

     打开新的终端,使用rosnode去看看运行orscore所做的。(什么鬼)

1、rosnode显示当前运行的ROS节点信息。

rosnode list       列出活跃的节点

 

    此时应该会看到

   这表示只有一个节点在运行,而rosout是用来收集和记录节点调试输出信息的,所以它总是运行。

 

2、rosnode info  这条命令可以返回一个特定节点的信息。

rosnode info /rosout

 

   这样返回了很多关于rosout的相关信息

 

 

七、使用rosrun

1、作用:

   rosrun 允许你使用包名直接运行一个包内的节点(而不需要知道这个包的路径)

2、用法:

rosrun [package_name] [node_name]

 

3、一个例子

   运行:

rosrun turtlesim turtlesim_node

 

   出现

在一个新的终端中运行:

rosnode list

 

     可以看到有2个节点在运行

 

然后重要的是ROS一个很强大特性:可以通过命令行重新配置名称

     首先,关闭前面所有的终端(使用Ctrl +C),关闭之后运行

rosrun turtlesim turtlesim_node __name:=my_turtle

 

  现在,我们退回使用 rosnode list,会输出

 

/rosout/my_turtle

 

 

 八、rosnode全部api

 

转载地址:http://snqlx.baihongyu.com/

你可能感兴趣的文章
C++重载运算符
查看>>
ubuntu11.10下MySQL的安装
查看>>
为什么我设置了<a>标签target="_self"后,还是不能在当前窗口打开.
查看>>
Go语言学习
查看>>
图表开发控件JavaScript Charts v3.20.13发布|附下载
查看>>
archlinux-netinstall安装
查看>>
alpha版、beta版、rc版的意思
查看>>
genymotion2.8.1安装apk时提示ARM……x86……异常处理
查看>>
《设计模式系列》---责任链模式
查看>>
map
查看>>
用户空间和内核空间
查看>>
如何写一个完善的c++异常处理类
查看>>
centos6.x搭建vsftp
查看>>
kettle初探
查看>>
vcenter添加不了主机
查看>>
MySQLdb安装小记
查看>>
linux中去掉敲命令时 发出烦人的“铛铛铛“的声音
查看>>
我的友情链接
查看>>
伸出手,改变这个不平等的世界
查看>>
polysh批量执行shell命令
查看>>