标准的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
。