ROS-Note:理解ROS节点

理解ROS节点

介绍ROS的概念,并探讨了roscore、rosnode和rosrun命令行工具的使用。

计算图(Computation Graph):是一个由ROS进程组成的***点对点网络***,它们能够共同处理数据。ROS的基本计算图概念有节点(Nodes)、主节点(Master)、参数服务器(Parameter Server)、消息(Messages)、服务(Services)、话题(Topics)和袋(Bags),它们都以不同的方式向图(Graph)提供数据。

节点(Nodes):节点是一个可执行文件,它可以通过ROS来与其他节点进行通信。

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

话题(Topics):节点可以将消息发布到话题,或通过订阅话题来接收消息。

主节点(Master):ROS的命名服务,例如帮助节点发现彼此。

rosout:在ROS中相当于stdout/stderr(标准输出/标准错误)。

roscore:主节点 + rosout + 参数服务器(会在以后介绍)。

1 节点

节点实际上是ROS软件包中的一个可执行文件。ROS节点使用ROS客户端库与其他节点通信。节点可以发布或订阅话题,也可以提供或使用服务。

节点是ROS中非常重要的一个概念,这里举一个通俗的例子:

例如,有一个机器人和一个遥控器,那么这个机器人和遥控器开始工作后,就是两个节点
遥控器起到了下达指令的作用;
机器人负责监听遥控器下达的指令,完成相应动作。
从这里可以看出,节点是一个能执行特定工作任务的工作单元,并且能够相互通信,从而实现一个机器人系统整体的功能
在这里我们把遥控器和机器人简单定义为两个节点,实际上在机器人中根据控制器、传感器、执行机构等不同组成模块,还可以将其进一步细分为更多的节点,这个是根据用户编写的程序来定义的。

2 客户端库

ROS客户端库可以让用不同编程语言编写的节点进行相互通信

rospy = Python客户端库
roscpp = C++客户端库

roscore 主节点(为ROS提供命名服务) + rosout (stdout/stderr) + 参数服务器

roscore是你在运行所有ROS程序前首先要运行的命令。

rosnode 获取节点信息的ROS工具

打开一个新终端,可以使用rosnode看看roscore运行时干了些什么
记得要保持以前的终端开着,比如打开一个新的标签页,或者最小化之前的窗口。
注意: 当打开一个新的终端时,环境将会重置,/.bashrc文件将会生效。如果你在运行rosnode等命令时出现一些问题,那么可能需要将一些环境设置文件添加到/.bashrc或手动source一下。

rosrun 运行给定的软件包中的节点

rosrun可以让你用包名直接运行软件包内的节点

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值