1. catkin
catkin结构
2. package
package是catkin工作空间的基本单元
其中定义package的是 CMakeLists.txt 和 package.xml ,这两个文件是package中必不可少
的。catkin编译系统在编译前,首先就要解析这两个文件。这两个文件就定义了一个
package。
- 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)
package创建
catkin_create_pkg package package_depends
其中package是包名,depends是依赖的包名,可以依赖多个软件包。
catkin_create_pkg帮你完成了软件包的初始化,填充好了 CMakeLists.txt和package.xml ,并且将依赖项填进了这两个文件中。