论文阅读:LIC-Fusion: LiDAR-Inertial-Camera Odometry
本文提出了一种紧耦合的多传感器(雷达-惯导-相机)融合算法,将IMU测量、稀疏视觉特征、提取的激光点融合。提出的算法在时间和空间上对三个异步传感器进行在线校准,补偿校准发生的变化。贡献在于将检测和追踪的激光surf/边特征和观测到的稀疏特征点以及IMU数据用MSCFK框架融合,仅仅采用单线程实现,实现了6自由度的位姿估计。雷达特征包括点和线面,在户外和室内环境都进行了实验,目前最好的VIOL里程计。
LIC-FUSION
A.状态向量
状态向量主要包括\(k\)时刻的IMU状态、IMU和相机之间的外参、IMU和激光雷达之间的外参、滑动窗口中过去\(m\)个相机帧对应的IMU状态、\(n\)个雷达帧对应的IMU状态。分别见公式(1)到(6)。当前时刻IMU状态包括全局坐标系到IMU的位姿四元数、IMU在全局坐标系中的速度、位置,重力和加速度的偏差。外参状态向量包括两个传感器之间的位姿变换。由于传感器延迟、时钟偏移或者数据传输延迟,作者估计了不同传感器与IMU之间的时间偏移(即以IMU为基准),假设存在一个时间偏移量,对其进行纠正,见公式(7)-(8)。参考文献[18]。状态估计值、偏差值、估计值的定义及更新见公式(10),注意旋转不能直接加法。
B.IMU传播
IMU运动学方程见公式(11)-(15)。
C.状态增强
当系统接收到新的一帧图像或者雷达数据,IMU将状态传递到当前时刻,同时也更新窗口中的IMU状态,为了标定不同传感器之间的时间偏移,将估计当前IMU时间,见公式(16),协方差矩阵见公式(17)。雅克比的推导见公式(18)(19)。
D.测量模型
1)雷达特征测量
雷达特征选取曲率比较低或者高的部分,分别对应着边和面。通过使用投影到最近的帧寻找最近的对应特征进行追踪,使用kd-tree快速查找,即将i+1帧的特征点投影到i帧上。而帧间位姿变换可以通过雷达i+1-IMU-Global-IMU-雷达i,具体推导见公式(21)-(23)。追踪完成后,在之前的两帧scan中找到两个边特征,这两个最近的特征应该在相邻的ring上,假设这两个边特征和当前帧的变特征对应物理世界中同一条边,则重投影的误差可以用当前帧的特征线到之前两个线的距离表示,见公式(24)。
对该距离进行线性化,加上高斯白噪声,需要求距离对状态向量的雅克比矩阵,为了实现扩展卡尔曼滤波更新,需要知道距离测量的协方差,由于该距离不是直接测量,因此需要用上文的相关帧上点的协方差进行传递,计算公式见公式(27)。使用基于马氏距离的概率方法将外点去除,见公式。
同理,对于投影的平面surf特征,在其他帧找到三个对应的surf特征,假设是在相同的物理平面上进行采样。测量残差为重投影的特征点和三个对应点形成平面的距离,协方差和马氏距离测试与边特征相似。
2)视觉特征测量
给定一个新的图像,提取FAST特征,使用KLT光流进行追踪,一旦视觉特征丢失或者追踪在滑动窗口之外,使用当前相机位姿进行三角化3D点。已知了3D视觉特征,残差可以用公式(28)和(29)表示,主要就是线性化。这里零空间和在线标定没看懂,二者有什么联系?
E.测量简练
在线性化雷达和视觉特征测量后,可以采用扩展卡尔曼滤波更新,而视觉和雷达的残差可以统一公式,由于测量量太多,采用Givens旋转对测量hessian矩阵进行QR分解后。线性的测量残差可以用标准EKF进行更新。
问题
MSCKF nullspace projection to remove this dependency 啥意思
滑动窗口为什么不维护相机位姿
论文阅读:LIC-Fusion: LiDAR-Inertial-Camera Odometry的更多相关文章
- 论文阅读笔记(二十一)【CVPR2017】:Deep Spatial-Temporal Fusion Network for Video-Based Person Re-Identification
Introduction (1)Motivation: 当前CNN无法提取图像序列的关系特征:RNN较为忽视视频序列前期的帧信息,也缺乏对于步态等具体信息的提取:Siamese损失和Triplet损失 ...
- [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion
[论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 (1 ...
- 论文阅读LR LIO-SAM
Abstract 紧耦合lidar inertial里程计, 用smoothing和mapping. 1. Introduction 紧耦合lidar-inertial里程计. 紧耦合的lidar i ...
- 论文阅读(Xiang Bai——【PAMI2017】An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition)
白翔的CRNN论文阅读 1. 论文题目 Xiang Bai--[PAMI2017]An End-to-End Trainable Neural Network for Image-based Seq ...
- BITED数学建模七日谈之三:怎样进行论文阅读
前两天,我和大家谈了如何阅读教材和备战数模比赛应该积累的内容,本文进入到数学建模七日谈第三天:怎样进行论文阅读. 大家也许看过大量的数学模型的书籍,学过很多相关的课程,但是若没有真刀真枪地看过论文,进 ...
- 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...
- 论文阅读笔记 - Mesos: A Platform for Fine-Grained ResourceSharing in the Data Center
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...
- Deep Reinforcement Learning for Dialogue Generation 论文阅读
本文来自李纪为博士的论文 Deep Reinforcement Learning for Dialogue Generation. 1,概述 当前在闲聊机器人中的主要技术框架都是seq2seq模型.但 ...
- 论文阅读(Lukas Neumann——【ICCV2017】Deep TextSpotter_An End-to-End Trainable Scene Text Localization and Recognition Framework)
Lukas Neumann——[ICCV2017]Deep TextSpotter_An End-to-End Trainable Scene Text Localization and Recogn ...
- 论文阅读笔记 Word Embeddings A Survey
论文阅读笔记 Word Embeddings A Survey 收获 Word Embedding 的定义 dense, distributed, fixed-length word vectors, ...
随机推荐
- ZooKeeper学习笔记四:使用ZooKeeper实现一个简单的分布式锁
作者:Grey 原文地址: ZooKeeper学习笔记四:使用ZooKeeper实现一个简单的分布式锁 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 当多个进 ...
- 深度学习调用TensorFlow、PyTorch等框架
深度学习调用TensorFlow.PyTorch等框架 一.开发目标目标 提供统一接口的库,它可以从C++和Python中的多个框架中运行深度学习模型.欧米诺使研究人员能够在自己选择的框架内轻松建立模 ...
- 保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事
保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事 10 things to consider when securing an embedded 802.11 Wi-Fi device 随着 ...
- 深入理解java虚拟机笔记补充-JVM常见参数设置
JVM 常见参数设置 内存设置 参数 -Xms:初始堆大小,JVM 启动的时候,给定堆空间大小. -Xmx:最大堆大小,如果初始堆空间不足的时候,最大可以扩展到多少. -Xmn:设置年轻代大小.整个堆 ...
- 『言善信』Fiddler工具 — 10、Fiddler自动响应器(AutoResponder)的应用
目录 1.图片重定向 2.URL重定向 3.本地调试js文件 4.模拟Mock接口测试 5.综合练习 6.总结 介绍几个Fiddler自动响应器(AutoResponder)应用场景: 场景一:生产环 ...
- Jenkins 进阶篇 - 数据备份
随着我们的长期使用,Jenkins 系统中的内容会越来越多,特别是一些配置相关的东西,不能有任何丢失.这个时候我们就需要定期备份我们的 Jenkins 系统,避免一些误操作不小心删除了某些重要文件,J ...
- SpringBoot(1)-新手入门(详细教程+理解)
前话:很多人刚学java没多久就开始学springboot,毕竟springboot屏蔽了很多框架的配置,导致搭建一个项目变得比以前简单很多.但建议还是先把基础的框架都熟悉一遍,再用springboo ...
- 【NX二次开发】Block UI 绘图区
属性说明 常规 类型 描述 BlockID String 控件ID Enable Logical 是否可操作 Group Logical ...
- 【NX二次开发】 获取体的面 UF_MODL_ask_body_faces
获取体的面 1 extern DllExport void ufsta(char *param, int *returnCode, int rlen) 2 { 3 UF_initialize(); 4 ...
- Windows7 如何添加excel,word到鼠标右键
1.添加word到鼠标右键新建 首先Windows键+R---->输入regedit并回车------>看到HKEY_CLASSES_ROOT展开------>找到.doc展开--- ...