激光SLAM算法学习(一)——激光SLAM简介

激光SLAM算法学习(一)——激光SLAM简介激光SLAM算法学习(一)激光SLAM简介1、SLAM是什么2、SLAM的分类3、SLAM的框架4、激光SLAM

大家好,又见面了,我是你们的朋友全栈君。

激光SLAM算法学习(一)

激光SLAM简介

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的框架

Graph-based SLAM
?(? 0:? ,?|? 1:? ,? 1:? )
Node:机器人的位姿
Edge:节点之间的空间约束关系
Graph:表示SLAM的过程
在这里插入图片描述
在这里插入图片描述
激光SLAM包含图优化前与图优化后的地图。

图优化前:
在这里插入图片描述
图优化后:
在这里插入图片描述
4、激光SLAM

Filter-based SLAM:
?(? ? ,?|? 1:? ,? 1:? )
状态更新 & 地图更新(State & Map Update)
测量预测(Measurement Prediction)
进行测量(Measurement)
数据关联(Data Association)
状态预测(State Prediction)
在这里插入图片描述
传感器数据包括:
惯性测量单元(IMU)
激光雷达(Lidar)
轮式里程计(Wheel Odometry)
在这里插入图片描述
地图类型:
覆盖栅格地图(Occupany Grid Map)
点云地图
在这里插入图片描述

激光SLAM帧间匹配算法:
ICP(Iterative Closest Point)
NDT(Normal Distribution Transfomation)
PI-ICP(Point-to-Line Iterative Closest Point)
CSM(Correlation Scan Match)
回环检测:
Scan-to-Scan
Map-to-Map
Scan-to-Map

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux使用客户端连接redis,使用redis客户端连接windows和linux下的redis并解决无法连接redis的问题…[通俗易懂]

    linux使用客户端连接redis,使用redis客户端连接windows和linux下的redis并解决无法连接redis的问题…[通俗易懂]搭建环境:linux是centos7.4(请注意centos7以下版本的防火墙跟centos7以上的不同,使用redis客户端连接redis时会有区别,建议使用centos7以上版本)一、下载redis客户端二、连接windows下的redis服务器1、确保redis服务器是启动状态2、创建连接打开如下页面:3、使用命令窗口右键点击localhost,选择Console正常使用各种redis命令三…

    2022年9月13日
    2
  • pycharm清缓存_pycharm安装包很慢

    pycharm清缓存_pycharm安装包很慢解决pycharm缓存文件问题方法一方法二使用pycharm一段时间后,C盘空间也越来越小。这是因为pycharm在C盘生成了大量的缓存文件。解决C盘占用过大,有两个方法:方法一:直接删除pycharm缓存文件(暴力有效)方法二:更改缓存文件路径方法一content.dat.storageData是pycharm的缓存文件,动辄几个G,直接将其删除即可。不会影响pycharm使用。缺点就是每隔一段时间要记得清理,否则C盘可能就要爆炸。content.dat.storageData文件一般存

    2022年8月28日
    15
  • vc++连接sql数据库_vscode怎么连接数据库

    vc++连接sql数据库_vscode怎么连接数据库vc连接mysql数据库的方法:首先打开VC6;然后在中间列表框中添加本地安装MySQL的include目录路径;接着选中“Libraryfiles”并添加MySQL的Lib目录路径;最后进行编程测试即可。一、MySQL的安装Mysql的安装去官网下载就可以。。。最新的是5.7版本。。二、VC6.0的设置(1)打开VC6.中选0工具栏Tools菜单下的Options选项,在Directorie…

    2022年8月12日
    5
  • java开发官方资源下载网址大全(持续更新)「建议收藏」

    java开发官方资源下载网址大全(持续更新)「建议收藏」1、下载mysql数据库驱动包网址:https://downloads.mysql.com/archives/c-j/

    2022年7月7日
    58
  • 解决Ubuntu18.04中启动kworker等占用系统cpu过高问题[通俗易懂]

    解决Ubuntu18.04中启动kworker等占用系统cpu过高问题[通俗易懂]提要这个问题困扰我好久,真的很烦人,一般网上的解决方式也不是特别好用。后来说一下我的解决方案正文刚装的Ubuntu18.04出现硬盘短时间内被占满,通过查询可以看出在/var/log/下出现两个超级打的日志kern.log和syslog我的盘符分了100G一晚上就占用满了,我通过echo””>kern.log和echo””>syslog然后tail-f查看日志,…

    2022年9月24日
    2
  • ffmpeg采集摄像头数据_手机显示无法获取摄像头数据

    ffmpeg采集摄像头数据_手机显示无法获取摄像头数据这两天研究了FFmpeg获取DirectShow设备数据的方法,在此简单记录一下以作备忘。1.      列设备 ffmpeg-list_devicestrue-fdshow-idummy命令执行后输出的结果如下(注:中文的设备会出现乱码的情况):我自己的机器上列出了以下设备:[dshow@0388f5e0]DirectShowvideodevices[dshow@0388

    2022年10月12日
    2

发表回复

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

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