前言
入门学习基于《ROS机器人高效编程》原书第三版,感谢。环境为Ubuntu18.04+melodic,安装略过。
ROS系统架构分为三部分:
第一级,文件系统级。使用一组概念来解释ROS
的内部构成、文件夹结构,以及工作所需的核心文件。
第二级,计算图级。体现的是进程和系统之间的通信。在相关小节
中,我们将学习ROS的各个概念和功能,包括建立系统、处理各类进
程、与多台计算机通信等。
第三级,开源社区级。包含一系列工具和概念。
下面针对这三部分依次讲解。
一、理解ROS文件系统级
与其他操作系统类似,一个ROS程序的不同组件要放在不同的文件
夹下。这些文件夹是根据功能的不同来对文件进行组织的。
(1)工作空间:工作空间就是一个文件夹,其中包含功能包, 功能包又包含源文件和环境或工作空间, 从而提供编译这些功能包的一种方式。
1、源文件空间:在src文件夹中,放置功能包、项目、复制的包等。最重要的一个文件是CMakeLists.txt,这个文件是通过catkin_init_workspace命令创建的。
2、编译空间:在build文件夹中,cmake和caykin为功能包和项目保存缓存信息、配置和其他中间文件。简单介绍下编译ROS程序的两种方法,详见后续:
- 一次编译一个包,
$ cmake packageToBuild/
$ make - 编译所有的包
$ cd workspace
$ catkin_make
3、开发空间:在devel文件夹中,保存编译后的程序,无需安装即可用来