ROS学习(六)—— 理解ROS节点
2017-01-10 16:23
218 查看
一、准备工作
下载一个轻量级的模拟器
二、图概念的理解
1、Nodes:一个节点就是一个可执行文件,用来与其他节点进行通信
2、Topic:话题,节点可以发布消息到话题,也可以订阅话题以接受消息。
3、Master:节点管理器,帮助节点找到彼此
4、rosout:
5、roscore:主机 + rosout + 参数服务器
三、节点
一个节点不过是ROS程序包中的一个可执行文件
(1)ROS节点可以使用ROS客户库与其他节点通信
(2)节点可以发布或者接受一个话题。
(3)节点可以提供或使用某项服务
四、客户端库
p { margin-bottom: 0.25cm; line-height: 120% }
a:link { }
ROS客户端库允许使用不同编程语言编写的节点之间互相通信:
rospy = python 客户端库
roscpp = c++ 客户端
五、Roscore
是执行所有ROS程序前必须执行的指令,执行后会出现如图信息
六、使用rosnode
打开新的终端,使用rosnode去看看运行orscore所做的。(什么鬼)
1、rosnode显示当前运行的ROS节点信息。
此时应该会看到
这表示只有一个节点在运行,而rosout是用来收集和记录节点调试输出信息的,所以它总是运行。
2、rosnode info 这条命令可以返回一个特定节点的信息。
这样返回了很多关于rosout的相关信息
七、使用rosrun
1、作用:
p { margin-bottom: 0.25cm; line-height: 120% }
tt.cjk { font-family: "Nimbus Mono L", monospace }
a:link { }
rosrun 允许你使用包名直接运行一个包内的节点(而不需要知道这个包的路径)。
2、用法:
3、一个例子
运行:
出现
在一个新的终端中运行:
可以看到有2个节点在运行
然后重要的是ROS一个很强大特性:可以通过命令行重新配置名称
首先,关闭前面所有的终端(使用Ctrl +C),关闭之后运行
现在,我们退回使用 rosnode list,会输出
八、rosnode全部api
p { margin-bottom: 0.25cm; line-height: 120% }
tt.cjk { font-family: "Nimbus Mono L", monospace }
a:link { }
下载一个轻量级的模拟器
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)节点可以提供或使用某项服务
四、客户端库
p { margin-bottom: 0.25cm; line-height: 120% }
a:link { }
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、作用:
p { margin-bottom: 0.25cm; line-height: 120% }
tt.cjk { font-family: "Nimbus Mono L", monospace }
a:link { }
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
p { margin-bottom: 0.25cm; line-height: 120% }
tt.cjk { font-family: "Nimbus Mono L", monospace }
a:link { }
相关文章推荐
- ROS学习笔记三(理解ROS节点)
- ROS学习历程(6)------理解ROS的节点(NODE)
- ROS学习笔记四:理解ROS节点
- ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 5 理解ROS节点
- ROS的学习(六)理解ROS的节点(NODE)
- ROS学习--(六)理解ROS节点和话题
- 机器人操作系统ROS Indigo 入门学习(8)——理解ROS service 和parameter
- 机器人操作系统ROS Indigo 入门学习(9)——理解ROS rqt_console和 roslaunch
- ROS学习手记 - 5 理解ROS中的基本概念_Services and Parameters
- 机器人操作系统ROS Indigo 入门学习(8)——理解ROS service 和parameter
- 机器人操作系统ROS Indigo 入门学习(6)——理解ROS Nodes
- 机器人操作系统ROS Indigo 入门学习(6)——理解ROS Nodes
- 机器人操作系统ROS Indigo 入门学习(7)——理解ROS Topic
- 【ROS工具学习】之topic_tools/throttle,改变节点发布频率
- ROS学习笔记五:理解ROS topics
- ROS学习之cpp节点的启动与关闭
- 机器人操作系统ROS Indigo 入门学习(7)——理解ROS Topic
- 机器人操作系统ROS Indigo 入门学习(6)——理解ROS Nodes
- ROS节点理解--5
- ROS学习之 cpp名字和节点信息