ROS学习(三)了解ROS节点

ROS学习(三)了解ROS节点

一、概念概述

节点(Nodes):节点是使用ROS与其他节点通信的可执行文件。

消息(Messages):订阅或发布主题(topic)时使用的ROS数据类型。

主题(Topic):节点可以将消息发布到主题,也可以订阅主题以接收消息。

节点管理器(Master):ROS的名称服务(即帮助节点相互查找)

rosout:等效于stdout / stderr的ROS

roscore:Master + rosout +参数服务器(参数服务器将在以后介绍)

二、节点数

节点实际上只不过是ROS包中的可执行文件而已。ROS节点使用ROS客户端库与其他节点进行通信。节点可以发布或订阅主题。节点也可以提供或使用服务。

三、客户图书馆(Client Libraries)

ROS客户端库允许使用不同编程语言编写的节点进行通信:

  • rospy = python客户端库
  • roscpp=C++客户端

四、roscore

roscore是使用ROS时应该运行的第一件事。
运行:

$ roscore

你会看到类似的内容:

... logging to ~/.ros/log/9cf88ce4-b14d-11df-8a75-00251148e8cf/roslaunch-machine_name-13039.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://machine_name:33919/
ros_comm version 1.4.7

SUMMARY
======

PARAMETERS
 * /rosversion
 * /rosdistro

NODES

auto-starting new master
process[master]: started with pid [13054]
ROS_MASTER_URI=http://machine_name:11311/

setting /run_id to 9cf88ce4-b14d-11df-8a75-00251148e8cf
process[rosout-1]: started with pid [13067]
started core service [/rosout]

五、使用rosnode

打开一个新的终端,让我们使用rosnode来查看运行roscore所做的。请记住,通过打开新选项卡或将其最小化来保持前一个终端处于打开状态。
rosnode 显示有关当前正在运行的ROS节点的信息。该***rosnode list*** 命令列出了这些活动节点:

$ rosnode list

你将会看到:

/rosout

这向我们显示只有一个节点在运行:rosout。它在收集并记录节点的调试输出时始终处于运行状态。

该***rosnode info*** 命令返回有关特定节点的信息。

$ rosnode info /rosout

这给了我们更多关于rosout的信息,例如它发布了***/ rosout_agg***

在这里插入图片描述

六、使用rosrun

rosrun 允许您使用功能包名称直接运行功能包内的节点(而不必知道程序包路径)。
用法:

$ rosrun [功能包名称] [节点名称]

现在,我们可以运行turtlesim功能包中的turtlesim_node节点。

然后,在新的终端中(确保roscore要还在运行):

$ rosrun turtlesim turtlesim_node

你将会看到:
在这里插入图片描述
注意:在您的turtlesim窗口中,乌龟看起来可能有所不同。
新终端中

$ rosnode list

你会看到:
在这里插入图片描述
ROS的一项强大功能是您可以从命令行重新分配名称。

关闭turtlesim窗口以停止该节点(或返回rosrun turtlesim终端并使用ctrl-C)。现在让我们重新运行它,但是这次使用“重映射参数”更改节点的名称:

$ rosrun turtlesim turtlesim_node __name:=my_turtle

现在,如果我们返回并使用rosnode list:
你会看到:

/my_turtle
/rosout

我们看到了新的/ my_turtle节点。让我们使用另一个rosnode命令ping来测试它是否启动:

$ rosnode ping my_turtle

在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值