ROS工作空间一般包括四个目录空间:
1、src目录:用于存放所有ROS包的源代码。在该目录下,可以创建多个子目录,每个子目录对应一个ROS包。
2、build目录:编译过程中产生的中间文件和缓存信息将被存储在此目录中。当需要重新编译工作空间中的包时,这些文件将被使用。
3、devel目录:编译后的可执行文件、库和其他开发工具将被放置在此目录中。这个目录可以通过环境变量$AMENT_PREFIX_PATH来访问,因此可以在这个目录中找到已安装的软件包及其依赖项。
4、install目录:编译成功后,可以使用make install命令将可执行文件安装到该空间中,运行该空间中的环境变量脚本,即可在终端中运行这些可执行文件。(安装空间并不是必需的,很多工作空间中可能没有该文件夹。)
此外,工作空间中还可能包含其他一些文件,例如CMakeLists.txt文件(用于定义构建过程),.rosinstall文件(用于保存工作空间的版本控制信息)以及.catkin_tools文件(用于保存与catkin_tools相关的配置信息)等。
下面是创建 ROS 工作空间的基本步骤:
1、首先,打开终端并转到要创建新工作空间的位置。
在主目录中创建一个新的工作空间,则可以在终端中输入:
cd ~
2、创建一个新的工作空间目录,并使用 catkin_init_workspace 命令初始化该目录。
创建一个名为 my_ros_workspace 的新工作空间,则可以在终端中输入:
mkdir my_ros_workspace
cd my_ros_workspace
catkin_init_workspace
(这将在工作空间中创建几个重要目录,包括 src、build 和 devel。)
3、在工作空间的 src 目录中添加所需的 ROS 包。
添加名为 turtlesim 的包,可以在终端中输入:
cd ~/my_ros_workspace/src
git clone https://github.com/ros/turtlesim.git
4、创建一个新的 C++ 功能包。
在终端中输入以下命令以在工作空间中创建一个新的名为 "my_cpp_package" 的功能包: cd ~/my_ros_workspace/src catkin_create_pkg my_cpp_package std_msgs rospy roscpp
这将在 src 目录中创建一个名为 my_cpp_package 的子目录,其中包含一个新的 CMakeLists.txt 文件以及其他必要的文件。
5、编写 C++ 代码。在 src/my_cpp_package/src 目录中创建一个新的名为 "main.cpp" 的文件,然后在这个文件中编写 C++ 代码。
(每次添加或更改源代码时都需要重新编译工作空间才能使更改生效。)
6、编译工作空间中的所有软件包。
在终端中输入以下命令以编译 workspaces 中的所有软件包:
cd ~/my_ros_workspace/
catkin_make
7、 最后,设置环境变量,以便使用新编译的软件包。在终端中输入以下命令:
source devel/setup.bash
现在可以运行 ROS 节点了。在终端中输入以下命令:
roslaunch my_cpp_package my_cpp_package.launch