技术分享 | ROS基础讲解之ROS相关名词概念讲解

Posted 阿木实验室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术分享 | ROS基础讲解之ROS相关名词概念讲解相关的知识,希望对你有一定的参考价值。

在上一期的ROS基础讲解中,我们以另一种角度形象的描述了ROS,让大家能够更容易地去理解ROS,有一个大概的印象和理解。在本期的ROS基础讲解中,我们将介绍ROS相关的名词概念,让大家在学习ROS的过程中,能够知道这些名词的意思,从而能够更好地阅读ROS相关教程。

 

ROS:

ROS是Robot Operating System(机器人操作系统)的简称,可以将ROS理解为操作系统当中的应用程序,机器人的操作系统。ROS目前有两个大的版本,ROS1和ROS2。我们所说的ROS一般指ROS1,ROS2相比ROS1有了更大的提升,在多机器人,稳定性,实时性,跨平台支持等方面有显著的优势。ROS对于Ubuntu操作系统的支持度是最高的,每个Ubuntu版本都有相应的ROS版本。

 

Ubuntu(Linux):

Ubuntu是电脑的操作系统,和Windows 10操作系统本质上是一样的。Linux本质上是指系统的内核,Ubuntu和Linux之间的关系类似于 Windows 10 和 Windows的关系,严格意义上来说,Ubuntu才是操作系统,而Linux只是指Ubuntu操作系统的内核,但一般情况下,Linux和Ubuntu均指Ubuntu操作系统。

 

命令行:

命令行是在操作系统中,提示进行命令输入的一种工作提示符。在Windows操作系统中,几乎所有的操作用图形化界面就可以实现,而在Ubuntu系统当中,命令行的使用可以说是必须要掌握的。例如,启动一个应用程序,鼠标双击可以启动,使用命令也是可以启动的。文件的创建,复制,粘贴等等操作都是可以用命令实现的。

 

终端:

终端一般指输入命令行的窗口,在Ubuntu系统下默认按下ctrl + alt + t打开命令行终端窗口。

 

上面大概讲述了一些Ubuntu系统相关的相关概念,使用ROS也必须掌握Ubuntu系统的使用,下面介绍一些关于ROS的相关名词和概念。

 

 

节点:

指执行运算任务的进程,一般情况下,一个节点负责整个机器人系统的某一部分功能,一个庞大的机器人系统就是由多个节点组成,节点之间相互地传输数据,每个节点再相应地对数据进行处理。

 

话题:

节点之间最常用也最重要的数据传输方式就是话题(topic),话题采用发布/订阅的机制,一个节点可以向某个话题发布数据,另一个节点订阅该话题,获取其中的数据,这就实现了两个节点之间的数据通信。

 

消息:

指节点传输的数据,每一个消息都指一个固定的数据结构,可以是标准的数据类型,也支持嵌套和数组,除ROS本身提供的消息类型以外,用户还可以根据自身情况自定义消息。

 

我们用这幅图来形象化地描述节点,话题,消息之间的关系,将节点类比人,消息类比纸条,话题类比箱子,两个人现在就通过纸条以及箱子传递信息,左边的人将数据信息写到纸条上,再将纸条放到箱子中,这就是节点发布数据到话题中,右边的人从箱子内拿出纸条获取纸条上的信息,这就是节点订阅话题获取数据。

 

功能包:

功能包是一个文件夹,它是ROS中一个比较重要的文件结构,功能包一般会包含一个功能模块的全部源代码,包括c++代码文件,python代码文件,头文件,配置文件……等内容。

 

工作空间:

工作空间也是一个文件夹,工作空间内会包含一个或多个功能包,功能包编译生成的中间文件以及可执行文件,均会放置在工作空间内。一般情况下,一个工作空间下会有三个文件夹:

 

1、src:代码空间,存放ROS功能包

2、build: 编译空间,存放编译过程中产生的缓存信息和中间文件

3、devel: 开发空间,用于放置编译生成的可执行文件。

 

 

本期ROS基础讲解到这里结束了,ROS相关的名词概念还有很多,在这里介绍了一些常用的名词概念,希望能帮助各位更好地去理解,更多内容我们下期再见。

作者:阿木实验室-木十

 

- End -

 

技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把机器人行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在机器人行业,就请关注我们的公众号,我们将持续发布机器人行业最有价值的信息和技术。

以上是关于技术分享 | ROS基础讲解之ROS相关名词概念讲解的主要内容,如果未能解决你的问题,请参考以下文章

技术分享 | 初学ROS这个重要概念,你必须要了解

技术分享 | apriltag_ros的基础讲解

ROS2机器人中文教程分享-小鱼动手学和古月居

蓝桥ROS机器人之古月居ROS入门21讲

技术分享 | 4点带你快速理解ROS2通信

技术分享 | 带你解决4个ROS开发常见的问题