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编程非常有用的辅 ...
随机推荐
- Linux下apache2及模块mod_deflate等安装和配置
安装apache 1.wget http://archive.apache.org/dist/httpd/httpd-2.2.13.tar.gz 2.在安装目录 先让大家看看实际效果,请看下图10点中 ...
- 2018ICPC网络赛(焦作站)E题题解
一.题目链接 二.题意 给定一棵树,有四种操作: $1\ u\ v\ x$:把节点$u$到$v$路径上的所有点的权值乘以$x$: $2\ u\ v\ x$:把节点$u$到$v$路径上的所有点的权值加上 ...
- 蓝瓶的钙,好喝的钙——windows,我要蓝屏的
原文地址:http://80x86.io/post/windows-blue-screen-0x00000050-page_fault_in_nonpaged_area 这里只截取一部分. windo ...
- mysql 5.7新特新 操作json 数组
; UPDATE EDI.edi_history SET response_summary = JSON_REPLACE(response_summary, ; 对于json数组,使用$[*] 然后 ...
- task 03-27
To integrate the spring with jpa, Basically completed the jpa of study;To integrate the spring wi ...
- HTML5 借助http请求发送formdata对象,从而上传文件 XMLHttpRequest, FormData
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- VisualSVN:强制必须填写日志信息
上回将到怎么修改已提交的版本日志信息,而开发项目过程中团队中总是有人忘记添加日志信息注释直接提交,这样会后期维护带来不便. 现在先演示一下效果 当直接提交一个空白日志信息时 有填写日志信息时 那怎么实 ...
- 微信公众平台开发者认证,node
纯属分享 app.js var express = require('express'); var path = require('path'); var app = express(); ; var ...
- ImageIO(图像处理)
1.通过ImageIO的read和writer,对图像文件进行处理. BufferedImage buffImage = ImageIO.read(file); // 将图像输出到Servlet输出流 ...
- 拓扑排序获取所有可能序列JAVA实现
在看算法基础这本书,看到有向无环图,其中介绍到了拓扑排序,讲到了获取拓扑序列的方法,结合自己的理解,用JAVA代码实现了获取所有可能序列,水平有限,效率什么的就没有考虑,下面贴上代码: package ...