技术分享 | 带你解读Kalibr和VINS标定参数(转载自阿木)

2023-12-18 03:58

本文主要是介绍技术分享 | 带你解读Kalibr和VINS标定参数(转载自阿木),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载自:https://mp.weixin.qq.com/s/Hqi6iUS-VGIQTmAB0Xa_nQ

技术分享 | 带你解读Kalibr和VINS标定参数

原创 阿木实验室 阿木实验室 昨天

我们通过上次的IMU和双目相机联合标定已经得到了一些文件,我们仅需要使用里面的一些文件,下面就带大家看下。

标定完大概会得到下面这几个文件,其中下面画红色圈的是最为重要的。

图片

1.相机标定参数解读

我们打开第一个文件后,可以看到

图片

这个就是IMU和左目之间的变换矩阵,是最为重要的一个参数,如果这个精度低于1-2°,那么整个系统就会变得极为不鲁棒。下面还会有个右目的,这里就不在赘叙。

再往下看,下面就是相机的一些内参。

distortion_coeffs指的是畸变参数,针孔相机一般默认k3为零。

Intrinsics 指的是相机内参数。 

最后一行为相机和IMU之间的时间戳。

图片

2.IMU参数解读

我们再打开imu这个文件,就是IMU被标定出来的误差。陀螺仪和加速度计的噪声,以及随机游走。

图片

还有一个PDF文件过于花哨,这里不展示了。

到此为止,我们就基本解读了一下标定结果。我们现在要做的就是把它们用到VINS中。

3.VINS配置参数文件

3.1首先是订阅的话题

图片

这里的话题名称是根据你自己的决定,但是如果传感器用的是D435i,那么话题名称基本不用修改。

3.2双目相机的内参

图片

读取当前路径下双目相机的内参配置文件,以及图像发布大小。

3.3IMU和相机之间的变换矩阵

下面是IMU坐标系和Camera坐标系之间的相对变换矩阵,主要是旋转矩阵比较重要,平移向量对系统鲁棒性影响较小。

图片

3.4特征点跟踪的一些参数

图片

3.5优化参数

图片

3.6IMU参数,这个可以由之前的标定得到

图片

3.7在线估计同步时间差

D435i说是已经做好了硬件同步,但是Kalibr标定出来还是会有0.006左右的时间误差。

图片

到此为止我们解读完了所有需要用到的参数,接下来就是正确的把它们用到VINS中。

阿木实验室致力于前沿IT科技的教育和智能装备,让机器人研发更高效!

公众号:阿木实验室 ( 领取免费资料包)

官方淘宝店:阿木实验室(可购买硬件配件)

硬件咨询:yanyue199506(欢迎洽谈合作)

课程咨询:jiayue199506 (免费领取机器人工程师学习计划)

- End -

技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把机器人行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在机器人行业,就请关注我们的公众号,我们将持续发布机器人行业最有价值的信息和技术。

这篇关于技术分享 | 带你解读Kalibr和VINS标定参数(转载自阿木)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/506966

相关文章

解读静态资源访问static-locations和static-path-pattern

《解读静态资源访问static-locations和static-path-pattern》本文主要介绍了SpringBoot中静态资源的配置和访问方式,包括静态资源的默认前缀、默认地址、目录结构、访... 目录静态资源访问static-locations和static-path-pattern静态资源配置

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon

Python如何使用seleniumwire接管Chrome查看控制台中参数

《Python如何使用seleniumwire接管Chrome查看控制台中参数》文章介绍了如何使用Python的seleniumwire库来接管Chrome浏览器,并通过控制台查看接口参数,本文给大家... 1、cmd打开控制台,启动谷歌并制定端口号,找不到文件的加环境变量chrome.exe --rem

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

MySQL中的锁和MVCC机制解读

《MySQL中的锁和MVCC机制解读》MySQL事务、锁和MVCC机制是确保数据库操作原子性、一致性和隔离性的关键,事务必须遵循ACID原则,锁的类型包括表级锁、行级锁和意向锁,MVCC通过非锁定读和... 目录mysql的锁和MVCC机制事务的概念与ACID特性锁的类型及其工作机制锁的粒度与性能影响多版本

Redis过期键删除策略解读

《Redis过期键删除策略解读》Redis通过惰性删除策略和定期删除策略来管理过期键,惰性删除策略在键被访问时检查是否过期并删除,节省CPU开销但可能导致过期键滞留,定期删除策略定期扫描并删除过期键,... 目录1.Redis使用两种不同的策略来删除过期键,分别是惰性删除策略和定期删除策略1.1惰性删除策略

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或