a.创建工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
ctkin_init_workspace
之前的两个命令,只是在LINUX的主目录下创建了两个文件夹(所以文件名无所谓,不用catkin_ws都可以,重要的是ROS创建空间和包的那几条初始化命令),要用ROS的这条空间初始化命令,创建专属于这个工作空间的cmake。
此时,src文件夹中出现CMakeLists.txt文件。
CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件。
(提一个题外话:对于cmake想要更多的了解,可以看 视觉slam十四讲 第二版 P29 关于hello SLAM这个例子。
cmake命令:是一个跨平台的编译自动配置工具,它使用CMakeLists.txt文件来描述构建过程——它编译后产生makefile和其他文件。
make命令:执行时,会扫描makefile找到目标及其依赖,然后编译它们。)
b.然后回到根目录下(根目录即指的是创建ROS工作空间的第一级目录,在这里是catkin_ws),用命令行输入
catkin_make
并编译,这个操作会添加属于ROS空间特有的东西,变成ROS的工作空间(比如就会在catkin_ws文件夹里生成build和devel两个文件夹)。
c.配置环境变量
在catkin_ws路径下输入:
source devel/setup.bash
设置环境变量的目的是为了让系统知道功能包的位置,方便能找到它。
查看当前环境变量,终端输入:
echo $ROS_PACKAGE_PATH
d.创建功能包
创建功能包,在工作空间src下的终端输入
catkin_create_pkg
语句。
使用方法:catkin_create_pkg [要创建的功能包名] [依赖项]
如:catkin_create_pkg learning_communication std_msgs rospy roscpp 就能创建功能包,会自己产生learning_communication文件以及及其子目录。
好了,至此工作空间和功能包已经创建好了。如何创建节点并使用呢?请看 “动起来的小海龟“这篇文章的例子。