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. 【BZOJ4453】cys就是要拿英魂! 后缀数组+单调栈+set

    [BZOJ4453]cys就是要拿英魂! Description pps又开始dota视频直播了!一群每天被pps虐的蒟蒻决定学习pps的操作技术,他们把pps在这局放的技能记录了下来,每个技能用一个 ...

  2. 【BZOJ1786】[Ahoi2008]Pair 配对 DP

    [BZOJ1786][Ahoi2008]Pair 配对 Description Input Output Sample Input 5 4 4 2 -1 -1 3 Sample Output 4 题解 ...

  3. 全能,OnSize的使用,部分覆盖后重画,都没有问题

    import wx class View(wx.Panel): def __init__(self, parent): super(View, self).__init__(parent) self. ...

  4. Android实现下拉导航选择菜单效果

    本文介绍在Android中如何实现下拉导航选择菜单效果.   关于下拉导航选择菜单效果在新闻客户端中用的比较多,当然也可以用在其他的项目中,这样可以很方便的选择更多的菜单.我们可以让我们的应用顶部有左 ...

  5. ABAP HTTP POST

    1.HTTP DATA: lo_http_client TYPE REF TO if_http_client, lv_service TYPE string, lv_result TYPE strin ...

  6. 剑指Offer:字符串排列【38】

    剑指Offer:字符串排列[38] 题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bc ...

  7. Android Studio快速添加Gson Gsonformat

    一.Android Studio快速添加Gson 具体操作:       1.File->Project Structure: 2.app->Dependencies->" ...

  8. 细说后端模板渲染、客户端渲染、node 中间层、服务器端渲染(ssr)

    细说后端模板渲染.客户端渲染.node 中间层.服务器端渲染(ssr) 前端与后端渲染方式的发展大致经历了这样几个阶段:后端模板渲染.客户端渲染.node 中间层.服务器端渲染(ssr). 1. 后端 ...

  9. linux 下 监控系统运行状况 命令 dstat

    推荐读文:https://linux.cn/article-3215-1.html

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

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