<nav id="eqgi4"></nav>
  • <strong id="eqgi4"><menu id="eqgi4"></menu></strong>
  • <td id="eqgi4"><kbd id="eqgi4"></kbd></td>
  • 服务机器人行业领先品牌

    行业资讯 当前位置:首页 > 资讯中心 > 行业资讯

    ROS机器人操作系统的特点与发展历史介绍

    发布时间:2021-01-29浏览次数:5184字号:

    简述
    ROS为Robot Operating System(机器人操作系统)的简写,是一个面向机器人的开源元操作系统(open-source,meta-operating system)。它能够提供类似传统操作系统的诸多功能,如硬件抽象、底层设备控制、进程间消息传递和程序包管理等。此外,它还提供相关工具和库,用于获取、编译、编辑代码以及在多个计算机之间运行程序完成分布式计算。ROS的运行架构是一种使用ROS通信??槭迪帜?榧銹2P的松耦合的网络连接的处理架构,它执行若干种类型的通讯,包括基于服务的同步RPC(远程过程调用)通讯、基于Topic的异步数据流通讯,还有参数服务器上的数据存储。

    发展历史
    ROS机器人起源于2007年前后斯坦福大学人工智能实验室的STAIR(Stanford Artificial Intelligence Robot)项目与WillowGarage公司的个人机器人项目(Personal Robotics project)之间的合作。在2009年初推出了ROS0.4,现在所用系统的框架在这个版本中已初具雏形。经过近一年的测试后,于2010年初推出了ROS1.0版,并在当年三月份推出了正式发行版本:ROS Box Turtle,到现在(2016年5月)已经发行了10个版本,最新版本是ROSKinetic Kame。比较有趣的是,ROS各版本均以龟作为发行代号,至今已设计出10种造型奇特的“ROS龟”。

    从2008年至2013年,ROS主要由Willow Garage公司管理维护,但这并不意味着ROS是封闭的系统,相反,它是由众多学校及科研机构联合开发及维护的,这种联合开发模式也为ROS系统生态的构建与壮大带来有力的促进。2013年,Willow Garage公司被Suitable Technologies公司收购,此前几个月,ROS的开发和维护管理工作被移交给了新成立的开源基金会Open Source Robotics Foundation。


    ROS机器人

    配图来源网络


    ROS机器人系统特点
    ROS的主要目标是为机器人研究和开发提供代码复用的支持。ROS是一个分布式的进程(即“节点”)框架,这些进程被封装在易于被分享和发布的程序包和功能包中。ROS也支持一种类似于代码储存库的联合系统,这个系统也可以实现工程的协作及发布??梢允挂桓龉こ痰目⒑褪迪执游募低车接没Ы涌谕耆懒⒕霾撸ú皇躌OS限制)。同时,所有的工程都可以被ROS的基础工具整合在一起。

    ROS在某些程度上和其他常见的机器人架构有些相似之处,如:Player、Orocos、CARMEN、Orca和Microsoft Robotics Studio。对于简单的无机械手的移动平台来说,Player是非常不错的选择。ROS则不同,它被设计为适用于有机械臂和运动传感器的移动平台(倾角激光、云台、机械臂传感器)。与Player相比,ROS更有利于分布式计算环境。当然,Player 提供了较多的硬件驱动程序,ROS则在高层架构上提供了更多的算法应用(如集成OpenCV的视觉算法)。

    ROS的主要特点可以归纳为以下几条:
    (1)点对点设计
    ROS通过点对点设计以及服务和节点管理器等机制可以分散由于计算机视觉和语音识别等功能带来的实时计算压力,这种设计能适应服务机器人遇到的调战。

    (2)不依赖编程语言
    ROS支持多种现代高级编程语言,C++、Python和Lisp语言已经在ROS中实现编译,并得到应用,Octave和Java的测试库也已经实现。为了支持多语言编程,ROS采用了一种语言中立的接口定义语言(language-neutral interface definition language,IDL )来实现各??橹涞南⒋?。

    (3)精简与集成
    ROS建立的系统具有??榛奶氐?,各??橹械拇肟梢缘ザ辣嘁?,而且编译使用的CMake工具使它很容易的就实现精简的理念。ROS基本将复杂的代码封装在库里,只是创建了一些小的应用程序为ROS显示库的功能,这就允许了对简单的代码超越原型进行移植和重新使用。作为一种新加入的有优势,单元测试当代码在库中分散后也变得非常的容易,一个单独的测试程序可以测试库中很多的特点。
    ROS不修改用户的主函数,所以代码可以被其他的机器人软件使用。其优点是ROS很容易和其他的机器人软件平台集成。例如,在计算机视觉方面,ROS已经与OpenCV实现集成。在驱动、导航和模拟器方面,ROS已经与Player系统实现集成。在规划算法方面,ROS也已与OpenAVE系统实现集成。

    (4)便于测试
    为机器人开发软件比其他软件开发更具挑战性,主要是因为调试准备时间长,且调试过程复杂??銮?,因为硬件维修、经费有限等因素,不一定随时有机器人可供使用。ROS提供两种策略来解决上述问题。
    1.精心设计的ROS机器人系统框架将底层硬件控制??楹投ゲ闶荽碛刖霾吣?榉掷?,从而可以使用模拟器替代底层硬件???,独立测试顶层部分,提高测试效率。

    2.ROS另外提供了一种简单的方法可以在调试过程中记录传感器数据及其他类型的消息数据,并在试验后按时间戳回放。通过这种方式,每次运行机器人可以获得更多的测试机会。例如,可以记录传感器的数据,并通过多次回放测试不同的数据处理算法。

    (5)开源
    ROS遵从BSD协议,这给了使用者很大的自由,使开发者可以清楚的查看、自由的使用源代码,如果有需要,可以根据不同的系统及硬件环境对源代码进行修改,或者进行二次开发。

    (6)强大的库及社区:
    ROS提供了广泛的库文件实现以机动性、操作控制、感知为主的机器人功能。同时由于其开源特性,ROS的支持与发展依托着一个强大的社区。其官方网站尤其关注兼容性和支持文档,提供了一套“一站式”的方案使得用户得以搜索并学习来自全球开发者数以千计的ROS程序包。

    随着技术的发展及人们需求的提高,机器人集成了越来越多的功能、传感器,对用户来说这越来越方便,但对开发者来说恰恰相反,功能的增加带来开发与集成难度迅速上升,机器人操作系统的出现有效缓解了这种问题。从计算机和智能手机的发展过程来看,合适与成熟的操作系统是智能机器人行业大规模发展和在人们的生活中普及的必要条件??梢栽ぜ?,未来几年将会出现众多机器人操作系统,在经过充分的发展竞争后将会有为数不多的几个操作系统会发展壮大并占据绝大部分市场,就像曾经的计算机操作系统和现在的手机操作系统。

     

     
    在线咨询
    QQ客服一
    QQ客服二
    微信客服
    15013678826
    返回
    顶部
    欧美激情一区二区三区在线视频
    <nav id="eqgi4"></nav>
  • <strong id="eqgi4"><menu id="eqgi4"></menu></strong>
  • <td id="eqgi4"><kbd id="eqgi4"></kbd></td>
  • 无码精品亚洲毛片AV|o8i779 国产精品午夜福利在线观看|okq157 亚洲黄色网址|8em536 日韩AV免费在线观看|my8707 91精品久久久无码中文字幕vr|iuy393 日韩国产欧美一级特黄A片|u8y169 日日摸夜夜添夜夜添人人|yws204 精品亚洲成a人7777在线观看|9eo236 精品久久久久久亚洲精品|ou7666 国产精品一级毛片不收费|oka30 国产A级毛片久久久久久久|i7e868 中文字幕少妇一区二区三区|kuc534 特黄无码AV在线一区二区|7ki935 亚洲精品A级毛片|ymc312 风流少妇A片一区二区|ky7876 国产精品久久久久精品三一级|mqw27 97人人添人澡人人爽超碰|i8i680 亚洲精品97久久中文字幕无码|oyg726 欧洲精品无码一级毛片|8qe934 国产一级做a爱免费视频|cs6815 亚洲va国产va天堂va久久|wwk163 中文字幕无线码免费人妻|e6g11 欧美在线免费观看|gam406 国产女人被躁到高潮视频|6wc371 91精品国产综合久久久亚洲日韩|us7294 午夜福利av无码一区二区三区|ice240 夜精品A片一区二区无码试看|ggi898 精品欧洲AV无码一区二区男男|mq7472 久久久久久高清毛片一级|osm220 久久久无码人妻精品一区|u7m362 一级a一级a爰片免费A片|cey839 国产精品亚洲精品毛片完整版|5ma435