一、ROS的来源
1.随着机器人领域的快速发展和复杂化.代码的复用性和模块化的需求越来越强烈.而已有的开源机器人系统 又不能很好的适应需求.2010Willow Garage公司发布了开源机器人操作系统ROS(robot operating system), 很快在机器人研究领域展开了学习和使用ROS的热潮 。
2.ROS系统是起源于2007年斯坦福大学人工智能实验室的项目与机器人技术公司Willow Garage的个人机器人项目之 间的合作已经有8年多的时间 。
3.随着PR2那些不可思议的表现,譬如叠衣服,插插座,做早饭,ROS也得到越来越多的关注,Willow Garage公司也表 示,希望借助开源的力量使PR2变成全能的机器人。
4.PR2价格高昂,2011年零售价高达40万美元。PR2主要用于研究。PR2有两条手臂,每条手臂七个关节点,手臂末端是 一个可以张合的钳子 。
5.PR2依靠底部的四个轮子移动。在PR2的头部,胸部,肘部,钳子上安装有高分辨率的摄像头,激光测距仪,惯性测 量单元,触觉传感器等丰富的传感设备.。
6.在PR2的底部,有两台8核的电脑作为机器人各硬件的控制核通讯中枢,两台电脑安装有Ubuntu和ROS。
二、ROS的功能
1.ROS是开源的,是用于机器人的一种后操作系统,或者说次级操作系统.他提供类似操作系统所提供的功能,包含:
1–硬件抽象描述
2–底层驱动程序管理
3–公用功能的执行
4–程序间的消息传递
5–程序发行包管理
6–它也提供一些工具程序和库用于获取,建立,编写和运行多机整合的程序
2.ROS设计的首要目标是:在机器人研发领域提高代码的服用率 。
3.ROS是一种分布式处理框架,又名Nodes,这种可执行文件能被单独设计,并且运行时松散耦合.这些过程可以封装 到数据包(Package)和堆栈(Stacks)中,以便共享和分发.ROS还支持代码库的联合系统。使得协作亦能被分发 。
4.这种文件系统级别到社区级别的设计独立的决定发展和实施工作成为可能,上述所有的工作都有ROS的基础工具实现
三、ROS的主要特点:
ROS的运行架构是一种使用ROS通信模块实现模块件P2P的松耦合的、网络链接的处理架构,它执行若干种类型的 通讯,包括基于服务的同步RPC(远程过程调用)通讯,基于Topic的异步数据通讯.还有参数服务器上的数据存储。但是,ROS 本身并没有实时性 。
ROS的主要特点可以归结为以下几条:
1–点对点设计
1.一个使用ROS的系统,包括一系列进程,这些进程存于多个不同的主机并且在运行过程中通过端对端的 拓扑结构进行联系。虽然基于中心服务器的那些软件框架也可以实现多进程和主机的优势,但是,在这些框架中, 当电脑通过不同的网络进行链接是,中心数据服务器就会发生问题
2.ROS的—点对点设计—以及—-服务—和—节点管理器等机制可以分散由—计算机视觉和语音识别等 功能带来的实时计算压力,能够适应机器人遇到的挑战 。
2–多语言支持
1.ROS支持C++,Python等多种语言接口。
2.ROS的特殊性主要体现在—消息通讯层,而不是更深的层次.端对端的连接—和—配置利用XML-RPC机制进行
实现 。
3.工具包丰富。
4.免费并且开源。
5.精简集成。