1、ROS框架

分为以下三个级别:

1)文件系统级

2)计算图级

计算图级是ROS处理数据的一种点对点的网络形式,描述程序是如何运行的。

基本的计算图级概念包括:节点,参数服务器,消息,服务,主题和包等

节点:node,一个节点即为一个可执行文件,它可以通过ROS与其他节点进行通信;

参数服务器:parameter server 参数服务器允许数据通过在一个中心位置的关键词来存储;

举个例子:

要看turtlesim仿真器的参数有哪些,可以先运行该仿真节点,rosrun turtlesim turtlesim_node,然后再打开一个终端输入rosparam list可以列出当前所有的参数。

消息:message,消息是一种ROS数据类型,用于订阅或发布到一个话题;

例子:

还是以上面的例子来说,再打开一个终端,因为要查看某个消息,先查看某个主题,rostopic list,列出一些主题,下面以/turtle1/cmd_vel为例,

查看该话题的相关信息,rostopic info /turtle1/cmd_vel;然后可以看到它的发布者,订阅者以及消息类型,它的消息类型为

geometry_msgs/Twist.下面查看该消息的具体类型rosmsg show geometry_msgs/Twist。

下面是往某话题上发布某消息的命令行上的命令:

主题:topic,节点可以发布消息到话题,也可以订阅话题以接收消息;

服务:services,是节点之间通讯的另一种方式,服务允许节点发送请求并获得响应。

服务的用法类似于topic

上面使用rosservice list查看了当前的所有服务,并使用rosservice info /clear来查看了服务/clear的相关信息,得到该服务的类型是std_srvs/Empty,然后使用rossrv show std_srvs/Empty来查看该服务类型的具体信息。

消息记录包:bag,是一种用于保存和回放ROS消息数据的格式。如保存地图并回放

节点管理器:master,ROS名称服务(如帮助节点找到彼此)

rosout:ROS中相当于stdout/stderr

roscore:主机+rosout+参数服务器

3)社区级

即网络软件仓库:ros club exbot.

ROS的基本命令和工具

主题

第二课2、ROS的更多相关文章

  1. CI(CodeIgniter)框架入门教程——第二课 初始MVC

    本文转载自:http://www.softeng.cn/?p=53 今天的主要内容是,使用CodeIgniter框架完整的MVC内容来做一个简单的计算器,通过这个计算器,让大家能够体会到我在第一节课中 ...

  2. OpenCV 第二课 认识图像的存储结构

    OpenCV 第二课 认识图像的存储结构 Mat Mat 类包含两部分,矩阵头和矩阵体.矩阵头包含矩阵的大小,存储方式和矩阵体存储空间的指针.因此,Mat中矩阵头的大小是固定的,矩阵体大小是不定的. ...

  3. Kali Linux Web 渗透测试视频教程— 第二课 google hack 实战

    Kali Linux Web 渗透测试— 第二课 代理简介 文/玄魂 课程地址: http://edu.51cto.com/course/course_id-1887.html 目录 shellKal ...

  4. 【第二课】深入理解Handler

    简要讲解Handler是做什么的 我们知道,在Android中,app启动会启动一个进程一个线程——UI线程,UI线程是主线程,并且不允许这个线程阻塞超过5秒,一旦超过5秒就会ANR. 所以较为耗时的 ...

  5. ruby代码重构第二课

    (文章都是从我的个人主页上粘贴过来的, 大家也可以访问我的主页 www.iwangzheng.com) 在第一课里提取出了相通的代码,第二课里就把常量提取出来吧 一般把常量的定义写的对应的app/mo ...

  6. NeHe OpenGL教程 第二课:多边形

    前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢 ...

  7. Spark 3000门徒第二课scala面向对象总结

    昨晚听了王家林老师3000门徒spark系列课程的第二课,讲述了scala面向对象知识,并且带着过了一遍Spark核心类:SparkContent,RDD的代码,下面写一下心得: RDD是抽象类,实现 ...

  8. grails2.3.11第二课

    第二课主要介绍grails相关插件的使用,这是敏捷开发所必需的途径. 可以把grails的插件看作是grails正常项目的迷你型,因为看插件的源码,它的目录结构和正常项目相差无几. 官方开源插件地址 ...

  9. 过拟合/欠拟合&logistic回归等总结(Ng第二课)

    昨天学习完了Ng的第二课,总结如下: 过拟合:欠拟合: 参数学习算法:非参数学习算法 局部加权回归 KD tree 最小二乘 中心极限定律 感知器算法 sigmod函数 梯度下降/梯度上升 二元分类 ...

  10. 【Linux探索之旅】第二部分第二课:命令行,世界尽在掌握

    内容简介 1.第二部分第二课:命令行,世界尽在掌握 2.第二部分第三课预告:文件和目录,组织不会亏待你 命令行,世界尽在掌握 今天的标题是不是有点霸气侧漏呢? 读者:“小编,你为什么每次都要起这么非主 ...

随机推荐

  1. css position 几种定位

    绝对定位:position:absolute 绝对定位使元素的位置与文档流无关,因此不占据空间. 绝对定位的元素的位置相对于最近的已定位祖先元素(absoulte.relative),如果元素没有已定 ...

  2. mysql系列之9.mysql日志&存储引擎

    mysqlbinlog 是什么? 数据目录下的如下文件: mysql-bin.xxxxxx 作用? 记录数据库内部增删改查对mysql数据库有更新的内容的记录 三种模式? statement leve ...

  3. hdoj 1116 Play on Words 【并查集】+【欧拉路】

    Play on Words Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) T ...

  4. ASCII 在线转换器

    http://www.ab126.com/goju/1711.html 比如下发内容 <S020,*> 对应的16进制字节为 3C 2C 2A 3E https://wenku.baidu ...

  5. es6技巧写法

    为class绑定多个值 普通写法 :class="{a: true, b: true}" 其他 :class="['btn', 'btn2', {a: true, b: ...

  6. 51nod 1022 石子归并 V2 —— DP四边形不等式优化

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1022 1022 石子归并 V2  基准时间限制:1 秒 空间限 ...

  7. 算法(Algorithms)第4版 练习 1.3.14

    方法实现: //1.3.14 package com.qiusongde; import java.util.Iterator; import java.util.NoSuchElementExcep ...

  8. MySQL Unable to convert MySQL date/time value to System.DateTime的解决办法

    在连接串中加入 Convert Zero Datetime=True

  9. Linux_学习_01_ 压缩文件夹

    二.参考资料 1.Linux下压缩某个文件夹命令

  10. Python实现结对编程项目

    Github (李昆乘)(陈俊豪) 开发流程 PSP2.1 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 ...