文章只是个人学习过程中学习笔记,主要参考ROS教程1。
1、概念
节点(Nodes):节点是一个可执行文件,它可以通过ROS来与其他节点进行通信。
节点管理器(Master):ROS的命名服务,例如帮助节点发现彼此。
2、Nodes
一个节点(Node)实际上只不过是ROS软件包中的一个可执行文件(C++编译生成的可执行文件、python脚本),可执行文件在运行之后就成了一个进程(process),这个进程在ROS中就叫做节点。。ROS节点使用ROS客户端库与其他节点通信。节点可以发布或订阅话题,也可以提供或使用服务。一个ROS控制系统包含许多节点,例如无人车,一个节点(Node)控制无人车的车轮电机、一个节点(Node)通过惯导获取定位信息、一个节点(Node)通过摄像头获取图像信息、一个节点(Node)融合各种信息执行路径规划等等。
ROS客户端库可以让用不同语言编写的节点进行相互通信:
- roscpp = C++客户端
- rospy = python客户端
3、Master
机器人是一种组件众多、功能庞大、高度复杂的系统性实现。在实际的应用中,机器人可能集成激光雷达、惯导、毫米波雷达、摄像头、GPS等各种传感器以及运动控制器件,负责感知、控制、决策和计算等功能,每一项功能点都是一个单独的节点(Nodes)。那么如何去管理、分配、控制这些节点呢?这就用到ROS Master,它为ROS系统中的其余节点提供命名和注册服务。Master的作用是使各个ROS节点(Nodes)之间能够相互定位,然后才能进行点对点通信。

本文介绍了ROS中的基本概念,包括节点(Nodes)、节点管理器(Master)以及rosnode命令行工具的使用。节点是ROS中的可执行文件,通过ROS客户端库进行通信。Master负责节点的注册和定位。rosnode工具则提供了查看和管理ROS节点的功能,如列出活动节点、获取节点信息等。实例测试中,首先启动roscore以运行Master,然后使用rosnode命令进行操作。
最低0.47元/天 解锁文章
864

被折叠的 条评论
为什么被折叠?



