• ROS学习之工作空间


    一、

    工作空间就是一个文件夹,其中包含功能包,功能包又包 含源文件和环境或工作空间,从而提供编译这些功能包的一种方式。当 你想同时编译不同的功能包时它非常有用,并且是集中化所有开发的一 种好方式。

    ·源文件空间(src):代码空间

    在源空间(src文件夹)中,放置了 功能包、项目、复制的包等。在这个空间中,最重要的一个文件是 CMakeLists.txt。当在工作空间中配置包时,src文件夹中有 CMakeLists.txt因为cmake调用它。这个文件是通过catkin_init_workspace 命令创建的。

    ·编译空间(build space):

    在build文件夹里,cmake和catkin为功能 包和项目保存缓存信息、配置和其他中间文件。

    ·开发空间(Development(devel)space):

    devel文件夹用来保存 编译后的程序,这些是无须安装就能用来测试的程序。一旦项目通过测 试,就可以安装或导出功能包从而与其他开发人员分享。

    二、

    (1)、创建工作空间

    $ cd catkin_ws/src/
    $ catkin_init_workspace

    (2、编译工作空间

    $ cd catkin_ws/
    $ catkin_make

    (3)、设置环境变量

    $ source devel/setup.bash

    (4)、检查环境变量

     $ echo $ROS_PACKAGE_PATH

    三、创建功能包

    1、创建功能包

    $cd catkin_ws/src
    $catkin_create_pkg learning_communication std_msgs rospy roscpp

    命令格式为
    catkin_create_pkg [package_name] [dependency1] ... [dependencyN]
    这些依赖项包括以下几个。 ·
    std_msgs:包含了常见消息类型,表示基本数据类型和其他基本的 消息构造,如多维数组。
    roscpp:使用C++实现ROS的各种功能。它提供了一个客户端库, 让C++程序员能够调用这些接口快速完成与ROS的主题、
    服务和参数相关的开发工作。

    可以使用rospack、roscd和rosls命令来获取新 的功能包信息。下面是可以执行的一些操作。

    ·rospack profile:此命令用于通知用户ROS中新添加的内容。在安装任何新功能包之后使用它。
    ·rospack find learning_communication:此命令用于查找路径。
    ·rospack depends learning_communication:此命令用于查看依赖关系。
    ·rosls learning_communication:此命令用于查看内容。
    ·roscd learning_communication:此命令会更改实际路径。

    2、编译功能包

    $cd catkin_ws/src
    $catkin_make
    $sorce~/catkin_ws/devel/setup.bash//可在bashrc文件中配置

    同一个工作空间下,不允许存在同名功能包,不同工作空间下,允许存在同名功能包

    必须在workspace文件夹中运行catkin_make命令。如果在其 他文件夹中这样做,命令无法执行

    四、工作空间的覆盖(overlaying)

    运行时ros会优先查找最前端的工作空间中是否存在指定的功能包。,如果不存在,就顺序向后查找其他工作空间

    且当你正在使用 ROS功能包(例如Turtlesim)时,可以使用安装版本,也可以下载源文 件并编译它来使用你修改后的版本。

    ROS允许使用你自己版本的功能包去替代安装版本。如果你正在升 级已安装的功能包。

  • 相关阅读:
    浮动float 摆放位置
    边框(border)宽度样式颜色 和基本属性
    调用css文件,进行调色
    deque_01
    iterator_教程中的讲解
    vector_01
    VS2013_CodeLens
    Qt for Embedded Linux
    jsjl_for_ubuntu12.04
    VC6_导入lib库
  • 原文地址:https://www.cnblogs.com/zhongllmm/p/14761573.html
Copyright © 2020-2023  润新知