一、ROS通俗理解
1. ROS理解
- 通道:ROS提供了一种发布-订阅式的通信框架用以简单、快速地构建分布式计算系。
- 工具:ROS提供了大量的工具组合用以配置、启动、自检、调试、可视化、登录、测试、终止分布式计算系统。
- 强大的库:ROS提供了广泛的库文件实现以机动性、操作控制、感知为主的机器人功能。
- 生态系统:ROS的支持与发展依托着一个强大的社区。ros.org尤其关注兼容性和支持文档,提供了一套“一站式”的方案使得用户得以搜索并学习来自全球开发者数以千计的ROS程序包。
ROS的首要目标是提供一套统一的开源程序框架,用以在多样化的现实世界与仿真环境中实现对机器人的控制。
2. ROS是什么
ROS 是 一 种 被 封 装 过 的 通 信 协 议
ROS 是 一 系 列 程 序 库 和 工 具ROS 是 一 个 面 向 机 器 人 的 次 级 操 作 系 统
ROS 是 一 个 机 器 人 开 发 的 社 区 环 境
3. ROS的理解框架
ROS的理解从3个方面:文件系统级,计算图级和开源社区级。
- 文件系统级
程序文件是如何组织和构建的。对于ROS,其文件系统分层,以功能包为主要文件的系统进行搭建。功能包是ROS中软件组织的基本形式,一个功能包具有用于创建ROS程序的最小结构和最少内容,它可以包含ROS运行的进程(节点)、配置文件等。消息是ROS中进程间或节点间的消息,提供了很多已有的消息结构。 - 计算机图级 ( 第二部分 )
描述程序是如何运行的 - 开源社区级
描述程序的分布式管理 ,包括 软件源、 ROS wiki
邮件列表
4. ROS的通信
ROS的通信类似于MQTT,采用发布、订阅的模式。ROS功能包会形成ROS网络中的一个个节点,节点之间是相互链接的,可以将自己的数据发送上去,并订阅获取其他节点的数据。
在 ROS 系统中查看节点之间的发布-订阅关系的最简单方式就是在终端输入如下命令:
rqt_graph