机器人操作系统(ROS)课件 1.ROS简介_第1页
机器人操作系统(ROS)课件 1.ROS简介_第2页
机器人操作系统(ROS)课件 1.ROS简介_第3页
机器人操作系统(ROS)课件 1.ROS简介_第4页
机器人操作系统(ROS)课件 1.ROS简介_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机器人操作系统(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机器人

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论