- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
《ROS原理与技术应用》掌握自动驾驶系统的安装与使用方法认知ROS系统
导入假设你想要搭建一个类似这样可以自主建图和导航的智能车,那么你首先需要选择一个合适的自动驾驶系统,目前机器人操作系统(ROS)就能很好解决这些问题
目录CONTENTOS的发展历程自动驾驶系统开发系统首选ROSROS的主要特性ROS常见的功能工具05初步成型的ROS生态系统
新授
硬件技术的飞速发展在促进机器人领域快速发展和复杂化的同时,也对机器人系统的软件开发提出了巨大挑战在近几年里,产生了多种优秀的机器人软件框架,为软件开发工作提供了极大的便利,其中最为优秀的软件框架之一就是机器人操作系统(RobotOperatingSystem,ROS)一、ROS的发展历程
一、ROS的发展历程ROS是一个用于编写机器人软件的灵活框架。它集成了大量的工具、库、协议,提供了类操作系统所提供的功能,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,可以极大简化繁杂多样的机器人平台下的复杂任务创建与稳定行为控制。
ROS基本发展历程如图所示。一、ROS的发展历程
一、ROS的发展历程2017年12月8日,万众瞩目的ROS2.0终于发布了第一个正式版——ArdentApalone,其宣传海报如图所示。考虑到配套功能包的完备性,本教材仍将采用ROS1.0版本完成相关实训任务。
严格意义上来讲,ROS是一款用于机器人或自动驾驶的应用软件开发平台,并不是一个真正的操作系统(因为它需要是基于Ubuntu操作系统安装使用)。要保证一个复杂的系统稳定、高效地运行,每个模块都能发挥出最大的潜能,ROS提供了一个成熟有效的管理机制,使得系统中的每个软硬件模块都能有效地进行互动。ROS提供了大量的程序库和工具,使得开发人员能够更好地在机器人或人工智能领域中进行学习与研究。另外,ROS本身还具有许多功能,软硬件驱动、可视化工具、消息传递等。二、自动驾驶系统开发系统首选--ROS
ROS的主要目标是为机器人研究和开发提供代码复用的支持。ROS是一个分布式框架,以节点(node)为进程,这些进程被封装在易于被分享和发布的功能包和程序包中。ROS的主要特性可以归纳为以下几点:三、ROS的主要特性4丰富的功能软件包5免费且开源性1点对点设计2分布式设计3支持多语言
三、ROS的主要特性在ROS中,每一个进程都以一个节点的形式运行,可以分布于多个不同的主机。节点间的通信消息通过一个带有发布和订阅功能的RPC传输系统,从发布节点传送到接收节点。这种点对点的设计可以分散定位、导航等功能带来的实时计算压力,适应多机器人的协同工作。ROS在处理进程之间的通信时,采用了耦合度相对较低的点对点设计。点对点设计ROS是一个分布式设计的框架,不仅可以实现ROS工程之间的集成和发布,还能够移植到其他软件平台上使用。ROS框架具有的模块化特点使得每个功能节点可以进行单独编译,并且使用统一的消息接口让模块的移植、复用更加便捷。同时,ROS开源社区中移植或集成了大量已有开源项目车、PointCloudLibrary库等,开发者可以使用丰富的资源实现机器人应用的快速开发。分布式设计
三、ROS的主要特性为了支持更多应用的移植和开发,ROS被设计成为一种语言弱相关的框架结构。ROS使用简洁、中立的定义语言描述模块之间的消息接口,在编译过程中再产生所使用语言的目标文件,为消息交互提供支持,同时也允许消息接口的嵌套使用。目前已经支持Python、C++、Java、Octave和LISP等多种不同的语言,也可以同时使用这些语言完成不同模块的编程。支持多语言目前ROS已经可以支持使用的第三方软件包数量达到数千个,可以大大提高开发与测试的工作效率。例如可视化,开发者可以根据ROS定义的接口在其中显示机器人3D模型、周围环境图、机器人导航路线等信息。此外,ROS中还有消息查看工具、物理仿真环境等组件,提高了机器人开发的效率。丰富的功能软件包ROS遵照的BSD许可(一种开源许可)给使用者较大的自由,允许其修改和重新发布其中的应用代码,甚至可以进行商业化的开发与销售。ROS开源社区中的应用代码以维护者来分类,主要包含WillowGarage公司和一些开发者设计、维护的核心库部分,以及由不同国家的ROS社区组织开发和维护的全球范围的开源代码。免费且开源性
四、ROS常见的功能工具ROS开发时经常使用的工具包括:Gazebo、Rviz、rqt、rosbag、rosbridge、moveit。Gazebo是一款免费的机器人仿真软件,其使用界面如图所示。它提供高保真度的物理模拟,一整套传感器模型,以及对用户和程序非常友好的交互方式。能够在复杂的室内和室外环境中
您可能关注的文档
最近下载
- 锅炉补给水安装操作运行维护手册(终版.pdf
- 【高中地理】新鲁教版必修第一册期末知识梳理:第二单元 从地球圈层看地表环境(含答案及解析).pdf VIP
- 中考数学模拟题汇总《数与式》专项练习及答案解析.docx
- 纳博特科技机器人控制系统操作手册V5.5.pdf
- 富士VG7变频器操作手册.pdf
- 稻盛和夫阿米巴经营.pdf
- 小学道德与法治三年级第三单元:我们的公共生活大单元整体教学设计2024.docx
- 【高中地理】新鲁教版必修第一册期末知识梳理:第一单元 从宇宙看地球(学生考试版).pdf VIP
- English_for_Human_Resources_book人力资源.pdf
- 湖南五凌电力有限公司招聘笔试题库2023.pdf
文档评论(0)