云机器人调研

文章目录

  • 云机器人调研
    • 1. 有关边缘计算
      • 1.1. 边缘计算带来的优势
    • 2. RoboEarth
      • 2.1. 什么是RoboEarth
      • 2.2. 什么是云机器人(cloud robotics)
      • 2.3. RoboEarth的创建动机
    • 3. RoboEarth的软件部件
    • 4. 设计云机器人架构

云机器人调研

1. 有关边缘计算

云计算: 是一种利用互联网实现随时随地、按需、便捷地使用共享计算设施、存储设备、应用程序等资源的计算模式.

云 计 算 的 组 成 { 云 平 台 云 存 储 云 终 端 云 安 全 云计算的组成 \begin{cases} 云平台 \\ 云存储 \\ 云终端 \\ 云安全 \end{cases}

云 平 台 从 用 户 角 度 分 为 { 公 有 云 私 有 云 混 合 云 云平台从用户角度分为 \begin{cases} 公有云 \\ 私有云 \\ 混合云 \end{cases}

边缘计算: 和传统的中心化思维不同,他的主要计算节点以及应用分布式部署在靠近终端的数据中心,这使得在服务的响应性能、还是可靠性方面都是高于传统中心化的云计算概念.

边缘是一个很笼统的概念,它是指接近数据源的计算基础设施,不同的边缘计算提供商往往有不同的边缘。比如美国电信公司AT&T的边缘就是离客户几英里的蜂窝网络基站;对于世界最大的CDN厂商阿卡麦,边缘则是指遍布全球的CDN设备;对于机场的监控设备,边缘就是覆盖整个机场无死角的高清摄像头。

边缘计算和云计算是相符相成的,简单来说就是大量计算任务在离用户最近的边缘计算节点上完成,只有少量的数据需要上传的云计算中心.

边缘计算和云计算的功能分别如下:

云计算:

  • Complex analytics
  • Big Data mining
  • Sources of business logic
  • Machine learning rules
  • Advanced visualizations
  • Long term data storage/warehousing

边缘计算:

  • Basic data visualization
  • Basic data analytics and short term data historian features
  • Data caching, buffering and streaming
  • Data pre-processing, cleansing, filtering and optimization
  • Some data aggregation
  • Device to Device communications/M2M

1.1. 边缘计算带来的优势

云计算的缺点:

  1. 数据量大: 处理大量数据时所带来的带宽延迟对于需要实时计算的设备来说难以接受.
  2. 速度问题: 当所有的计算任务都交由云服务中心去处理势必会增加云服务器计算压力.

边缘计算的优势:

  1. 数据处理快: 因为数据是在边缘结点进行分析,降低了延迟,提升应用的响应速度
  2. 减少了数据传输: 数据在边缘节点处理, 减少了网络传输时间.另外在节省带宽成本的同时还能减少核心网络的拥堵(如果所有的数据都发往云服务中心,必然会带来网络拥堵问题).
  3. 数据安全: 在边缘节点上进行数据分析,可以防止敏感数据在网络传输的过程中被泄露.
  4. 提高可用性: 边缘节点分担了中心无服务的计算任务,一定程度上消除了计算瓶颈, 使得云服务能够为更多用户提供服务.

边缘计算的缺点:

  1. 边缘设备需要较高的处理能力意味着需要更高的成本和设备被入侵的风险.
  2. 在大量的边缘设备上进行应用部署和服务监控会成为一个棘手的问题.
  3. 在边缘进行分布式计算并与云端协调任务会让应用编程变得更加复杂

边缘计算白皮书地址:

http://www.aii-alliance.org/index.php?m=content&c=index&a=show&catid=23&id=182

2. RoboEarth

2.1. 什么是RoboEarth

RoboEarth允许机器人:

  • 存储和共享信息: 机器人可以使用RoboEarth语言提供的通用表示和RoboEarth数据库提供的可扩展存储来存储和共享信息.它具有以下优势:

    1. 通过利用其他机器人的经验来显著提高学习速率.
    2. 允许开发人员创建一般的机器人任务指令,而不是编写单个机器人.
  • 卸载计算: 机器人可以使用web上可用的庞大计算基础架构来执行繁琐的任务.包括规划,概率推理和映射等. 基于云协作的映射与低成本机器人,知识处理与KnowRob的服务,以及云机器人框架Rapyuta.

  • 协作: 机器人可以将云用作协作和完成共同任务的通用媒介.

云机器人调研_第1张图片

除了基于云的基础设施外,RoboEarth还提供与ROS兼容的机器人非特定组件,用于机器人的高级控制.

RoboEarth云引擎(也称为Rapyuta)为机器人提供强大的计算功能。它允许机器人以最少的配置将其繁重的计算卸载到云中的安全计算环境中。Cloud Engine的计算环境提供对RoboEarth知识库的高带宽访问,使机器人能够从其他机器人的经验中受益.

深入的信息可以参考论文:RoboEarth - A World Wide Web for Robots (PDF) 和 Rapyuta: The RoboEarth Cloud Engine

2.2. 什么是云机器人(cloud robotics)

云机器人技术是一个新兴的机器人领域,其根植于云计算,云存储和其他以融合基础设施和共享服务为中心的互联网技术。它使机器人受益于现代数据中心强大的计算、存储和通信资源。此外,它还可以消除维护和更新的开销,并减少对自定义中间件的依赖。

目前云机器人的成果

  • DAvinCi Project : 它通过使用一个Hadoop集群来并行化运行一个SALM程序. 但是,它不开源.
  • rosbridge : 它专注于机器人和运行环境在云端的ROS系统之间的通信.开源地址:Available open-source via ROS.org..
  • Cloud-Based Robot Grasping project : 它使用谷歌的物体识别引擎来辨认和抓住家庭环境的物体.不开源.
  • GostaiNet : 提供在云中的兼容机器人上执行机器人行为, 例如: 视觉和语音算法. 不开源.
  • rosjava library : 它使在Android上运行ROS系统. 虽然不是严格意义上的云机器人项目,但它允许ROS开发人员使用Android设备连接到(人)云服务,例如:Google Goggles. 开源地址: Available open-source via ROS.org.
  • RoboEarth Databases 和 Cloud Engine: RoboEarth提供了一个开源的Cloud Robotics框架,允许机器人通过WWW-style的数据库共享知识并访问功能强大的机器人云服务。开源地址: RoboEarth’s Software Components page

2.3. RoboEarth的创建动机

RoboEarth的目标是利用互联网创建一个巨大的开源网络数据库,可以通过世界各地的机器人访问和不断更新。通过云在大范围内共享知识,以及企业和学者在共同语言平台上独立贡献,RoboEarth有可能为任何机器人的3D感知,行为和学习能力提供强大的前馈。

3. RoboEarth的软件部件

RoboEarth系统包含许多软件. 核心云基础架构由RoboEarth数据库(RoboEarth DB)和RoboEarth云引擎(Rapyuta)提供。其他软件组件可以访问RoboEarth DB来查询和存储数据,并可以部署在Rapyuta中执行或在机器人本地执行,具体取决于所需的用例(如下图)。所有组件也可以单独使用。所有RoboEarth软件组件均在开源许可下提供。下面提供了所有组件的详细描述和相关链接。
云机器人调研_第2张图片

  1. Rapyuta
    RoboEarth Cloud Engine 是一个专门为机器人应用程序设计的开源平台服务框架. 它通过在云中提供安全的可定制的计算环境,帮助机器人卸载繁重的计算任务. RoboEarth Cloud Engine被称为rapyuta,是日本电影天空之城中机器人居住的天空之城的名字.

    Rapyuta的计算环境允许机器人轻松访问RoboEarth知识库。此外,它们紧密相连,为机器人团队的部署铺平了道路。

    Rapyuta的文档地址: http://rapyuta.org/

    云机器人调研_第3张图片

    它为每个使用云服务的用户(机器人)提供独立且安全的计算环境,并且它们都可以访问RoboEarth知识库.

    rapyuta是一个开源的机器人框架,该框架基于克隆模型. 连接到Rapyuta的每个机器人都将拥有系统级克隆. 此外,系统级克隆之间不是完全隔离,他们可以进行一些通讯,为多机器部署提供便利.

    该框架的系统级克隆使用的是Linux container(一种虚拟出软件运行所需的linux系统环境的技术)实现. 机器人与云的通信使用websocket协议(全双工通信通道)来实现.

  2. RoboEarth DB

    RoboEarth DB 是基于Apache Hadoop的 www风格的数据库.

  3. KnowRob

    KnowRob是一个知识处理系统,它将知识表示和推理方法获取知识和在物理系统中建立知识的技术相结合。它可以作为整合来自不同来源的信息的通用语义框架,并在RoboEarth中用作机器人的本地知识库。

  4. Object Detector

    这组ROS包允许用户和机器人使用Kinect摄像头和标记模式从对象创建点云模型,将结果模型存储在RoboEarth知识库中,以及下载对象模型并将其用于对象检测。

  5. WIRE

    WIRE堆栈允许基于对象检测生成并维持一个一致的世界状态估计。它通过维护多个假设来解决数据关联问题,并有助于跟踪各种对象属性。可以配置用于估计的状态估计器和用于关联的概率模型。

    wire的功能总结:

    • 保存和估计物体以及物体的属性
    • 可以处理不确定性
    • 如果需要将保存多假设
  6. C2TAM

    C2TAM实现了基于分布式框架的可视化SLAM系统,其中昂贵的地图优化和存储系统在外部服务器上实现,而轻型摄像机跟踪客户端在本地计算机上运行。
    机器人不需要太多的计算任务,但是对网络连接能力要求高。可以通过标准无线连接支持。

详情请查看RoboEarth官网: http://roboearth.ethz.ch/software-components/index.html

4. 设计云机器人架构

云机器人架构

云机器人调研_第4张图片

云服务架构

云机器人调研_第5张图片

参考:

https://www.yanxurui.cc/posts/misc/2017-08-08-a-survey-of-edge-computing/

https://www.zhihu.com/question/62869157

https://baike.baidu.com/item/CDN

你可能感兴趣的:(slam,云机器人)