(02)Cartographer源码无死角解析-(48) 2D点云扫描匹配→暴力搜索匹配原理讲解,扫面匹配总体框架梳理

news2024/11/26 21:41:24

讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解(02)Cartographer源码无死角解析-链接如下:
(02)Cartographer源码无死角解析- (00)目录_最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/127350885
 
文末正下方中心提供了本人 联系方式, 点击本人照片即可显示 W X → 官方认证 {\color{blue}{文末正下方中心}提供了本人 \color{red} 联系方式,\color{blue}点击本人照片即可显示WX→官方认证} 文末正下方中心提供了本人联系方式,点击本人照片即可显示WX官方认证
 

一、前言(Scan match原理)

通过前面你的一系列博客,已经知道 Cartographer 中的概率栅格图是如何建立的了。不过需要注意的一点是该地图并不仅仅是保存下来给来看的,其还会被点云扫描匹配使用到,点云扫描匹配目的是估算位姿(该部分内容后面会详细讲解)。在 slam 中分为 Scan match 与 Point cloud match,通常情况下前者指的就是2D扫描匹配,后者指的是3D点云匹配。为了方便后续代码的理解,这里简单介绍一下扫描匹配的原理,先来看下图(理想位姿):
在这里插入图片描述

图一:理想位姿

1、方格 → 所有的栅格组成。
2、黑色方格 → 障碍物,光子会被阻碍,形成点云数据。
3、白色方格 → 空闲区域,表示没有障碍物,光子可以直接穿过。
4、紫色多边形 → 代表机器人,当然也可以理解为雷达传感器原点,或者点云数据的原点。
5、黄色圆形 → 点云数据。

从上图来看,可见所有的点云数据都与障碍物重叠了,说明此时估算出来的位姿十分正确,这里称为理想位置。但是系统在运行的过程中并非是这样的。这里假设我们由传感器数据(Imu、GPS、里程计) 等估算出来的位姿如下所示:
在这里插入图片描述

图二:初始位姿
容易看出上图估算出来的位姿是存在偏差的,假设传感器估算出来的初始位姿,是不太准确的,那么问题就来了,如何根据初始位姿求解出理想位姿呢?首先,通常来说理想位姿需要在初始位姿的一定范围之内(也就是说,传感器的误差不能太大了),基于这个前提,再来分析上图。

根据图示可以看出初始位姿与理想位姿在位置与姿态上都存在差异,也就是说由初始位姿变换到理想位姿,其平移与旋转可能都需要发生改变。基于这个原理,最简单的一种扫描方式就是暴力匹配,也就是在位移与角度上维度上进行遍历,流程如下:

1、设定初始位姿
2、位移扫描匹配遍历
3、角度扫描匹配遍历。
4、评分规则

初始位姿可以直接由传感器估算出来,先来看下图,
在这里插入图片描述

图三:位姿遍历

绿色区域 1-6 表示需要遍历的区域,也就是理想位姿的平移处于该区域内,也就是位移扫描匹配需要遍历绿色区域1-6。蓝色的箭头表示角度遍历的方向。该箭头的起点就是角度开始遍历的起点,终点就是角度遍历的终点。

如上图所示,从1号区域

 
 
 

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

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

相关文章

2022消费市场并未降级?麦肯锡调研报告解读

近日全球知名咨询公司麦肯锡发布《2023中国消费者报告》,重磅发布重塑中国消费市场的五大趋势。 趋势一:中等收入人群继续壮大 MGI数据显示,2019~2021年,年收入超过16万元人民币(2.18万美元)的中国城镇家…

nacos配置动态刷新及监听到变化触发一些方法

介绍在使用spring 时,动态更新配置是常见的,属性值更新,但是需要开启支持刷新功能,一个是spring.cloud.nacos.config.isRefreshEnabledtrue; 这个值一般是默认的,可以在nacosConfigProperties这个类中看到。还要在扩展…

【C++】list介绍及使用模拟实现对比vector

文章目录1. list的介绍及使用1.1 list的介绍1.2 list的使用1.2.1 list的构造1.2.2 list iterator以及insert和erase的使用1.2.3 list的迭代器失效2. list的模拟实现2.1 模拟实现list3.(本文精华)list与vector的对比1. list的介绍及使用 1.1 list的介绍 …

图像识别AI程序(数据集管理/训练/预测)

出于对Python中AI智能识别程序的兴趣,对照AI智能识别程序应该具有的主要功能:数据集管理(加载/移除/重命名)、模型训练(可实时监测训练进度、最终训练参数输出)、模型预测,使用Python/Keras编制…

open-local本地存储使用

Open-local使用指南架构组成1. scheduler-extender: 作为 kube-scheduler 的扩展组件,通过 Extender 方式实现,扩展了原生调度器对本地存储资源的感知,以实现对包括磁盘容量、多盘感知、磁盘介质(ssd or hdd&#xff0…

数据分析-深度学习Day5

Backpropagation反向传播我们上节课学习了深度学习,也知道采用梯度下降优化我们的各神经元参数,以语音识别为例,一个输入特征量1000多项,8层隐层,大致需要的w,b参数有数百万项,这样我们梯度下降的计算量是非…

记一次部署在docker环境项目发送邮件出现No appropriate protocol

前言 部门有个项目涉及到邮件发送,发送功能在本地测试可以成功发送,但是打包部署到docker环境中,却出现 No appropriate protocol (protocol is disabled or cipher suites are inappropriate)后面在网上搜索了一下,查到了这篇文…

技术分享 | 测试平台开发-前端开发之Vue.js 框架的使用

首先将 Vue.js 下载到本地,本章就以本地的 Vue.js 为例。在本地创建一个工作区即创建一个文件夹,使用 vscode 打开,将 Vue.js 放到工作区目录下。 创建挂载元素 首先创建一个 index.html 的文件,使用 加载 vue.js,这…

NAT模式虚拟机能ping通宿主机但是telnet不通 教你如何设置网关走出误区

今天跟大家聊聊如何正确配置NAT模式下虚拟机的网关。 如标题所言,我一开始在设置网关的时候一直存在着误区,而这个误区也导致标题中的问题:虚拟机能ping通宿主机,但是telnet不通,这就很奇葩了。 如下网络拓扑图。 虚…

Linux ALSA 之五:ALSA Proc Info

ALSA Proc Info一、概述二、Proc Files of Alsa Driver1、/proc/asound/xxx 简述2、创建 /proc/asound 目录树2.1 /proc/asound/version 文件2.2 /proc/asound/devices 文件2.3 /proc/asound/cards 文件2.4 /proc/asound/cardx 目录2.5 /proc/asound/pcm 文件一、概述 Linux系…

企业不可忽视的舆情监测管理办法,TOOM舆情监控工作总结?

企业做好舆情监控以及舆情管理是对企业负责,在企业发展过程中不可能是一帆风顺的,少不了各种各样的流言蜚语,像舆情监控管理监测早知早解决。接下来我们简单了解企业不可忽视的舆情监测管理办法,TOOM舆情监控工作总结? 一、企业…

【NI Multisim 14.0原理图设计基础——调整元器件位置】

目录 序言 一、调整元器件位置 🍊1.元器件的移动 🍊2.元器件的旋转 🍊3.元器件的对齐 序言 NI Multisim最突出的特点之一就是用户界面友好。它可以使电路设计者方便、快捷地使用虚拟元器件和仪器、仪表进行电路设计和仿真。 首先启动NI…

【自学Python】Python print()函数

Python print()函数 Python print()函数教程 在 Python 中,print() 函数用于打印相应的信息到终端控制台,同时 print() 函数可以支持同时输出一个或多个 变量。 Python print()函数详解 语法 print(*objects, sep , end\n, filesys.stdout, flushFa…

线性代数 --- 投影Projection 六(向量在子空间上的投影)

向量b在多维子空间上的投影回顾:向量在向量上(直线上)的投影在研究向量在子空间上的投影前,先回顾一下前面学习的一个任意向量b在另一个向量a上的投影,共三个部分。1,求权重系数(A constant&…

2022 general purpose in-context learning by meta-learning transformers

wps: option left 回到上一个视图 Kirsch L, Harrison J, Sohl-Dickstein J, et al. General-purpose in-context learning by meta-learning transformers[J]. arXiv preprint arXiv:2212.04458, 2022. 目录Kirsch L, Harrison J, Sohl-Dickstein J, et al. General-purpose…

【高校节能】高校电力能源智能管理系统设计目标与原则

摘 要:高校构建电力能源智能管理系统,可以实现对高校电力能源消耗的实时监测、分析预警和辅助决策。系统通过能效管理技术监测各个设备的用电情况,并通过数据的取得、整合、汇总来实现能源的绩效管理。系统从全局出发,整体调控电…

CCF BDCI | 算能赛题决赛选手说明论文-03

基于TPU平台实现人群密度估计∗ ChaMd5-AI 唐晶机械工程&博士二年级 华中科技大学 中国-武汉 j_tanghust.edu.cn 团队简介 唐晶,2001年生,本科毕业于华中科技大学机械卓越工程师班,现为华中科技大学机械科学与工程学院陶波教授课题组博…

视频实时自然美颜, 无惧素颜上镜

华为HMS Core 视频编辑服务依托自身AI技术的核心优势,在最新版本HMS Core 6.8.0中上线了全新的视频美颜功能,能对指定图片或视频中的人脸实现磨皮、美白、大眼、瘦脸的美颜效果,适用于直播、相机、视频剪辑、图片处理等场景中,打造…

cubeIDE开发, stm32的GPIO原理、cubeMX配置及底层源码实现分析

一、GPIO介绍 1.1 GPIO 简述 GPIO(General purpose input/output,通用型输入输出),一个引脚可以用于输入、输出或其他特殊功能,PIN脚依现实需要可作为通用输入(GPI)或通用输出(GPO)或通用输入与…

鑫磊股份开启申购:资产负债率较高,实控人控制企业借款高企

1月10日,鑫磊压缩机股份有限公司(下称“鑫磊股份”,SZ:301317)开启申购,发行价格20.67元/股,市盈率58.65倍。据贝多财经了解,鑫磊股份将在深圳证券交易所创业板上市。 本次上市,鑫磊…