ROS入门学习4:创建工作空间与功能包

$ mkdir -p ~/catkin_ws/src  //创建工作空间目录,存放src文件
$ cd ~/catkin_ws/src  //进入src
$ catkin_init_workspace   //初始化工作空间
$ cd ~/catkin_ws  //进入工作空间
$ catkin_make //编译,空目录也可以编译

创建工作空间

创建一个catkin_ws工作空间

$ mkdir -p ~/catkin_ws/src  //创建工作空间目录,存放src文件
$ cd ~/catkin_ws/src  //进入src
$ catkin_init_workspace   //初始化工作空间
$ cd ~/catkin_ws  //进入工作空间
$ catkin_make //编译,空目录也可以编译

说明:

(图)工作空间catkin_ws

  工作目录是对用户创建的功能包和其他开发人员公开的功能包进行存储和构建的空间。用户在该目录中执行与ROS有关的大部分操作。典型的工作空间一般包含以下四个目录空间:

  • src 代码空间:存储功能包
  • build 编译空间:存储编译过程产生的文件
  • devel 开发空间:放置编译生成的可执行文件
  • install 安装空间:很多工作空间可能没有该空间。编译成功后,运行make install 将可执行文件安装到此空间,运行该空间中环境变量脚本,即可在终端运行这些可执行文件。

创建功能包

  创建ROS功能包的命令如下。

$ catkin_create_pkg [功能包名称] [依赖功能包1] ...[依赖功能包n]

  “catkin_create_pkg”命令在创建用户功能包时会生成catkin 构建系统所需的CMakeLists.txt和package.xml文件的包目录。

  在一个代码空间内,可能会包含多个ROS工程包。而最基本ROS工程包中会包括CmakeLists.txt和Package.xml这两个文件,其中Package.xml中主要包含本项目信息和各种依赖(depends),而CmakeLists.txt中包含了如何编译和安装代码的信息。

创建ros_learning功能包

  首先打开一个新的终端窗口(Ctrl+Alt+t)

$ cs
$ catkin_create_pkg ros_learning std_msgs rospy roscpp
$ cm
  • std_msgs: ROS定义的的标准消息
  • rospy: 为了在ROS中使用Python
  • roscpp: 为了在ROS中使用C/C++

说明:

(图)创建ros_learning功能包
(图)创建ros_learning功能包
  • include → include目录
  • src → 源代码目录
  • CMakeLists.txt → 构建配置文件
  • package.xml → 功能包配置文件
+