ros 文件系统

1.文件系统概念

Packages:软件包,是ROS应用程序代码的组织单元,每个软件包都可以额包含程序库,可执行文件,脚本或者其它手动创建的东西。

Manifest(package.xml):清单,是对于软件包相关信息的描述,用于定义软件包相关元信息之间的依赖关系,这些信息包括版本,维护者和许可协议等。

2.文件系统工具

  2.1 rospack, rospack允许你获取软件包的相关信息,暂时只涉及rospack中find参数选项,该选项可以返回软件包的路径信息。用法: rospack find [包名称】, 例如:

$ rospack find roscpp

2.2 roscd, roscd是rosbash命令集中的一部分,允许用户直接切换(cd)工作目录到某个软件包或者软件包集当中

      用法:roscd [本地包名称【/子目录]],例如

$ roscd roscpp

3.catkin程序包

   一个程序包要想称为catkin程序包必须符合以下要求

        A:包含package.xml文件

        B:包含CMakeLists.txt文件,Catkin metapackage中必须包含一个对CMakeList.txt文件的引用

        C:每个目录下只能有一个程序包,这意味着在同一个目录下不能有嵌套的或者多个程序包存在。

4.使用catkin_create_pkg命令创建一个新的catkin程序包,用法:catkin_create_pkg <package_name> [depend1] [depend2] [depend3],例如

$ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

生成的package.xml文件大致如下

<!--   <run_depend>message_runtime</run_depend> -->#注释语句,可以去掉
  <!-- Use test_depend for packages you need only for testing: -->
  <!--   <test_depend>gtest</test_depend> -->
  <buildtool_depend>catkin</buildtool_depend>
  <build_depend>roscpp</build_depend>
  <build_depend>rospy</build_depend>
  <build_depend>std_msgs</build_depend>
  <run_depend>roscpp</run_depend>
  <run_depend>rospy</run_depend>
  <run_depend>std_msgs</run_depend>

5,编译ROS程序包

    catkin_make是一个命令行工具,它简化了catkin的标准工作流程,使用方法,在catkin工作空间下,

$ catkin_make

上述命令会编译src文件夹下的所有catkin工程,

猜你喜欢

转载自blog.csdn.net/weixin_38145317/article/details/81287410