加载中…
个人资料
孤峰乔木
孤峰乔木
  • 博客等级:
  • 博客积分:0
  • 博客访问:39,365
  • 关注人气:24
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

ROS基本概念

(2019-11-14 16:06:11)
标签:

ros基础

分类: ros基础
  上一篇介绍了ros系统的安装,结尾处,通过一个小乌龟实例,让大家体验了ros系统的使用,本文通过讲解这个实例,介绍下ros系统中基本概念。
首先大家按照“ROS编程入门”,按照命令执行的顺序,将小乌龟程序启动起来。

一 节点管理器:
启动小乌龟程序,执行的第一条ros指令是roscore,此即启动了一个节点管理器,顾名思义,其作用就是用于节点管理,在一个ros系统中,有且只有一个,它是ros节点运行的前提,所以在执行启动ros节点前,第一步都需要执行roscore。
roscore其实是启动了三个进程,可以通过执行:
ps -ef|grep ros 命令,查看进程信息,如图:
ROS基本概念




一个是roscore,一个是rosmaster,一个是rosout,roscore作为父进程,启动后面两个进程,rosmaster即为节点管理器,rosout是log输出管理。

二 node:
node 即节点,启动小乌龟的第二条和第三条指令,分别启动了两个节点。节点是ros系统中两大基本组件之一,一个节点相当于一个处理单元,其本质上是一个进程。使用ps -ef|grep ros,如图

ROS基本概念



既然我们知道有节点管理器,那么就可以利用节点管理器,查看节点信息,与节点相关的操作指令都是通过rosnode实现,如果想查看目前有哪些节点运行,执行指令:
rosnode list
运行结果如图
ROS基本概念


总共三个节点,/rosout是roscore指令启动的,用于log管理,下面两个节点对应启动小乌龟的两个rosrun指令。
这里启动节点,使用的指令是rosrun,一条rosrun指令可以启动一个节点,其指令基本格式是:
rosrun package_name executable,
package_name为包名,executable为可执行程序名。rosrun本质是一个shell脚本,位于/opt/ros/kinetic/bin/rosrun,既然是脚本,就方便支持一系列参数,这个后续用到在做介绍。

三 pacakge
    pacakge即包,一个包可以包含多个节点,ros应用程序发布时,通常都是以包为单位,在我们小乌龟实例中,包即是turtlesim,哪这个包中有几个节点呢,可以通过如下指令查看
rosrun turtlesim
然后按两次Tab键,如图
ROS基本概念


可以看到这个包中还有两个节点,目前我们不需要,就不介绍了,有兴趣可以自己研究下。

四 topic
    topic 即话题,话题和节点是ros系统中两大基本组件,节点是基本的处理单元,话题是基本的通信单元,实现节点之间的通信。和节点一样,话题也有一个专门的指令:rostopic,查看目前系统有哪些话题,执行:
rostopic list
结果如图

ROS基本概念


可以看到,有五个话题。

五 消息
    消息可视为话题的数据类型,每一个话题都有一个类型,其规定了一个话题可以传送什么类型的数据,消息也有其专有的指令rosmsg。 
     这里介绍了ros中最为常用的五个概念,同时也介绍了三个相关指令,这三个指令在后续学习ros中会经常用到,所以务必要掌握,这里大家可以先熟悉下,下一讲会进一步介绍这三个指令。



更多ROS文章,可以关注微信公众号:ROS编程,每周不定期更新

ROS基本概念



0

阅读 评论 收藏 转载 喜欢 打印举报/Report
前一篇:ROS概述
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

    < 前一篇ROS概述
      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有