Reference
「视频」ROS机器人操作系统入门-中国大学MOOC
「文档」中国大学MOOC—《机器人操作系统入门》课程讲义
「文档」ROS 官方文档
「代码」《机器人操作系统入门》课程代码示例
本文主要参考「视频」中的第二节内容。
catkin 工作空间
catkin 是 ROS 定制的编译系统。catkin 工作空间由 src 文件夹,build 文件夹,devel 文件夹组成,我们目前只需关心 src 文件夹。可以使用前篇讲的 catkin_make
进行工作空间的初始化。注意创建工作空间时要带 src 路径
$ mkdir -p ~/catkin_workspace/src
$ cd ~/catkin_workspace
$ catkin_make
整个 catkin 工作空间的结构如下所示:
src
存储 package 源代码
package
功能包,是 catkin 编译的基本单元,编译时递归查找。可以包含多个可执行文件。含有 CMakeLists.txt 与 package.xml 文件夹,即可被识别为 package。可以通过如下命令创建
$ catkin_create_pkg <package name> <reliance: roscpp rospy e.t.c>
Metapackage
linux 中一种包的类型,ros-kinetic-desktop-full 就是一个 metapackage。简单而言它是一个依赖于其他软件包的包,自身没什么实质内容。
以 navigation 为例,自身同名的 navigation 文件夹中没有什么代码,而是在 package.xml 中记录了依赖的包。
END
本节主要叙述了 catkin 工作空间的基本结构及功能,