这篇文章主要记录了如何在ROS中创建你自己的工作空间。本文使用的ROS版本为indigo,在某些旧版本(hydro之前的版本,不包括hydro)可能会不适用。另外笔者使用的编译系统是catkin,因此以下方法对于其他的编译系统(rosmake)也可能不适用。
查看已有的工作空间
使用以下命令可以查看ROS默认使用的工作空间:
$ echo $ROS_PACKAGE_PATH
然后你会看到类似这样的输出:
/opt/ros/indigo/share:/opt/ros/indigo/stacks
初始化工作空间
接下来我们需要创建一些文件夹,运行下面的命令:
$ mkdir -p ~/catkin_ws/src
NOTE: catkin_ws是工作空间的名字,当然你可以随意指定;src是存放功能包的地方,该名称不能自定义,必须是src;-p
意思是如果父目录不存在就同时创建父目录。
接着运行下面的命令初始化工作空间:
$ cd ~/catkin_ws/src
$ catkin_init_workspace
或者:
$ cd ~/catkin_ws
$ wstool init src
编译工作空间
使用下面的命令来编译工作空间:
$ cd ~/catkin_ws
$ catkin_make
这是你就会发现工作空间里产生了几个文件夹:
drwxrwxr-x 9 viki viki 4096 May 26 13:42 build
drwxrwxr-x 6 viki viki 4096 May 26 13:42 devel
drwxrwxr-x 4 viki viki 4096 May 26 13:37 src
下面是最后一步:
$ cd ~/catkin_ws
$ source devel/setup.bash
现在我们就创建好了一个工作空间。
tips:因为运行工作空间中的ROS节点要频繁使用source devel/setup.bash
,因此笔者建议将该命令加到.bashrc
中:
echo "source ~/catkin_ws/devel/setup.sh" >> ~/.bashrc
NOTE: catkin_ws是你的工作空间名字。
参考资料
- Learning ROS for Robotics Programming,Enrique Fernández等著,Packt出版社
- ROS WIKI:Creating a workspace for catkin
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。