本文提出了一种紧耦合的多传感器(雷达-惯导-相机)融合算法,将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的更多相关文章

  1. 论文阅读笔记(二十一)【CVPR2017】:Deep Spatial-Temporal Fusion Network for Video-Based Person Re-Identification

    Introduction (1)Motivation: 当前CNN无法提取图像序列的关系特征:RNN较为忽视视频序列前期的帧信息,也缺乏对于步态等具体信息的提取:Siamese损失和Triplet损失 ...

  2. [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion

    [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 (1 ...

  3. 论文阅读LR LIO-SAM

    Abstract 紧耦合lidar inertial里程计, 用smoothing和mapping. 1. Introduction 紧耦合lidar-inertial里程计. 紧耦合的lidar i ...

  4. 论文阅读(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 ...

  5. BITED数学建模七日谈之三:怎样进行论文阅读

    前两天,我和大家谈了如何阅读教材和备战数模比赛应该积累的内容,本文进入到数学建模七日谈第三天:怎样进行论文阅读. 大家也许看过大量的数学模型的书籍,学过很多相关的课程,但是若没有真刀真枪地看过论文,进 ...

  6. 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework

    作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...

  7. 论文阅读笔记 - Mesos: A Platform for Fine-Grained ResourceSharing in the Data Center

    作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...

  8. Deep Reinforcement Learning for Dialogue Generation 论文阅读

    本文来自李纪为博士的论文 Deep Reinforcement Learning for Dialogue Generation. 1,概述 当前在闲聊机器人中的主要技术框架都是seq2seq模型.但 ...

  9. 论文阅读(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 ...

  10. 论文阅读笔记 Word Embeddings A Survey

    论文阅读笔记 Word Embeddings A Survey 收获 Word Embedding 的定义 dense, distributed, fixed-length word vectors, ...

随机推荐

  1. TOF摄像机可以替代Flash激光雷达吗?

    TOF摄像机可以替代Flash激光雷达吗? 一.基于ToF技术的Flash激光雷达 基本成像原理上ToF Camera与LiDAR相同,都采用飞行时间测距技术(包括利用APD或SPAD的直接测距法,和 ...

  2. Java SSM框架理论知识

    一.Spring理论知识 1.Spring 在ssm中起什么作用? Spring:轻量级框架 作用:Bean工厂,用来管理Bean的生命周期和框架集成. 两大核心:1.IOC/DI(控制反转/依赖注入 ...

  3. spring boot 并发请求,其他系统接口,丢失request的header信息【多线程、线程池、@Async 】

    场景:一次迭代在灰度环境发版时,测试反馈说我开发的那个功能,查询接口有部分字段数据是空的,后续排查日志,发现日志如下: feign.RetryableException: cannot retry d ...

  4. 从菜鸟到大神:Java高并发核心编程(连载视频)

    任何事情是有套路的,学习是如此, Java的学习,更是如此. 本文,为大家揭示 Java学习的套路 背景 Java高并发.分布式的中间件非常多,网上也有很多组件的源码视频.原理视频,汗牛塞屋了. 作为 ...

  5. csps考前的一些总结(然而可能并没有用)

    记录考前的一些复习和总结,如果没有特殊情况不再写新的题解了 图论: 一.最短路: 1.spfa算法中的vis数组记录的是有没有入队,防止多次入队,通过松弛操作来达到最优解 2.dijkstra算法的v ...

  6. 【贪心】8.29题解-cut

    cut 题目描述 出于某些方面的需求,我们要把一块N×M的木板切成一个个1×1的小方块. 对于一块木板,我们只能从某条横线或者某条竖线(要在方格线上),而且这木板是不均匀的,从不同的线切割下去要花不同 ...

  7. leetcode5697. 检查二进制字符串字段

    5697. 检查二进制字符串字段给你一个二进制字符串 s ,该字符串 不含前导零 . 如果 s 最多包含 一个由连续的 '1' 组成的字段 ,返回 true​​​ .否则,返回 false . 示例 ...

  8. Java知识复习(三)

    Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象.还是都不用. 在比较时先调用hashCode方法, ...

  9. Etcd中linearizable read实现

    linearizable 有点疑惑,不确定是现在浏览的版本没开发完全,还是没有按照论文的linearizable来实现. 按照论文所说,在客户端请求的时候,实际上是一个强一致的 exactly onc ...

  10. ECS实例中的应用偶尔出现丢包现象并且内核日志(dmesg)存在“kernel: nf_conntrack: table full, dropping packet”的报错信息

    问题描述 连接ECS实例中的应用时偶尔出现丢包现象.经排查,ECS实例的外围网络正常,但内核日志(dmesg)中存在"kernel: nf_conntrack: table full, dr ...