学习过编程的读者应该对工作空间并不陌生,一般我们在开启一段代码旅程之前都会习惯创建一个工作空间用来存放工程代码以及相关文件。(关于编译:ROS Fuerte 版本前使用 rosbuild 来进行代码编译,ROS Groovy以及之后的版本默认使用的是 Catkin 编译系统)。
3.1.1 创建工作空间
这里我们来练习创建一个工作空间,并完成第一次编译,输入如下指令:
mkdir -p ~/catkin_ws/src
这一步是创建工作空间的文件目录;(-p 是用来修饰 mkdir 命令的,意思是递归创建目录,即使上级目录不存在,也会按目录层级自动创建目录)
cd ~/catkin_ws/
进入工作目录;
catkin_make
编译整个工作空间,第一次在工作空间中运行该编译命令会默认创建一个 CMakeLists.txt 文件关联到 src 目录。
3.1.2 工作空间的目录结构
编译完成后我们来看一下工作空间的目录结构,大家可以通过前面学习的 ls 命令来查看,也可以使用命令 tree(需单独安装,建议读者自行练习,本书不在此展开讨论),如下图所示,我们可以看到工作空间下应该包含三个目录空间。
- build:编译空间,主要用来存储工作空间编译过程中产生的缓存信息和中间文件;
- devel:开发空间,用来存储编译生成的可执行文件;
- src:代码空间,用来存储所有的 ROS 功能包以及相关的源码和配置文件。