- 1、本文档共313页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
机器人操作系统(ROS)
机器人操作系统(ROS)ROS初识1.1
机器人操作系统(ROS)1.1.1ROS是什么ROS是机器人操作系统(RobotOperatingSystem)的英文缩写。ROS起源于2007年斯坦福大学人工智能实验室的STAIR项目与机器人技术公司WillowGarage的个人机器人项目(PR)之间的合作,2008年之后就由WillowGarage来进行推动。最初人们希望设计一个可以像人一样能够感知,并实现自我控制从而完成一些复杂工作的机器人。随着机器人领域的快速发展,代码的复用性和模块化的需求原来越强烈,急需一个能够整合现有资源的框架和接口。2010年WillowGarage公司发布了开源机器人操作系统ROS,很快在机器人研究领域展开了学习和使用ROS的热潮。ROS起源发展
机器人操作系统(ROS)1.1.1ROS是什么ROS是用于机器人编程的开放、灵活的软件框架。它提供类似操作系统所提供的功能,包含硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理等,它也提供一些可视化和调试机器人数据的软件工具。ROS框架的核心是消息传递,即使在不同的机器上运行,进程之间也可以相互通信和交换数据。ROS消息传递可以是同步的,也可以是异步的。事实上,ROS的主要目的就是为机器人研究和开发提供代码复用的支持。ROS是一种分布式处理框架,这使可执行文件能被单独设计,并且在运行时松散耦合。这些过程可以封装到数据包(Packages)和堆栈(Stacks)中,以便于共享和分发。ROS还支持代码库的联合系统,使得协作亦能被分发。上述所有功能都能由ROS的基础工具实现。设计者将ROS表述为“ROS=Plumbing+Tools+Capabilities+Ecosystem”,即ROS是通讯机制、工具软件包、机器人高层技能以及机器人生态系统的集合体。ROS的表述
机器人操作系统(ROS)1.1.2ROS的特点点对点的设计:节点是ROS编程基础中一个重要的概念,在ROS中每个进程都以一个节点的形式运行,可以分布于多个不同的主机。节点间的消息通过一个带有发布和订阅功能的传输系统从发布节点传送到接收节点。这种点对点的设计可以分散实现复杂功能时带来的实时计算的压力。多语言支持:为了支持更多应用的移植和开发,ROS通信框架可以轻松地以各种现有的编程语言实现。ROS中使用简洁、中立的定义语言描述模块之间的消息接口,同时也允许消息接口的嵌套使用。目前已经支持Python、C++、Java、Octave和LISP等多种不同的语言。库集成:ROS具有许多第三方机器人库的接口,如开源计算机视觉(Open-CV)、点云库(PCL)、Open-NI、Open-Rave和Orocos。开发人员可以没有顾虑的使用这些库。组件化工具包丰富:ROS可采用组件化方式集成一些工具和软件到系统中并作为一个组件直接使用,如RVIZ(3D可视化工具),开发者根据ROS定义的接口在其中显示机器人模型等,组件还包括仿真环境和消息查看工具等。协作开发:ROS是开源的,遵照的BSD许可给使用者较大的自由,允许修改和重新发布其中的应用代码,开发人员可以通过添加功能包来扩展ROS的功能。几乎所有的ROS包都在硬件抽象层上工作,可以轻松地为其他机器人所用。
机器人操作系统(ROS)1.1.3ROS的发行版ROS的发行版本ROS发行版是一组版本化的ROS包,这些类似于Linux发行版(例如Ubuntu)。ROS发行版的目的是让开发人员在相对稳定的代码库上工作,直到他们准备好推进所有事情。因此,一旦发布发行版,我们就会尝试限制对核心包(ros-desktop-full下的所有内容)的错误修复和非破坏性改进的更改。到2022年为止,ROS已经发布了如表1-1所示的多个版本。本书选择的ROS版本是2018年发布的长期支持版本ROSMelodicMorenia,这也是ROS发布的第12个版本,ROS官方称将为该版本提供长达5年的支持与服务,并保证其与Ubuntu18.04长期支持版的生命周期同步。
机器人操作系统(ROS)本书的ROS资源1.2
机器人操作系统(ROS)1.2本书的ROS资源本书涉及到的代码以及相关资料均放在GitHub中托管,链接:/FieldRoboticsLaboratory/ROS_book可以使用以下命令下载源码以开始后续的学习。$gitclone/FieldRoboticsLaboratory/ROS_book.git
机器人操作系统(ROS)本章小结1.3
机器人操作系统(ROS)1.3本章小结本章介绍了ROS的起源背景、设计目的和框架特点。本书还提供所有实践
您可能关注的文档
- 高中思想政治选择性必修1当代国际政治与经济课后习题 第3单元 经济全球化 第三单元过关检测.doc
- 高中思想政治选择性必修1当代国际政治与经济课后习题 第4单元 国际组织 第四单元过关检测 (2).doc
- 高中思想政治选择性必修1当代国际政治与经济课后习题 第3单元 经济全球化 第三单元过关检测 (2).doc
- 2007年湖南省株洲市中考数学试卷(教师版).doc
- 高中高考思想政治一轮总复习课后习题 选择性必修一 当代国际政治与经济 课时规范练29 多极化趋势 (2).doc
- 八年级生物下册教学课件《生物进化的原因》.pptx
- 八年级生物下册教学课件《人的性别遗传》.pptx
- 八年级生物下册教学课件《生物进化的历程》.pptx
- 【重金属废水处理技术研究进展(任务书+)4000字】.docx
- 八年级生物下册教学课件《基因的显性和隐性》.pptx
- 【重庆市S街道家庭医生签约服务现状调研分析报告6000字】.docx
- 八年级生物下册教学课件《选择健康的生活方式》.pptx
- 高中高考思想政治一轮总复习课后习题 选择性必修一 当代国际政治与经济 课时规范练30 和平与发展 (2).doc
- 企业社保费申报流程(核定版).docx
- 高中高考思想政治一轮总复习课后习题 选择性必修一 当代国际政治与经济 课时规范练31 中国的外交 (2).doc
- 高中思想政治选择性必修1当代国际政治与经济课后习题 第1单元 各具特色的国家 第一单元过关检测.doc
- 第6章 生物的进化B卷 能力提升—高一生物学人教版(2019)必修二单元达标测试卷.docx
- 高中思想政治选择性必修1当代国际政治与经济课后习题 第2单元 世界多极化 第4课 和平与发展 第2框 挑战与应对 (2).doc
- 高中思想政治选择性必修1当代国际政治与经济课后习题 第3单元 经济全球化 第6课 走进经济全球化 第2框 日益开放的世界经济.doc
- 【泰安交通建设集团人力资源管理模式研究4900字】.doc
文档评论(0)