我的ROS入门(四):ROS文件系统

来源:互联网 发布:喜马拉雅网络无法连接 编辑:程序博客网 时间:2024/05/22 17:03
  • Packages: 软件包,是ROS应用程序代码的组织单元,每个软件包都可以包含程序库、可执行文件、脚本或者其它手动创建的东西。

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

  • 使用 rospack命令,rospack允许你获取软件包的有关信息,
    $ rospack find roscpp输出文件路径

  • 使用 roscd,它允许你直接切换(cd)工作目录到某个软件包或者软件包集当中。
    $ roscd roscpp

  • 使用roscd log,使用roscd log可以切换到ROS保存日记文件的目录下。
    $ roscd log

  • 创建ROS程序包


  • 最简单的程序包也许看起来就像这样:

    • my_package/  CMakeLists.txt必须包含一个catkin 版本的CMakeLists.txt文件,而Catkin metapackages中必须包含一个对CMakeList.txt文件的引用。  package.xml必须包含catkin compliant package.xml文件
      • 这个package.xml文件提供有关程序包的元信息。

    一个简单的工作空间也许看起来像这样:

    • workspace_folder/        -- WORKSPACE  src/                   -- SOURCE SPACE    CMakeLists.txt       -- 'Toplevel' CMake file, provided by catkin    package_1/      CMakeLists.txt     -- CMakeLists.txt file for package_1      package.xml        -- Package manifest for package_1    ...    package_n/      CMakeLists.txt     -- CMakeLists.txt file for package_n      package.xml        -- Package manifest for package_n
    package.xml文件提供有关程序包的元信息。程序包必须包含一个catkin 版本的CMakeLists.txt文件,而Catkin metapackages中必须包含一个对CMakeList.txt文件的引用。
  • 创建一个空白的catkin工作空间。"build" the workspace
    $ mkdir -p ~/catkin_ws/src$ cd ~/catkin_ws/src$ catkin_init_workspace        即可在src下创建一个makelist,每个工作空间要有一个makelist
    $ cd ~/catkin_ws/$ catkin_make     即可生成build目录和devel目录,里面有一堆东西

创建一个catkin程序包

$ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

编译ROS程序包

$ catkin_make

ROS节点

一个节点其实只不过是ROS程序包中的一个可执行文件。ROS节点可以使用ROS客户库与其他节点

通信。节点可以发布或接收一个话题。节点也可以提供或使用某种服务。

ROS Topics

ROS服务

rqt_console和roslaunch命令的使用
期间还是遇到了两个问题,第一个是不能改名字my_turtle,第二个是切换到beginner_tutorials程序包目录下总是失败。







0 0
原创粉丝点击