激光slam综述_激光点云处理

激光slam综述_激光点云处理1:SLAM是什么SLAM是同步定位与地图构建(SimultaneousLocalizationAndMapping)的缩写,最早由HughDurrant-Whyte和JohnJ.Leonard提出。SLAM主要用于解决移动机器人在未知环境中运行时定位导航与地图构建的问题。SLAM通常包括如下几个部分,特征提取,数据关联,状态估计,状态更新以及特征更新等。其中包括2D-SLAM和3D-SLAM。一下大概分为三种形式:Localization:在给定地图的情况下,估计机器人的位姿。SLA

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1:SLAM是什么

SLAM是同步定位与地图构建(Simultaneous Localization And Mapping)的缩写,最早由Hugh Durrant-Whyte 和 John J.Leonard提出。SLAM主要用于解决移动机器人在未知环境中运行时定位导航与地图构建的问题。

SLAM通常包括如下几个部分,特征提取,数据关联,状态估计,状态更新以及特征更新等。其中包括2D-SLAM和3D-SLAM。一下大概分为三种形式:
Localization:在给定地图的情况下,估计机器人的位姿。
SLAM:同时估计机器人的位姿和环境地图。
Mapping:在给定机器人位姿的情况下,估计环境地图。

2:SLAM的分类

在这里插入图片描述

3:SLAM框架

3.1图优化

在这里插入图片描述
节点之间的约束:建图过程中会产生一个节点 x 1 x_1 x1 x 2 x_2 x2节点连接的边,边的值为 x 1 − 1 ⋅ x 2 x_{1}^{-1} \cdot x_{2} x11x2。其表示的为两个节点的位姿关系,也就是空间约束关系。
图优化的前端是构图 ,后端是进行优化。
从节点1到节点N,是构图的过程,若节点1和节点N是相似的,将节点N和节点1相连接得到回环检测,从节点1到节点N得到一个位姿 T 1 T_{1} T1,从节点N到节点1得到一个位姿为 T 2 T_{2} T2,则理想情况下两个位姿的关系为 T 1 − 1 × T 2 = I T_{1}^{-1} \times T_{2}=I T11×T2=I。但是由于误差的存在,则就得到一个误差项,再通过后端进行优化,让误差项趋近于0。

图优化的例子
在这里插入图片描述

3.2滤波优化

在这里插入图片描述
图优化和滤波优化的区别:滤波优化仅仅估计当前时刻的位姿,不估计之前时刻的位姿,造成的误差较大。小环境下gmapping会得到很好的效果,用的滤波的方法。
1:状态预测:就是里程计得到机器人的位姿
2:测量预测:通过测量函数
3:进行测量:真实值的测量
4:数据关联:
5:地图更新
在这里插入图片描述
IMU主要是测量线速度和角速度,如果用里程计测角度会造成很大的误差。

在这里插入图片描述
ICP的误差是点对点的。
PI-ICP的误差是点对线的。
NDT:把地图看成高斯分配的集合
CSM:相关扫描匹配:建立自然场模型,进行暴力搜素。计算量大,优点不会陷入局部极值里面。
STS:淘汰
STM:cartographer的运用:
MTM:把n帧激光聚合一个子图和过去的子图进行匹配。

在这里插入图片描述
梯度优化的开源:hectorSLAM,把匹配问题建模成非线性最小二乘的优化问题,因为它对初值敏感。
CSM:精度取决于像素的大小。
CSM+梯度优化 :先通过暴力搜素进行粗优化,再通过最小二乘进行细优化:cartographer。
在这里插入图片描述
在这里插入图片描述
轮式里程计:分为离线标定和在线标定。
运动畸变:激光旋转过程中,扫描的起始点和结束点存在角度差。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/172368.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月23日 上午10:46
下一篇 2022年8月23日 上午10:46


相关推荐

  • python对字符串中指定字符进行替换[通俗易懂]

    python对字符串中指定字符进行替换[通俗易懂](1)替换指定的所有字符:string.replace(‘a’,‘b’)表示将字符串string中所有字符为’a’的替换为’b’。例子string=”abcabcabc”string=string.replace(‘a’,’b’)print(string)输出bbcbbcbbc(2)替换指定位置i的字符为字符s:列表化字符串再以字符串形式输出例子i,s…

    2022年6月7日
    52
  • python pip源更换国内镜像,速度加快10倍

    python pip源更换国内镜像,速度加快10倍python安装第三方模块,更换为国内的资源python的服务器是在国外的,所以我们pip安装pyqt5之类的模块时就很慢了下面就介绍了一些国内的阿里云http://mirrors.aliyun.com/pypi/simple/中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/豆瓣(douban)http://pypi.do…

    2022年8月29日
    7
  • 新发的日常小技巧——Sublime插件安装教程(例:lua开发环境插件安装)

    新发的日常小技巧——Sublime插件安装教程(例:lua开发环境插件安装)文章目录一、前言二、关于PackageControl三、安装PackageControl1、办法1:通过命令行安装(需联网)2、办法2:直接拷贝插件包文件到InstalledPackages目录四、通过PackageControl安装插件(需联网)五、无网络环境下安装插件六、lua开发环境插件安装一、前言Sublime具有良好的扩展能力,具有非常多好用的扩展插件,本文我教大家如何给Sublime安装插件。二、关于PackageControl我们要给Sublime安装插件,就需要先安装Pac

    2022年6月24日
    41
  • FlashFXP 4.3.1 注册码

    FlashFXP 4.3.1 注册码FlashFXP4.3.1注册码——–start———FLASHFXPwQAOlhkgwQAAAAC6W5MNJwTnsl73nIraAU149tnCQS0hmZU3GGBQG1FtoSp5x0mUgA7bFW0qr0fKk2KCA+v2CCrFbF+qbmLvEjV+4JCAX+H/TBpG7pdEJ8IEW09ST8t60Poou/CTNhxGoz1Ww0ki…

    2022年7月26日
    14
  • OpenCV图像修复

    OpenCV图像修复在 OpenCV 的 photo hpp 中定义了一个 inpaint 函数 可以用来实现图像的修复和复原功能 inpaint 函数的原型如下 voidinpaint InputArraysr InputArrayin OutputArrayd doubleinpain intflags

    2026年3月16日
    2
  • Java 删除文件以及文件夹删除不了的问题

    Java 删除文件以及文件夹删除不了的问题问题所在今天在编写一个项目,流程是先创建一个临时文件夹存放生成的文件,再经过压缩导出,待导出成功后删除临时文件夹,但是怎么也删除不了,还以为是写的删除方法有问题,找来找去,试了很多方法也删除不了本来以为是打包的流没关闭,但是发现流都是关闭的,后来发现,是在生成的方法里,直接newFileWriter出来的,没有关闭,在这里提醒一下,关于操作文件或者文件夹一定都会用到流,所以用到的流一…

    2022年6月7日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号