【深蓝学院】手写VIO第8章--相机与IMU时间戳同步--作业

0. 题目

在这里插入图片描述

1. T1 逆深度参数化时的特征匀速模型的重投影误差

参考常鑫助教的答案:思路是将i时刻的观测投到world系,再用j时刻pose和外参投到j时刻camera坐标系下,归一化得到预测的二维坐标(这里忽略了camera的内参,逆深度是在camera系下)
要计算的是i时刻和j时刻之间的补偿之后的u坐标的重投影误差,所以i时刻也要补偿,具体步骤见下,式(5)参照14讲P47的公式,已经用过很多次了。
在这里插入图片描述

2. T2 阅读Kalibr论文,总结基于 B 样条的时间戳估计算法流程

2.1 答题

论文题目: Unified Temporal and Spatial Calibration for Multi-Sensor Systems
多传感器的联合时空标定

B(ackground):标定时time offset和外参是分开标的(但实际上二者应该有联系)。
I(ntention):在不支持硬件或者软件上时间戳同步的多传感器上实现较高精度的多传感器联合时空标定。
M(ethod):提出一个estimator和一个框架来联合标定。
R(esult):精度高。
C(conclusion):好,有望拓展到其他的sensor联合标定。

论文contri(bution):

  1. 提出一种方法标定fixed时间延迟
  2. 推导一个estimator可以同时标时间戳和外参(rotation only)
  3. 数据集和真实数据上的结果证明estimator估计时间戳很准
  4. 准是因为很好的用了之前别人没用的加计数据

助教的学术话版本:

  1. 提出一种统一的使用批量、连续时间下的最大似然估计方法,估计多传感器之间的固定时间戳延迟。
  2. 提出一个可以同时校准相机和IMU之间位姿和时间戳延迟的估计模型。
  3. 这个估计模型应用在仿真数据和真实数据上,都有足够的灵敏度估算出时间戳延迟。
  4. 证明时间戳延迟估计明显受益于在加速度测量中所包含的附加信息。

论文主要理论(助教答案):
在这里插入图片描述

本文方法的主要贡献是把估计时间戳延迟和外参R整合到一个MLE(最大似然估计)框架中,而这样做的基础就是B样条方法,使用B样条可以 parameterize the motion of the device.具体到VI的标定就是下面的内容:

  • B样条参数化将IMU位姿转化为 C ( ) \bm C() C() funtion和旋转向量 φ ( t ) \varphi(t) φ(t)
  • 将平移表示为 t ( t ) \bm t(t) t(t)
  • 速度和加速度可通过 t ( t ) \bm t(t) t(t)求一二阶导而得,
  • 角速度也可由旋转向量推导而得

在这里插入图片描述

如此可以使用B样条参数化所有的构建residual所需的variable,对LSP进行优化求解即可优化出时间戳延迟旋转外参R

在这里插入图片描述

2.2 B样条拓展

下图参考博客:https://blog.csdn.net/weixin_43846627/article/details/104297637
在这里插入图片描述

关于B样条曲线函数,由控制顶点B样条基函数组成,是一系列解析基函数的加权和

原文中的式(1)
在这里插入图片描述
待估计变量被用B样条表示,而(1)中的 Φ ( t ) \bm \Phi(t) Φ(t)是基函数,其值为定值,所以优化待估变量就转化为优化权值向量 c \bm c c,时间戳是如此,其他的以此类推。

2.3 文中其他细节

  1. 可以根据物理性质和动态性给总残差加上正则项
    在这里插入图片描述

  2. B样条参数化可以使info mat的优化过程变稀疏

在这里插入图片描述

  1. 优化过程中信息矩阵中的各个部分与VIO各个参数的关系(这个看到很多论文针对其算法的有效性进行分析时,都研究过info mat)
    在这里插入图片描述

  2. temporal padding value 的选择影响优化的结果,理解为padding即给优化结果锚定一个优化范围,文中选择的是0.04senonds
    在这里插入图片描述

  3. 用最佳拟合线和理论线的斜率差和斜率差与0.5的RMS error,使用LSP来评估结果(这里没太看懂为什么理论值是0.5)
    在这里插入图片描述

  4. 结果表明:使用所有IMU数据进行时空联合标定(即同时使用了gyro和acc数据)的精度高,variance小,对比项是gryo only,acc only,分开标定这三项
    在这里插入图片描述

文献拓展:
[7]提出连续时间的batch估计time offset方法,basis function approach: P. T. Furgale, T. D. Barfoot, and G. Sibley, “Continuous-time batch estimation using temporal basis functions,” in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), St. Paul, MN, 14-18 May 2012, pp. 2088–2095.
[14]B样条方法: R. H. Bartels, J. C. Beatty, and B. A. Barsky, An Introduction to Splines for use in Computer Graphics and Geometric Modeling. Los Altos, California, USA: Morgan Kaufmann Publishers Inc., 1987.

3. T3 推导时间戳延迟的雅克比

文章即北大的提出轨迹匀速模型:Weibo Huang, Hong Liu, and Weiwei Wan. “Online nitialization and extrinsic spatial-temporal calibration for monocular visual-inertial odometry”. In: arXiv preprint arXiv:2004.05534 (2020).

助教答案:

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

51单片机的篮球计分器液晶LCD1602显示( proteus仿真+程序+原理图+PCB+设计报告+讲解视频)

51单片机的篮球计分器液晶LCD1602显示 📑1.主要功能:📑讲解视频:📑2.仿真📑3. 程序代码📑4. 原理图📑5. PCB图📑6. 设计报告📑7. 设计资料内容清单&&…

【数据结构】——顺序表(增删查改)

目录 前言: 顺序表: 1、概念及分类 1.1顺序表分类 静态顺序表 动态顺序表 2、接口实现 2.1功能要求 2.2功能实现 💡初始化顺序表 💡销毁顺序表 💡顺序表尾插入 💡检查是否扩容 💡…

【二进制转换和与其有关的操作符详解】

文章目录 1.二进制与进制转换2. 2进制转8、10、16进制2.1 2进制转10进制2.2 2进制转8进制2.3 2进制转16进制 3. 8、10、16进制转2进制3.1 10进制转2进制3.2 8进制转2进制3.3 16进制转2进制 4.原码、反码、补码5.移位操作符&#xff08;<< >>&#xff09;5.1左移操作…

【IDEA】在工具栏设置快速创建包和类的图表

页面效果&#xff1a; 操作步骤&#xff1a; 设置 --> 外观与行为 --> 菜单与工具栏 --> 点击 主工具栏 --> 点击 ---- --> 点击 号 --> 添加操作 主菜单 --> 文件 --> 文件打开操作 --> 打开项目操作 --> 新建 --> 往下找 找到 clas…

超声波俱乐部分享:百度世界大会点燃AI创业者新希望

10月22日&#xff0c;2023年第十三期超声波俱乐部内部分享会在北京望京举行。本期的主题是&#xff1a;百度世界大会点燃AI创业者新希望。 到场的嘉宾有&#xff1a;超声波创始人杨子超&#xff0c;超声波联合创始人、和牛商业创始人刘思雨&#xff0c;中国国际经济交流中心研…

开启AWS的ubuntu服务器的root用户登录权限

设置root用户密码 输入以下命令修改root用户密码 sudo passwd root输入以下命令切换到root用户 su root仅允许root用户用密码登录 输入以下命令编辑ssh配置文件 vi /etc/ssh/sshd_config新增以下配置允许root用户登录 PermitRootLogin yes把PasswordAuthentication修改为…

成员变量为动态数据时不可轻易使用

问题描述 业务验收阶段&#xff0c;遇到了一个由于成员变量导致的线程问题 有一个kafka切面&#xff0c;用来处理某些功能在调用前后的发送消息&#xff0c;资产类型type是成员变量定义&#xff1b; 资产1类型推送消息是以zichan1为节点&#xff1b;资产2类型推送消息是以zi…

2023-11-06今日最大收获:坑爹的 JpaRepository!

1.坑爹的 JpaRepository&#xff01; org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet 2023-11-06 18:38:53.12…

报错Could not resolve placeholder ‘driver‘ in value “${driver}“

这是我的报错&#xff1a; 原因是我的applicationContext.xml文件加载properties文件径错误&#xff1a; 应该把路径改成这样就可以了&#xff1a;

ansible安装和常见模块

文章目录 ansible的安装1.1 yum install epel-release.noarch1.2配置epel源的baseurl1.3安装ansible1.4安装ansible报错问题1.5 yum卸载 ansible的安装 ansible是由epel源提供的&#xff0c;所以需要配置epel源。要么通过配置好的baseos源直接执行“yum install epel-release.…

数据分析案例-基于服饰行业中消费者行为和购物习惯的可视化分析(文末送书)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

JavaScript设计模式之发布-订阅模式

发布者和订阅者完全解耦&#xff08;通过消息队列进行通信&#xff09; 适用场景&#xff1a;功能模块间进行通信&#xff0c;如Vue的事件总线。 ES6实现方式&#xff1a; class eventManager {constructor() {this.eventList {};}on(eventName, callback) {if (this.eventL…

微型导轨在医疗设备中起什么作用?

微型导轨因其高精度、小型化和轻量化的特点&#xff0c;被广泛应用于各种需要高精度和小型化的机器中&#xff0c;如数控机床、工业机器人、光学仪器、医疗设备和自动化设备等&#xff0c;尤其是医疗领域&#xff0c;其应用最为广泛。 1、手术机器人&#xff1a;手术机器人是医…

虚拟列表方案实现

虚拟列表 长列表优化的2种思路&#xff1a; 分片渲染只渲染可视区域 基本概念 进程&#xff1a;这个概念比较大。每开一个应用程序都会分配一个独立的进程&#xff0c;等于每个应用都是一个进程(当然也有一个应用有很多进程)&#xff0c;进程是一个更大的概念&#xff0c;一个进…

干货丨Linux终端常见用法总结(收藏)

一、前言 熟悉Linux终端的基础用法和常见技巧可以极大提高运维及开发人员的工作效率&#xff0c;笔者结合自身学习实践&#xff0c;总结以下终端用法供同行交流学习。 二、常见用法 1.快捷键 1.1.Alt. 在光标位置插入上一次执行命令的最后一个参数。 1.2.CtrlR 模糊搜索历…

计讯物联高精度GNSS接收机:担当小型水库大坝安全监测解决方案的“护航者”

应用背景 水库大坝作为水利工程建筑物&#xff0c;承担着灌溉、发电、供水、生态等重任。一旦水库大坝发生安全事故&#xff0c;后果将不堪设想。因此&#xff0c;水库大坝的安全监测对保障水利工程顺利运行具有重要意义。 计讯物联作为水利行业专家型企业&#xff0c;多年来…

mysql之备份和恢复

&#xff08;一&#xff09;备份 1、备份的种类 &#xff08;1&#xff09;完全备份&#xff1a;将整个数据库完整的进行备份 &#xff08;2&#xff09;增量备份&#xff1a;在完全备份的基础上&#xff0c;对后续新增的内容进行备份 2、备份的需求 &#xff08;1&#x…

[pytorch]手动构建一个神经网络并且训练

0.写在前面 上一篇博客全都是说明类型的,实际代码能不能跑起来两说,谨慎观看.本文中直接使用fashions数据实现softmax的简单训练并且完成结果输出.实现一个预测并且观测到输出结果. 并且更重要的是,在这里对一些训练的过程,数据的形式,以及我们在softmax中主要做什么以及怎么…

Spring Boot中解决跨域问题(CORS)

1. 跨域介绍 首先解释什么是跨域&#xff0c;跨域就是前端和后端的端口号不同&#xff1b;会产生跨域问题&#xff0c;这里浏览器的保护机制&#xff08;同源策略&#xff09;。 同源策略&#xff1a;前端和后端的协议、域名、端口号三者都相同叫做同源。 我们看一下不同源&am…

【k8s】pod调度——亲和,反亲和,污点,容忍

官方网址&#xff1a;https://kubernetes.io/zh/docs/concepts/scheduling-eviction/assign-pod-node/ 一、亲和性 &#xff08;1&#xff09;节点亲和性 pod.spec.nodeAffinity ●preferredDuringSchedulingIgnoredDuringExecution&#xff1a;软策略 p开头 ●requiredDuri…