浅谈ROS基础教育课件_第1页
浅谈ROS基础教育课件_第2页
浅谈ROS基础教育课件_第3页
浅谈ROS基础教育课件_第4页
浅谈ROS基础教育课件_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

浅谈ROS基础内容一、ROS背景二、ROS特点三、ROS框架介绍四、ROS常用功能包五、ROS应用一、ROS背景什么是ROS?ROS历史ROS:TheRobotOperatingSystem2007年,起源于StanfordAI实验室,为了支持STAIR机器人而建立的交换庭(switchyard)项目。后又与WillowGarage公司的个人机器人项目(PersonalRobotsProgram)之间合作。2008年,主要由WillowGarage来进行推动。随着PR2那些不可思议的表现,ROS得到越来越多的关注。2010年,WillowGarage正式发布ROS1.02013年,OpenSourceRoboticsFoundation接手维护2016年,正式发布ROS2.0ROS版本PR2robotROS发展现状ROS设计目标首先,在机器人研发领域提高代码复用率。其次,ROS=通信管道+工具+功能块+生态系统ROS主要功能ROS提供类似操作系统所提供的功能硬件抽象描述底层驱动程序管理共用功能的执行程序间的消息传递程序发行包管理一些工具程序和库用于获取、建立、编写和运行多机整合的程序ROS释疑ROS(RobotOperatingSystem)不是传统意义上的一种操作系统,而是一种系统软件框架该框架使用了当前最流行的面向服务(SOA)的软件技术,通过网络协议将节点间数据通信解耦。这样就能够轻松地集成不同语言不同功能的代码。

ROS不是一种编程语言ROS不仅是一个函数库,除包含客户端(ClientLibraries)外,还包含一个中心服务器(CentralServer)、一系列命令行工具、图形化界面工具以及编译环境。ROS不是集成开发环境。二、ROS特点为什么选择ROS?ROS运行架构ROS的运行架构是一种使用ROS通信模块,实现模块间P2P的松耦合的网络连接的处理架构

(1)点对点设计(2)多语言支持(3)精简与集成(4)工具包丰富(5)免费且开源(1)点对点设计(2)多语言支持ROS的特殊性主要体现在消息通讯层,而不是更深的层次。端对端的连接和配置利用XML-RPC机制进行实现,XML-RPC也包含了大多数主要语言的合理实现描述。每种语言的代码产生器就会产生类似本种语言目标文件,在消息传递和接收的过程中通过ROS自动连续并行的实现。

(3)精简与集成ROS将复杂重复使用的驱动和算法,封装成模块。各模块中的代码可以单独编译,而且编译使用的CMake工具使它很容易的就实现精简的理念。ROS利用了很多开源项目作为模块,比如从Player项目中借鉴了驱动、运动控制和仿真方面的代码从OpenCV中借鉴了视觉算法方面的代码从OpenRAVE借鉴了规划算法的内容

(4)工具包丰富使用工具仿真测试按时间戳回放记录的传感器数据和消息数据(5)免费且开源ROS所有的源代码公开发布。遵循BSD许可,允许各种商业和非商业的工程开发。ROS通过内部处理的通讯系统进行数据的传递,不要求各模块在同样的可执行功能上连接在一起。

个别的模块可以包含被各种协议保护的软件,这些协议从GPL到BSD,但是许可的一些“污染物”将在模块的分解上就完全消灭掉。

ROS开发平台支持最好的平台

Ubuntu(14.04LTS+ROSKinetic)实验性的平台ROS支持的机器人ROS支持的传感器激光测距传感器

单目双目相机 RGBD相机三、ROS系统框架ROS是怎样运行的、ROS系统框架ROS系统的架构主要被设计和划分成了三部分:文件系统级(Filesystemlevel)ROS内部结构和文件计算图级(ComputationGraphlevel)进程和系统间的通信机制开源社区级(Communitylevel)共享知识、算法和代码

文件系统级

Manifests(manifest.xml):提供关于Package元数据,包括它的许可信息和Package之间依赖关系,以及语言特性信息像编译旗帜(编译优化参数)。

Stackmanifests(stack.xml):提供关于Stack元数据,包括它的许可信息和Stack之间依赖关系。

计算图级ROS会创建一个连接到所有进程的网络。在系统中的任何节点都可以访问此网络,并通过该网络与其他节点交互,获取其他节点发布的信息,并将自身数据发布到网络上。计算图级-主题1.消息以一种publish/subscribe的方式传递2.节点可以在给定的主题中发布/订阅消息3.一个节点可以订阅/发布多个不同的主题4.允许多个节点订阅/发布同一个主题5.订阅节点和发布节点并不知道相互之间的存在计算图级-主题计算图级-服务1.消息以一种request/reply的方式传递2.节点之间发送请求和接受应答3.一对一模式:一个请求,一个响应4.远程过程调用(remoteprocedurecall,rpc)计算图级-服务开源社区级ROS.org搭建了一个社区平台软件源不同的机构能够发布和分享各自的机器人软件与程序。

多机器人系统架构四、ROS常用功能包ROS常用工具-RViz

RViz是ROS中一款强大的3D可视化工具机器人通过ROS发布数据,rviz订阅消息接收数据

ROS常用工具-tfTF是ROS中的坐标变换系统,在机器人的建模仿真中经常用到。ROS中主要有两种坐标系:(1)固定坐标系:用于表示世界的参考坐标系;(2)目标坐标系:相对于摄像机视角的参考坐标系。ROS常用工具-tfROS常用工具-rqt五、ROS-Tutorials简单机器人仿真示例1、安装机器人模拟器

arbotix

2、TurtleBot机器人的模拟导入已预先写好的模拟仿真代码

/// ‘“注意必须启动Master,才能对机器人做其他操作打开rviz工具,可以看到机器人仿真实体ROS-Tutorials加载了rviz的配置文件s

温馨提示

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

评论

0/150

提交评论