1.ROS文件系统中的基本概念

Packages: Package是ROS系统中最底层最基本的组织,里面存放各种文件:库、工具、可执行文件等.
Manifest: 一个package描述xml文件,定义package之间的依赖关系.
Stacks: package的集合,比package这个概念高一级别
Stack Manifest: 作用类似package manifest文件,但是它是针对stack的.

在文件系统中很容易识别package和stack:
package是一个包含 manifest.xml 文件的目录.
stack是一个包含 stack.xml 文件的目录.

2.文件系统工具

ROS中大量代码分散在众多的packages和stacks之中. 命令工具ls 和 cd已不能满足检索要求。因此ROS提供了一套自己的命令工具来完成与这些命令相似的工作。

先下载一个 ros-tutorials 程序包:

$ sudo apt-get install ros-indigo-ros-tutorials 

(1) 使用rospack和rosstack

rospack 查找软件包。返回信息:软件包的路径。  $ rospack find [package_name]

rosstack 查找stack。返回信息:stack的路径。     $ rosstack find [stack_name]

$ rospack find roscpp   
结果:/opt/ros/indigo/share/roscpp

(2) 使用roscd

【1】直接切换(cd)到某个package或者stack的目录.

$ roscd [locationname[/subdir]]

$ roscd roscpp

为了验证我们已经切换到了roscpp p软件包目录. 我们使用unix的命令查看路径pwd:

$ pwd
结果:/opt/ros/indigo/share/roscpp

(3)使用 rosls

作用是列出指定的package或stack中的文件及目录.

$ rosls [locationname[/subdir]]

$ rosls roscpp_tutorials
结果:cmake launch package.xml srv

(5)Tab 自动完成输入

当要输入一个完整的软件包名称时会变得比较繁琐,ROS工具支持TAB 自动完成输入的功能。

Eg:roscd roscpp_tut<<< 现在请按TAB键 >>> ,命令行中应该会自动补充剩余部分。

总结: 

ROS命令工具的的命名方式:

rospack = ros + pack(age)

roscd = ros + cd

rosls = ros + ls

(三)介绍简单的ROS命令的更多相关文章

  1. ROS Learning-004 beginner_Tutorials 介绍简单的ROS命令

    ROS Indigo beginner_Tutorials-03 介绍简单的ROS命令 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04 ...

  2. vi简单快键命令

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...

  3. Redis笔记(三):Redis常用命令

    连接测试 连接本地服务器 语法 $ redis-cli 实例 启动 redis 客户端,打开终端并输入命令 redis-cli.该命令会连接本地的 redis 服务. $redis-cli redis ...

  4. 一、Linux概述 二、Linux的安装 三、Linux的常用命令(重点)

    一.Linux概述###<1>操作系统 OS,管理和控制 计算机的 硬件和软件资源的 计算机程序. 最基本的系统软件. 是用户和计算机交互的桥梁,是硬件和软件交互的桥梁. 操作系统:she ...

  5. 装服务器,测试数据库,简单的maven命令

    [说明]今天总体回顾一下:大概是早上装服务器,下午测试数据库,晚上了解简单的maven命令 一:今日完成 1)在远程服务器的tomcat 设置好管理员的登录账号 2)登录tomcat 的项目管理 查看 ...

  6. ZooKeeper 系列(三)—— Zookeeper常用 Shell 命令

    一.节点增删改查         1.1 启动服务和连接服务         1.2 help命令         1.3 查看节点列表         1.4 新增节点         1.5 查看 ...

  7. ZooKeeper学习之路(三)—— Zookeeper常用Shell命令

    一.节点增删改查 1.1 启动服务和连接服务 # 启动服务 bin/zkServer.sh start #连接服务 不指定服务地址则默认连接到localhost:2181 zkCli.sh -serv ...

  8. ZooKeeper系列(三)—— Zookeeper 常用 Shell 命令

    一.节点增删改查 1.1 启动服务和连接服务 # 启动服务 bin/zkServer.sh start #连接服务 不指定服务地址则默认连接到localhost:2181 zkCli.sh -serv ...

  9. C语言程序设计(三) 简单的算术运算和表达式

    第三章 简单的算术运算和表达式 算数运算符:一元.二元.三元(条件运算符) 1/2是整型除法,1.0/2是浮点数除法 求余运算(%)限定参与运算的两个操作数必须为整数,不能对两个实型数据进行求余运算 ...

随机推荐

  1. 使用javascript连接mqtt协议(自动重连问题)

    因为之前是在rabbitmq的插件"RabbitMQ Web MQTT plugin "中看到使用了mqttws31.js的实例,由于对mqttws31不了解,网上下载了连接成功, ...

  2. html基础代码示例

    文档结构 <!-- 声明文档的类型 标记该文档为HTML5的文件 --> <!DOCTYPE html> <!-- 页面的根节点 --> <!-- html中 ...

  3. 线程池,queue模块增加用法

    1 同一个进程内的队列(多线程) import queue queue.Queue() 先进先出 queue.LifoQueue() 后进先出 queue.PriorityQueue() 优先级队列 ...

  4. 微信小程序教程系列

    微信小程序教程系列 来源:       https://blog.csdn.net/michael_ouyang/article/details/56846185 相关连接:http://blog.c ...

  5. 关于封装Dll为Web Service技术方案的讨论

    关于web架构技术方案的讨论整理 Sonictl 2014年1月25日10:05:52 本着"三人行必有我师"的学习态度,我在近期跟x老师做了大量沟通,结合我们单位对于" ...

  6. 最小生成树-kruskal

    kruskal算法,没有进行算法复杂度分析 判断俩个结点是否在同一个树上使用了dfs,比较low的写法 输入数据 //第一行,结点数,结点数,边数 9 9 14a b 4b c 8c d 7a h 8 ...

  7. linux装机首先需要关闭的服务

    关闭selinux和iptables:setenforce 0 iptables -Fiptables -t nat -Fsystemctl stop firewalldsystemctl disab ...

  8. leetcode973

    public class POINT { public int X; public int Y; public int Z; } public class Solution { public int[ ...

  9. leetcode326

    public class Solution { public bool IsPowerOfThree(int n) { && ( % n == ); } } https://leetc ...

  10. PadLeft 补零

    补零 PadLeft -Caption.Length())+Caption; UnicodeString __fastcall StringOfChar(WideChar Ch, int Count) ...