GVINS论文阅读笔记

2023-05-16

Code Pseudorange Measurement

c o d e p s e u d o r a n g e m e a s u r e m e n t = c × t code pseudorange measurement = c \times t codepseudorangemeasurement=c×t
c o d e p s e r d o r a n g e m e a s u r e m e n t = d i s t s a t e l i t e r e c e i v e r + e r r o r s i g n a l g e n e r a t i o n + e r r o r p r o p a g a t i o n + e r r o r p r o c e s s i n g code pserdorange measurement = dist_{satelite}^{receiver} + error_{signalgeneration} + error_{propagation} + error_{processing} codepserdorangemeasurement=distsatelitereceiver+errorsignalgeneration+errorpropagation+errorprocessing

卫星误差源:卫星轨道和时钟误差。
卫星轨道误差–不精确的星历;
时钟误差–卫星上的原子钟和标准时间的误差;

信号传输误差:电离层和大气层影响速度,低仰角卫星会存在多路径影响。

接受机时钟不精确;

Doppler Measurement

接收机-卫星沿着传播路径的相对运动

SPP algorithm

Single Point Positioning algorithm
不同的卫星系统使用不同的时间参考,所以不同的卫星系统存在时钟偏差。为了消除内在的系统时钟偏差额外的观测是必需的。所以最少需要(N+3)颗卫星。

T r s T_r^s Trs使用Sastamoinen model模型计算;
I r s I_r^s Irs使用Klobuchar 模型和星历参数计算;
通过不利用低仰角的卫星可以忽略多路径噪声 M r s M_r^s Mrs影响;

SPP算法精度受卫星分布影响,均匀分布的卫星解算精度更高。

系统综述

gnss 数据处理逻辑:

  1. 过滤掉低仰角和很有可能带有错误的卫星。为了过滤掉不稳定的卫星信号,只有那些被锁定的并且有回响的卫星才会被加入到系统中。
  2. 系统需要先进行初始化。

初始化处理逻辑:

  1. 基于视觉信息的sfm。
  2. 使用imu轨迹与sfm结果对齐,用以恢复尺度,速度,重力和imu bias。
  3. coarse-2-fine GNSS initialization.
    首先,不精确的锚点定位通过SPP算法得到;然后,局部和全局坐标系通过VI初始化的速度和GNSS Doppler测量进行yaw角对齐;最后,通过精确的局部路径和加入的时钟约束来优化锚点的全局位姿完成初始化。

GNSS 退化处理

所有观测量综合在一起使用滑动窗口进行非线性优化。如果GNSS数据不可靠,无法完成初始化对齐,那么系统将会退化为VIO。为了保证算法的实时性和解决VI退化运动,使用了两阶段的边缘化策略,会移除不满足视差条件的数据帧,优化完成也会进行边缘化操作。

概率方程

基于概率框架构进行状态估计。整个问题被构造成一个因子图,约束整个系统状态。VI因子在vins_mono论文中有详细讲述。

MAP Estimation(最大后验估计)

假设条件:所有的观测都是相互独立的;每个观测的噪声都是0均值高斯噪声。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GVINS论文阅读笔记 的相关文章

随机推荐

  • ES6(ECMAScript6)新特性

    点击打开链接 箭头操作符 ES6中新增的箭头操作符 61 gt 简化了函数的书写 xff0c 操作符左边为输入的参数 xff0c 右边是进行的操作以及返回的值 引入箭头操作符后可以方便地写回调了 xff1a var array 61 1 2
  • K8s --HPA容器水平伸缩

    目录 一 什么是HPA 1 HPA伸缩过程 2 HPA进行伸缩算法 二 HPA实例 创建HPA 1 压力测试 2 同时监控cpu和memory 一 什么是HPA HPA的全称为 xff08 Horizontal Pod Autoscalin
  • linux磁盘读写命令,ubuntu命令行查看硬盘使用情况

    linux磁盘读写命令 ubuntu命令行查看硬盘使用情况 除了CPU和内存 xff0c 硬盘读写 I O 能力也是影响Linux系统性能的重要因素之一 本节介绍了可用于检查硬盘读写性能的几个系统命令 xff0c 并介绍了如何根据这些命令的
  • byr论坛技术楼

    链接 xff1a http bbs byr cn article MobileTerminalAT 17730 p 61 1
  • Zabbix5系列-监控华为、H3C交换机(snmpv2c/snmpv3/snmptrap) (二)

    Zabbix5系列 监控华为 H3C交换机 一 参考二 配置交换机2 1 华为SNMP v2c版本2 2 华为SNMP v3版本2 3 H3C SNMP v2c版本2 4 H3C SNMP v3版本 三 添加主机3 1 snmp v2c创建
  • docker 之普通用户运行

    ubuntu 不加sudo 执行 docker 时报错 Got permission denied while trying to connect to the Docker daemon socket at unix var run do
  • matlab simulink 自定义bus使用

    使用matlab simulink 可以方便的查看数据 xff0c simulink支持自定义bus xff0c 在bus中可以自定义数据结构 其中需要注意的是 xff0c 自定义的数据结构是有顺序的 xff0c 当signal需要和bus
  • stl container adapter

    容器适配器 xff1a stack queue priority queue stack Definition namespace std template lt typename T typename Container 61 deque
  • C 字符串获取元素地址

    打印出c字符串元素的地址 xff0c 需要将取地址符号 amp 进行静态类型转换为 void xff0c 或者使用static cast lt void gt 进行转换 const char p 61 34 abcdefg 34 char
  • MarkDown 内部跳转链接

    最近在用markdown写文档 xff0c 文档中需要有内部跳转链接 在此记录下可行的办法 这边我用表格中的文字跳转到另一个表格为例子 xff1a 表格1 商品 价格 备注 iphone13 6000 xff5e 10000 可参考采购平台
  • 深度学习 - TensorFlow Lite模型,云侧训练与安卓端侧推理

    TensorFlow Lite模型 xff0c 云侧训练与安卓端侧推理 引言一 云侧深度模型的训练代码1 加载数据集的格式分析1 1 从数据集加载的数据格式1 2 对加载的数据进行处理 2 深度模型搭建3 模型训练 评估 保存 转换4 模型
  • 无人驾驶-激光雷达与相机联合校准(Lidar Camera Calibration)

    1 激光雷达与摄像头性能对比 在无人驾驶环境感知设备中 xff0c 激光雷达和摄像头分别有各自的优缺点 摄像头的优点是成本低廉 xff0c 用摄像头做算法开发的人员也比较多 xff0c 技术相对比较成熟 摄像头的劣势 xff0c 第一 xf
  • vim c++开发

    vim 编写c 43 43 代码的快捷键 代码折叠 zf 创建折行 xff0c f 表示 foldzo 打开折行 xff0c o 表示 openzc 关闭折行 xff0c c 表示 closezd 删除折行 xff0c d 表示 delet
  • ros2 colcon

    ros2 项目构建之colcon 常用指令 colcon build symlink install cmake args DCMAKE BUILD TYPE 61 Release packages up to lt name of pkg
  • vscode docker clangd

    配置中报错 xff0c 找不到omp h头文件 sudo ln s usr lib gcc x86 64 linux gnu 9 include omp h usr include omp h
  • ros CMakeLists.txt template

    这里记录一个使用ros的CMakeLists txt的模板 xff0c 方便以后套用 示例 cmake minimum required VERSION 3 0 2 project rs parse set CMAKE CXX FLAGS
  • python 读取csv文件绘图

    python 读取csv文件数据 xff0c 然后通过plot绘图 bin bash python import csv import numpy as np from matplotlib import pyplot as plt col
  • ros utest

    在ros框架下编写代码 xff0c 在CMakeLists txt配置好之后 xff0c 在编译的时候执行下面指令即可生成测试代码的可执行文件 catkin make run tests 代码发布前 xff0c 测试用例一定要做好 xff0
  • boost 创建文件夹

    这里记录下如何使用boost创建文件夹的方法 主要步骤 包含filesystem头文件 include lt boost filesystem hpp gt 检测传入的文件目录 log path 是否存在 xff0c 目录不存在的话会新建一
  • GVINS论文阅读笔记

    Code Pseudorange Measurement c o d e p s e