ROS学习笔记三(理解ROS节点)
要求已经在Linux系统中安装一个学习用的ros软件包例子:
sudo apt-get install ros-indigo-ros-tutorials
ROS图形概念概述
- nodes:节点,一个节点即为一个可执行文件,可以通过ROS和其他节点进行通信;
- messages:消息,当订阅或者发布一个topic时使用的数据类型;
- topics:话题,节点可以发布信息到topics或者从topics那里订阅信息;
- master:节点管理器,ROS的name service,提供服务,例如让不同的节点可以找到彼此;
- rosout:等价于ROS中的stdout/stderr;
- roscore:master+rosout+parameter service(参数服务器)。
ROS客户端库函数允许使用不同的编程语言进行编程通信:
- rospy:Python client library
- roscpp:C++ client library
[1]roscore 在运行所有ROS程序前首先要运行的命令
//打开一个新终端
roscore &
[2]rosnode 显示当前运行的ROS节点信息,其中rosnode list
命令列出了正在运行的节点名称。
//打开一个人新终端
$ rosnode list
/rosout
系统中只有一个节点rosout在运行,它将一直运行并收集和记录节点的调试输出。
[3]rosnode info
返回一个特定节点的节点信息,事实上由它发布 /rosout_agg。
rosnode info /rosout
[4]rosrun命令允许你直接通过软件包名称运行软件包当中的节点(不需要知道软件包的所在路径,但必须是在ROS的搜索目录范围之内)。
使用方法:
rosrun [package_name] [node_name]
我们现在运行软件包turtlesim中的turtlesim_node节点:
rosrun turtlesim turtlesim_node
检验:在一个新窗口中:
$ rosnode list
/rosout
/turtlesim
[5]在命令行中重新分配名字
$ rosrun turtlesim turtlesim_node __name:=my_turtlesim
$ rosnode list
/my_turtlesim
/rosout
[6]命令rosnode ping
:
$ rosnode ping /my_turtlesim
rosnode: node is [/my_turtlesim]
pinging /my_turtlesim with a timeout of .0s
xmlrpc reply from http://ubuntu:33201/ time=0.409842ms
xmlrpc reply from http://ubuntu:33201/ time=1.335144ms
xmlrpc reply from http://ubuntu:33201/ time=1.242876ms
xmlrpc reply from http://ubuntu:33201/ time=1.311064ms
xmlrpc reply from http://ubuntu:33201/ time=1.254082ms
总结
- roscore=ros+core,master(为ROS提供名称服务)+rosout(stdout/stderr)+parameter server。所以在使用ROS的时候的第一件事就是运行roscore来启动这些服务;
- rosnode=ros+node,ROS tool to get information about a node;
- rosrun=ros+run,runs a node from a given package。
ROS学习笔记三(理解ROS节点)的更多相关文章
- ROS学习笔记三:编写第一个ROS节点程序
在编写第一个ROS节点程序之前需要创建工作空间(workspace)和功能包(package). 1 创建工作空间(workspace) 创建一个catkin_ws: #注意:如果使用sudo一次 ...
- ROS学习笔记二:ROS系统架构及概念
本文主要是了解ROS的系统架构.文件夹结构以及工作所需的核心文件. ROS系统架构主要被设计和划分为三部分,每一部分代表一个层级的概念:文件系统级(The filesystem level).计算图级 ...
- ROS学习手记 - 5 理解ROS中的基本概念_Services and Parameters
上一节完成了对nodes, Topic的理解,再深入一步: Services and Parameters 我不理解为何 ROS wiki 要把service与parameter放在一起介绍, 很想分 ...
- ROS学习笔记一:ROS安装与测试
1 Ubuntu和ROS版本的对应关系 Ubuntu 和 ROS 都存在不同的版本,其对应关系如下: 注:如果Ubuntu版本和ROS版本不对应的话,安装就不会成功了- 笔者安装的是Ubuntu14. ...
- ROS学习笔记一(ROS的catkin工作空间)
在安装完成ROS indigo之后,需要查看环境变量是否设置正确,并通过创建一个简单的实例来验证ROS能否正常运行. 1 查看环境变量 在ROS的安装过程中,我们执行了如下命令:(此命令就是向当前用户 ...
- ROS学习笔记(七)——节点
NEW 1 #打开新的终端,以后不再注释$ sudo apt-get install ros-<distro>-ros-tutorials #下载一个教学用的仿真器$ roscore #运 ...
- ROS学习笔记(三)
机器人建模与仿真URDF(Unified Robot Descrption Format,统一机器人描述格式),ROS提供了URDF的c++解析器.安装语法检查工具sudo apt-get insta ...
- ROS学习(三)—— ROS文件系统
一.预备工作 使用ros0tutorials程序包,先下载: sudo apt-get install ros-<distro>-ros-tutorials 其中<distro> ...
- ROS学习笔记九:ROS工具
ROS有各种工具可以帮助用户使用ROS.应该指出,这些GUI工具是对输入型命令工具的补充.如果包括ROS用户个人发布的工具,那么ROS工具的数量很庞大.其中,本文讨论的工具是对于ROS编程非常有用的辅 ...
随机推荐
- Quectel module USB driver for linux
The environment settings are as follows: 1. ubuntu 14.04 , linux kernel: linux-lts-xenial-4.4.0 2. m ...
- API网关Kong系列(四)认证配置
目前根据业务需要先介绍2种认证插件:Key Authentication 及 HMAC-SHA1 认证 Key Authentication 向API添加密钥身份验证(也称为API密钥). 然后,消 ...
- pig和mysql脚本对比
测试数据位于:/home/hadoop/luogankun/workspace/sync_data/pig dept和emp表来源自oracle数据库自带的表 dept.txt ACCOUNTING ...
- 信息学奥赛(NOIP)复赛学习方法推荐
一.确定你的语言 NOIP包括三种语言c/c++/pascal,在最初必须确定自己使用的语言.没有c/c++基础的,个人建议使用pascal,因为它更容易上手,如果有充裕的时间,则建议c/c++,因为 ...
- SpringBoot入门篇--读取资源文件配置
在项目的开发中,我们知道的是SpringBoot框架大大减少了我们的配置文件,但是还是留下了一个application.properties文件让我们可以进行一些配置.当然这些配置必然是包括服务器的配 ...
- 39. 拼接表字段b.day
var fun = ABS_LOADBEAN("com.plug.FunctionHelper");//var v_div = fun.funHelper.strAdd(" ...
- POI 解析excel 空行问题
https://www.cnblogs.com/interdrp/p/4019583.html
- NPOI2.2.0.0实例详解(十一)—向EXCEL插入图片
--------------------- 本文来自 天水宇 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/xxs77ch/article/details/50553 ...
- Mysql 日期类型 date、datetime、timestamp.
三种: date.datetime.timestamp. date : 格式 "YYYY-MM-DD" ,范围 "1000-00-00"到"9999 ...
- Angularjs 首次加载显示{{}}
使用如下标签 <span translate="{{'SYSTEM_100001'|translateFilter}}"></span>