Ubuntu20.04环境下IMU标定

1.安装依赖

sudo apt-get install libdw-dev

2.下载安装code_utils

创建一个catkin_ws空文件再创建src,在src目录下打开终端输入:

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

编译时报错:fatal error: backward.hpp: No such file or directory
    2 | #include "backward.hpp"

solution:

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

编译时报错:error: ‘CV_LOAD_IMAGE_XXXXX’was not declared in this scope

error: ‘CV_LOAD_IMAGE_UNCHANGED’ was not declared in this scope
error: ‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scope
solution:将CV_LOAD_IMAGE_修改为cv::IMREAD_。

编译时报错:rror: ‘CV_MINMAX’ was not declared in this scope; did you mean ‘CV_MMX’?

solution:将CV_MINMAX修改为CV_MMX。

3.下载安装imu_utils

cd src
git clone https://github.com/gaowenliang/imu_utils
cd ..
catkin_make

4.录制bag

  1. 首先运行自己的imu,如果是相机内置imu则启动相机。用rostopic list查看imu的话题(例如:/imu/sensor_msgs/Imu
  2. 将imu静置两个小时,录bag:rosbag record -O imu.bag /imu/sensor_msgs/Imu  #注:-O表示生成的bag名字不带时间戳

5.标定

1.更改launch文件

进入PATH/src/imu_utils/launch文件内,复制A3.launch,改名为imu_launch,修改其中内容

<launch>

    <node pkg="imu_utils" type="imu_an" name="imu_an" output="screen">
        <param name="imu_topic" type="string" value= "/imu/sensor_msgs/Imu"/>
        <param name="imu_name" type="string" value= "imu"/>
        <param name="data_save_path" type="string" value= "/home/alex/work/Camera/imu_calibrate_ws/yaml_Data/"/>
        <param name="max_time_min" type="int" value= "120"/>
        <param name="max_cluster" type="int" value= "100"/>
    </node>

</launch>

imu_topic: 表示自己录制的imu话题的名字,其value需要修改成自己的imu话题名

imu_name: 自己的imu名字,可以随便取,最后标定数据的结果也会根据这个保存

data_save_path: 最后结果的存放的目录,在文件下找到相应的yaml即可查看标定的结果

max_time_min: 取数据的时长,一般默认120分钟,程序会在最大时间截断读取数据

2.开始标定

roslaunch imu_utils imu.launch
rosbag play -r 200 imu.bag

标定的结果在data_save_path下,yaml的内容形式如下:

3.与相机联合标定的yaml文件

根据标定出的yaml文件可以编写相机和imu联合标定需要的imu的yaml文件,只需要平均值,不需要每个轴单独的值。

联合标定imu的yaml文件格式如下:

#Accelerometers
accelerometer_noise_density: 1.4329894548292574e-02  #Noise density (continuous-time)
accelerometer_random_walk:   7.7006237707661935e-04  #Bias random walk

#Gyroscopes
gyroscope_noise_density:     1.2969951672102680e-03   #Noise density (continuous-time)
gyroscope_random_walk:       3.8676356188505408e-05  #Bias random walk

rostopic:                    /imu      #the IMU ROS topic
update_rate:                 200.0      #Hz (for discretization of the values above)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值