一、前言
ROS(Robot Operating System)是一个为机器人软件开发提供灵活框架的开源项目。在ROS中,工作空间(Workspace)是一个重要的概念,它类似于一个项目库,用于组织和管理ROS的代码。本博客将指导您如何在ROS中新建一个工作空间。
ROS系统中一个典型的工作空间结构如图所示,这个catkin_ws就是工作空间的根目录,里边会有三个子目录,或者叫做三个子空间。
- src,代码空间,未来编写的代码、脚本,都需要人为的放置到这里;
- build,编译空间,保存编译过程中产生的中间文件;
- install,安装空间,放置编译得到的可执行文件和脚本;
总体来讲,这三个空间的文件夹,我们绝大部分操作都是在src中进行的,编译成功后,就会执行install里边的结果,build文件夹用的很少。
二、ROS工作空间的新建
1.创建工作空间文件夹
首先,在您的文件系统中创建一个新的文件夹作为ROS的工作空间。例如,您可以在主目录下创建一个名为catkin_ws
的文件夹(代表Catkin工作空间)。
mkdir -p ~/catkin_ws/src
上述命令将在您的主目录下创建一个名为catkin_ws
的文件夹,并在其中创建一个src
子文件夹。src
文件夹将用于存放您的ROS功能包。
2. 初始化工作空间
接下来,使用catkin_init_workspace
命令初始化工作空间。这个命令将在src
文件夹中创建一个名为CMakeLists.txt
的文件和一个名为package.xml
的模板文件(但这两个文件在这个上下文中并不需要,因为它们是用于功能包的)。
cd ~/catkin_ws/src
catkin_init_workspace
3.编译工作空间
使用catkin_make
命令编译工作空间。这个命令将检查src
文件夹中的功能包,并编译它们。编译的结果将放在工作空间的devel
和build
文件夹中。
cd ..
catkin_make
4.添加工作空间到环境变量
如果您想在工作空间的任何位置都能直接运行ROS命令,您可以将工作空间的devel/setup.*sh
文件添加到您的shell环境变量中。这可以通过在您的~/.bashrc
或~/.bash_profile
文件中添加以下行来实现:
source ~/catkin_ws/devel/setup.bash
source ~/.bashrc
然后,运行source ~/.bashrc
或重新打开一个终端窗口以使更改生效。