IMU预积分的过程详解

一、IMU和相机数据融合保证位姿的有效性:

  • 当运动过快时,相机会出现运动模糊,或者两帧之间重叠区域太少以至于无法进行特征匹配,所以纯视觉SLAM对快速的运动很敏感。而有了IMU,即使在相机数据无效的那段时间内,也能保持一个较好的位姿估计,这是纯视觉
    SLAM 无法做到的。

  • 当图像发生变化时,本质上我们没法知道是相机自身发生了运动,还是外界条件发生了变化,所以纯视觉SLAM难以处理动态的障碍物。而IMU能获取自己的运动信息,从某种程度上减轻动态物体的影响

  • IMU虽然可以测得角速度和加速度,但这些量都存在明显的漂移,使得积分两次得到的位姿数据非常不可靠。相比于IMU,相机数据基本不会有漂移,所以相机数据可以有效地估计并修正IMU读数中的漂移使得在慢速运动后的位姿估计依然有效。

二、IMU和Camera数据融合获取位姿的主要流程

1、利用相机和IMU分别进行图像采集和惯性数据采集,且IMU的采集频率大于相机的采集频率

2、提取相机获取的每一顿图像的特征点,然后提取特征点的描述子,匹配特征点计算相机位姿

3、对IMU得到的多组IMU数据进行预积分,计算出两图像对应的IMU的位姿和速度

4、IMU初始化,这一步的目的是获取IMU参数较好的初始值: 速度、重力以及Bias。

在这里插入图片描述

三、构建视觉残差惯性残差的统一损失函数进行联合优化

  • 视觉里程计VO通过最小化相关键帧的重投影误差,计算得到相机的位姿和地标的位置
  • IMU对相邻两帧的位姿之间添加约束,而且对每一帧添加了状态量:陀螺仪和加速度的偏差

四、IMU预积分过程

1、IMU测量模型

在这里插入图片描述

角速度是陀螺仪得到的, B是刚体,IMU与相机的物体坐标系,W是世界坐标系,与角速度和陀螺仪的偏置有关系,与陀螺仪存在的噪声有关,

加速度是由R旋转乘加速度减重力加速度的差,加速度计的偏置,噪声

2、IMU运动学模型

在这里插入图片描述
某一时刻的旋转乘角速度, 速度与加速度是有关系的,位姿也可以通过速度求解出来的

3、基于运动学模型,可得t和t+Δt时刻状态关系

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

分类预测 | MATLAB实现SSA-CNN-BiGRU-Attention数据分类预测(SE注意力机制)

分类预测 | MATLAB实现SSA-CNN-BiGRU-Attention数据分类预测(SE注意力机制) 目录 分类预测 | MATLAB实现SSA-CNN-BiGRU-Attention数据分类预测(SE注意力机制)分类效果基本描述模型描述程序设计参考资料 分类效果 基本描述 1.MATLA…

Android Studio错误修复Connect to repo.maven.apache.org:443

环境 名称版本操作系统Windows10(64位)AndroidStudio2022.3.1 Patch 2 前言 最近更新了AndroidStudio编写程序的时候发现gradle时老是报read time out错误提示 分析 当出现这个警告时,你应该猜到这是一个连接不上的问题(Connect to repo.maven.apache.org:443)&…

kafka3.X基本概念和使用

参考: 【kafka专栏】不用zookeeper怎么安装kafka集群-最新kafka3.0版本 一、kafka集群实例角色规划 在本专栏的之前的一篇文章《kafka3种zk的替代方案》已经为大家介绍过在kafka3.0种已经可以将zookeeper去掉。 上图中黑色代表broker(消息代理服务)&…

ubuntu 中使用Qt连接MMSQl,报错libqsqlodbc.so: undefined symbol: SQLAllocHandle

Qt4.8.7的源码编译出来的libqsqlodbc.so,在使用时报错libqsqlodbc.so: undefined symbol: SQLAllocHandle,需要在编译libqsqlodbc.so 的项目pro文件加上LIBS -L/usr/local/lib -lodbc。 这里的路径根据自己的实际情况填写。 编辑: 使用uni…

CAP定理下:Zookeeper、Eureka、Nacos简单分析

CAP定理下:Zookeeper、Eureka、Nacos简单分析 CAP定理 C: 一致性(Consistency):写操作之后的读操作也需要读到之前的 A: 可用性(Availability):收到用户请求,服务器就必须给出响应 P…

SQL sever中函数(2)

目录 一、函数分类及应用 1.1标量函数(Scalar Functions): 1.1.1格式 1.1.2示例 1.1.3作用 1.2表值函数(Table-Valued Functions): 1.2.1内联表值函数(Inline Table-Valued Functions&am…

Spark_SQL函数定义(定义UDF函数、使用窗口函数)

一、UDF函数定义 (1)函数定义 (2)Spark支持定义函数 (3)定义UDF函数 (4)定义返回Array类型的UDF (5)定义返回字典类型的UDF 二、窗口函数 (1&…

基于数字电路交通灯信号灯控制系统设计-单片机设计

**单片机设计介绍,1617基于数字电路交通灯信号灯控制系统设计(仿真电路,论文报告 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序文档 六、 文章目录 一 概要 交通灯控制系统在城市交通控制中发挥着重要的作用&#xf…

Unsatisfied dependency expressed through bean property ‘sqlSessionTemplate‘;

代码没有问题,但是启动运行报错 2023-10-25 16:59:38.165 INFO 228964 --- [ main] c.h.h.HailiaowenanApplication : Starting HailiaowenanApplication on ganluhua with PID 228964 (D:\ganluhua\code\java\hailiao-java\target\classes …

【CSS】伪类和伪元素

伪类 :hover:悬停active:激活focus:获取焦点:link:未访问(链接):checked:勾选(表单)first-child:第一个子元素nth-child():指定索引的子元素&…

电脑软件:推荐一款非常强大的pdf阅读编辑软件

目录 一、软件简介 二、功能介绍 1、界面美观,打开速度快 2、可直接编辑pdf 3、非常强大好用的注释功能 4、很好用的页面组织和提取功能 5、PDF转word效果非常棒 6、强大的OCR功能 三、软件特色 四、软件下载 pdf是日常办公非常常见的文档格式,…

MOS管特性及其几种常用驱动电路详解,电子工程师手把手教你

在电子工程中,MOS管(金属氧化物半导体场效应管)是一种非常重要的半导体元件。 在这篇文章中,我们将深入探讨MOS管的特性,以及几种常用的驱动电路的工作原理和设计方法。无论你是初学者还是经验丰富的电子工程师&#…

Unity - 导出的FBX模型,无法将 vector4 保存在 uv 中(使用 Unity Mesh 保存即可)

文章目录 目的问题解决方案验证保存为 Unity Mesh 结果 - OK保存为 *.obj 文件结果 - not OK,但是可以 DIY importer注意References 目的 备忘,便于日后自己索引 问题 为了学习了解大厂项目的效果: 上周为了将 王者荣耀的 杨玉环 的某个皮肤…

音频类型识别方案-audioset_tagging

audioset_tagging github上开源的音频识别模型,可以识别音频文件的类型并打分给出标签占比,如图 echo off set CHECKPOINT_PATH"module/Cnn14_mAP0.431.pth" set MODEL_TYPE"Cnn14" set CUDA_VISIBLE_DEVICES0 python pytorch\in…

ROS笔记之visualization_msgs-Marker学习

ROS笔记之visualization_msgs-Marker学习 code review! 文章目录 ROS笔记之visualization_msgs-Marker学习一.line_strip例程二.line_list例程一二.line_list例程二二.TEXT_VIEW_FACING例程三.附CMakeLists.txt和package.xml五.关于odom、base_link和map坐标系六.关于visualiz…

idea免费插件分享

分享一些在开发中常用到的idea插件,都是一些我自己常用的,希望对各位程序员有帮助吧。 1、Chinese Language 汉化插件:中文语言包将为您的 IntelliJ IDEA, AppCode, CLion, DataGrip, GoLand, PyCharm, PhpStorm, RubyMine, WebStorm, 和Rid…

【python笔记】小甲鱼

P3 查看内置函数 dir(__builtins__) P4 变量名命名规则: 1、变量名不能以数字打头; 2、变量名可以是中文 字符串可以是: 1、单引号:文本中存在双引号时使用单引号 2、双引号:文本中存在单引号时使用双引号 当…

Postman的高级使用,傻瓜式学习【上】

目录 前言 1、小白使用Postman是不是这样的? 2、管理测试用例 2.1、创建用例集collections 3、用例集的导出导入 4、再次认识Postman ​编辑 5、Authrization授权 6、Pre-request Script 前置脚本 7、Tests 断言 Postman中常用的断言: 1&…

Python+playwright 实现Web UI自动化

实现Web UI自动化 技术:Pythonplaywright 目标:自动打开百度浏览器,并搜索“亚运会 金牌榜” 需安装:Playwright (不用安装浏览器驱动) # 使用浏览器,并可视化打开 browser playwright.ch…

计算机网络_03_tcp/ip四层模型

文章目录 1.为什么会有tcp/ip?2.tcp/ip是什么?3.为什么会有tcp/ip四层模型?4.tcp/ip四层模型介绍 1.为什么会有tcp/ip? 早期的计算机(计算机网络没有出现之前)几乎都是各自为战, 各种操作系统厂家百花齐放, 市面上的大部分计算机使用的都是不同的操作系统, 为每个人提供定…