imu的静态标定过程-使用imu_utils

IMU标定使用imu_utils工具包,开源见https://github.com/gaowenliang/imu_utils[1],通过该工具包完成标定可以提供IMU的随机误差——noise和random walk。

imu_utils 测量结果:零偏  随机噪音

1.安装imu_utils

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

注意:这个是ros版本,在Ros的catkin_ws空间使用

2.安装code_utils

sudo apt-get install libgoogle-glog-dev libgflags-dev  # google-glog + gflags

sudo apt-get install libatlas-base-dev   # BLAS & LAPACK

sudo apt-get install libsuitesparse-dev   # SuiteSparse and CXSparse (optional)

mkdir -p ~/kalibr_ws/src

cd kalibr_ws/src

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

使用catkin编译

   问题:/home/iben03/kalibr_ws/src/code_utils/src/sumpixel_test.cpp:2:10: fatal error: backward.hpp: 没有那个文件或目录

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

修改头文件包含://#include "backward.hpp"

#include "code_utils/backward.hpp"

catkin_make 所有成功!

3.安装imu_utils

    cd kalibr_ws/src

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

    cd ..

    catkin_make

4.录制imu数据:静止数据,用来记录噪音平差

从10点录制到12点  2023-06-07-09-57-43-2hour-static.bag

5.标定过程

roslaunch imu_utils wit.launch

rosbag play -r 20 /home/iben03/data_imu/2023-06-07-09-57-43-2hour-static.bag

注意:在launch里面,设置时间为小于录制时间包,比如120

6.获取结果:在设定的文件夹里面

零偏和随机游走结果:120min  结果分析:加速度漂移还是不小的,达到0.5cm级别

%YAML:1.0---
type: IMU
name: wit
Gyr:
   unit: " rad/s"
   avg-axis:
      gyr_n: 0.
      gyr_w: 0.
   x-axis:
      gyr_n: 0.
      gyr_w: 0.
   y-axis:
      gyr_n: 0.
      gyr_w: 0.
   z-axis:
      gyr_n: 0.
      gyr_w: 0.
Acc:
   unit: " m/s^2"
   avg-axis:
      acc_n: 5.6321148008435318e-03
      acc_w: 4.6265159235634552e-04
   x-axis:
      acc_n: 3.9721600732445812e-03
      acc_w: 3.7733298335720493e-04
   y-axis:
      acc_n: 5.1669748654936103e-03
      acc_w: 3.4456535278039807e-04
   z-axis:
      acc_n: 7.7572094637924057e-03
      acc_w: 6.6605644093143345e-04

你可能感兴趣的:(三维重建/SLAM,算法,数据结构)