[翻译]Introducing Cartographer

[ROS]Cartographer的初体验 前几天google宣布开源了Cartographer,所以赶紧过来体验一把.本文的介绍的是google开源的Cartographer的初体验.Cartographer是一个提供多平台和多传感器配置下能够完成2D和3D下的SLAM(实时地图构建和定位)的系统.同时google也提供了ROS下的集成.关于什么是ROS参考:http://cpp.pub/articles/2016/08/08/147065 阅读详情

本文英文版原文地址:https://opensource.googleblog.com/2016/10/introducing-cartographer.html

Cartographer是谷歌开源的支持ROS的2D和3D SLAM库.项目地址:https://github.com/googlecartographer/cartographer.

SLAM算法融合多种传感器数据(雷达,IMU,摄像头)用于实时的计算传感器位置以及传感器周围的环境地图.比如,想象一下你工作的办公室所在楼层的平面图:

1.拿着一个激光测距仪,站在房间的中央,在纸上画一个X.
2.测量你站立的位置到任意一面墙的距离.
3.在纸上画出墙的位置,然后写下X到墙的位置.
4.重复步骤3,画出其他墙的位置.
5.换一个位置.
6.如果墙静止不动,可以测量出新的位置到两面墙的距离.

SLAM自动化平台基本部分,比如自动驾驶汽车,仓储自动叉车,自动化的真空清洁器,无人机.
Cartographer通过一个在学术界和工业常见的大范围的传感器配置实时构建全局一致的地图.下面的视频是一个Caretographer的实时回环闭合的示例:https://youtu.be/-EQAJOoRqEQ.

更详细的关于Cartographer的2D算法的描述,参见:https://research.google.com/pubs/pub45466.html.

得益于ROS集成和支持其他外部贡献者,Cartographer能够在部分ROS支持的机器人平台上使用.

1.Toyota HSR:https://github.com/googlecartographer/cartographer_toyota_hsr
2.TurtleBots:https://github.com/googlecartographer/cartographer_turtlebot
3.PR2:https://google-cartographer-ros.readthedocs.io/en/latest/
4.Revo LDS:https://google-cartographer-ros.readthedocs.io/en/latest/

在谷歌,Cartographer使得从博物馆和交通枢纽到著名建筑地图构建的大范围应用变得可能.
我们认识到高质量的数据集对于学术团体的价值.这也就是为什么,感谢与the Deutsches Museum(世界上最大的科技博物馆)的合作,我们同时也发布了收集了三年的雷达和惯导数据,这些数据包括在Cartographer的开发和测试期间使用的2D和3D地图包.
下面是一个3D SLAM视频:
https://youtu.be/DM0dpHLhtX0

我们关注于作为一种技术的高级的自主的SLAM.目前,Cartographer重点关注LIDAR SLAM.通过持续的开发和社区贡献,我们希望添加更过传感器的支持和机器人平台作为新的特性,比如在整个生命周期的地图构建和已知地图的定位.

本文英文版作者:Damon Kohler, Wolfgang Hess, and Holger Rapp, Google Engineering

cartographer论文解析 Real-Time Loop Closure in 2D LIDAR SLAM 使用便携式激光测距仪(又称Lidar)和SLAM(simultaneous localization and mapping)是获取建筑平面图的有效方法。实时生成和可视化楼层平面图有助于操作员评估捕获数据的质量和覆盖范围。而这种便携式的平台计算资源是有限的。而作者现在要介绍他们使用的方法,他们的建图平台是装着lidar的背包,实现实时建图和5cm的分辨率,主要方法是通过计算scan-to-submap匹配作为约束。建筑平面图对各种应用都很有用,现在的方法都是用激光、卷尺来测量,或者结合CAD图。 阅读详情

相关推荐

cartographer系列----cartographer论文

看完这篇论文很久了,现在再做一下学习笔记。希望大家一起交流学习呀~ 这篇论文的重点在于分支定界算法回环检测时对CSM相关算法的搜索加速。 论文中文翻译可看:real-time loop closure in 2D LIDAR SLAM I.INTRODUCTION 讲这篇论文的重点在于减少在计算回环约束时的计算量。 II.RELATED WORK 提出几种常用的回环检测时用到的扫描匹配...

weixin_40863346的博客 1万+

探索Cartographer:一款高效SLAM解决方案的深度解析与应用指南

探索Cartographer:一款高效SLAM解决方案的深度解析与应用指南 Cartographer是Google开源的一款实时同步定位与建图(Simultaneous Localization And Mapping, SLAM)解决方案。它基于C++开发,旨在为各种移动机器人提供高效、可靠的导航能力。这篇推荐文章将深入探讨Cartographer的设计原理,应用场景,并突出其独特优势,以吸引更...

gitblog_00024的博客 1068

每日浅读SLAM论文——简析Cartographer

它的主要工作在后端,使用分支定界优化了CSM算法,然后构建了位姿和submap之间的约束图,使用SPA(一种利用图稀疏性来加速优化,这可以说是真正将图优化投入实际使用的算法,学习到一定深度了可以再去学习,总之是一种快速进行图优化的算法)进行优化。显然,这种算法复杂度很高。其实我们很容易想到一种简单的算法(我瞎想的,便于理解),假设一开始x搜索范围之[-10,10],步长为1,搜一百次,取分数最高的10次,这10次分数都在[-1,1]之间,那我改步长为0.1搜索新的区间。就是前端,核心就是优化这个函数,

qq_21043585的博客 2076

cartographer算法(二)—— cartographer论文精读 for Real-Time Loop Closure in 2D LIDAR SLAM

Real-Time Loop Closure in 2D LIDAR SLAM文章阅读及分析 原文:W. Hess, D. Kohler, H. Rapp, and D. Andor, Real-Time Loop Closure in 2D LIDAR SLAM, in Robotics and Automation (ICRA), 2016 IEEE International Confere...

weixin_42156097的博客 9850

cartographer、graphslam论文

Cartographer主要理论是通过闭环检测来消除构图过程中产生的累积误差[1]。用于闭环检测的基本单元是submap。一个submap是由一定数量的laser scan构成。将一个laser scan插入其对应的submap时,会基于submap已有的laser scan及其它传感器数据估计其在该submap中的最佳位置。submap的创建在短时间内的误差累积被认为是足够小的。然而随着时间推移,越来越多的submap被创建后,submap间的误差累积则会越来越大。因此需要通过闭环检测适当的优化这些submap的位姿进而消除这些累积误差,这就将问题转化成一个位姿优化问题。当一个submap的构建完成时,也就是不会再有新的laser scan插入到该submap时,该submap就会加入到闭环检测中。闭环检测会考虑所有的已完成创建的submap。当一个新的laser scan加入到地图中时,如果该laser scan的估计位姿与地图中某个submap的某个laser scan的位姿比较接近的话,那么通过某种 scan match策略就会找到该闭环。Cartographer中的scan match策略通过在新加入地图的laser scan的估计位姿附近取一个窗口,进而在该窗口内寻找该laser scan的一个可能的匹配,如果找到了一个足够好的匹配,则会将该匹配的闭环约束加入到位姿优化问题中。Cartographer的重点内容就是融合多传感器数据的局部submap创建以及用于闭环检测的scan match策略的实现。

[ADS]单端电感和差分电感的感值和Q值计算公式

单端电感和差分电感的感值和Q值计算公式

乾巽的博客 1万+

cartographer学习——cartographer论文

real-time loop closure in 2D LIDAR SLAM 论文整理 论文中文翻译可看:real-time loop closure in 2D LIDAR SLAM 一边看论文,一边整理+记录问题 三、SYSTEM OVERVIEW 系统总览 cartographer是一个实时的,室内的,使用背包传感器建立2D格网的精度r=5cm的地图的方法。 每帧雷达数据按照最优估计插入,而且被认为是短时间内的最优位置估计。 每帧的匹配依赖于最近的一个submap,也即依赖于最近的帧。所以位姿pos

weixin_43731435的博客 1782

QComboBox设置最大显示数量多余的用滑动条,以及QComboBox::setMaxVisibleItems()不起作用的问题

QComoboBox是Qt封装的一个选择框的东西,但是我在使用过程中有一点感觉很不好,如图: 不论你往里面添加多少个它都会给你显示全部,甚至给你铺满全屏,后来看了官方文档发现有个setMaxVisibleItems()的方法,我欣喜若狂啊,终于特么的能解决了,但是,很遗憾,不知为啥,我设置上之后并没有起作用,依然会显示全部,后来搜了百度发现有个人是这样解决的 QComboBox *box = ne...

Aboveground的博客 4919

Google Cartographer 《Real-Time Loop Closure in 2D LIDAR SLAM》翻译 (中英对照)

Google Cartographer 《Real-Time Loop Closure in 2D LIDAR SLAM》翻译(中英对照) 作者: Wolfgang Hess, Damon Kohler, Holger Rapp, Danie Andor 校对: teddyluo, huiwu.luo@aliyun.com 目录Google Cartographer 《Real-Time Loop...

摸着石头撑船 9728

抖音视频数据抓取

最近经常有人问我抓取抖音视频的数据,问我一些很小白的问题,算法给他也不会用。 还是先抓包,获取需要的接口和参数,相关的算法在其它文章里面有描述。 搜索个视频看看 查看抓的包信息: 可以看到,这里是post请求...

2501_91048859的博客 3098

微生物测序分析LEfSe

LEfse分析定义 LEfse分析即LDA Effect Size分析,可以实现多个分组之间的比较,还进行分组比较的内部进行亚组比较分析,从而找到组间在丰度上有显著差异的物种(即biomaker);

宁生信 5万+

cartographer 论文

欢迎访问我的博客。

sinoai 1372

SAP-PLM传输MBOM传输至SAP

BOM 项目文本 (行 2)PLM创建及修改BOM接口。PLM 创建BOM接口抬头。BOM 项目文本(行1)PLM 创建BOM接口抬头。PLM BOM 错误消息。PLM BOM接口组件。组件数量 (BTCI)

qq_32198063的博客 432

Cartographer论文翻译(回环)

便携式激光测距仪(也被称为激光雷达)和同步定位与建图(SLAM)技术是获取竣工平面图的有效方法。实时生成和可视化平面图有助于操作员评估捕获数据的质量和覆盖范围。构建一个便携式捕获平台需要在有限的计算资源下进行操作。我们介绍了我们的背包测试平台中使用的方法,该平台实现了5厘米分辨率的实时测绘和闭环检测。为了实现实时闭环检测,我们使用分支定界方法来计算scan-to-submap的匹配作为约束。我们提供了实验结果,并与其他众所周知的方法进行了比较,结果表明,就质量而言,我们的方法与现有技术具有竞争力。

JunJun 1379

编译zlib库给IOS平台用

在弹出的下面对话框中选择Unix Makefiles ,然后点击(Done)完成。使用 lipo与otool查看库类型为arm64,现在可在ios平台使用该库了。zlib自带CMakeLists.txt 所以用CMake-GUI来生成。修改为与系统当前安装的cmake版本 (如:3.22.1)选择zlib源码目录及输出目录,输入下图的CMAKE参数。点击Configure,在弹出的对话框中选择Yes。cmake --install . 进行安装。cmake --build . 进行编译。

997

OpenGL ES 3.0 开发(一):绘制一个三角形

该原创文章首发于微信公众号:字节流动 什么是 OpenGLES OpenGLES 全称 OpenGL for Embedded Systems ,是三维图形应用程序接口 OpenGL 的子集,本质上是一个跨编程语言、跨平台的编程接口规范,主要应用于嵌入式设备,如手机、平板等。由科纳斯(Khronos)组织定义和推广,科纳斯是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。 O...

字节流动 8万+

Cartographer源码简读

Cartographer源码简读

xiner0114的博客 2830

智能车图像处理12-进阶篇4--环岛辅助判断条件

主函数: 第6行: 含义是当前需要不在坡道和车库状态 第11-12行 : 寻找一下环岛的双断点(在辅助函数中) 第16-66行: 当左右线的方差满足一边很大,一边很小时,truepianfangflag /truepianfangflagforleft 置1,在环岛的判断中使用。 辅助函数: 双断点函数(左与右相似,以做为例): 第13-28行: 第一处断点 第29-40行: 第一处断点后 连续边线 第41-52行: 第一处连续后,第二处断点 第53-64行: 第二处断点后,第二处

taiyuezyh的博客 1万+

Cartographer论文+源码初步解析

Cartographer论文+源码初步解析引言论文第四部分 ,局部 2D SLAM第五部分 ,回环检测部分(全局SLAM)代码首先介绍.lua文件整体逻辑KaTeX数学公式 引言 最近因为需要,初步探索了cartographer的一些内容. 感觉Google的代码有些难读,因为库文件过于完备导致阅读较为困难.加之没有接触过的.lua等文件类型,开始时无从下手. 现在一点点记录下来. 主要是论文和代...

咩吃咩 3124

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

cartographer 源码解析(一)

cartographer算法是google大佬2016年写的开源SLAM算法,其主要是以2D定位为主。 我们首先从cartographer_ros这个源码开始对其进行

To be a better man 6404

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

对cartographer源论文《Real-Time Loop Closure in 2D LIDAR SLAM》的理解

对cartographer源论文《Real-Time Loop Closure in 2D LIDAR SLAM》的个人理解 论文所讲内容主要分为三部分:子图构建、闭环检测以及后端优化。

CipherPolzz的博客 882

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

cartographer代码及论文分析

1. 基础 1.1 软件架构 1.2 坐标系及相互关系     参考定义见:backpack_3d.lua     Local map frame是一次slam过程中的原点。但是现在cartographer支持Incremental mapping。global map是整个地图的原点,local map是每一次建图的原点。     map_frame = “map”:cartograp...

dxmcu的专栏 3473

cartographer代码流程整理

cartographer代码流程整理 一、代码目录结构 (1) cartographer_ros (2) cartographer 二、测试命令 2D: roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:= ${HOME}/Downloads/cartographer_paper_deutsches_museum.bag 3D: roslaunch cartographer_ros demo_backpack_3d.l

zy806235948的博客 1100

Cartographer原文阅读

用帖子记录一下,防止忘记 原文链接:Real-Time Loop Closure in 2D LIDAR SLAM 文章结构: ABSTRACT INTRODUCTION RELATED WORK SYSTEM OVERVIEW LOCAL 2D SLAM CLOSING LOOPS EXPERIMENTAL RESULTS CONCLUSIONS ABSTRACT Lidar传感器和SLAM方法是获取平面竣工图的有效方法 实时生成的平面图需要在有限的计算资源下获取。 Cartographer方法构建

qq_45980067的博客 935

ROS2下catographer源码参数解析及工作原理

cartographer解析

m0_73843839的博客 5234

cartographer 原理及代码

综上,该公式通过最小化所有子图-扫描对的相对位姿约束残差(考虑协方差加权和鲁棒核函数),优化全局位姿,从而消除SLAM过程中的累计误差,实现高精度地图构建。: 尽管扫描匹配很精确,但微小的误差会随着机器人的运动不断累积,导致子图与子图之间出现错位。这是局部 SLAM 的核心。:后端通过子图间的约束关系(而非单帧扫描与全局地图的匹配)实现全局一致性,本质是图优化问题。能力,能够有效地纠正随着时间累积的里程计误差,从而生成全局一致的地图。子图是一小段连续时间内构建的局部地图,它本身是连续且一致的,误差很小。

weixin_41469272的博客 2611
上一篇: [ROS]Cartographer的初体验
下一篇: [Ubuntu]安装QQ国际版
android_ruben
博客等级 码龄11年 106粉丝 166原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值