imu_utils安装及标定教程

本文详细介绍了如何在Ubuntu18.04环境中,通过imu_utils库对INDEMIND双目惯性模组进行标定,包括静置采集IMU数据、生成Allan方差、分析噪声误差等步骤,并涉及了Ceres、ROS等技术的使用。

本文使用香港科技大学的imu_utils方差工具标定,首先将INDEMIND双目惯性模组静止放置三个小时。然后采集IMU数据,生成Allan方差数据,由图分析得到加速度和角速度的高斯白噪声和随机游走Bias误差。

系统配置

系统版本
ubuntu18.04
OpenCV3.4.13
Eigen3.2.10
Pangolin0.5

一、安装ceres

Ceres官方地址

二、创建ROS工作空间

1、新建ROS工作空间

mkdir -p ~/imu_catkin_ws/src

cd ~/imu_catkin_ws/src

catkin_init_workspace

2、初始化imu_catkin_ws工作空间

cd ~/imu_catkin_ws

catkin_make

source ~/imu_catkin_ws/devel/setup.bash

三、编译安装code_utils

1、下载code_utils

cd ~/imu_catkin_ws/

git clone https://github.com/gaowenliang/code_utils.git

2、安装依赖库libdw-dev

sudo apt-get install libdw-dev

3、修改sumpixel_test文件

在code_utils下面找到sumpixel_test.cpp,修改
#include "backward.hpp"#include “code_utils/backward.hpp”

4、编译code_utils

cd ~/imu_catkin_ws/

catkin_make

四、编译安装imu_utils

1、安装imu_utils

cd ~/catkin_ws/src

git clone https://github.com/gaowenliang/imu_utils.git

2、编译imu_utils

cd~/catkin_ws/

catkin_make

source ~/catkin_ws/devel/setup.bash

3、先编译code_utils,再编译imu_utils

先把code_utils放到工作空间之后catkin_ws一次后再放imu_utiles,再编译
在这里插入图片描述
在这里插入图片描述

使用 `imu_utils` 进行 IMU 标定的流程主要包括以下几个关键步骤,适用于基于 ROS 的系统环境。以下为详细的标定指南: ### 1. 环境准备与依赖安装 首先确保系统中已安装 ROS(推荐使用 Kinetic、Melodic 或更高版本),并配置好工作空间。接下来需要安装必要的依赖库和工具。 - 安装 ROS 相关依赖: ```bash sudo apt-get install ros-<your_ros_distro>-camera-info-manager sudo apt-get install libeigen3-dev ``` - 创建 catkin 工作空间(如未创建): ```bash mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make source devel/setup.bash ``` - 克隆 `code_utils` 和 `imu_utils` 到 `src` 目录下: ```bash cd src git clone https://github.com/gaowenliang/code_utils.git git clone https://github.com/gaowenliang/imu_utils.git ``` 在某些版本中,可能需要修改 `code_utils` 中的头文件路径,例如将 `#include "backward.hpp"` 改为 `#include "code_utils/backward.hpp"` [^3]。 ### 2. 编译 code_utilsimu_utils 进入工作空间根目录并执行编译命令: ```bash cd ~/catkin_ws catkin_make ``` 完成后,确保将生成的环境变量脚本加入当前 shell 会话: ```bash source devel/setup.bash ``` ### 3. 配置 IMU 驱动与数据采集 根据使用的 IMU 型号(如维特智能等),安装对应的 ROS 驱动节点,并确保可以通过 `/imu/data` 或类似话题获取原始 IMU 数据。 启动驱动节点后,使用 `rostopic echo /imu/data` 检查是否正常输出数据。 ### 4. 录制 IMU 数据包 为了进行标定,需录制一段静止状态下的 IMU 数据。建议至少录制 1~2 小时的数据以获得更精确的噪声模型参数。 使用如下命令录制数据: ```bash rosbag record -O imu_calibration.bag /imu/data ``` 录制过程中保持 IMU 静止不动。 ### 5. 启动标定节点 在 `imu_utils` 包中提供了用于标定的 launch 文件,通常命名为 `create_calib.launch` 或类似名称。需根据实际设备设置话题名和传感器类型。 编辑 launch 文件中的参数,例如: ```xml <param name="imu_topic" value="/imu/data"/> <param name="target_time" value="120"/> <!-- 标定所需时间,单位秒 --> ``` 然后启动标定节点: ```bash roslaunch imu_utils create_calib.launch ``` ### 6. 执行标定过程 运行后,标定程序会自动分析 IMU 输出的角速度和加速度数据,估计陀螺仪和加速度计的零偏、尺度因子误差、轴偏差以及噪声密度等参数[^1]。 标定结果将保存在指定路径下的 YAML 文件中,格式如下: ```yaml imu: gyro: noise_density: 0.012 random_walk: 0.0004 accel: noise_density: 0.05 random_walk: 0.005 T_imu_cam: - [1, 0, 0, 0] - [0, 1, 0, 0] - [0, 0, 1, 0] ``` 该文件可用于后续的 VIO 系统(如 Kalibr 或 VINS-Mono)配置。 ### 7. 标定后处理与验证 可使用标定后的参数重新运行 IMU 数据处理模块,并通过可视化工具检查校正后的数据是否更加平稳。也可结合相机数据进行联合标定,提升整体系统的姿态估计精度[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客范儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值