文档章节

Cartographer-Google开源基于ROS系统的SLAM库

openthings
 openthings
发布于 2016/10/08 13:59
字数 815
阅读 2088
收藏 5

Cartographer是什么?

      Cartographer是Google基于ROS系统的2D和3D SLAM(simultaneous localization and mapping)库。Google日前宣布开源Cartographer(GitHub源码:https://github.com/googlecartographer),该软件利用同步定位与制图技术(SLAM技术:https://en.wikipedia.org/wiki/Simultaneous_localization_and_mapping)绘制室内平面图,能同时用于二维与三维空间的移动制图操作。

SLAM相关开源软件

      完成类似工作的开源软件还有OpenSLAM(http://www.openslam.org,主要用于机器人视觉领域的实时制图功能)、PointCloudLib(http://www.pointclouds.org/,主要用于激光雷达、摄像头等产生的“点云”数据的处理)、以及OpenCV(http://opencv.org,主要用于实时的视频图像处理和目标识别),而这些库已经早就整合进了ROS(开源的机器人操作系统,http://www.ros.org),Google的Cartographer也用到或借鉴了这些库。

SLAM的技术原理

  SLAM 技术是自动驾驶平台最重要的技术部分,适用于无人驾驶、仓库自动叉车、吸尘机器人和无人机等。Cartographer 基于此创建了全球范围内的实时地图,并且结合 ROS 及其他外部技术支持,Cartographer 现已经支持 Toyota HSR、TurtleBots、PR2、Revo LDS 这几个机器人平台。

      SLAM 算法结合来自多个传感器(比如,LIDAR、IMU 和 摄像头)的数据,同步计算传感器的位置并绘制传感器周围的环境。

   

例如,使用该方法绘制住室的平面图:

  • 拿着一台激光测距机站在房屋中央,在纸上画一 X ;

  • 测量你所在位置到任一墙面的距离;

  • 在墙面所在位置画一条线,并写下 X(你所在位置)与墙面之间的距离;

  • 测量你所在位置到另一墙面的距离并画出代表墙面的直线;

  • 现在,移动到房屋的另一位置;

  • 因为墙面不会移动,你可以测量到上述两个墙面的距离,从而测定你的位置;

实时测量制图与机器人

Cartographer 能实时建立全局一致的地图。

同时,开源 Cartographer 还搭配有开源机器人操作系统(ROS),使得该技术库更易于部署机器人、无人驾驶、无人机等系统。

Google发布开源SLAM地图软件Cartographer,可用于机器人、无人驾驶和无人机系统

  Google 在官方声明中提到,SLAM 算法结合了来自多个传感器的数据,比如 LiDAR 激光雷达传感器、IMU 惯性测量单元,还有来自多个摄像头的数据。综合这些庞杂的数据,得以计算传感器及传感器周围的环境。

Google发布开源SLAM地图软件Cartographer,可用于机器人、无人驾驶和无人机系统

SLAM与Cartographer应用  

     Cartographer 不光是这项开源技术库的名字,它对应的还是一套数据收集装置—“背包”,和街景采集背包 Trekker 相似,Cartographer 也需要穿戴者穿过不同楼层,以采集和绘制相应空间。在 2014 年 9月,Google 表示已通过 Cartographer 创建了 6 张室内地图,而现在,我们已经能在看到博物馆、美术馆及很多著名建筑的室内情形,并且在和德意志博物馆(现世界最大的科技博物馆)的合作中,Google 还对外公布了收集 3 年的 LiDAR 和 IMU 数据。

 

© 著作权归作者所有

openthings
粉丝 310
博文 1116
码字总数 644109
作品 1
东城
架构师
私信 提问
SLAM+语音机器人DIY系列:(六)SLAM建图与自主避障导航——2.google-cartographer机器人SLAM建图

摘要 通过前面的基础学习,本章进入最为激动的机器人自主导航的学习。在前面的学习铺垫后,终于迎来了最大乐趣的时刻,就是赋予我们的miiboo机器人能自由行走的生命。本章将围绕机器人SLAM建...

小虎哥哥爱学习
02/21
0
0
Cartographer——Google开源SLAM地图代码库

Cartographer,是Google开源的一个ROS系统支持的2D和3D SLAM(simultaneous localization and mapping)库。

凝小紫
2016/10/10
13
1
ROS 系统支持的 SLAM 库--Cartographer

Cartographer,是Google开源的一个ROS系统支持的2D和3D SLAM(simultaneous localization and mapping)库。 SLAM 算法结合来自多个传感器(比如,LIDAR、IMU 和 摄像头)的数据,同步计算传...

匿名
2016/10/06
5.7K
0
谷歌近期开源的 SLAM 方案在下一盘怎样的大棋?

10秒总结全文:Cartographer是谷歌刚刚开源的使用激光雷达进行2D/3D SLAM的算法库。其算法本身未必拔萃,但从设计到实现都是产品级的,很可能会在SLAM相关业界带来不小的反响。相关业者或许需...

局长
2016/10/16
8.1K
11
2016 年谷歌开源了这些超酷炫的项目

开放源代码软件让 Google 能够无需重新发明轮子就能够快速有效地进行开发,也让我们能够集中注意力来解决新问题。我们知道,支持开源,就是站在了巨人的肩膀上,所以 Google 员工能够轻松地将...

两味真火
2016/12/19
12.2K
12

没有更多内容

加载失败,请刷新页面

加载更多

【AI实战】手把手教你深度学习文字识别(文字检测篇:基于MSER, CTPN, SegLink, EAST等方法)

文字检测是文字识别过程中的一个非常重要的环节,文字检测的主要目标是将图片中的文字区域位置检测出来,以便于进行后面的文字识别,只有找到了文本所在区域,才能对其内容进行识别。 文字检...

雪饼
今天
5
0
思维导图XMind 8 Pro 绿化方法(附序列号)

按部就班: Step 1 -全新下载最新版本的 Xmind 8(注必须是英文官方的版本,中文代{过}{滤}理网站的版本修改过,无法使用pj); Step 2 -安装完毕后,点击文末的下载按钮下载pj补丁文件包,将...

一只小青蛙
今天
10
0
数据结构(ER数据库)设计规范

表命名规范 表命名的规则分为3个层级,层级之间通过_分割,例如b_r_identity、d_l_identity。规约为: [leavel]_[type]_[name] [leavel] 表示数据库表的层级和功能,分为: s:业务无关的系统...

随风溜达的向日葵
今天
5
0
阿里Sentinel控制台源码修改-对接Apollo规则持久化

https://github.com/alibaba/Sentinel/wiki/%E5%9C%A8%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Sentinel 动态规则扩展 https://github.com/alibaba/Sentinel/wiki......

jxlgzwh
昨天
8
0
在Linux系统中创建SSH服务器别名

如果你经常通过 SSH 访问许多不同的远程系统,这个技巧将为你节省一些时间。你可以通过 SSH 为频繁访问的系统创建 SSH 别名,这样你就不必记住所有不同的用户名、主机名、SSH 端口号和 IP 地...

老孟的Linux私房菜
昨天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部