技术分享 | 带你解读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

相关文章

SpringBoot中配置文件的加载顺序解读

《SpringBoot中配置文件的加载顺序解读》:本文主要介绍SpringBoot中配置文件的加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot配置文件的加载顺序1、命令⾏参数2、Java系统属性3、操作系统环境变量5、项目【外部】的ap

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

Mysql用户授权(GRANT)语法及示例解读

《Mysql用户授权(GRANT)语法及示例解读》:本文主要介绍Mysql用户授权(GRANT)语法及示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql用户授权(GRANT)语法授予用户权限语法GRANT语句中的<权限类型>的使用WITH GRANT

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

python3 gunicorn配置文件的用法解读

《python3gunicorn配置文件的用法解读》:本文主要介绍python3gunicorn配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python3 gunicorn配置文件配置文件服务启动、重启、关闭启动重启关闭总结python3 gun

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

关于pandas的read_csv方法使用解读

《关于pandas的read_csv方法使用解读》:本文主要介绍关于pandas的read_csv方法使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录pandas的read_csv方法解读read_csv中的参数基本参数通用解析参数空值处理相关参数时间处理相关

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

SpringBoot利用@Validated注解优雅实现参数校验

《SpringBoot利用@Validated注解优雅实现参数校验》在开发Web应用时,用户输入的合法性校验是保障系统稳定性的基础,​SpringBoot的@Validated注解提供了一种更优雅的解... 目录​一、为什么需要参数校验二、Validated 的核心用法​1. 基础校验2. php分组校验3