(五)ROS节点
一. 理解ROS 节点:
ROS的节点: 可以说是一个可运行的程序。当然这个程序可不简单。因为它可以接受来自ROS网络上其他可运行程序的输出信息,也可以发送信息给ROS网络,被其他 ROS 可运行程序 接收。所以虽然你看ROS它是在执行好多个程序,但是它们可是相互关联的,是一个网络。所以 Willow Garage 公司管这种可运行的程序叫做: 节点。
二. 运行ros节点的大前提:
启动roscore (它是运行所有ROS程序前 首先要运行的命令) 。新开一个终端(Ctrl+Alt+T):新开一个终端(Ctrl+Alt+T):
roscore命令执行完之后,它也会产生一个节点,这个节点是主节点,叫:/rosout。
三. 查看当前运行的 ROS 节点
当前有什么节点在运行:重新开一个终端,执行 rosnode list命令 就可以罗列出当前运行的所有ROS节点:
如果我们想看一下某个节点/rosout里面的具体的信息,执行 rosnode 命令:info /rosout
四. 例子,运行一个节点:
下面来具体运行一个 ros节点 程序,使用什么命令运行它 呢? 答案: rosrun 命令。
rosrun命令的使用格式:# rosrun [package_name] [node_name]
其中:package_name是程序包名;node_name是ros节点的可执行程序的名字。
比如: 运行一个 ROS 里的例子程序: (这个例子是开一个窗口,窗口里面有一只小海龟。只是想举一个例子来让大家直观的看看ROS节点是个什么东西。)
$ rosrun turtlesim turtlesim_node
输出:
我们重新开个终端(Ctrl+Alt+T),执行 rosnode list 命令,再来看现在有哪些节点在运行:
/rosout
/turtlesim
六. ping一个ROS节点
你看ROS它是在执行好多个程序,但是它们可是相互关联的,是一个网络。所以我们可以ping任何一个节点。
$ rosnode ping /my_turtle
总结:
ROS中的每个节点都可以将一些数据发布到ROS网络上(这个过程叫做:发布话题)。
并且ROS的每个节点都可以在这个网络总线上接收自己想要的数据(这个过程叫订阅话题, 就像是你订阅一刊杂志一样)。
所以下一讲,就讲: ROS 发布话题 和 订阅话题。
(五)ROS节点的更多相关文章
- ROS学习(六)—— 理解ROS节点
一.准备工作 下载一个轻量级的模拟器 sudo apt-get install ros-kinetic-ros-tutorials 二.图概念的理解 1.Nodes:一个节点就是一个可执行文件,用来与 ...
- ROS Learning-007 beginner_Tutorials ROS节点
ROS Indigo beginner_Tutorials-06 ROS节点 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LT ...
- ROS学习笔记三:编写第一个ROS节点程序
在编写第一个ROS节点程序之前需要创建工作空间(workspace)和功能包(package). 1 创建工作空间(workspace) 创建一个catkin_ws: #注意:如果使用sudo一次 ...
- 通过ros节点发布Twist Messages控制机器人--10
原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/ 1.到目前为止,我们已经从命令行移动机器人,但大多数时间你将依靠一个ros节点发布适当的Twist消息. ...
- 我眼中的Linux设备树(五 根节点)
五 根节点一个最简单的设备树必须包含根节点,cpus节点,memory节点.根节点的名字及全路径都是"/",至少需要包含model和compatible两个属性.model属性我们 ...
- Linux设备树(五 根节点)
五 根节点 一个最简单的设备树必须包含根节点,cpus节点,memory节点.根节点的名字及全路径都是“/”,至少需要包含model和compatible两个属性.model属性我们在属性那节已经说过 ...
- ROS学习笔记三(理解ROS节点)
要求已经在Linux系统中安装一个学习用的ros软件包例子: sudo apt-get install ros-indigo-ros-tutorials ROS图形概念概述 nodes:节点,一个节点 ...
- ROS节点理解--5
理解 ROS节点(原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/) Description: 本教程主要介绍 ROS 图(graph)概念 并讨 ...
- ros节点启动和关闭相关
Ros node启动与关闭 1. ros运行单位: Ros程序运行的单位是ros node. 2. ros 节点的启动: (1)初始化ros节点:通过调用ros::init()接口实现:可以通过参数指 ...
随机推荐
- linux /dev/null 中有数据
前段时间有个同事问我说,他 cat /dev/null有数据.这个颠覆大家认知的问题最终却是个小问题. 我们来看/dev/null的操作函数: static const struct memdev { ...
- 一个关于EasyUI超恶心的BUG。。。Cannot read property 'options' of undefined
控制台Console抛出的异常: jquery.easyui.min.js:9148 Uncaught TypeError: Cannot read property 'options' of und ...
- 用Delphi制作DLL
一.开使你的第一个DLL专案 1.File->Close all->File->New﹝DLL﹞代码: //自动产生Code如下 library Project2; //这有段 ...
- FTP原理和虚拟用户映射登录-2019.2.8
FTP主动模式和被动模式 FTP(File Transfer Protocol)是文件传输协议的简称.正如其名所示:FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序 ...
- vue 模拟下拉树
// 使用vue 做表格部分其他部分暂不修改 var app = new Vue({ el: "#freightTbl", watch: { //监听表格数据的变化[使用 watc ...
- msf客户端渗透(一):payload利用简单示范
针对Windows 开启侦听 查看payload选项 将1.exe传到网页上 win7访问网页并下载1.exe 下载好之后双击运行,在服务器端就获得了一个shell 针对linux 先获取到一个软 ...
- 修改mysql 数据库编码
查看编码 SHOW VARIABLES LIKE 'character_set_%'; 依次修改like出来的字段 例如 set character_set_results=utf8; 完了修改/e ...
- django models返回数据根据某字段倒序排列
例如有一个models表叫做report,report表中有一个endtime,想将结果按照endtime倒序排列 正序排列的方法:[models对象.objects.order_by(“字段名& ...
- 安卓GreenDao框架一些进阶用法整理(转)
大致分为以下几个方面: 一些查询指令整理 使用SQL语句进行特殊查询 检测表字段是否存在 数据库升级 数据库表字段赋初始值 一.查询指令整理 1.链式执行的指令 return mDaoSession. ...
- char和varchar查询速度、存储空间比较详解(转)
转:http://tech.diannaodian.com/dw/data/sql/2011/1005/135572.html 一.数据行结构 1.char(n): 系统分配n个字节给此字段,不管字段 ...