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]运行成功后如上所示。
- 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 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的学习,基本可以开始动手构建一个网站应用了,先用这一篇了解一些构建网站的知识! 主要是些基础的东西... 如何去创建路由规则.如何去提交表单并接收表单项的值.如何去给密 ...
随机推荐
- Tensorflow机器学习入门——读取数据
TensorFlow 中可以通过三种方式读取数据: 一.通过feed_dict传递数据: input1 = tf.placeholder(tf.float32) input2 = tf.placeho ...
- 测试环境docker-swarm安装部署
测试环境swarm安装部署 部署前增加监听docker2375端口 centos 增加tcp监听端口 修改/lib/systemd/system/docker.service sed -i ‘s/Ex ...
- DVWA实验之Brute Force(暴力破解)- High
DVWA实验之Brute Force(暴力破解)- High 有关DVWA环境搭建的教程请参考: https://www.cnblogs.com/0yst3r-2046/p/10928380.ht ...
- 吴裕雄--天生自然Numpy库学习笔记:NumPy Matplotlib
Matplotlib 是 Python 的绘图库. 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案. 它也可以和图形工具包一起使用,如 PyQt 和 wxPython. W ...
- 洛谷P1086花生采摘(简单模拟)
题目描述 鲁宾逊先生有一只宠物猴,名叫多多.这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!――熊字”. 鲁宾逊先生和多多都很开心,因为花生正是他 ...
- CDH 搭建 问题
1. 问题描述: java.sql.SQLException: Access denied for user 'xxx'@'xxx.xxx.xxx.xxx' (using password: YES ...
- Java IO流详解(五)——缓冲流
缓冲流也叫高效流,是处理流的一种,即是作用在流上的流.其目的就是加快读取和写入数据的速度. 缓冲流本身并没有IO功能,只是在别的流上加上缓冲效果从而提高了效率.当对文件或其他目标频繁读写或操作效率低, ...
- msbuild发布web应用程序
aspnet_compiler.exe 只能编译 网站,web应用程序项目使用下面的命令即可. msbuild C:\Jenkins\jobs\KM_ERP_WEBAPP\workspace\KMWe ...
- jquery 判定checkbox是否选中
CheckBox 判定是否选中 使用 attr('checked')来做判别是不行的,除非所有的选中取消都是使用这个属性来处理. 正确的做法是使用 .prop('checked') 来判定.
- 记处理spring-devtools 和 通用mapper 使用问题
问题: tk.mybatis.mapper.MapperException: 无法获取实体类com.*.* 对应的表名 环境: springboot 2.0.6, 通用mapper 2.0.4,还有 ...