《LIO-SAM阅读笔记》2.ImageProjectionfeatureExtraction

前言:

LIO-SAM中ImageProjection类和featureExtraction类的内容比较简单,这里就放在一起记录,这两部分属于点云的预处理前端,ImageProjection用来点云的运动去畸变和为每帧点云位姿进行粗略初始化,featureExtraction类用来提取特征点,包括角点和面点。

一:ImageProjection类

功能简介:

1、利用当前激光帧起止时刻间的imu数据计算旋转增量,IMU里程计数据(来自ImuPreintegration)计算平移增量,进而对该帧激光每一时刻的激光点进行运动畸变校正(利用相对于激光帧起始时刻的位姿增量,变换当前激光点到起始时刻激光点的坐标系下,实现校正);

2、同时用IMU数据的姿态角(RPY,roll、pitch、yaw)、IMU里程计数据的的位姿,对当前帧激光位姿进行粗略初始化

订阅:

1、订阅原始IMU数据;

2、订阅IMU里程计数据,来自ImuPreintegration,表示每一时刻对应的位姿; 

3、订阅原始激光点云数据。

发布:

1、发布当前帧激光运动畸变校正之后的有效点云,用于rviz展示;

2、发布当前帧激光运动畸变校正之后的点云信息,包括点云数据、初始位姿、姿态角、有效点云数据等,发布给FeatureExtraction进行特征提取。

二:featureExtraction类

功能简介:

对经过运动畸变校正之后的当前帧激光点云,计算每个点的曲率,进而提取角点、平面点(用曲率的大小进行判定)。

订阅:

1、订阅当前激光帧运动畸变校正后的点云信息,来自ImageProjection。

发布:

1、发布当前激光帧提取特征之后的点云信息,包括的历史数据有:运动畸变校正,点云数据,初始位姿,姿态角,有效点云数据,角点点云,平面点点云等,发布给MapOptimization;

2、发布当前激光帧提取的角点点云,用于rviz展示;

3、发布当前激光帧提取的平面点点云,用于rviz展示。

计算曲率:

        用当前激光点前后5个点计算当前点的曲率,平坦位置处曲率较小,角点处曲率较大;这个方法很简单但有效。

判断遮挡和平行:

1.两个点在同一扫描线上,且距离相差大于0.3,认为存在遮挡关系(也就是这两个点不在同一平面上,如果在同一平面上,距离相差不会太大)。远处的点会被遮挡,标记一下该点以及相邻的5个点,后面不再进行特征提取。

 2.用前后相邻点判断当前点所在平面是否与激光束方向平行。

点云角点、平面点特征提取

曲率大于一定的阈值则认为是角点,否则是平面点,同一条扫描线上角点和面点前后5个点标记一下,不再处理,避免特征聚集。

1、遍历扫描线,每根扫描线扫描一周的点云划分为6段,针对每段提取20个角点、不限数量的平面点,加入角点集合、平面点集合。

2、认为非角点的点都是平面点,加入平面点云集合,最后降采样。

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

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

相关文章

Camtasia2024中文最新免授权版下载

TechSmith Camtasia2024免费版是一款非常专业且功能强大的屏幕录制工具!使用集屏幕录像机、视频编辑器的功能于一身,能够轻松的录制和创建具有专业外观的视频。这套非常强大的专业录屏与视频创作大型软件套装包含捕获屏幕录制、视频剪辑和编辑、视频录音…

c++学习笔记-提高篇-STL标准模板库4(set容器、map容器)

set容器 一、set的基本概念 1.简介:所有元素都会在插入时自动被排序 2.本质:set/multiset属于关联式容器,底层结构是用二叉树实现 3.set和multiset区别 set不允许容器中有重复元素 multiset允许容器中有重复元素 二、set构造和赋值 1…

MySQL日期查询 今天、明天、本月、下月、星期、本周第一天、本周最后一天、本周七天日期

文章目录 今天日期明天日期本月第一天本月最后一天下个月第一天当前月已过几天当前月天数当前月所有日期获取星期本周第一天本周最后一天获取本周的七天日期 今天日期 select curdate()明天日期 select DATE_SUB(curdate(),INTERVAL -1 DAY) AS tomorrow本月第一天 select d…

嵌入式——RTC内置实时时钟

学习目标 理解原理图RTC设计部分掌握初始化RTC掌握设置时间掌握读取时间学习内容 RTC原理图 RTC结构框图 RTC时钟 开发流程 加载依赖。gd32f4xx_rtc.c,gd32f4xx_pmu.c初始化RTC。时钟配置。获取时钟。RTC初始化 // 电池管理加载 rcu_periph_clock_enable(RCU_PMU); pmu_back…

C#调用(python通过excel坐标生成的曲面地形图)案例

效果图: 文件图: 详解一:环境和python库问题 1.python 中只需要下载 matplotlib3.8.2和scipy1.11.4 2.我安装的python版本 详解二:解释器问题 python解释器这里有两种形式 第一种形式 1.调用 pycharm项目下的解释器,需要安装python必须的包(命令安装或者搜索安装)。 2.修改…

“一键批量翻译与重命名,轻松将西班牙文件名转换为中文名“

你是否遇到过需要将大量的西班牙文件名翻译成中文名,却无从下手的情况?现在,我们为你带来了一款强大的文件名批量翻译与重命名软件,让你能够轻松完成这项任务,提高工作效率。 首先,进入文件批量改名高手的主…

【数据库】postgressql设置数据库执行超时时间

在这篇文章中,我们将深入探讨PostgreSQL数据库中的一个关键设置:SET statement_timeout。这个设置对于管理数据库性能和优化查询执行时间非常重要。让我们一起来了解它的工作原理以及如何有效地使用它。 什么是statement_timeout? statemen…

第9章-用户分群方法-聚类评估指标

目录 简单例子 轮廓系数 均方根标准差 R-Square ARI 聚类是一种无监督分类算法,通常给定的样本没有类别或标签,聚类结果的好坏难以使用有监督模型的评估方法衡量。聚类评估指标思想在于类簇内的差异尽可能小,也就是紧密度高,而类簇间差异尽可能大,也就是分离…

MEMS麦克风具备哪些优势? MP34DT05TR-A 一款MEMS音频传感器全向数字麦克风

MP34DT05TR-A是一款超紧凑、低功耗、全向数字式 MEMS 麦克风,内置电容式感应元件和 IC 接口。 传感元件能够检测声波,采用专门用来生产音频传感器的硅微加工工艺制造。IC 接口采用 CMOS 工艺制造,允许专用电路设计以 PDM 格式从外部提供数字…

Java自动化测试系列[v1.0.0][常见页面操作处理附源码]

[控制滚动] package util; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement;public class ScrollBarUtil {/*** 控制滚动条向下拉到底* param driver 浏览器驱动*/public static void toBottom…

vue3为什么使用带有 .value 的 ref,而不是普通的变量

前言: 在Vue 3中,使用带有 .value 的 ref 是因为 Vue 3 引入了新的响应式 API,这个 API 被设计为更加明确和强大。在 Vue 2 中,我们使用 data 对象来定义组件的数据,而这些数据会被自动变成响应式的。然而,…

Matlab之State Flow

打开方式 方式一:在命令窗口输入State Flow或者简写sf就能打开,并且会自动打开State Flow 的Library。从左到右分别是图表、真值表、状态转换表、例子、顺序查看,可以加入到Simulink当中。 方式二:从Simulink Library里面添加Sta…

SpringBoot3 应用分析

SpringBoot3-快速入门 1、简介 1. 前置知识 Java17Spring、SpringMVC、MyBatisMaven、IDEA 2. 环境要求 环境&工具版本(or later)SpringBoot3.0.5IDEA2021.2.1Java17Maven3.5Tomcat10.0Servlet5.0GraalVM Community22.3Native Build Tools0.9.1…

【Java】三甲公立医院综合绩效核算系统源码

医院绩效考核系统,建立以医院发展目标为导向,以医务人员劳动价值、工作量为评价基础,统筹效率、质量、成本的绩效管理和绩效工资分配体系。系统支持RBRVS(以资源为基础的相对价值比率)和DRGs(疾病诊断相关分…

【C++高阶(九)】C++类型转换以及IO流

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习C   🔝🔝 C高阶 1. 前言2. C语言类型转换的方式3. C的强制…

linux下如何完成RPM打包?

以下是在Linux环境下完成RPM打包的详细步骤: 安装必要的工具: 使用以下命令安装rpm-build和rpmdevtools工具包: sudo yum install rpm-build rpmdevtools -y 设置用户环境: 创建一个用于打包的目录结构,这可以通过运行…

什么是微服务架构以及落地思路

文章目录 前言一、各种架构的演进二、微服务架构落地思路 总结 前言 调用几个webapi就是微服务架构?或则是ngnixwebapi 集群就是微服务架构?这个文章带你弄懂微服务架构。 一、各种架构的演进 单体架构:放在一个服务器进程完成全部的后端处理…

Linux6.4、IO基础(整体深入理解文件描述符)

个人主页:Lei宝啊 愿所有美好如期而遇 前言 本文章将从源码和内核剖析fd,细节和基础部分可以了解: 我们再来提起文件,文件可以分为两类: 磁盘文件 (未被打开)内存文件 (被进程在内存中打开) 同时我们也知道文件描…

logstash收集华为、H3C、Cisco交换机日志

网络设备配置 将 syslog-ip 替换成服务器的IP地址。 Huawei info-center loghost source interface info-center loghost syslog-ip local-time facility local6 H3C info-center loghost source interface info-center loghost syslog-ip facility local5 Aruba logging arm …

OAuth2授权码模式---详解

OAuth2简介 是一个业界标准的授权协议(authorization protocol),这里的授权是以委派代理(delegation)的方式。可以这样理解,OAuth 2.0提供一种协议交互框架,让某个应用能够以安全地方式获取到用…