美文网首页
2.ROS基础-创建工作空间

2.ROS基础-创建工作空间

作者: 徐凯_xp | 来源:发表于2019-02-13 16:06 被阅读0次

爱之于我,不是肌肤之亲,不是一蔬一饭,它是一种不死的欲望,是疲惫生活里的英雄梦想。

创建工作空间

工作空间(workspace)是一个存放工程开发相关文件的文件夹。包含四个部分的内容。

  • src:代码空间(Source Space)
  • build:编译空间(Build Space)编译过程产生的中间文件
  • devel:开发空间(Development Space)可执行文件和相关脚本
  • install: 安装空间(Install Space)和devel文件功能相差不大,只不过一般将可执行文件安装到此文件夹。
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
编译工作空间
cd ~/catkin_ws/
catkin_make
设置环境变量
source devel/setup.bash

通过设置环境变量,系统将知道功能包放在catkin_ws_devel下
该命令有一个弊端就是,设置的环境变量只会在当前终端下生效,重新打开一个终端将失效

解决方法是将上述命令放在终端配置文件中。

vi ~/.bashrc

vi/vim介绍
将环境变量添加只终端设置最后一行

source ~/catkin_ws/devel/setup.bash

在新的终端中输入以下命令,让终端命令在当前终端生效

source ~/.bashrc
检查环境变量
echo $ROS_PACKAGE_PATH

创建功能包

catkin_create_pkg<package_name> [depend1][depend2][depend3]
功能包的名字以及该功能包所依赖的其他功能包。

cd ~/catkin_ws/src
catkin_create_pkg learning_communication std_msgs rospy roscpp //标准数据结构,ros python接口,ros c++接口
编译功能包

所有使用catkin_make完成编译操作都是需要在工作空间根目录下。

cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash

同一工作空间下,不允许存在同名功能包,不同工作空间下,允许存在同名功能包
这里的catkin_ws和新建文件夹差不多,可以换一个名字。

工作空间的覆盖Overlaying 机制

当ROS中存在多个同名的功能包时,它会以什么样的顺序去查找呢?优先选择哪一个工作空间下的功能包?
env | grep ros
查看和ros相关的环境变量

  • 工作空间的路径依次在ROS_PACKAGE_PATH环境变量中记录
  • 新设置路径在ROS_PACKAGE_PATH中会自动放置在最前端
  • 运行时,ROS会优先查找最前端的工作空间中是否存在指定的功能包
  • 如果存在,就顺序向后查找其他工作空间
sudo apt-get install ros-kinetic-roscpp-tutorials

相关文章

  • 2.ROS基础-创建工作空间

    爱之于我,不是肌肤之亲,不是一蔬一饭,它是一种不死的欲望,是疲惫生活里的英雄梦想。 创建工作空间 工作空间(wor...

  • 2019-05-29

    ROS基础完整教程 1. 创建catkin工作空间 ... mkdir -p ~/catkin_car/src ....

  • 创建catkin工作空间

    创建catkin工作空间 1.创建一个新的catkin工作空间: 2.完成后,输入下面命令: 3.查看环境变量: ...

  • Getting started with multi-modul

    这一章介绍Go语言多模块工作空间的基础概念,我们会在共享的多模块工作空间创建两个模块并修改它们,从而在构建程序过程...

  • mac电脑下用VSCode搭建一个vue-cli2项目步骤

    整个过程是基于已经安装node.js和cnpm/npm的基础上 1.创建一个工作空间在电脑中 如我创建的目录位置 ...

  • ROS学习笔记(二)创建软件包

    1.创建ROS程序包 首先切换到之前通过创建catkin工作空间教程创建的catkin工作空间中的src目录下: ...

  • ROS学习笔记(一)创建工作空间

    1.创建ROS工作空间 下面我们开始创建一个catkin 工作空间: $ mkdir -p ~/catkin_ws...

  • Oracle

    Oracle 基础 创建表空间 解释: waterboss 为表空间名称 datafile 用于设置物理文件名称 ...

  • 2.ROS基础-ROS通信编程

    需要一个人有强大的上进心、克制力、自律。克制自己的欲望,希望自己能做到"精进"。 话题编程 创建发布者 创建订阅者...

  • 工作空间workspace使用方法(依赖引用、cocopods、

    一、workspace创建 1.创建Workspace工作空间 2.创建主项目(MainProject)、静态库(...

网友评论

      本文标题:2.ROS基础-创建工作空间

      本文链接:https://www.haomeiwen.com/subject/mzureqtx.html