激光slam课程学习笔记--第2课:2D激光slam_激光2d定位的方法csdn-程序员宅基地

技术标签: slam  自动驾驶  

前言:这系列笔记是学习曾书格老师的激光slam课程所得,这里分享只是个人理解,有误之处,望大佬们赐教。这节课介绍的是2D激光slam。

1. 2d激光slam的介绍

在这里插入图片描述激光slam的输入:IMU数据,里程计[可以简化理解为一种描述机器人的定位姿态信息的东西]数据,激光雷达数据

激光slam的输出:覆盖栅格地图,机器人的轨迹或pose graph
在这里插入图片描述
帧间匹配方法:
PI-ICP,
CSM(correlation scan math)[对初值不敏感,但是只是对一定范围进行细分但不能无限细分以节省计算量,其精度受限于最小分辨率],

梯度优化方法[把匹配问题转换为一个非线性最小优化问题,其对初值敏感],

state of art:CSM+梯度优化[当前最优方式]

回环检测方法:

1)scan-to-map,
2)map-to-map,
3)branch and bound[分支与边界,其思路是,把搜索空间构造一棵树,越到下面,搜索空间划分就越细,父节点的最优得分大于子节点得分之后,若父小于子节点之和,则将整个分支截除][这个方法可以保证回环速度] [CSM]

& lazy decision[目地是避免回环出错带来的灾难性后果.回环时,若检测到相同位置,不立刻进行优化,而是多走几步再优化][该方法可避免错误回环]

[由于2d激光雷达信息比较少,回环严格,可能会导致回环失败;回环过松,可能导致回环失败][方法3)是当前常用的方法]

2. 2d激光slam的发展

在这里插入图片描述

2.1 基于滤波器

a、EKF-SLAM,诞生于90年代。[当前导航使用的是栅格地图,而其构建的是特征地图,故基本被舍弃]

b、FastSLAM,诞生于02-03年

c、Gmapping,诞生于07年[栅格版本+scan match,其基于滤波器的,累计误差无法消除,所以该方式非常依赖里程计]

d、Optimal RBPF,诞生于10年[是对gmapping进行优化所得,原理是对一个粒子进行传播n次,在n次里面选择最优粒子出来作为真实传播,从而减低误差][基于滤波器的2d激光slam方法到了10年的停止发展了]

2.2 基于图优化

a、Globally Consistent Range Scan For Envionment Mapping,诞生于97年[基本框架和当前图优化论文毫无区别,采用的是非线性最小二乘,但是忽略了稀疏性]

b、Incremental Mapping of Large Cyclic Environments,诞生于99年[老师说这是一篇跨时代论文,当前2d激光slam框架都是和这篇论文基本一样,局部匹配(local scan match)+全局矫正(global correct),回环检测使用的是map-to-map,但是其也没有认识到稀疏性]

c、Karto SLAM,诞生于10年[基于CSM+SPA两篇论文产生的,跑该开源代码时容易发生崩溃,由于其SPA库有问题,但是其是第一个基于图优化的开源算法]

d、Cartographer,诞生于16年[谷歌开源,可视为是Karto SLAM的升级版本,局部子图实时构建,分阶递进方法来加速回环检测,利用图优化方法进行帧间匹配]

[老师建议,基于滤波器的slam方法不用研究了,直接搞图优化框架里面进行研究得了]

3. 2d激光slam的应用

在这里插入图片描述

3.1 数据预处理

[很多情况,数据处理做得好,比花一堆时间改进算法得到的效果更好]

a、轮式里程计的标定

[激光的初始解是由轮式里程计和imu给定的,所以轮式里程计的标定是非常重要的]

[轮式里程计标定一般分为,offline(出厂标定)、online(在线标定)(比如提前标定了轮子直径,满载时,轮子会被压扁的,而此时还采用原有的标定方式,会导致误差继续放大,此时就需要在线标定轮子直径以保持较高的直径精度以缓解误差)]

b、激光雷达运动的畸形去除

[畸变产生原理:由于激光是旋转产生的,过程是需要花时间的,而载体是运动的,那么产生的一圈激光必然不是闭合的]

c、不同系统之间的时间同步

[导航系统,信息流可有odom—>mcu—>主机pc,传递过程中存在时间延迟,导致系统处理时获取的数据并不符合当前状况,导致策略信息生成有错误][这就凸显了时间同步的重要性]

3.2 实际环境中问题

a、动态物体
b、环境变化
c、几何机构相似环境[激光使用的是特征点进行建图的,特征点过少,导致建图的艰难]

d、建图的操作复杂
e、全局定位[单纯靠2d激光来做全局定位,比较难,也有例子如MHT]
f、地面材质的变化[如影响轮子直径导致里程计的不准]

g、地面凹凸不平[影响里程计]
h、机器人载重的改变[影响里程计]

4. 2d激光SLAM的趋势–与视觉融合

在这里插入图片描述

4.1 视觉提供的信息

1)高精度的里程信息[VIO,VWO(W表示wheel)]
2)信息量丰富的视觉地图

[视觉面对白色物体,就会失效]

4.2 融合解决的问题

1)动态物体
2)环境变化
3)几何结构相似环境[视觉地图]

4)建图的操作复杂
5)全局定位[视觉地图]
6)地面材质的变化[里程信息]

7)地面凹凸不平[里程信息]
8)机器人载重的改变[里程信息]

[我们都希望多个传感器融合得到1+1>2结果,但是实际情况可能会出现<2情况,这是我们要注意的]

#####################
图片版权归原作者所有
致谢曾老师的付出

不积硅步,无以至千里
好记性不如烂笔头
感觉有点收获的话,麻烦大大们点赞收藏哈

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45701501/article/details/124365784

智能推荐

SpringBoot统一异常通用处理_spring boot <root level="error">-程序员宅基地

文章浏览阅读352次。一 日志1 什么是日志通过日志查看程序的运行过程,运行信息,异常信息等。2 配置日志级别日志记录器(Logger)的行为是分等级的。一般分为:FATAL(致命)、ERROR(错误)、WARN(警告)、INFO(信息)、DEBUG(调试)默认情况下,spring boot从控制台打印出来的日志级别只有INFO及以上级别,可以配置日志级别# 设置日志级别为ERRORlogging: level: root: ERROR这种方式能将ERROR级别以及以上级别的日志打_spring boot

Microsoft .NET Framework 安装未成功(证书方面)-程序员宅基地

文章浏览阅读4.3k次。问题:在为windows7 sp1安装framework 4.6.2的时候,有两次证书方面的报错// 错误1:无法建立到信任根颁发机构的证书链// 错误2:已处理证书链,但是在不受信任的根证书中终止查找资料:经过查找,发现在4.6的前期版本,就已经有过次问题的解决方案,比如类似的文章:.NET Framework 4.6.1/4.6 的安全性更新 31360..._netframework4.6.2安装未成功

CAN总线的物理层分析(三)_can物理层需求分析-程序员宅基地

文章浏览阅读2.4k次。一、CAN拓扑网络连接在CAN总线上的设备叫做节点设备(CAN Node),CAN网络的拓扑一般为线型。线束最常用的是双绞线,线上传输为对称的差分电平信号。下图为CAN总线网络示意图,节点主要包括Host、控制器和收发器。Host常集成有CAN控制器,CAN控制器负责处理协议相关功能,以减轻Host的负担。CAN收发器将控制器连接到传输媒介。通常控制器和总线收发器通过光耦或磁耦隔离,这样即使总..._can物理层需求分析

2020解读中国互联网:局部领先、快进的数字化发展_解读中国互联网:局部领先-程序员宅基地

文章浏览阅读133次。局部领先的当前格局:中国互联网特色分明,部分领域世界领先应对不确定性,是未来十年数字经济发展的重要命题。突如其来的新冠疫情为全球发展秩序带来了巨大的不确定性,政府、企业和个体迅速进入了一场全社会参与的数字化实验,以数字化作为应对不确定性的有效方针。在全社会数字化的进程中,中◿互联网“数智化”的步伐加快,呈现以下特色格局:在产业端,局部领先全球:产业互联网发展水平在不同行业差异明显。在需求端个性化程度高且供给端分散的行业,例如餐饮、服饰等,数字化程度已开始引领全球,互联网巨头赋能行业供应链各环节的B端企业_解读中国互联网:局部领先

随便推点

过滤器Filter与拦截器Interceptor原理分析与区别_过滤器和拦截器的底层原理-程序员宅基地

文章浏览阅读1k次。对过滤器与拦截器主要区别进行概述,主要阐述两者执行顺序_过滤器和拦截器的底层原理

数据流处理与DMP数据平台的关系-程序员宅基地

文章浏览阅读842次,点赞12次,收藏9次。1.背景介绍1. 背景介绍数据流处理(Data Stream Processing)和DMP数据平台(DMP,Data Management Platform)都是在大数据时代中广泛应用的技术。数据流处理主要用于实时处理和分析大量、高速变化的数据,而DMP数据平台则是用于管理、整合和分析来自多个渠道的用户数据,以实现有针对性的营销和推广活动。在这篇文章中,我们将深入探讨数据流处理与DM...

自然语言处理与AI语言模型的道德与法律问题-程序员宅基地

文章浏览阅读263次,点赞5次,收藏3次。1.背景介绍1. 背景介绍自然语言处理(NLP)是人工智能领域的一个重要分支,旨在让计算机理解、生成和处理人类语言。随着深度学习技术的发展,AI语言模型(例如GPT-3、BERT等)在语言理解和生成方面取得了显著进展。然而,这些模型也引发了一系列道德和法律问题,需要我们深入思考和解决。本文将从以下几个方面探讨NLP和AI语言模型的道德与法律问题:数据收集与隐私保护模型偏见与公平...

Python之Request库的安装_request whl-程序员宅基地

文章浏览阅读1.8w次,点赞5次,收藏33次。方法一:以管理员身份运行cmd,执行 pip install requests若撞墙,可以试试 pip --trusted-host pypi.python.org install requests还不行的话,在撞墙的link上获取压缩包,解压后执行进入文件夹的命令(以我的为例)cd C:\Program Files\Python36\Lib\requests-2.7.0进入文件夹,执行安装命令..._request whl

JSON的三种解析方式以及JSONObject、Map、JSONArray、ArrayList的区别_jsonobject map-程序员宅基地

文章浏览阅读3.2k次,点赞4次,收藏13次。目录一、JSON1. 什么是JSON?2. JSON字符串和JSON对象的区别3. JSON解析4. 举例说明二、JSON和Map、JSONArray和ArrayList的区别一、JSON1. 什么是JSON?2. JSON字符串和JSON对象的区别3. JSON解析4. 举例说明二、JSON和Map、JSONArray和ArrayList的区别一、JSON..._jsonobject map

在本地用 Navicat 连接远程数据库报错:Can't connect to MySQL server on 。。。_cant connect to mysql server on navicat-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏2次。在腾讯云新买了一台服务器,环境都安装好了,在本地用 Navicat 连接数据库,就是连接不上,一直报错Can’t connect to MySQL server on 。。。搞了三四个小时,终于搞定,分享一下过程。一、检查用户授权 1.进入ubuntu mysql命令界面,查看root用户授权show grants for 'root'@'%'; 2.如果没有授权记录,新增用户CREATE USE_cant connect to mysql server on navicat

推荐文章

热门文章

相关标签