前面介绍过ROS package是ROS系统的最基本的单位,我们可以创建ROS package编译它并发布出去。
ROS 使用catkin编译系统进行编译的,使用catkin的好处是它可以很容易移植到支持CMake和Python的操作系统上。

下面就介绍如何创建一个catkin工作空间:

  • 创建一个catkin工作目录和src目录
mkdir ~/catkin_ws/src
  • 进入src目录,package就是创建在这个目录下:
cd	~/catkin_ws/src
  • 初始化catkin工作空间
catkin_init_workspace
  • 这时候虽然我们并没有作什么操作,但是我们仍然可以对其进行编译,首先退到catkin_ws目录,也就是src的上一级目录,运行catkin_make
catkin_make

这时候在/catkin_ws/ 目录就会生成buid devel 这两个文件夹,将source ~/catkin_ws/devel/setup.sh 添加到/.bashrc

echo "source  ~/catkin_ws/devel/setup.sh" >> ~/.bashrc

添加完后最好查看下是否生效

  • 创建package
    catkin_create_pkg ros_demo_pkg	roscpp	std_msgs actionlib actionlib_msgs

它的语法是catkin_create_pkg [package名] 依赖包
roscpp 在使用ROS C++ 编写代码的时候都需要添加这个依赖
std_msgs 这个包包含了ROS 基本的原始数据等
actionlib 这个用于创建可抢占的任务
actionlib_msg 这个包含了用于在action服务器和客户端之间进行交互的标准消息定义

  • 编译workspace
    退到workspace 在工作空间目录运行编译项目的命令:
    ~/catkin_ws$ catkin_make
    build文件夹包含了编译的脚本,src目录包含了项目的源码,devel包含类了bash脚本,头文件等。
Contents