【转载】2.ROS系统整体架构
由于 ROS 系统的组织架构比较复杂,简单从一个方面来说明很难说清楚。按照 ROS 官方的说法,我们可以从 3 个方面来理解 ROS 系统整体架构,这 3 个方面分别是文件系统级、计算图级、开源社区级。 1. 从文件系统级理解 ROS 架构 如果你是刚刚接手 ROS 方面的开发或项目,你肯定会觉得 ROS 中的各种概念非常奇怪,但是当你对 ROS 的使用熟练之后,你就觉得这些概念很好理解了。与其他操作系统相似,一个 ROS 程序的不同组件要被放在不同的文件夹下,这些文件夹是根据不同的功能来对文件进行组织的,如图 3 。 (图 3 )文件系统级理解 ROS 架构 ( 1 )工作空间 工作空间是一个包含功能包、可编辑源文件和编译包的文件夹,当你想同时编译不同的功能包时非常有用,并且可以保存本地开发包。当然,用户可以根据自己的需要创建多个工作空间,在每个工作空间中开发不同用途的功能包。不过作为学习,我们先以一个工作空间为例。如图 3 ,我们创建了一个名为 catkin_ws 的工作空间,该工作空间下会有 3 个文件夹: src 、 build 、 devel 。 src 源文件空间 :这个文件夹放置各个功能包和一个用于这些功能包的 CMake 配置文件 CMakeLists.txt 。这里做一下说明,由于 ROS 中的源码采用 catkin 工具进行编译,而 catkin 工具又是基于