ROS文件系统

一,初始化catkin工作空间

mkdir -p ~/catkin_ws/src

cd ~/catkin_ws/src

catkin_make

echo "source 路径" >> ~/.bashrc

二,Package软件包

ROS中的package它不仅是Linux上的软件包,更是catkin编译的基本单元,我们调用catkin_make编译的对象就是一个个ROS的package,也就是说任何ROS程序只有组织成package才能编译。所以package也是ROS源代码存放的地方,任何ROS的代码无论是C++还是Python都要放到package中,这样才能正常的编译和运行。

其中定义package的是CMakeLists.txtpackage.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_ws/src下,用到catkin_create_pkg命令,用法是:
catkin_create_pkg package depends

例如,新建一个package叫做test_pkg,依赖roscpp、rospy、std_msgs(常用依赖)。

$ catkin_create_pkg test_pkg roscpp rospy std_msgs

 

这样就会在当前路径下新建test_pkg软件包,包括:

  ├── CMakeLists.txt
  ├── include
  │   └── test_pkg
  ├── package.xml
  └── src

catkin_create_pkg帮你完成了软件包的初始化,填充好了CMakeLists.txtpackage.xml,并且将依赖项填进了这两个文件中。

你可能感兴趣的:(ROS文件系统)