标准的Workspace
工作目录结构如下:
workspace
├── build
├── devel
│ ├── setup.bash
└── src
├── CMakeLists.txt
├── pkg1
│ ├── CMakeLists.txt
│ ├── include
│ ├── package.xml
│ └── src
├── pkg2
├── CMakeLists.txt
├── include
├── package.xml
└── src
其中一个功能包pkg包括:
- pkg1: package的名称,开发过程中根据自己实际情况进行创建设定。
- CMakeLists.txt: 当前package的编译脚本。通常需要为c++代码添加编译时的依赖,执行等操作。
- package.xml: package相关信息。通常添加一些ros库的支持
- include文件夹: 存放c++ 头文件的
- config文件夹:存放参数配置文件,格式为yaml
- launch文件夹:存放.launch文件的。
- src:c++源代码
- scripts:python源代码
- srv:存放定义的service
- msg: 存放自定义的消息协议
- action: 存放自定义的action
按照ROS的项目结构来划分,无人小汽车工程就是一个workspace
,视觉功能模块就是一个package
,模块下的视频采集功能就是一个Node
。
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0