LOAM和SSL-SLAM

news2024/9/25 23:15:13

今天来水两个激光SLAM的相关框架的学习笔记。

一、LOAM

首先介绍scan-to-scan map-to-map scan-to-map之间的关系:

1.scan-to-scan匹配

即两帧激光雷达数据之间的匹配,目的是求得从起始帧A到目标帧B的相对平移量与旋转矩阵。目前来说scan-toscan中,匹配效果最好的方法是ICP(Iterative Closest point迭代最邻近点算法)优点是计算量小速度快,缺点是误差累计大,长距离误差累计后地图就无法看了。

2.map-to-map的匹配

即地图与地图之间的匹配,优点是精度高,误差累计小;缺点就是计算量大,实时性压力大。

3.scan-to-map的匹配 即激光雷达扫描数据直接与地图进行匹配,这种方式一边计算位置,

一边把新扫描到的数据及时加入到已有的地图中。他的优缺点都比较适中。

编辑

添加图片注释,不超过 140 字(可选)

LOAM的框架如上所示,其中包括了点云对齐、激光里程计、建图以及对变换矩阵的积分。

总的来说,虽然scan-to-scan匹配精度差但是计算量较小因此我们可以高频执行进而实现粗定位。虽然map-to-map计算量大但是我们可以让其执行的频率降低实现精定位。这样的高低频率结合的里程计就保证了计算量的同时又兼具了精度。这里对粗定位和精定位进行了一个划分,其中粗定位的特点是计算快速,精定位的特点是算的精确。这样相互配合的方式,使得LOAM在当时具备了高精度和低计算量的特点。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

这里有个疑问:为什么程序中可以把公式(1)的分母部分省略掉,是因为分母影响不大?还是说分母能化简成常数从而不需要考虑了?

ans:

说法1:这块没注意过,我猜上面也说了只是一个标准,分母也就是个系数而已,可能是影响阈值。

说法2:为了有效减少计算量,使用前后五个点来进行计算。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

上面这个时间轴要好好理解,k时刻处理的数据会投影到k+1时刻,而k+1时刻收集到的数据也会直接投影到当前坐标系下。

运动补偿:(假设线性运动,使用线性插值来对位置姿态进行计算)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

点云对齐和特征提取:

说法一:点云配准其实说通俗点也可以叫点云对齐,这里提取特征就是为了对齐的时候确定数据关联,可能配准方法的区别就在于采用何种数据关联方式(比如区别于icp的启发式方法),其它差异不大,因此作者就将特征提取和点云配准统一到一起了吧(比如说统一成了“特征法的点云配准”这个概念)。

说法二:特征提取这一块其实在激光雷达slam中,也是可以叫做点云注册的。lidar registration和feature point extraction是一个意思,都是从原始数据中提取特征点信息。

二、SSL-SLAM

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

八叉树:八叉树及K-D树的应用和实现_viewcode的博客-CSDN博客_八叉树和k-d树结合起来

这里补充:八叉树和kdtree之间的区别,八叉树是把空间均匀地分为8等分然后继续8等分,并且在深度增加的情况下,其占用的内存会上升,导致计算缓慢。而kdtree的划分依据有轮转法或者计算每个维度的协方差来进行比较,这种划分方式并不是等分的,因此kdtree的搜索效率已经在细粒度的数据下能够表现得很好。

注意:也有将八叉树和k-d树结合起来的应用,应用八叉树进行大粒度的划分和查找,而后使用k-d树进行细分,效率会有一定的提升,但其搜索效率变化也与数据量的变化有一个线性关系。也即可以将八叉树和kdtree结合起来使用,但是并不能对所有的场景起作用。

固态雷达和机械雷达:

1、机械雷达:

特点:激光发生器竖直排列并可以360°旋转,通过旋转对四周环境进行全面的扫描。

优点:可以通过物理旋转进行3D扫描,对周遭环境进行全面的覆盖形成点云。其次是分辨率高。

缺点:高频的转动和复杂的机械结构致使其平均的失效时间仅1000-3000小时。

2、纯固态激光雷达

编辑切换为居中

添加图片注释,不超过 140 字(可选)

3、混合固态激光雷达

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

(主要介绍了FOV 深度相机的模式也就是操作方式等内容)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/127303.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Elasticsearch搜索引擎

The Elastic Stack, 包括 Elasticsearch【搜索,分析】、 Kibana【可视化】、 Beats 和 Logstash【数据的搜集】(也称为 ELK Stack)。能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。 Elati…

安装压缩包版mysql

一、mysql-8.0.21-winx64.zip解压 二、在解压后的目录下添加data目录 三、配置环境变量 win7: ​ 我的电脑–>属性–>高级系统设置–>高级–>环境变量 ​ 在下面系统变量中 ​ 新建 ​ 变量名:MYSQL_HOME ​ 变量值:E:\MySQL\my…

常用的接口安全性保障手段

http接口有哪些安全问题 数据被抓包窃取数据被恶意篡改数据被爬取泄漏Token授权机制 用户使用用户名密码登录后服务器给客户端返回一个Token(通常是UUID),并将Token-UserId以键值对的形式存放在缓存服务器中。服务端接收到请求后进行Token验…

UG NX二次开发(C#)-曲线-NXOpen.Curve初探

系列文章目录 `` 例如:第一章 初探NXOpen.Curve类 文章目录 系列文章目录1.前言2.NXOpen.Curve2. NXOpen.Curve包含的子类3.曲线类型的获取4.将曲线对象转换为子类类型1.前言 介绍下NXOpen.Curve类、Curve类型的获取、一些创建曲线的封装方法(包括直线、样条曲线、圆锥曲线…

OSM数据内容解析

OSM数据内容解析 数据简介 OpenStreetMap(简称OSM,中文是公开地图),这是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图。是一款由网络大众共同打造的免费开源、可编辑的地图服务。 OSM采…

成功实施APS生产排程系统,必须具备哪些条件?

在许多生产管理者眼中,生产作业计划是不重要的,如果我们只停留在小加工作坊的规模,大脑就能把一个月的订单、物料、资源记得清清楚楚,那么生产计划排程的必要性确实不太大,但事实上,随着生产规模的扩大&…

JDK1.8中HashMap的resize()方法详解

JDK1.8中HashMap的resize()方法详解 文章目录JDK1.8中HashMap的resize()方法详解[toc]一、概述二、源码解析三、元素迁移四、小结在学习本文之前,默认大家已经有了HashMap源码的前置知识。 「集合底层」深入浅出HashMap底层源码 一、概述 resize()方法的代码比较长…

OpenHarmony#深入浅出学习eTs#(四)登陆界面UI

本项目Gitee仓地址:深入浅出eTs学习: 带大家深入浅出学习eTs (gitee.com) 一、明确目标 经过前面两章的学习,大家对Super Visual应该有了一个较为简单的认识,这一章就把前面的知识点串一下,使用Ark UI(Super Visual)赖模仿一个Q…

浅谈权限系统在多利熊业务应用

作者 | 百度智能小程序团队 导读 本文首先引入多利熊业务介绍,引出多利熊业务建设权限系统的痛点,接着分别从权限系统模型、权限系统设计以及多利熊业务业务应用方面详细探讨了具体的方案和设计,最后对权限系统设计思考,对数据维度…

linux连接器脚本前奏-基于x86(一)

从今天开始进入正文,和讲解liteos一样,我们先从连接器脚本开讲。我们知道连接器脚本描述了编译输出程序的布局,那么linux内核编译输出的布局是怎么样的呢?听我慢慢道来,关于连接器脚本的大概使用用途,可以参见 liteos链接器脚本一 liteos链接器脚本二 这里先说明一下对于…

Python进行异步请求,实现多开任务

前言 本文是该专栏的第5篇,后面会持续分享python的各种干货知识,值得关注。 在工作中,你可能或多或少会接到这样一个任务需求。 给你一个任务队列,需要你进行多任务去实现处理,尤其在爬虫项目或者是使用selenium,pyppeteer等任务中比较常见,至于多线程和多进程那些,笔…

OpenCL 是什么

OpenCL 创建Program对象|极客笔记 文章目录 OpenCL标准什么是OpenCL OpenCL全称为Open Computing Language(开放计算语言),先由Apple设计,后来交由Khronos Group维护,是异构平台并行编程的开放的标准,也是…

antd 时间类组件的国际化 locale 设置不生效 解决方案汇总

antd 时间类组件的国际化 locale 设置不生效,踩坑之路和解决办法 问题 如图所示,antd 时间类组件中英文混合显示: 初始配置代码如下: import ./index.css; import ./global.less;import { ConfigProvider } from antd; import…

excel表格制作如何设置?新手必备教程!

Excel是一种专门用于制作表格、输入数据和统计分析的办公软件,日常办公中它带给我们极大的便利。下面我们一起来看看excel表格制作如何操作?为了方便理解,下面分为详细的六个步骤。你可以根据下面的操作顺序来操作(里面有些顺序是…

Windows版本Tomcat升级openssl版本

本次教程适用于windows版本安装Tomcat调整openssl版本。 下载Tomcat Native Tomcat native提供让Tomcat以APR模式运行,APR的全称是Apache Portable Runtime,它是一个高度可移植的库,它是Apache HTTP Server 2.x的核心。APR有许多用途&#…

element ui Form 自定义校验规则,验证手机号

网站快速成型工具 Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库 指南 了解设计指南,帮助产品设计人员搭建逻辑清晰、结构合理且高效易用的产品。 查看详情 组件 使用组件 Demo 快速体验交互细节;使用前端框架…

@开发者:个推小程序消息推送解决方案来了

随着小程序技术和应用场景的不断完善,越来越多的开发者搭建了小程序平台,为用户带来更“轻量”的服务。在小程序用户迅猛增长的同时,开发者对于小程序用户精细化触达的需求也愈加强烈。近日,个推消息推送上线了小程序推送功能&…

Python量化交易05——基于多因子选择和选股策略(随机森林,LGBM)

参考书目:深入浅出Python量化交易实战 在机器学习里面的X叫做特征变量,在统计学里面叫做协变量也叫自变量,在量化投资里面则叫做因子,所谓多因子就是有很多的特征变量。 本次带来的就是多因子模型,并且使用的是机器学习的强大的非…

Linux系统下的组管理和权限管理

Linux系统下的组管理和权限管理 组管理 在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。 对于一个文件而言,有以下几种说法:1)所有者;2)所在组;3)其它组&#…

TypeScript中的类 Class

公共属性的修饰符: public:公共,默认修饰符,外部和内部都能使用private:私有的,只能内部类用,外部不能读写protected:当前类和派生类(子类)可访问readonly:外部只能读不能写static&…