今日,谷歌开源自动驾驶汽车、机器人等平台所需的 SLAM 技术的库 Cartographer。
今天,我们非常高兴宣布开源 Cartographer,这是一个 ROS 系统支持的 2D 和 3D SLAM(simultaneous localization and mapping)库。
SLAM 算法结合来自多个传感器(比如,LIDAR、IMU 和 摄像头)的数据,同步计算传感器的位置并绘制传感器周围的环境。例如,使用该方法绘制住室的平面图:
拿着一台激光测距机站在房屋中央,在纸上画一 X ;
测量你所在位置到任一墙面的距离;
在墙面所在位置画一条线,并写下 X(你所在位置)与墙面之间的距离;
测量你所在位置到另一墙面的距离并画出代表墙面的直线;
现在,移动到房屋的另一位置;
因为墙面不会移动,你可以测量到上述两个墙面的距离,从而测定你的位置;
SLAM 是众多自动驾驶平台的重要组件,比如自动驾驶汽车、仓库中的自动叉车、扫地机器人、UAVs 等。
在产业界和学术界常见的传感器配置上,Cartographer 能实时建立全局一致的地图。
Cartographer 2D 算法的详细描述可参加谷歌 ICRA 论文:Real-Time Loop Closure in 2D LIDAR SLAM(论文需购买,点击阅读原文查看论文连接)
由于集成了 ROS 和来自外部贡献者的支持,Cartographer 已经被用在多个 ROS 支持的机器人平台上了:
在谷歌,从博物馆、交通枢纽的绘制,到著名建筑的可视化,Cartographer 已经被应用于广泛地领域。
我们认识到高质量数据集对研究社区的价值,这也是为什么与德国博物馆(世界上最大的科技博物馆)合作的情况下,开源 3 年来在开发和测试 Cartographer 期间使用 2D 和 3D 绘图backpack 平台收集到的 Lidar 和 IMU 数据。
目前,Cartographer 特别注重于 Lidar SLAM,通过社区的贡献和持续开发,我们希望增加更多传感器和平台的支持,增加更多的新特征,比如在预先存在的地图中的 lifelong mapping 和 localizing。