联合标定双目相机和imu,使用工具Kalibr

2023-05-16

文章目录

  1. imu标定,产生数据写入imu.yaml中,见下文,imu.yaml文件要用于联合标定。
  2. 双目相机标定,产生数据文件用于联合标定,文件名类似camchain-homeubuntustereo_calibra.yaml文件。
  3. 双目和imu联合标定需要用到的文件为,录制的包含双目和imu和topic的bag,用于标定的标定板的数据信息文件(pril_6x6.yaml),第二步产生的双目相机文件,第一步产生的imu数据imu.yaml.

一、imu标定,步骤可参考之前的博客,也可自行搜索教程,两种方法,使用imu_utils或者kalibr标定imu 的随机误差。

1. imu_utils方法
2. kalibr方法

两种方法最终都会获得gyroscope_random_walk、gyroscope_noise_density、accelerometer_random_walk、accelerometer_noise_density四个数据,新建一个文件并命名为imu.yaml把上面四个数据按照以下格式输入。

rostopic: /boteye/sensor/IMU_data
update_rate: 200.0 #Hz
accelerometer_noise_density: 1.5566153514326565e-02 #continous
accelerometer_random_walk: 8.3652091911342024e-04
gyroscope_noise_density: 7.7729009328349717e-04 #continous
gyroscope_random_walk: 2.4797414306508005e-05

将其中的rostopic更改乘自己imu topic的名字。

二、双目相机标定,需要事先准备标定板,并录制相机的bag。

1.标定板,可在kalibr的wiki中下载,地址:https://github.com/ethz-asl/kalibr/wiki/downloads


上一步中的imu.yaml也可以下载,但是需要外网,而且内容不是很多,所以这里建议自己写一份。
我用的标定板文件是Aprilgrid 6x6 0.8x0.8 m (A0 page),下载之后打印,新建或者下载一个文件april_6x6.yaml,格式如下。

target_type: ‘aprilgrid’ #gridtype
tagCols: 6 #number of apriltags
tagRows: 6 #number of apriltags
tagSize: 0.021 #size of apriltag, edge to edge [m]
tagSpacing: 0.3 #ratio of space between tags to tagSize

Aprilgrid 6x6 0.8x0.8 m (A0 page)标定板,测量得出大的方格的长度是21厘米,所以把tagsize这一项改成了0.021.

2.录制bag,记录双目相机的topic信息。

打开双目相机,降低双目相机的采样频率,不然数据太多,处理时间会很长。降低采样频率的命令

rosrun topic_tools throttle messages 左目topic 4.0 /left
rosrun topic_tools throttle messages 右目topic 4.0 /right

录制bag,录制bag 的同时,相机对准标定板,或是固定相机或是固定标定板,晃动另一个,动作不要太大,不要让相机看不清标定板(具体怎么动最好,没有在网上查到过,自己瞎搞,就争取把标定板晃动到过相机像素平面的每个地方)

rosbag record -O stereo_calibra1011.bag /left /right

结束录制,在kalibr-cde文件下执行一下命令

./kalibr_calibrate_cameras --target dynamic/april_6x6.yaml --bag ~/stereo_calibra1011.bag --models pinhole-radtan pinhole-radtan --topics /left /right

其中的每个文件,各自对应自己电脑中的目录即可。成功之后会生成一个camchain-homeubuntustereo_calibra.yaml文件,第三步联合标定会用到。

三、联合标定

1. 录制bag

打开相机输入以下指令

rosbag record -o stereo_imu_biaoding.bag 你的左目topic 你的右目topic 你的imutopic

录制的过程需要相机对准标定板,分别激活imu的每个轴,我的理解就是绕着每个轴做一定角度的旋转,不要把标定板旋转出视野。每个轴做个3、4次,然后在标定板前做平移,上下、左右、前后。做完之后空中画几个8字。(这里的动作,也不确定那种最好,反正做的不好出不了数据就再来一次。。。。。。)

2. 录制好bag之后,在kalibr-cde文件下执行一下命令

./kalibr_calibrate_imu_camera --target dynamic/april_6x6.yaml --cam camchain-homeubuntustereo_calibra1011.yaml --imu dynamic/imu_adis16448.yaml --bag ~/stereo_imu_biaoding_2019-10-11-13-35-24.bag

其中的文件对应自己电脑中的文件位置即可。
结束之后会得到一个文件名类似camchain-imucam-homeubuntustereo_imu.yaml的文件,这里面包含了相机到imu的旋转平移和两个相机之间的旋转平移。

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

联合标定双目相机和imu,使用工具Kalibr 的相关文章

  • 关于pixhawk硬件IMU和compass那点事儿

    文章目录 前言一 IMU和compass是什么 xff1f 二 导航坐标系与机体坐标系三 安装IMU xff0c compasss四 hwdef中设置IMU xff0c compass朝向总结 前言 继上一篇讲解了pixhawk的硬件组成
  • VINS-Mono 论文解读(IMU预积分残差+Marg边缘化)

    目录 VIO引出原因 xff1a 融合方案 xff1a 本文贡献 xff1a 0 总体框架 0 1 数据预处理 xff08 IMU预积分见标题1 xff09 0 2 初始化 A 滑动窗口 Sliding Window 纯视觉SfM B 视觉
  • Kalibr 之 Camera-IMU 标定 (总结)

    Overview 欢迎访问 持续更新 xff1a https cgabc xyz posts db22c2e6 ethz asl kalibr is a toolbox that solves the following calibrati
  • 多IMU车载GNSS/INS数据集及介绍

    文章目录 前言非常棒的GINS数据集采集轨迹采集时间MEMS IMU详细信息IMU测量值方程及相关误差建模参考噪声参数 安装参数文件格式描述 前言 本文作者感谢武汉大学多源智能导航实验室和牛小骥教授提供了本文所需的GNSS INS数据集 本
  • ORB-SLAM3:单目+imu 详细代码解读

    输入文件 Examples Monocular Inertial mono inertial euroc Vocabulary ORBvoc txt Examples Monocular Inertial EuRoC yaml 存储相机 i
  • 再谈IMU数据处理(滤波器)

    本文开始前 xff0c 先回答一个问题 上一篇文章最后提到了卡尔曼滤波器用来做一维数据的数字滤波处理 xff0c 最终的实验结果说 xff1a 该模型下的卡尔曼滤波处理与二阶IIR低通滤波处理效果几乎一致 有网友指出是错误的 xff0c 卡
  • 【SLAM】VINS-MONO解析——IMU预积分

    4 IMU预积分 IMU预积分主要干了2件事 xff0c 第一个是IMU预积分获得 值 xff0c 另一个是误差传递函数的获取 本部分的流程图如下图所示 各个部分的讲解如下链接 xff1a SLAM VINS MONO解析 综述 SLAM
  • Camera-IMU联合标定原理

    Camera IMU联合标定原理 一 相机投影模型二 IMU 模型三 Camera IMU标定模型 一 相机 IMU旋转 二 相机 IMU平移 三 视觉惯性代价函数 四 camera imu联合标定 一 粗略估计camera与imu之间时间
  • IMU校正以及姿态融合

    本文为博主 声时刻 原创文章 xff0c 未经博主允许不得转载 联系方式 xff1a shenshikexmu 64 163 com 缘起 有缘在简极科技兼职两年 接触了IMU xff0c 我去的时候那家公司还是一个要把IMU放进足球的公司
  • Kalibr标定d435i

    figure it out 最近准备使用realsense d435i xff0c 先对其进行标定 整体环境是基于ROS的 xff0c 因为Kalibr是在ROS环境下 大致过程如下 xff1a imu标定 gt 双目标定 gt 双目 43
  • vins中imu融合_VINS代码解读

    VINS estimator 摘抄 我们初始化的原因是单目惯性紧耦合系统是一个非线性程度很高的系统 xff0c 首先单目是无法获得空间中的绝对尺度 xff0c 而IMU又必然存在偏置 xff0c 在后面进行求解的时候还需要用到重力加速度 包
  • IMU让无人机控制变得更轻松

    多翼无人机广泛应用于监视和侦察 航空摄影和测量 搜索和救援任务 通信中继和环境监测 目前无人机的手动控制大部分基于视觉反馈 xff0c 所以操作环境中的障碍物会造成干扰 因此 xff0c 需要其他感官反馈 xff0c 例如触觉 xff0c
  • 星网宇达(惯导+IMU)设备实现自动采点

    一 创建和打开gps Road txt文件 xff0c 准备往里写数据 FILE span class token operator span p span class token operator 61 span span class t
  • 解:高性能MEMS IMU解决方案-ADXRS290

    origin https ezchina analog com message 34890 对于复杂且高动态惯性配置的MEMS IMU应用 xff0c 评估功能时需要考虑许多属性 在设计周期早期评估这些属性优于追逐开放性成果 xff0c 从
  • realsense d435i标定imu与camera

    realsense d435i标定imu与camera 1 标定目的 realsense d435i包含两个红外相机 红外发射器 RGB相机和IMU四个模块 xff0c 显然四个传感器的空间位置是不同的 xff0c 我们在处理图像和IMU数
  • 最小的IMU模组——DETA10系列

    性能全面升级 飞迪航空 xff08 FDISYSTEMS xff09 DETA10系列产品目前出货已达十万量级 xff0c 广泛应用于机器人 可穿戴设备 人工智能教育套件 自动驾驶小车 智慧农业 扫地机器人 稳定平台 无人系统等相关领域 D
  • 乌班图安装 Kalibr

    安装ROS Melodic 1 Installation 1 1 Configure your Ubuntu repositories http www 360doc com content 18 0417 15 54525756 7463
  • Kalibr源码学习(一): 重投影误差

    Kalibr源码学习 一 重投影误差 给自己挖一个大坑 从标定结果来学习Kalibr的标定源码 这里基本以KB模型为例 也就是标定时 kalibr的模型设定为 model pinhole equi 这里以重投影误差开始 希望能坚持 重投影误
  • IMU背包对动物行为影响测试

    动物行为是一种可观察和可测量的指标 轻量化和低成本的传感器技术的先进发展为研究人员提供了以最小干预来跨越空间和时间跟踪动物的机会 特别是对于家禽业来说 已经从传统的笼养系统转变为无笼养系统 许多技术可用于检测大群鸡的行为 活动和位置 为了有
  • IMU用于上肢功能评估

    来自日本团队牵头研究揭示了利用九轴运动传感器评估上肢Fugl Meyer FMA 的潜力 该探索侧重于将惯性测量单元 IMU 集成到 FMA 的方法中 并探究是否可以出现标准化和更客观的测量 从而解决动态运动评估中的一个紧迫问题 九轴 IM

随机推荐