机器人操作系统ROS-系统初识

一、具体学习资料

1 学习网站
官网:https://www.ros.org/
wiki:http://wiki.ros.org
问答:https://answers.ros.org
源码:https://github.com/
2 书籍推荐:《ROS机器人开发实践》
3 公众号推荐:古月屋

二、ROS是什么

机器人操作系统(Robot Operating System, ROS)是一个应用于机器人上的操作系统,它操作方便、功能强大,特别适用于机器人这种多节点多任务的复杂场景。
ROS是一个适用于机器人编程的框架, 这个框架把原本松散的零部件耦合在了一起, 为他们提供了通信架构。 ROS虽然叫做操作系统, 但并非Windows、 Mac那样通常意义的操作系统, 它只是连接了操作系统和你开发的ROS应用程序, 所以它也算是一个中间件, 基于ROS的应用程序之间建立起了沟通的桥梁, 所以也是运行在Linux上的运行环境, 在这个环境上, 机器人的感知、 决策、 控制算法可以更好的组织和运行。
在这里插入图片描述

三、ROS系统架构

在这里插入图片描述
1 计算图级
1)节点(Node)
节点是执行任务的进程,也称为软件模块。在ROS中,最小的进程单元就是节点( node)。一个软件包里可以有多个可执行文件, 可执行文件在运行之后就成了一个进程(process), 这个进程在ROS中就叫做节点 。
2)节点管理器(ROS Master)
管理者角色,统筹管理节点,保证节点的正常运行。当ROS程序启动时, 第一步首先启动master, 由节点管理器处理依次启动node 。通过RPC提供登记列表及对其他计算图表的查找功能,帮助节点间互相查找,建立连接,进行点对点的通信控制中心,提供参数服务器,管理全局参数
3)参数服务器(Parameter Server)
参数服务器是节点存储参数的地方、 用于配置参数, 全局共享参数。 参数服务器使用互联网传输, 在节点管理器中运行, 实现整个通信过程。参数服务器维护着一个数据字典, 字典里存储着各种参数和配置。
4)消息(Message)
消息在ROS中,是一种数据类型,节点之间通过消息来互相通信。消息类型有ROS标准类型和基于标准消息开发的自定义类型两种。
5)主题(Topic)
异步通信机制,传输消息(Message)
主题:指节点发布的消息的去处。节点可以发布消息到话题,也可以订阅话题以接收消息。当一个节点发送数据时,我们就说该节点正在向主题发布消息。节点可以通过订阅某个主题,接受来自其他节点的消息。
发布/订阅:多对多的传输方式
6)服务(Service)
同步通信机制,传输请求/应答数据,基于C/S模型当你需要直接与节点通信并获得应答时,将无法通过主题实现,从而需要服务。此外,服务必须有唯一的名称。当一个节点提供某个服务时,所有的节点都可以通过使用ROS客户端编写的代码与它通信。
请求/应答:一对多的传输模式
7)消息记录包(bag)
是一种用于保存和回放ROS消息数据的文件格式。消息记录包是一种用于存储数据的重要机制,它可以帮助记录一些难以收集的传感器数据,然后通过反复回放数据进行算法的性能开发和测试。ROS创建的消息记录包文件以*.bag为扩展名,通过播放、停止、后退操作该文件,可以像实时会话一样在ROS中再现情景,便于算法的反复调试。

2 文件系统级
在这里插入图片描述
主要指ROS目录和文件
1)元功能包(Meta Packages):组织多个用于同一目的功能包。
2)元功能包清单(Meta Packages):类似于功能包清单,不同之处在于元功能包清单中可能会包含运行时需要依赖的功能包或者声明一些引用的标签。
3)功能包(Package):功能包是ROS中软件组织的基本形式。一个功能包具有用于创建ROS程序的最小结构和最少内容。它可以包含ROS运行的进程(节点)、配置文件等;
4)功能包清单(Package manifest):记录功能包的基本信息,包含作者信息、许可信息、依赖选项、编译标志等。
5)消息类型(Message):消息是ROS节点之间发布/订阅的通信信息,可以使用ROS系统提供的消息类型,也可以使用.msg文件在功能包的msg文件夹下自定义需要的消息类型。注:消息类型的说明存储在对应功能包的msg文件夹下。
6)服务类型(Service):服务类型定义了ROS服务器/客户端通信模型下的请求与应答数据类型,可以使用ROS系统提供的服务类型,也可以使用.srv文件在功能包的srv文件夹中进行定义。注:服务描述说明存储在对应功能包的src文件夹下
7)代码(Code):放置功能包节点源代码的文件夹。

3 开源社区级
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值