使用ROS节点——Node & Master——roscore、rosrun、rosnode
1、Node
在ROS的世界里, 最小的进程单元就是节点( node) 。 一个软件包里可以有多个可执行文
件, 可执行文件在运行之后就成了一个进程(process), 这个进程在ROS中就叫做节点。
2、Master
由于机器人的元器件很多, 功能庞大, 因此实际运行时往往会运行众多的node, 负责感知世
界、 控制运动、 决策和计算等功能。 那么如何合理的进行调配、 管理这些node? 这就要利用
ROS提供给我们的节点管理器master, master在整个网络通信架构里相当于管理中心, 管理着
各个node。 node首先在master处进行注册, 之后master会将该node纳入整个ROS程序中。
node之间的通信也是先由master进行“牵线”, 才能两两的进行点对点通信。 当ROS程序启动
时, 第一步首先启动master, 由节点管理器处理依次启动node。
3、启动master和node
当我们要启动ROS时, 首先输入命令:
$ roscore
此时ROS master启动, 同时启动的还有 rosout 和 parameter server ,其中 rosout 是负责日
志输出的一个节点, 其作用是告知用户当前系统的状态, 包括输出系统的error、 warning等
等, 并且将log记录于日志文件中, parameter server 即是参数服务器, 它并不是一个node,
而是存储参数配置的一个服务器
启动node的语句是:
$ rosrun pkg_name node_name
Master、 Node之间以及Node之间的关系如下图所示:

4、rosrun和rosnode命令
rosrun命令的详细用法如下:
$ rosrun [--prefix cmd] [--debug] pkg_name node_name [ARGS]
rosrun将会寻找PACKAGE下的名为EXECUTABLE的可执行程序, 将可选参数ARGS传入。
例如在GDB下运行ros程序:
$ rosrun --prefix 'gdb -ex run --args' pkg_name node_name
rosnode命令的详细作用列表如下:

使用ROS节点——Node & Master——roscore、rosrun、rosnode的更多相关文章
- elasticsearch负载均衡节点——客户端节点 node.master: false node.data: false 其他配置和master 数据节点一样
elasticSearch的配置文件中有2个参数:node.master和node.data.这两个参 数搭配使用时,能够帮助提供服务器性能. 数据节点node.master: false node. ...
- elasticsearch节点(角色)类型解释node.master和node.data
在生产环境下,如果不修改elasticsearch节点的角色信息,在高数据量,高并发的场景下集群容易出现脑裂等问题. 默认情况下,elasticsearch集群中每个节点都有成为主节点的资格,也都存储 ...
- ROS Learning-007 beginner_Tutorials ROS节点
ROS Indigo beginner_Tutorials-06 ROS节点 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LT ...
- ROS学习笔记三(理解ROS节点)
要求已经在Linux系统中安装一个学习用的ros软件包例子: sudo apt-get install ros-indigo-ros-tutorials ROS图形概念概述 nodes:节点,一个节点 ...
- ROS节点理解--5
理解 ROS节点(原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/) Description: 本教程主要介绍 ROS 图(graph)概念 并讨 ...
- ROS学习(六)—— 理解ROS节点
一.准备工作 下载一个轻量级的模拟器 sudo apt-get install ros-kinetic-ros-tutorials 二.图概念的理解 1.Nodes:一个节点就是一个可执行文件,用来与 ...
- ROS-4 : ROS节点和主题
依照<ROS-3 : Catkin工作空间和ROS功能包>,创建catkin工作空间,并在起src下创建功能包ros_demo_pkg,依赖项为roscpp.std_msgs.action ...
- (五)ROS节点
一. 理解ROS 节点: ROS的节点: 可以说是一个可运行的程序.当然这个程序可不简单.因为它可以接受来自ROS网络上其他可运行程序的输出信息,也可以发送信息给ROS网络,被其他 ROS 可运行程序 ...
- 4.4 ROS节点名称重名
4.4 ROS节点名称重名 场景:ROS 中创建的节点是有名称的,C++初始化节点时通过API:ros::init(argc,argv,"xxxx");来定义节点名称,在Pytho ...
随机推荐
- 使用Homebrew安装Git与Github在idea中的配置
系统环境:macOS 10.13.4 一.Homebrew的安装 linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案,Red hat有yum,Ubuntu有apt ...
- 浅谈JVM-图解类加载机制
一.目录 二.类加载机制流程 1.什么是类加载机制? JVM把class文件加载到内存里面,并对数据进行校验.准备.解析和初始化,最终能够被形成被JVM可以直接使用的Java类型的过程. 2.类加载流 ...
- python学习之老男孩python全栈第九期_数据库day002 -- 作业 (数据库为day001创建的数据库)
1.自行创建测试数据 对score表进行优化: 添加数据: 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 为了方便做题,额外增加几条数据 查询: 3.查询平均成绩大于60分的同学的学号和 ...
- opencv3.2.0实现视频抽帧,并保存成图片
.实现指定帧数的抽取.和全部帧数的抽取,并保存到指定目录. 在QT新建一个控制台程序,程序源码如下:(程序实现每十帧获取一次帧) #include <QCoreApplication> # ...
- elixir 模块
模块定义 defmodule 函数定义 def 私有函数 defp --相当于其他语言 private iex(29)> defmodule Math do...(29)> def ...
- Nginx 配置多站点vhost
假设你想在Linux Nginx中用不同的域名访问不同的目录,这时就要配置多个vhost,具体配置如下,假设网站根目录设定在/var/www/ 1.在/var/www/下新建两个目录 /var/www ...
- 第三届移动互联网测试开发大会 PPT合集下载
PPT下载地址 http://www.51test.space/archives/2887 大会介绍 Mobile Testing Summit China(中国移动互联网测试开发大会)是一个以移动测 ...
- 使用 Azure CLI 管理 Azure 磁盘
Azure 虚拟机使用磁盘来存储 VM 操作系统.应用程序和数据. 创建 VM 时,请务必选择适用于所需工作负荷的磁盘大小和配置. 本教程介绍如何部署和管理 VM 磁盘. 学习内容: OS 磁盘和临时 ...
- Azure 镜像市场发布商指南
Azure 镜像市场发布商指南 本指南提供独立软件供应商产品上架到 Azure 镜像市场(以下简称 Azure 镜像市场)需要遵循的全流程. 文档适用范围 本指南适用于希望通过由世纪互联运营的Micr ...
- SQL Server ->> 条件筛选做法之 -- IN(VALUE1,VALUE2,...)与INNER JOIN STRING_SPLIT()性能对比
在以逗号拼接而成的字符串,传入给IN字句的元素字符串中包涵了1400多个元素 两种做法分别为 AND e.ssPfCityId IN ( SELECT CAST(value AS INT) FROM ...