- 1、本文档共63页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ROS基础与架构
ROS基础与架构
刘国良博士
副研究员、研究生导师
山东大学控制科学与工程学院
EMAIL: liuguoliang@
WHY ROS ?
• 机器人系统的复杂性
• 众多传感器
• 分布式、多处理器、多机器人
• 众多研发团队
需要一个标准:
ROS=ROBOT OPERATION SYSTEM (机器人操作系统)
目录
• 概述
• ROS文件架构
• ROS计算图
• ROS TF (transform )库
• Catkin 工作空间
• ROS图形化工具
• ROS兼容库
概述
ROS,不仅仅是一个中间件,它是:
• 抽象的机器人操作系统
• 包含了大量软件包、软件开发工具
• 适合于分布式处理、多机器通讯和配置
• 实时系统调试和数据分析
• 开发语言独立(C++/PYTHON/LISP/JAVA等)
概述
ROS不是
• 实际的操作系统
• 开发语言
• 编译工具
• 硬实时架构(HARD REAL TIME)
概述
ROS开源弹性的框架结构适合于机
器人软件开发
• 网址;/
• 博客:/news/
• 文档:
• 当前稳定支持系统:Ubuntu
14.04
• 当前稳定的版本:Indigo
• 核心部分BSD
概述
分布世界的ROS研究机构
概述
ROS WIKI
概述
ROS ANSWERS
概述
ROS MAILING LIST
概述
ROS BLOG
ROS文件架构
ROS文件架构
ROS文件架构
• Packages: ROS软件包的主要组成,可以包含ROS的多个运行进程(节点
NODE)、ROS依赖的库函数、数据包、配置文件等。
• Metapackages:用于表示一组相关性较强的package,如与历史版本兼
容的软件包。
• Package manifests (package.xml):package的配置文件,包含软件包
名称、描述、版权信息、依赖库函数等。
• Repositories:在同一版本控制系统(VCS )下的程序包集。
• Message 类型:消息描述,定义消息的数据结构,如
my_package/ msg/MyMessageType.msg 。
• Service类型:服务描述,定义服务的输入输出数据结构,如
my_package/srv/ MyServiceType.srv。
ROS计算图
ROS计算图(computation graph )是peer-to-peer的ROS进程网络,
用于协同处理数据,主要包含nodes (节点)、Master (管理器)、
Parameter Server (参数服务器)、messages (消息)、services
(服务)、topics (主题)和bags (数据包)。
ROS计算图
Nodes (节点)
• 节点是处理计算的进程
• ROS的高度模块化通过节点实现
• 机器人控制系统往往包含多个节点,如用于控制激光器的节点、
控制轮子转动的节点、定位节点、路径规划节点、图形显示节点
等。
ROS计算图
Master(管理器)
• 管理器提供名注册登记和查找表功能
• 通过管理器,节点可以方便的找到其他节点,并交换信息或提供
服务
Parameter Server (参数服务器)
• 参数服务器允许在核心位置保存以关键字命名的数据,是Master
管理器的一部分
ROS计算图
Messages (消息)
• 节点之间通过消息来通讯
• 消息是一种简化的数据结构,包含特定的数据类型
• 目前支持主要的数据类型有:基本数据类型如整型、浮点型、布
尔变量、数组等,以及由基本数据类型构成的矩阵、图像、传感
器信息等特定数据。
Topics (主题)
• 消息之间通过发布-订阅语义结构来进行通讯,是多对多的。
• 主题是一个特定专属的名字,用于辨识消息内容
• 节点发布的每个消息都会有一个特定的主题名字,以方便其他需
要该消息的节点查找。
ROS计算图
Services
文档评论(0)