ROS学习(六)—— 理解ROS节点
一、准备工作
下载一个轻量级的模拟器
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

ROS学习(六)—— 理解ROS节点的更多相关文章
- ROS学习笔记5-理解节点(Node)
本文内容来源于:http://wiki.ros.org/ROS/Tutorials/UnderstandingNodes 图(Graph)概念概览 节点(Nodes):一个节点是ROS下面一个可执行程 ...
- ROS学习(七)—— 理解ROS Topic
一.准备工作 1.打开roscore roscore 2.turtlesim 打开一个turtulesim节点 rosrun turtlesim turtlesim_node 3.turtle key ...
- ROS学习笔记三:编写第一个ROS节点程序
在编写第一个ROS节点程序之前需要创建工作空间(workspace)和功能包(package). 1 创建工作空间(workspace) 创建一个catkin_ws: #注意:如果使用sudo一次 ...
- 关于ROS学习的一些反思
距离发布上一篇ROS的博客已经过去两年了,才发现原来自己已经这么久可没有写过关于ROS的文章,想来很是惭愧.这两年时间,自己怀着程序员的梦想,研究过RTOS,探索过Linux,编写过Android应用 ...
- SLAM+语音机器人DIY系列:(二)ROS入门——7.理解tf的原理
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...
- SLAM+语音机器人DIY系列:(二)ROS入门——8.理解roslaunch在大型项目中的作用
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...
- ROS知识(2)----理解ROS系统结构
学习新事物,方法高于技术本身,如果没有把握"BIG PICTURE"的话很难理解进去.通过以下几点进行理解ROS: ROS实际上不是操作系统,他只是一个通信的框架,一个代码管理的架 ...
- 理解ros话题--6
理解ROS话题(原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/) Description: 本教程介绍ROS话题(topics)以及如何使用ro ...
- ROS学习笔记
创建ros工作环境: mkdir -p ~/catkin_ws/src //建立项目目录,同时生成src文件夹 cd ~/catkin_ws/ //进入项目目录 catkin_make //编译项目, ...
随机推荐
- 星文快投v2全新升级
2017-07-31 关于“星文快投”,我的初衷是:简单.稳定.可定制的投标软件.前期版本其实也基本达到这个目标了,系统跑起来后,几天下来也累积过手三十多万个标的了,自动投标也工作正常,作为一个纯粹的 ...
- Android github XListView 分析(2-3)
本文内容 概述 XListView UML 图 下载 github XListView 概述 我们经常能见到 app 中的 listview 有"下拉更多"和"上拉加载& ...
- VMware的存储野心(上):软件定义、分布式DAS支持
ChinaByte比特网 http://storage.chinabyte.com/291/12477791_2.shtml 11月29日(文/黄亮)- SDN(软件定义的网络,Software De ...
- Python在线dlib库地址
一.地址 https://pypi.python.org/pypi/dlib/18.17.100
- 深度学习-Caffe中启用MatlabSupport编译出错的解决方案
一.如果编译前打算生成支持Matlab的库,则设置MatlabSupport为true之后. 二.记得添加Matlab的安装路径.我的是:D:\Application\DevTools\Matlab ...
- web前端开发,如何提高页面性能优化?
内容方面: 1.减少 HTTP 请求 (Make Fewer HTTP Requests) 2.减少 DOM 元素数量 (Reduce the Number of DOM Elements) 3.使得 ...
- ajax请求,返回值为304 Not Modified 错误原因与解决办法
先说原因吧,这是因为http请求的缓存问题引起的 前后调用了两个相同的请求,服务器懒得给你重新发一个请求,所以就304咯 那怎么办呢? 解决方法也很简单,加一个时间戳就行了 比如: 原请求为: $.g ...
- vi编辑器的常用命令
游标控制 h 游标向左移 j 游标向下移 k 游标向上移 l (or spacebar) 游标向右移 w 向前移动一个单词 b 向后移动一个单词 e 向前移动一个单词,且游标指向单词的末尾 ( 移到当 ...
- Dynamic Lotusscript
Introduction This short article gives an introduction to the underrated Execute method that is avail ...
- HttpServletResponse对象(二)
一.HttpServletResponse常见应用——生成验证码 1.1.生成随机图片用作验证码 生成图片主要用到了一个BufferedImage类,