ROS 教程中涉及的和编写的所有 ROS 代码需要有一个地方存放它,这个地方叫做工作空间。可以说,这个工作空间应该是一个大的集合。当我们要编译程序的时候,我们是对整个工作空间进行编译的。

这个工作空间的名字命名为 ROS 官方教程里的名字一样:catkin_ws。 (为什么官方要使用这个名字: 先说这个 catkin : 意思是 ; 而这个ws : 是WorkSpace的英文缩写。ROS 系统的源代码就是这个公司发明的。)

$ mkdir -p ~/catkin_ws/src   // -p 这个参数 可以允许你创建一个带有子目录的文件夹。 

来到这个主路径内: 编译它, 会新出现一些文件(启动文件 和 编译过渡文件)

$ cd ~/catkin_ws/
$ catkin_make

接下来,我们将这个 catkin_ws 工作空间的路径添加的环境变量中

$ source ~/catkin_ws/devel/setup.bash

上一节说过了,这样做,添加的环境变量只能在当前终端有效。如果重新打开新的终端,这个环境变量就没有了。

没有前面添加的环境变量:/home/aobo/catkin_ws/src

$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc 

上面这句话就可以做到,打开新终端,输入上面那句。

重新打开一个新的终端检查,/home/aobo/catkin_ws/src 在环境变量里。

$ROS_PACKAGE_PATH可以添加任意目录路径,目录路径之间 ':' 分开。

上面这个命令里面有这样一个文件: .bashrc 。 我们打开它看看里面有什么?
使用 cat 命令,将 .bashrc 文件里的内容全部打印到当前终端上:

(二)创建ROS工作空间的更多相关文章

  1. ROS Learning-003 beginner_Tutorials 创建ROS工作空间

    ROS Indigo beginner_Tutorials-02 创建ROS工作空间 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04. ...

  2. 创建ROS 工作空间时出现:程序“catkin_init_workspace”尚未安装,程序“catkin_make”尚未安装。

    问题:创建ROS 工作空间时出现:程序“catkin_init_workspace”尚未安装,程序“catkin_make”尚未安装. 解决方法: source /opt/ros/kinetic/se ...

  3. 创建ROS工作空间和包

    一.创建工作空间 mkdir -p ~/openni_ws/src cd ~/openni_ws catkin_make        //在catkin工作空间(openni_ws)下catkin_ ...

  4. 创建ROS工程結構

    图像化显示目录工程结构:tree $ sudo apt install tree 1.创建ROS工作空间 $ mkdir -p catkin_ws/src # Create mutil-level d ...

  5. ROS工作空间和程序包创建

    预备工作后面操作中我们将会用到ros-tutorials程序包,请先安装: $ sudo apt-get install ros-<distro>-ros-tutorials 将 < ...

  6. 创建一个ROS工作空间(ROS Workspace)

    详细参照 http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment1.mkdir -p ~/catkin_ws/ ...

  7. SLAM+语音机器人DIY系列:(二)ROS入门——4.如何编写ROS的第一个程序hello_world

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

  8. ROS学习笔记二:ROS系统架构及概念

    本文主要是了解ROS的系统架构.文件夹结构以及工作所需的核心文件. ROS系统架构主要被设计和划分为三部分,每一部分代表一个层级的概念:文件系统级(The filesystem level).计算图级 ...

  9. SLAM+语音机器人DIY系列:(二)ROS入门——2.ROS系统整体架构

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

随机推荐

  1. C++17尝鲜:变长 using 声明

    using 声明 先来看 using 声明在类中的应用: 代码1 #include <iostream> using namespace std; struct A { void f(in ...

  2. 四则运算之Right-BICEP单元测试

    一. 这篇博客要对上次实现的四则运算进行单元测试,一是检查上次的程序的实现情况,二是巩固单元测试的相关知识.本次进行单元测试用的是Riget-BICEP方法. Riget-BICEP方法: 1.Rig ...

  3. HttpURLConnection类的使用

    此类以获取天气的一个api地址为例: package javaexcjs; import java.io.BufferedReader; import java.io.OutputStreamWrit ...

  4. android事件处理概括

    什么是事件处理? 事件处理就是针对用户的一些特定操作,进行相对应的回馈.时间处理也是程序开发中的人机交互的一个非常重要的体现.事件处理中,事件源是事件的起始位. 一.事件处理三要素 事件源——事件—— ...

  5. C#图像处理:截图程序(包含鼠标)

    截图后在picbox中显示,用定时器定时每毫秒截图一次,在picbox上显示就有动画效果.代码: [DllImport("user32.dll")] static extern b ...

  6. JavaScriptConverter

    public class DatePartsConverter : JavaScriptConverter { public override IEnumerable<Type> Supp ...

  7. Mac中安装tensorflow(转)

    当我们开始学习编程的时候,第一件事往往是学习打印"Hello World".就好比编程入门有Hello World,机器学习入门有MNIST.MNIST是一个识别手写数字的程序 M ...

  8. 2.4、CDH 搭建Hadoop在安装(Cloudera Software安装和配置MySQL)

    为Cloudera Software安装和配置MySQL 要使用MySQL数据库,请按照以下过程操作.有关MySQL数据库兼容版本的信息,请参阅CDH和Cloudera Manager支持的数据库. ...

  9. iostat磁盘监控工具

    安装iostat磁盘监控工具 1.安装 yum install sysstat 2.运行 iostat -k -d -x 1 10 -k:以kb为单位统计 -d:显示磁盘状态 -x:显示详细信息 1: ...

  10. Real Time Rendering 2

    [Real Time Rendering 2] 1.The light vector l is usually defined pointing in a direction opposite to ...