多传感器融合 SLAM LVI-SAM

目录

LVI-SAM 简介

A. 系统概述

B. 视觉惯导系统

C.雷达惯导系统

LVI-SAM 安装编译

编译 LVI-SAM

常见问题

LVI-SAM 工程化建议


LVI-SAM 简介

源码地址:https://github.com/TixiaoShan/LVI-SAM
如无法下载,换用 gitee 版本:https://gitee.com/inf_lee/LVI-SAM
改进版源码地址:https://github.com/Cc19245/LVI- SAM - Easyused
(对于实际的项目部署推荐使用改进版的代码,对于初学者推荐使用原版代码)
gitee 版本:https://gitee.com/cuge1995/LVI-SAM-modified
论文地址:https://github.com/TixiaoShan/LVI-SAM/blob/master/doc/paper.pdf
论文摘要:本文提出了一个紧耦合的雷达视觉惯导 SLAM 系统,可以实时高精度鲁棒的进行
状态估计和建图。LVI-SAM 构建在因子图之上,并且由 两个子系统组成:一个视觉惯导系统
和一个激光惯导系统 。这两个子系统利用紧耦合的方法:视觉惯导的系统利用激光惯导的估
计来辅助 初始化 ,并利用激光雷达的测量给视觉特征 提供深度来提升精度 。同时激光惯导系
统利用 视觉惯导的估计值作为初值来做帧的匹配, 利用视觉做 闭环检测 ,把检测的结果给激
光惯导系统来做优化。当激光惯导和视觉惯导子系统的一个失败的时候 LVI-SAM 仍然可以
工作,这极大的提升了系统在缺少纹理或者特征场景中的鲁棒性。LVI-SAM 系统在数据集上
进行了测试,取得了很好的效果。

A. 系统概述

系统接受 3D 激光点云、单目图像和 IMU 信息作为输入。VIS 系统接受图像和 IMU 信息,雷
达点云是可选的输入。通过最小化 IMU 和视觉的测量残差来得到视觉里程计。激光里程计
通过最小化检测到的线面特征到特征图的距离得到。特征图保存在一个滑窗中来实时的执
行。最后状态估计问题,可以简化为一个 MAP(最大化后验概率)问题。利用 iSAM2 库来
优化因子图中 IMU 预积分,视觉里程计,激光里程计和闭环的约束的残差。需要注意的是,
LIS 中采用的多传感器图优化旨在减少数据交换并提高系统效率。

B. 视觉惯导系统

视觉惯导的 pipeline 如图所示
视觉特征利用角点检测器,利用 KLT 算法进行跟踪。我们利用视觉里程计对齐激光帧的点云
得到一个稀疏的深度图来得到特征的深度完成视觉惯导初始化。系统在滑窗中执行 BA,其
中状态 X 可以写成:
R 是 SO3 表示旋转矩阵,p 表示位置,v 表示速度,b=[b_a, b_w]是 imu 的偏置。变换矩阵
T 是 SE3 表示从机体坐标系到世界坐标系的变换 。下边将介绍 VIS 的初始化和特征深度估
计。读者们可以读 VINS-Mono 的原文来了解细节。
1)初始化:基于优化的 VIO 系统 由于很强的非线性导致初始化发散 。初始化的质量取决于
两个主要因素:初始化的传感器运动和 IMU 参数的精度。在实际实验中,我们发现 VINS 很
容易在系统速度很小或者匀速的时候初始化失败。这是由于加速度激励不够大导致尺度不可
观。IMU 的参数包含渐变的 bias 和高斯白噪声。
为了改善 VIS 初始化的鲁棒性,本文 利用 LIS 系统来估计系统的状态 X 和 IMU 的偏置 b

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

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

相关文章

Linux shell脚本3-if语句、case语句、for语句、while语句、until语句、break语句、continue语句,格式说明及程序验证

目录 1.if 控制语句 1.1 if 语句格式 1.2 程序验证 2.case语句 2.1case语句格式 2.2程序验证 2.2.1 终端先执行程序,在输入一个数 2.2.2 终端执行程序时同时输入一个预设变量 2.2.3 case带有按位或运算和通配符匹配 3.for语句 3.1for语句格式 3.2程序验…

图解模糊推理过程(超详细步骤)

我们前面已经讨论了三角形、梯形、高斯型、S型、Z型、Π型6种隶属函数,下一步进入模糊推理阶段。 有关六种隶属函数的特点在“Pi型隶属函数(Π-shaped Membership Function)的详细介绍及python示例”都有详细讲解:https://lzm07.b…

001-JMeter的安装与配置

1.前期准备 下载好JMeter : https://jmeter.apache.org/download_jmeter.cgi 下载好JDK : :Java Downloads | Oracle 中国 下载图中圈蓝的JMeter和JDK就行,让它边下载,我们边往下看 2.为什么要下载并安装JDK ? JMeter 是基于 Java 开发的工具&#…

英伟达有哪些支持AI绘画的 工程

英伟达在AI绘画领域布局广泛,其自研工具与第三方合作项目共同构建了完整的技术生态。以下是其核心支持AI绘画的工程及合作项目的详细介绍: 一、英伟达自研AI绘画工具 1. GauGAN系列 技术特点:基于生成对抗网络(GAN)&…

Netty源码—4.客户端接入流程二

大纲 1.关于Netty客户端连接接入问题整理 2.Reactor线程模型和服务端启动流程 3.Netty新连接接入的整体处理逻辑 4.新连接接入之检测新连接 5.新连接接入之创建NioSocketChannel 6.新连接接入之绑定NioEventLoop线程 7.新连接接入之注册Selector和注册读事件 8.注册Rea…

2025.3.17-2025.3.23学习周报

目录 摘要Abstract1 文献阅读1.1 动态图邻接矩阵1.2 总体框架1.2.1 GCAM1.2.2 输出块 1.3 实验分析 总结 摘要 在本周阅读的文献中,作者提出了一种名为TFM-GCAM的模型。TFM-GCAM模型的创新主要分为两部分,一部分是交通流量矩阵的设计,TFM-GC…

生活电子类常识——搭建openMauns工作流+搭建易犯错解析

前言 小白一句话生成一个网站?小白一句话生成一个游戏?小白一句话生成一个ppt?小白一句话生成一个视频? 可以 原理 总体的执行流程是 1,用户下达指令 2,大模型根据用户指令,分解指令任务为多个细分步骤…

深入解析 Uniswap:自动做市商模型的数学推导与智能合约架构

目录 1. 自动做市商(AMM)模型的数学推导1.1 恒定乘积公式推导1.2 价格影响与滑点 2. Uniswap 智能合约架构解析2.1 核心合约(Core)2.1.1 工厂合约(Factory)2.1.2 交易对合约(Pair) 2…

高频面试题(含笔试高频算法整理)基本总结回顾20

干货分享,感谢您的阅读! (暂存篇---后续会删除,完整版和持续更新见高频面试题基本总结回顾(含笔试高频算法整理)) 备注:引用请标注出处,同时存在的问题请在相关博客留言…

生成模型速通(Diffusion,VAE,GAN)

基本概念 参考视频https://www.bilibili.com/video/BV1re4y1m7gb/?spm_id_from333.337.search-card.all.click&vd_sourcef04f16dd6fd058b8328c67a3e064abd5 生成模型其实是主要是依赖概率分布,对输入特征的概率密度函数建模 隐空间(latent space)…

Android在kts中简单使用AIDL

Android在kts中简单使用AIDL AIDL相信做Android都有所了解,跨进程通信会经常使用,这里就不展开讲解原理跨进程通信的方式了,最近项目换成kts的方式,于是把aidl也换成了统一的方式,其中遇到了很多问题,这里…

学习本地部署DeepSeek的过程(基于ollama)

DeepSeek除了支持在线调用服务接口外,还支持本地部署后调用本地服务,这样的好处是不需要api key,且资源独占,还能训练个人知识库。本文学习并记录本地部署DeepSeek的过程。   参考文献3中列出了不同模型对于电脑硬件的要求&…

文献分享: ColXTR——将ColBERTv2的优化引入ColXTR

1. ColXTR \textbf{1. ColXTR} 1. ColXTR原理 1.1. ColBERTv2 \textbf{1.1. ColBERTv2} 1.1. ColBERTv2概述 1.1.1. \textbf{1.1.1. } 1.1.1. 训练优化 1️⃣难负样本生成 初筛:基于 BM-25 \text{BM-25} BM-25找到可能的负样本重排:使用 KL \text{KL} KL…

Altium Designer数模电学习笔记

模电 电容 **退耦:**利用通交阻直,将看似直流的信号中的交流成分滤除 (一般用在给MPU供电,尽量小一些,10nf~100nf~1uf以下) **滤波:**也可以理解为给电容充电,让电容在电平为低时…

从指令集鸿沟到硬件抽象:AI 如何重塑手机与电脑编程语言差异——PanLang 原型全栈设计方案与实验性探索1

AI 如何跨越指令集鸿沟?手机与电脑编程语言差异溯源与统一路径——PanLang 原型全栈设计方案与实验性探索1 文章目录 AI 如何跨越指令集鸿沟?手机与电脑编程语言差异溯源与统一路径——PanLang 原型全栈设计方案与实验性探索1前言一、手机与电脑编程语言…

python 实现一个简单的window 任务管理器

import tkinter as tk from tkinter import ttk import psutil# 运行此代码前,请确保已经安装了 psutil 库,可以使用 pip install psutil 进行安装。 # 由于获取进程信息可能会受到权限限制,某些进程的信息可能无法获取,代码中已经…

C之(15)cppcheck使用介绍

C之(15)cppcheck使用介绍 Author: Once Day Date: 2025年3月23日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可查看专栏: Linux实践记录_Once_day的博客-CS…

Ant Design Vue Select 选择器 全选 功能

Vue.js的组件库Ant Design Vue Select 选择器没有全选功能&#xff0c;如下图所示&#xff1a; 在项目中&#xff0c;我们自己实现了全选和清空功能&#xff0c;如下所示&#xff1a; 代码如下所示&#xff1a; <!--* 参数配置 - 风力发电 - 曲线图 * 猴王软件学院 - 大强 …

CaiT (Class-Attention in Image Transformers):深度图像Transformer的创新之路

CaiT (Class-Attention in Image Transformers)&#xff1a;深度图像Transformer的创新之路 近年来&#xff0c;Transformers 模型在自然语言处理领域的成功逐渐扩展到了计算机视觉领域&#xff0c;尤其是图像分类任务中&#xff0c;Vision Transformer (ViT) 的提出打破了卷积…

Qt之MVC架构MVD

什么是MVC架构&#xff1a; MVC模式&#xff08;Model–view–controller&#xff09;是软件工程中的一种软件架构模式&#xff0c;把软件系统分为三个基本部分&#xff1a;模型&#xff08;Model&#xff09;、视图&#xff08;View&#xff09;和控制器&#xff08;Controll…