zed2相机标定(IMU)

二、IMU标定

陀螺仪模型:

其中,\omega为陀螺仪测量值;\bar{w}为陀螺仪真实值;b_{w}陀螺仪零偏(也叫偏置);n_{w}陀螺随机噪声项(包括白噪声和随机游走噪声)。

注意:我们通过艾伦方差法imu_tils工具标定的是陀螺仪和加速度计的白噪声和随机游走噪声

1、启动相机节点

source ./devel/setup.bash
roslaunch zed_wrapper zed2.launch

2、打开ros话题,找到相机中imu的话题:zed/imu/data_raw

rostopic list

3、下载imu_tils和code_tils

官网下载:

https://github.com/gaowenliang

4、运行下面rosbag指令,静止imu两小时

rosbag record /zed/imu/data_raw -O imu.bag

5、标定imu

在标定之前,我们需要重新写一个launch文件,用于imu_tils订阅我们zed2相机的imu话题。

在imu_tils文件下,复制launch文件夹中的.launch,将其命名为zed_calibration.launch,修改内容为如下:

<launch>
    <node pkg="imu_utils" type="imu_an" name="imu_an" output="screen">
        <param name="imu_topic" type="string" value= "/zed2/zed_node/imu/data_raw"/>
        <param name="imu_name" type="string" value= "ZED2"/>
        <param name="data_save_path" type="string" value= "$(find imu_utils)/data/"/>
        <param name="max_time_min" type="int" value= "120"/>
        <param name="max_cluster" type="int" value= "200"/>
    </node>
</launch>

最后,执行标定:

在imu_tils文件夹下,打开终端,输入:

source ./devel/setup.bash
roslaunch imu_tils zed_calibration.launch

最后得到imu的标定结果(得到加速度计和陀螺仪的avg-axis):

%YAML:1.0
---
type: IMU
name: imutest
Gyr:
   unit: " rad/s"
   avg-axis:
      gyr_n: 1.66653821181e-03
      gyr_w: 3.62995642537e-06

Acc:
   unit: " m/s^2"
   avg-axis:
      acc_n: 1.95210249097e-03
      acc_w: 3.21657754841e-05

6、通过相机SDK驱动读取厂家标定的IMU两个噪声

cd /usr/local/zed/samples/tutorials/tutorial 7-sensor data/cpp
mkdir build
cd build
cmake ..
make 
./ZED_Tutorial_7

因为IMU参数在程序数据读取前面,所以及时ctrl+c停止。获得下图:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值