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. js相关文章

    1.js获取网页屏幕可见区域高度 2.JS组件系列——BootstrapTable 行内编辑解决方案:x-editable 3.Bootstrap table 服务器端分页示例

  2. UML类图实例分析

    登录模块 某基于C/S的即时聊天系统登录模块功能描述如下: 用户通过登录界面(LoginForm)输入账号和密码,系统将输入的账号和密码与存储在数据库(User)表中的用户信息进行比较,验证用户输入是 ...

  3. Shell编程常用函数

    1.打印提示消息函数,不同级别消息使用不同的颜色显示.其中错误信息提示为红色字体. # -------------------------------------------------------- ...

  4. Ubuntu网卡配置

    目录 1.查看所有可用网卡 2.编辑配置文件 3.添加可用网卡信息 4.重启网络服务 5.查看网卡信息 1.查看所有可用网卡 $ ifconfig -a # -a display all interf ...

  5. 给tkinter文本框添加右键菜单

    给tkinter文本框添加右键菜单 需求:直接右键点击使用tkinter创建的文本框是不会弹出菜单的.我们需要实现右键点击tkinter框架下的Entry对象.Text对象后弹出右键菜单可复制.粘贴和 ...

  6. Structs复习 Path问题

    Path问题相对复杂 主要是路劲问题 但结论很简单 就是统一使用绝对路径 jar包 web.xml <?xml version="1.0" encoding="UT ...

  7. C++ MFC Tab Control控件的详细使用

    1. 新建一个MFC工程, 取名MyTab, 选择Dialog based, 然后Finish. 2. 删除对话框上默认添加的三个控件. 添加Tab Control控件并在Property属性中设置I ...

  8. eval解析字符串为JSON对象

    对于服务器返回的JSON字符串,如果jquery异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,方式不是太麻烦,就是将该字符串放于eval()中执行一次. 这种方式也适合以普通j ...

  9. SQL server 基本语法

    文字摘自https://www.cnblogs.com/chaoa/articles/3894311.html 一.定义变量 --简单赋值 declare @a intset @a=5 print @ ...

  10. 函数式编程语言(Functional Program Language)

    (一) 什么是函数编程语言 简单说,"函数式编程"是一种"编程范式"(programming paradigm),也就是如何编写程序的方法论. 是一种编程典范, ...