码迷,mamicode.com
首页 > 其他好文 > 详细

Node & Master——roscore、rosrun、rosnode

时间:2018-11-11 11:47:05      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:war   之间   图片   就是   RoCE   利用   用户   作用   通信   

1、Node

ROS的世界里, 最小的进程单元就是节点( node) 。 一个软件包里可以有多个可执行文
件, 可执行文件在运行之后就成了一个进程(process), 这个进程在ROS中就叫做节点。

2、Master

由于机器人的元器件很多, 功能庞大, 因此实际运行时往往会运行众多的node, 负责感知世
界、 控制运动、 决策和计算等功能。 那么如何合理的进行调配、 管理这些node? 这就要利用
ROS提供给我们的节点管理器master, master在整个网络通信架构里相当于管理中心, 管理着
各个nodenode首先在master处进行注册, 之后master会将该node纳入整个ROS程序中。
node之间的通信也是先由master进行牵线, 才能两两的进行点对点通信。 当ROS程序启动
时, 第一步首先启动master, 由节点管理器处理依次启动node

3、启动masternode

当我们要启动ROS时, 首先输入命令:

$ roscore

此时ROS master启动, 同时启动的还有 rosout parameter server ,其中 rosout 是负责日
志输出的一个节点, 其作用是告知用户当前系统的状态, 包括输出系统的errorwarning
等, 并且将log记录于日志文件中, parameter server 即是参数服务器, 它并不是一个node
而是存储参数配置的一个服务器

启动node的语句是: 

$ rosrun pkg_name node_name

MasterNode之间以及Node之间的关系如下图所示:

技术分享图片

4、rosrunrosnode命令

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命令的详细作用列表如下:

技术分享图片

 

Node & Master——roscore、rosrun、rosnode

标签:war   之间   图片   就是   RoCE   利用   用户   作用   通信   

原文地址:https://www.cnblogs.com/long5683/p/9941531.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!