随笔 - 884,  文章 - 0,  评论 - 37,  阅读 - 154万

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

 

posted on   一抹烟霞  阅读(8403)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

Live2D
欢迎阅读『使用ROS节点——Node & Master——roscore、rosrun、rosnode』

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示