ROS机器人操作系统 优缺点分析
ROS发行版本
ROS分发版是一套版本化的ROS软件包。这些类似于Linux发行版(例如Ubuntu)。ROS发行版的目的是让开发人员对付相对稳定的代码库,直到他们准备向前推进一切。
(1)发布规则:
五月份每年都会有ROS发布。
偶数年发行将是LTS发行,支持五年。
奇数年的发布是正常的ROS发布,支持两年。
ROS发布将放弃对EOLUbuntu发行版的支持,即使仍然支持ROS发行版。
(2)特点:
每个ROS发行版都将在一个UbuntuLTS上受支持。
奇数年的发行版将与前一年的LTS ROS发行版共享一个常见的Ubuntu发行版。
LTS版本不会与任何以前的版本共享一个通用的Ubuntu版本。
在发布日期之后,ROS发行版不会增加对新的Ubuntu发行版的支持。
一、ROS核心组件
1、通信基础设施
ROS在底层提供了一个供进程间通信的消息传递接口,middleware.
ROS的middleware提供:
1).发布/订阅消息传递,通信系统是机器人实施应用程序的首要需求。ROS内置的消息系统通过管理分布式节点之间的通信细节,简便快速的进行发布/订阅机制。使用消息传递系统的另一个好处是系统中与节点之间的清晰的接口,改进封装并促进代码重用。
2).录制和播放信息,由于发布/订阅系统是匿名且异步的,因此可以轻松捕获和重放数据,而无需对代码进行任何更改。假设任务A从传感器读取数据,我们想要开发一个任务B处理由任务A读取的数据,ROS可以轻松地将任务A发布的数据捕获到文件,然后重新发布。消息传递抽象允许任务B读取任务A的日志文件。可以显着降低您的开发工作量,并提高系统的灵活性和模块化程度。
3).请求/响应远程过程调用,发布/订阅消息的异步特性适用于机器人中的许多通信需求,但ROS同样支持进程之间的同步请求/响应交互。
4).分布式参数系统,ROS的middleware通过参数服务器可以方便用户修改及共享配置信息。
二、ROS特有的功能(关键优势)
除了核心中间件组件外,ROS还提供了常见的机器人专用库和工具,可以让机器人快速启动并运行。以下是ROS提供的一些机器人特定功能:
1).机器人的标准信息定义,ROS有一套标准信息定义格式,包括集合概念信息定义,如位姿,变换,矢量等;传感器信息定义,如激光扫描仪,声纳,相机等; 以及诸如odometry,路径和地图之类的导航数据等。通过在应用程序中使用这些标准消息,我们可以自主在ROS系统中添加我们自己的代码及开发工具。
2).机器人几何位置变换,许多机器人项目中的一个常见挑战是跟踪机器人的不同部分相对于彼此的位置。例如,想将摄像机的数据与激光器的数据组合在一起,则需要知道每个传感器相对于全体坐标系中心的位置。在ROS中则可以使用TF变换来帮助我们解决这个问题。
3).机器人描述语言,ROS提供了一套用于描述和建模机器人的工具,以便它可以被ROS系统的其余部分所理解,在ROS中描述机器人的格式是URDF(统一机器人描述格式),它由一个XML文档组成,其中描述了机器人的物理属性,从肢体的长度和轮子的大小到传感器的位置以及机器人各部分的视觉外观。一旦以这种方式定义,机器人可以以三维方式呈现,以实现良好的可视化效果,并可用于模拟器和运动规划器。
4).可抢占远程过程调用,可以在机器人运行过程中监控进展,实时监控机器人的下一步行动,并且返回成功状态。
转自:https://blog.csdn.net/allians/article/details/80162104
ROS机器人操作系统 优缺点分析相关推荐
- ROS 机器人操作系统进阶实战
ROS(Robot Operating System) 是一个开源的机器人操作系统,目的是提供开发平台.工具及生态给开发人员,可以让开发人员快速开发.本课程通过精心设计的案例,分析技术要点.理解运行原 ...
- ROS机器人操作系统底层原理及代码剖析
0 目的 本文介绍ROS机器人操作系统(Robot Operating System)的实现原理,从最底层分析ROS代码是如何实现的. 1 序列化 把通信的内容(也就是消息message)序列化是通信 ...
- ROS机器人操作系统学习笔记(一)--基本概念
ROS机器人操作系统学习教程(一)–基本概念 1. 基本概念 1.1 ROS背景 机器人操作系统(Robot Operating System, ROS)是一个应用于机器人上的操作系统,它操作方便.功 ...
- ROS机器人操作系统学习笔记(三)ROS通信架构
ROS机器人操作系统学习笔记(三)ROS通信架构 ROS的通信架构是ROS的灵魂,也是整个ROS正常运行的关键所在.ROS通信架构包括各种数据的处理,进程的运行,消息的传递等等.本章主要介绍了通信架构 ...
- ros机器人操作系统简介
机器人操作系统 (Robot Operating System, 或简称 ROS),它可以帮助提高机器人软件的开发效率. ROS 系统的官方定义如下: ROS是面向机器人的开源的元操作系统(met ...
- 入门ROS机器人操作系统——准备工作
近期入门学习ROS机器人操作系统,有时间记录一下踩坑过程,给后来者提供参考,也方便自己后期查阅. 首先,分享几个软件安装包: 1. 虚拟机VMware16 链接:https://pan.baidu.c ...
- ROS机器人操作系统学习(二)
ROS机器人操作系统学习(二) ROS概念 通信机制+开发工具+应用功能+生态系统 提高机器人研发中的软件复用率 通信机制 松耦合分布式通信 开发工具 应用功能 生态系统 节点与节点管理器 话题与服务 ...
- ROS机器人操作系统——如何将ROS与STM32连接(十六)
ROS机器人操作系统 文章目录 ROS机器人操作系统 前言 一.两种控制器的功能 二.硬件连接 总结 前言 前面学习了ROS的基本操作,仅仅只使用这个操作系统并没有什么用处,还需要讲他与硬件相结合从而 ...
- ROS机器人操作系统——创建工作空间与功能包(四)
ROS机器人操作系统 文章目录 ROS机器人操作系统 前言 一.工作空间 1.创建工作空间 2.编译工作空间 3.设置环境变量 4.检查环境变量 二.功能包 1.创建功能包 2.编译功能包 总结 前言 ...
- Windows使用ROS机器人操作系统全面资料汇总
0 摘要: 本文以Win10系统中安装使用ROS1Melodic和ROS2Dashing为基础,并通过开源硬件设备Arduino与ROS的通信为示例,具体介绍机器人操作系统ROS1和ROS2的细节.部 ...
最新文章
- 面试官问为什么新生代不用标记清除算法
- html5新年网页做给父母的,春节回家,要陪父母做这十件小事
- 二十万字!耗时90天
- zabbix应用之短信报警
- 设计模式系列-组合模式
- Web 四种常见的POST提交数据方式
- .net core 实现基于 cron 表达式的任务调度
- Linux问题分析或解决_samba无法连接
- 树链剖分入门+HYSBZ - 1036树的统计Count
- 混凝土墙开洞_易县混凝土剪力墙切割常见问题
- 合并两个有序数组python_合并两个有序数组.py
- eclipse环境NDK问题汇总
- 百科知识:呼叫转移与呼叫前转
- arcgis android 比例尺,ArcGIS for Android 自定义地图比例尺
- 我的世界服务器皮肤显示mod,【回归了】McMySkin Mod - Minecraft单机联机皮肤显示Mod...
- 通信机制之异步通信和同步通信
- CLRS 18.2B树上的基本操作
- python重命名文件excel_运用python实现提取文章title重命名
- snmp的团体名配置_小白都能看懂的Linux系统下安装配置Zabbix
- 内存泄漏的3个解决方案与原理实现,掌握一个轻松应对开发丨内存池|mtrace||API实现|框架封装|中间件|异步请求|连接池
热门文章
- 基于MBR 的bootkit的进展 鬼影-TDL4-BMW
- 《YUI 3 Cookbook 中文版》
- 人工智能深度学习神经网络在双色球彩票中的应用研究(二)
- 在Firemonkey中实现ListView
- 十大验证码解决方案服务比较
- VM虚拟机装Windows2000成功后VM Tools失败解决方法
- 任我行CRM8.4破解版,任我行破解版免费下载,v8.4完整破解稳定版【捡肥皂】
- 市县城镇开发边界内1:500地形图无人机航测实践(M300 RTK+P1+大疆智图+航天远景采集软件)
- 【小游戏】AB猜数字
- 如何设置eclipse眼睛保护色-码农必备