在配置了ROS之后,下一步是在ROS中创建工作空间。在最新的ROS发行版中,我们使用基于catkin的工作空间构建和安装ROS功能包。catkin系统是ROS的官方构建系统,能够帮助用户在工作空间中将源代码便以为可执行文件或链接库。
创建工作空间
工作空间(workspace)是一个存放工程开发相关文件的文件夹,相当于Windows中在IDE中新建的一个工程文件。在ROS工作空间中包含src(代码空间)、build(编译空间)、devel(开发空间)、install(安装空间)四个主要文件夹。catkin编译系统系下的工作空间机构如下图:
构建ROS工作空间并不难,只需要在终端中执行以下步骤:
创建一个空的工作空间文件夹和另一个名为src的文件夹老存储ROS功能包。此处工作空间文件夹名为catkin_ws
mkdir -p catkin_wc/src
切换至src文件夹,并执行catkin_init_workspace命令,该命令将在当前src文件夹下楚世家catkin工作空间,至此我们已经可以在src文件夹下创建功能包了
cd ~/catkin_wc/src
catkin_init_workspace
- 初始化catkin工作空间后,就可以使用catkin_make命令构建工作空间下的功能包了,工作空间为空时也可以创建:
cd ~/catkin
catkin_make
catkin_make instll
执行上述命令,将在ROS空间内穿件三个新的文件夹,分别是build、devel以及install,如下图所示:
- 构建工作空间之后,为了获取对工作空间内功能包的访问权限,需要将工作空间的的环境变量添加至 .bashrc 文件中去,具体命令如下:
echo “source ~/catkin_ws/devel/setuo.bash” >> ~/.bashrc
source ~/.bashrc
完成上述步骤后,可以使用以下命令确定配置过程是否正确:
echo $ROS_PACKAGE_PATH
上述命令将会输出ROS的完整路径,如一切正常,输出结果如下图:
创建功能包
ROS中的软件主要被组织为功能包,可以说ROS功能包是ROS的原子构建单元,功能包可以有ROS节点/进程、数据集和配置文件组成,所有这些内容都被组织在这模块中
同一个工作空间中不予续存在同名的功能包,不同的工作空间允许存在同名的功能包
- 创建功能包格式:
catkin_create_pkg < pacvage_name >[ depend1 ][ depend2 ][ depend3 ]
实例:
catkin_create_pkg < test_pkg > roscpp rospy std_msg
- 编译功能包
cd ~/catkin_wc
catkin_make
到这里工作空间的创建以及功能包的创建以及编译工作就完成了。