ros操作系统的入门资料

ros操作系统的入门资料

ID:9873824

大小:5.76 MB

页数:123页

时间:2018-05-13

ros操作系统的入门资料_第1页
ros操作系统的入门资料_第2页
ros操作系统的入门资料_第3页
ros操作系统的入门资料_第4页
ros操作系统的入门资料_第5页
资源描述:

《ros操作系统的入门资料》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、操作系统探索总结(一)ROS简介二、操作系统探索总结(二)ROS总体框架三、操作系统探索总结(三)ROS新手教程四、操作系统探索总结(四)简单的机器人仿真五、操作系统探索总结(五)创建简单的机器人模型smartcar六、操作系统探索总结(六)使用smartcar进行仿真七、操作系统探索总结(七)smartcar源码上传八、操作系统探索总结(八)键盘控制九、操作系统探索总结(九)操作杆控制十、操作系统探索总结(十)语音控制十一、操作系统探索总结(十一)机器视觉十二、操作系统探索总结(十二)坐标系统十三、操作系统探索总结(十三

2、)导航与定位框架十四、操作系统探索总结(十四)move_base(路径规划)十五、操作系统探索总结(十五)amcl(导航与定位)操作系统探索总结(一)ROS简介  一、历史  随着机器人领域的快速发展和复杂化,代码的复用性和模块化的需求原来越强烈,而已有的开源机器人系统又不能很好的适应需求。2010年WillowGarage公司发布了开源机器人操作系统ROS(robotoperatingsystem),很快在机器人研究领域展开了学习和使用ROS的热潮。  ROS系统是起源于2007年斯坦福大学人工智能实验室的项目与机器人技术公

3、司WillowGarage的个人机器人项目(PersonalRobotsProgram)之间的合作,2008年之后就由WillowGarage来进行推动。已经有四年多的时间了(视频)。随着PR2那些不可思议的表现,譬如叠衣服,插插座,做早饭,ROS也得到越来越多的关注。WillowGarage公司也表示希望借助开源的力量使PR2变成“全能”机器人。  PR2价格高昂,2011年零售价高达40万美元。PR2现主要用于研究。PR2有两条手臂,每条手臂七个关节,手臂末端是一个可以张合的钳子。PR2依靠底部的四个轮子移动。在PR2的头

4、部,胸部,肘部,钳子上安装有高分辨率摄像头,激光测距仪,惯性测量单元,触觉传感器等丰富的传感设备。在PR2的底部有两台8核的电脑作为机器人各硬件的控制和通讯中枢。两台电脑安装有Ubuntu和ROS。  二、设计目标  ROS是开源的,是用于机器人的一种后操作系统,或者说次级操作系统。它提供类似操作系统所提供的功能,包含硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,它也提供一些工具程序和库用于获取、建立、编写和运行多机整合的程序。ROS的首要设计目标是在机器人研发领域提高代码复用率。ROS是一

5、种分布式处理框架(又名Nodes)。这使可执行文件能被单独设计,并且在运行时松散耦合。这些过程可以封装到数据包(Packages)和堆栈(Stacks)中,以便于共享和分发。ROS还支持代码库的联合系统。使得协作亦能被分发。这种从文件系统级别到社区一级的设计让独立地决定发展和实施工作成为可能。上述所有功能都能由ROS的基础工具实现。  三、主要特点  ROS的运行架构是一种使用ROS通信模块实现模块间P2P的松耦合的网络连接的处理架构,它执行若干种类型的通讯,包括基于服务的同步RPC(远程过程调用)通讯、基于Topic的异步数

6、据流通讯,还有参数服务器上的数据存储。但是ROS本身并没有实时性。  ROS的主要特点可以归纳为以下几条:  (1)点对点设计  一个使用ROS的系统包括一系列进程,这些进程存在于多个不同的主机并且在运行过程中通过端对端的拓扑结构进行联系。虽然基于中心服务器的那些软件框架也可以实现多进程和多主机的优势,但是在这些框架中,当各电脑通过不同的网络进行连接时,中心数据服务器就会发生问题。  ROS的点对点设计以及服务和节点管理器等机制可以分散由计算机视觉和语音识别等功能带来的实时计算压力,能够适应多机器人遇到的挑战。  (2)多语言

7、支持  在写代码的时候,许多编程者会比较偏向某一些编程语言。这些偏好是个人在每种语言的编程时间、调试效果、语法、执行效率以及各种技术和文化的原因导致的结果。为了解决这些问题,我们将ROS设计成了语言中立性的框架结构。ROS现在支持许多种不同的语言,例如C++、Python、Octave和LISP,也包含其他语言的多种接口实现。  ROS的特殊性主要体现在消息通讯层,而不是更深的层次。端对端的连接和配置利用XML-RPC机制进行实现,XML-RPC也包含了大多数主要语言的合理实现描述。我们希望ROS能够利用各种语言实现的更加自然

8、,更符合各种语言的语法约定,而不是基于C语言给各种其他语言提供实现接口。然而,在某些情况下利用已经存在的库封装后支持更多新的语言是很方便的,比如Octave的客户端就是通过C++的封装库进行实现的。  为了支持交叉语言,ROS利用了简单的、语言无关的接口定义语言去描述模块之间

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。