• Catkin工作空间 (重点)


    Catkin工作空间 (重点)

    [TOC]

    1 Catkin工作空间

    • 工作空间(workspace)是一个存放工程开发相关文件的文件夹。

      src:代码空间(Source Space)
      build:编译空间(Build Space)
      devel:开发空间(Development Space)
      install:安装空间(Install Space)
      
    • Catkin工作空间是创建、修改、编译catkin软件包的目录。catkin的工作空间,直观的形容就是一个仓库,里面装载着ROS的各种项目工程,便于系统组织管理调用。在可视化图形界面里是一个文件夹。

    • 我们自己写的ROS代码通常就放在工作空间中,本节就来介绍catkin工作空间的结构。

    1.1 创建catkin工作空间

    创建一个 catkin 工作空间:

    $ mkdir -p ~/catkin_ws/src  # 创建了第二层级的文件夹src,这是放ROS软件包的地方
    $ cd ~/catkin_ws/src        # 进入工作空间,catkin_make必须在工作空间这个路径上执行
    $ catkin_init_workspace     # 初始化src目录,生成的CMakeLists.txt为功能包编译配置
    

    1.2 编译工作空间

    $ cd ~/catkin_ws   # 回到工作空间,catkin_make必须在工作空间下执行;
    $ catkin_make     # 开始编译,调用系统自动完成编译和链接过程,构建生成目标文件
    

    注意: catkin编译之前需要回到工作空间目录,catkin_make在其他路径下编译不会成功。

    ==编译完成后,如果有新的目标文件产生(原来没有),那么一般紧跟着要source刷新环境,使得系统能够找到刚才编译生成的ROS可执行文件。==这个细节比较容易遗漏,致使后面出现可执行文件无法打开等错误。

    catkin_make命令也有一些可选参数,例如:

    catkin_make [args]
      -h, --help            帮助信息
      -C DIRECTORY, --directory DIRECTORY
                            工作空间的路径 (默认为 '.')
      --source SOURCE       src的路径 (默认为'workspace_base/src')
      --build BUILD         build的路径 (默认为'workspace_base/build')
      --use-ninja           用ninja取代make
      --use-nmake           用nmake取'make
      --force-cmake         强制cmake,即使已经cmake过
      --no-color            禁止彩色输出(只对catkin_make和CMake生效)
      --pkg PKG [PKG ...]   只对某个PKG进行make
      --only-pkg-with-deps  ONLY_PKG_WITH_DEPS [ONLY_PKG_WITH_DEPS ...]
                            将指定的package列入白名单CATKIN_WHITELIST_PACKAGES,
                            之编译白名单里的package。该环境变量存在于CMakeCache.txt。
      --cmake-args [CMAKE_ARGS [CMAKE_ARGS ...]]
                            传给CMake的参数
      --make-args [MAKE_ARGS [MAKE_ARGS ...]]
                            传给Make的参数
      --override-build-tool-check
                            用来覆盖由于不同编译工具产生的错误
    

    注意, 对于 Python 3 用户,在一个空的 catkin 工作空间中第一次运行 catkin_make的命令应为:

    $ catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
    

    这将会配置 catkin_make 使用 Python 3.你可以在随后的构建中只使用 catkin_make

    1.3 设置环境变量

    另外,如果你查看一下当前目录应该能看到 'build' 和 'devel' 这两个文件夹。在 'devel' 文件夹里面你可以看到几个 setup.*sh 文件。source 这些文件中的任何一个都可以将当前工作空间设置在ROS工作环境的最顶层。接下来首先 source 一下新生成的 setup.*sh 文件:

    $ source devel/setup.bash   # 刷新坏境
    

    1.4 检查环境变量

    要想保证工作空间已配置正确,需确保ROS_PACKAGE_PATH环境变量包含你的工作空间目录,采用以下命令查看:

    $ echo $ROS_PACKAGE_PATH
    #  出现 /home/<youruser>/catkin_ws/src:/opt/ros/kinetic/share
    

    到此你的工作环境已经搭建完成。

    创建好了一个ROS的工作空间了,接下来就是在catkin_ws工作空间下的src目录下新建功能包并进行功能包程序。

  • 相关阅读:
    C#编程总结(三)线程同步 多线程
    配置 Spring.NET
    C# Redis
    WPF MvvmLight RelayCommand 绑定Command 的使用
    WCF编程系列(一)初识WCF
    C#/WPF程序开机自动启动
    C# 创建Windows Service(Windows服务)程序
    前端Js框架汇总
    列式存储和行式存储
    llvm-3.4.2 编译失败 解决方案
  • 原文地址:https://www.cnblogs.com/IT-cute/p/13232394.html
Copyright © 2020-2023  润新知