使用imu_utils工具标定imu的内参

跑slam需要标定imu,在这里简要记录imu_utils操作流程,不做原理解析

实验环境:ubuntu16.04+ROS_kinetic+robosense16线+xsense_mti_g700

1、安装依赖

sudo apt-get install libdw-dev

2、全局安装ceres库(官方详细链接)

# CMake
sudo apt-get install cmake
# google-glog + gflags
sudo apt-get install libgoogle-glog-dev libgflags-dev
# BLAS & LAPACK
sudo apt-get install libatlas-base-dev
# Eigen3
sudo apt-get install libeigen3-dev
# SuiteSparse and CXSparse (optional)
sudo apt-get install libsuitesparse-dev

使用git clone https://ceres-solver.googlesource.com/ceres-solver克隆的ceres最新版本与eigen3不匹配需要在上面官网链接的version history下找到ceres1.14.0版本下载并解压到home下

解压后的ceres1.14.0文件夹单击右键新开终端执行编译安装

mkdir build
cd build
cmake ..
make
sudo make install

3、下载code_utils https://github.com/gaowenliang/code_utils

(imu_utils 依赖 code_utils所以先把code_utils放在工作空间的src下面编译然后再将imu_utils放到src下编译)新建工作空间将下载的code_utils解压放在src下,在imu_utils/src/code_utils/下打开sumpixel_test.cpp文件修改#include "backward.hpp"为 #include “code_utils/backward.hpp

//新建工作空间
mkdir imu_utils/src

//将code_utils放进src下并修改头文件后编译
cd ..
catkin_make

4、下载imu_utils https://github.com/gaowenliang/imu_utils

code_utils编译成功后把imu_utils放到工作空间的src下面,进行编译 

catkin_make

5、录制imu数据包(全程保持imu静止不动,imu上电运行十分钟后开始录制,录制两个小时)

//运行launch启动imu
//新建文件夹testbag用来放imu数据包,有就跳过
//右键testbag新开终端

rosbag record -O imu.bag /imu/data

//两小时后ctrl+c结束录制,bag自动保存在打开终端的文件夹testbag里

6、标定imu(标定过程imu不要运行

在 imu_utils/src/imu_utils/launch/下找到xsense.launch,修改imu话题名和time,两小时就设为120

使用imu_utils工具标定imu的内参_第1张图片

启动launch

//在imu_utils工作空间下
source  devel/setup.bash
roslaunch imu_utils xsense.launch 

播放imu包

//在放imu包的文件夹下右键新开终端,以两百倍速播放imu包
rosbag play -r200  imu.bag

播包结束时才会显示标定完成,标定结果在data文件夹下会生成一堆文件我们需要的是第一个标定结束,标定结果存在imu_utils/src/imu_utils/data/下xsense_imu_param.yaml

你可能感兴趣的:(自动驾驶,人工智能,机器学习)