当先锋百科网

首页 1 2 3 4 5 6 7

1、工作空间

工作空间 (workspace) 是一个存放工程开发相关文件的文件夹。一个工作空间里通常包含四个文件夹:
src:代码空间 (Source Space)
build:编译空间 (Build Space)
devel:开发空间 (Development Space)
install:安装空间 (Install Space)

2、功能包

2.1、简介

功能包,又称为 package,指的是一种特定的文件结构和文件夹组合。通常将实现同一个具体功能的程序代码放到一个package中,比如实现相机数据采集这一功能。

2.2、文件结构

  • CMakeLists.txt: 定义package的包名、依赖、源文件、目标文件等编译规则,是package不可少的成分;
  • package.xml:描述package的包名、版本号、作者、依赖等信息,是package不可少的成分 ;
  • src:存放ROS的源代码,包括C++的源码和(.cpp)以及Python的module(.py) ;
  • include:存放C++源码对应的头文件 ;
  • scripts:存放可执行脚本,例如shell脚本(.sh)、Python脚本(.py) ;
  • msg:存放自定义格式的消息(.msg) ;
  • srv:存放自定义格式的服务(.srv) ;
  • models:存放机器人或仿真场景的3D模型(.sda, .stl, .dae等) ;
  • urdf:存放机器人的模型描述(.urdf或.xacro) ;
  • launch:存放launch文件(.launch或.xml)
    通常ROS文件组织都是按照以上的形式,这是约定俗成的命名习惯,建议遵守。以上路径中,只有 CMakeLists.txt 和 package.xml 是必须的,其余路径根据软件包是否需要来决定。

3、编程实现

以下所用到的命令解释清查看我的另一篇文章《ROS常用命令》。

mkdir catkin_ws
cd catkin_ws/
mkdir src
cd src/
catkin_init_workspace
cd ~/catkin_ws/
catkin_make
source devel/setup.bash