ROS学习笔记5-理解节点(Node)
本文内容来源于:http://wiki.ros.org/ROS/Tutorials/UnderstandingNodes
- 图(Graph)概念概览
- ROS核心(roscore)
roscore是使用ros运行的一个命令,需要在其他节点运行之前运行roscore。- $ roscore
- ... logging to /home/shao/.ros/log/93b4e9f2-d146-11e9-a3fd-69f079ca327f/roslaunch-UAVlab1-13621.log
- Checking log directory for disk usage. This may take awhile.
- Press Ctrl-C to interrupt
- Done checking log file disk usage. Usage is <1GB.
- started roslaunch server http://UAVlab1:40901/
- ros_comm version 1.12.14
- SUMMARY
- ========
- PARAMETERS
- * /rosdistro: kinetic
- * /rosversion: 1.12.14
- NODES
- auto-starting new master
- process[master]: started with pid [13631]
- ROS_MASTER_URI=http://UAVlab1:11311/
- setting /run_id to 93b4e9f2-d146-11e9-a3fd-69f079ca327f
- process[rosout-1]: started with pid [13644]
- started core service [/rosout]
运行成功后如上所示。
- $ roscore
- rosnode命令
使用rosnode命令可以查看ros节点相关的信息。例如:rosnode list命令可以列出运行的ros节点。
新打开一个终端,运行rosnode list,如下:- $ rosnode list
- /rosout
可以看出,有一个rosout节点,为roscore命令启动的。
使用rosnode info命令可以查看ros节点的信息:- $ rosnode info /rosout
- --------------------------------------------------------------------------------
- Node [/rosout]
- Publications:
- * /rosout_agg [rosgraph_msgs/Log]
- Subscriptions:
- * /rosout [unknown type]
- Services:
- * /rosout/get_loggers
- * /rosout/set_logger_level
- contacting node http://UAVlab1:42313/ ...
- Pid: 13644
- $ rosnode list
rosrun运行节点
rosrun命令可以运行ros节点,语法如下:
- $ rosrun [package_name] [node_name]
官网该文档有问题,正确的应该是:
- rosrun <package> <executable>
即第二个参数为可执行程序名,不一定和节点名一致。
新打开一个终端,运行:- $ rosrun turtlesim turtlesim_node
小龟龟出现喽。
然后再用rosnode可以看到:
- $ rosnode list
- /rosout
- /turtlesim
可以看出来多了个turtlesim的节点。
打开新终端,然后使用参数重映射,可以给节点名重命名。- $ rosrun turtlesim turtlesim_node __name:=my_turtle
然后运行rosnode list
- $ rosnode list
- /my_turtle
- /rosout
- /turtlesim
可以看出来多了一个节点my_turtle。
使用rosnode ping命令可以检查和某节点之间的通信,类似于ping命令。- $ rosnode ping /my_turtle
- rosnode: node is [/my_turtle]
- pinging /my_turtle with a timeout of 3.0s
- xmlrpc reply from http://UAVlab1:43947/ time=0.296116ms
- xmlrpc reply from http://UAVlab1:43947/ time=0.949144ms
- xmlrpc reply from http://UAVlab1:43947/ time=0.707150ms
- xmlrpc reply from http://UAVlab1:43947/ time=0.704050ms
- xmlrpc reply from http://UAVlab1:43947/ time=1.071930ms
ROS学习笔记5-理解节点(Node)的更多相关文章
- ROS学习笔记七:在ROS中使用USB摄像头
下面是一些USB摄像头的驱动(大多数摄像头都支持uvc标准): 1 使用软件库里的uvc-camera功能包 1.1 检查摄像头 lsusb ----------------------------- ...
- 微信小程序开发:学习笔记[7]——理解小程序的宿主环境
微信小程序开发:学习笔记[7]——理解小程序的宿主环境 渲染层与逻辑层 小程序的运行环境分成渲染层和逻辑层. 程序构造器
- ROS学习笔记八:基于Qt搭建ROS开发环境
1 前言 本文介绍一种Qt下进行ROS开发的完美方案,使用的是ros-industrial的Levi-Armstrong在2015年12月开发的一个Qt插件ros_qtc_plugin,这个插件使得Q ...
- ROS学习笔记2-基本概念
本笔记来源于:http://wiki.ros.org/ROS/Concepts ROS文件系统级别文件系统级别主要包含了你能在ROS的磁盘上遇到的资源,包括: 包(Packages):包是ROS中资源 ...
- Nodejs学习笔记(六)--- Node.js + Express 构建网站预备知识
目录 前言 新建express项目并自定义路由规则 如何提取页面中的公共部分? 如何提交表单并接收参数? GET 方式 POST 方式 如何字符串加密? 如何使用session? 如何使用cookie ...
- COCOS2D-X学习笔记(一)-----Node类的学习
Node类(在3.0版本以下叫CCNode):节点类. 本文记录以下几个方法的学习笔记: init()和onEnter()这俩个方法都是CCNode的方法.其区别如下: 1.其被调用的顺序是先init ...
- ROS学习笔记
创建ros工作环境: mkdir -p ~/catkin_ws/src //建立项目目录,同时生成src文件夹 cd ~/catkin_ws/ //进入项目目录 catkin_make //编译项目, ...
- ROS学习笔记(一) : 入门之基本概念
目录 基本概念 1. Package 2. Repositories 3. Computation Graph 4. Node 5. Master 6. Message 7. Topic 8. Ser ...
- Nodejs学习笔记(六)—Node.js + Express 构建网站预备知识
前言 前面经过五篇Node.js的学习,基本可以开始动手构建一个网站应用了,先用这一篇了解一些构建网站的知识! 主要是些基础的东西... 如何去创建路由规则.如何去提交表单并接收表单项的值.如何去给密 ...
随机推荐
- 【笔记8-Redis分布式锁】从0开始 独立完成企业级Java电商网站开发(服务端)
Redis分布式锁 Redis分布式锁命令 setnx当且仅当 key 不存在.若给定的 key 已经存在,则 setnx不做任何动作.setnx 是『set if not exists』(如果不存在 ...
- 数据结构--Java语言描述
本篇文章是为了记录自己在学习数据结构时的笔记,会对常见的数据结构做基本的介绍以及使用Java语言进行实现.包括 动态数组 栈 队列 链表 二分搜索树 优先队列和堆 线段树 Trie树 并查集 AVL树 ...
- 基于PowerCli自动部署和配置vmvare虚拟机
1 文档说明 2 Vsphere PowerCli安装和配置 3 PowerCli常用命令 4 创建自定义规范 5 虚拟机克隆与配置脚本 6 技术资料 1 文档说明 使用Vsphere管理虚拟机,在进 ...
- C的精神
信任程序员 不要妨碍程序员做需要做的事 保持语言精练简单 只提供一种方法执行一项操作 让程序运行更快, 即使不能保证其可移植性 在最后一点上, 标准委员会的用意是: 作为实现, 应该针对目标计算机来定 ...
- DC-DC芯片
KIS-3R33S:同步整流7V-24V转5V/3A DC-DC降压模块 稳压电源模块 效率超过LM2576
- Vue项目——去哪网(首页部分)
业务逻辑 通过gitee创立各个分支,比如swiper,header,recommende等分支,其实就是整个页面上的每个模块.模块化是公司级别项目开发的基准,每个人在各自的分支上进行代码的编写,而对 ...
- ES 创建mapping
mapping的写入与查看首先创建一个索引: curl -XPUT "http://erp2.es.kd1.pagoda.com.cn:80/erp_stock_index"{&q ...
- mongodb的remove操作
今天学习mongodb时,打算用db.user.remove()函数把user中的数据都删了,结果没闪成功,提示:remove needs a query.上网查了一下,是因为没有给remove函数传 ...
- paramiko linux pip18.1
Collecting paramiko Downloading https://files.pythonhosted.org/packages/cf/ae/94e70d49044ccc234bfdba ...
- windows与linux的文件路径
在windows操作系统中,文件路径的分隔符是反斜杠(“\\”),例如: E:\\hsta\\pdf(这里为防止转义,所以要写成两个反斜杠) 但是在linux操作系统中,文件的分隔符是斜杠(“/”), ...