激光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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java课程设计——学生成绩管理系统

    Java课程设计——学生成绩管理系统Java课程设计题目:学生成绩管理系统摘要在现今信息时代,生活速度的加快,使得人们越来越向信息化、数字化发展。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长,尤其是学生的考试成绩数据。面对庞大的学生的成绩,需要有学生成绩管理系统来提高学生管理工作的效率。介于此提出了学生成绩管理系统,学生管理系统是计算机对学生档案信息进行管理,具有手工管理无可比拟的优点,如索检迅速、查找方便、可靠性高、存储量大等有点。现在我国的大中专院校的学生成绩管理水平正在不断提高,停留在纸介质

    2022年7月17日
  • 分布式 – 谈谈你对分布式的理解,为什么引入分布式?

    分布式 – 谈谈你对分布式的理解,为什么引入分布式?不啰嗦,我们直接开始!划重点:真正了解分布式系统的概念,日后工作中具有分布式系统设计思想。 能否在设计中对系统稳定性方面考虑周全。 能构建高QPS健壮的系统架构。1、面试官:那谈谈你对分布式系统的理解问题分析:各种分布式框架层出不穷,SpringCloud,阿里的Dubbo,无论使用哪一个,原理都相同,考察下基本概念掌握的如何。答:为了解决传统单体服务架构带来的各种问题,代码数量庞大,迭代测试维护困难,可能因为一处改动测试不到位造成整个服务瘫痪等问题,分布式系统就是将一

    2022年6月21日
  • 【python】Excel转json「建议收藏」

    【python】Excel转json「建议收藏」importxlrd,json,osdata=xlrd.open_workbook(“working_file.xls”)public=[]tables=[(excelName,data.sheet_by_name(excelName))forexcelNameindata.sheet_names()]#表由多个相同的表,数据为两列组成filePath=”picture_folder_path”#图片路径forindex,dataSetintabl

    2022年6月6日
  • DrawText

    DrawTextDrawText函数功能:该函数在指定的矩形里写入格式化文本,根据指定的方法对文本格式化(扩展的制表符,字符对齐、折行等)。函数原型:intDrawText(HDChdc,LPCTSTRl

    2022年8月2日
  • HttpCanary下载_HTTP啥意思

    HttpCanary下载_HTTP啥意思前言首先,我们无论学习哪个框架,都要带着问题,带着思考去学习思考1:HttpRunner是什么?思考2:HttpRunner的设计模式是什么?思考3:为什么我们要学习HttpRunner?他的

    2022年8月6日
  • HBase Shell命令大全「建议收藏」

    HBase Shell命令大全「建议收藏」HBase关键名称:RowKey列族columnfamily单元Cell时间戳timestampHBaseShell是官方提供的一组命令,用于操作HBase。如果配置了HBase的环境变量了,就可以知己在命令行中输入hbaseshell命令进入命令行。hbaseshellhelp命令可以通过help’命名名称’来查看命令行的具体使用查询服务器状态st…

    2022年7月16日

发表回复

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

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