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

原创
2016/10/08 13:59
阅读数 5.7K

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 数据。

 

展开阅读全文
打赏
0
6 收藏
分享
加载中
更多评论
打赏
0 评论
6 收藏
0
分享
返回顶部
顶部