【Ubuntu18.04 D435i RGB相机与IMU标定详细版(三)】

【Ubuntu18.04 D435i RGB相机与IMU标定详细版(三)】

提示:继上篇文章

文章目录


四、RGB相机与IMU联合标定

1.调节帧率

相机20Hz,IMU200Hz,官方说这个参数比较好,并分别以/color和/imu为话题名发布

c 复制代码
roslaunch realsense2_camera rs_camera.launch color_width:=640 color_height:=480 color_fps:=30
rosrun topic_tools throttle messages /camera/color/image_raw 20.0 /color
rosrun topic_tools throttle messages /camera/imu 200.0 /imu

2.录制数据包

官方似乎没有说录多久,但是说了每一个方向都要给激励,可以参考官网的视频。YouTube看不了的话可以看泡泡机器人搬运过来的视频。

总结下来就是偏航角左右摆动2次,俯仰角摆动2次,滚转角摆动2次,上下移动2次,左右移动2次,前后移动2次,然后自由移动一段时间,摆动幅度要大一点,让视角变化大一点,但是移动要缓慢一点,同时要保证标定板在2个相机视野内部,整个标定时间要在90s以上更好,但是优化时间会比较长。

c 复制代码
rosbag record -O dynamic /color /imu

3.重写yaml文件

标定需要三个文件,一个是相机的标定文件,一个是IMU的标定文件,一个是录制的数据包

(1)相机标定的yaml文件

由于我们刚刚也是在kalibr工作环境下标定的,所以直接用刚刚标定好的相机yaml文件即可。

即上述所说的

camchain-...camd435i.yaml

c 复制代码
cam0:
  cam_overlaps: []
  camera_model: pinhole
  distortion_coeffs: [0.11114194921960645, -0.2171600270591326, -0.0037942616908056637,
    -0.004000340562604045]
  distortion_model: radtan
  intrinsics: [579.5589935482029, 578.1762234104125, 326.6772381912598, 243.3955018655041]
  resolution: [640, 480]
  rostopic: /color

(2)新建imu.yaml

在kalibr工作环境目录下新建imu.yaml文件,格式如下:

格式如下:

c 复制代码
#Accelerometers
accelerometer_noise_density: 1.86e-03   #Noise density (continuous-time)
accelerometer_random_walk:   4.33e-04   #Bias random walk

#Gyroscopes
gyroscope_noise_density:     1.87e-04   #Noise density (continuous-time)
gyroscope_random_walk:       2.66e-05   #Bias random walk

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

已知

c 复制代码
Gyr:
   avg-axis:
      gyr_n: 3.1820671461855504e-03
      gyr_w: 3.0693398103399251e-05
Acc:
   avg-axis:
      acc_n: 2.6449533258549235e-02
      acc_w: 7.2111910796954259e-04

把IMU标定结果对应地填到imu.yaml去,如下:

c 复制代码
#Accelerometers
accelerometer_noise_density: 2.64e-02   #Noise density (continuous-time)
accelerometer_random_walk:   7.21e-04   #Bias random walk

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

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

由于我们刚刚也是在kalibr工作环境下标定的,所以直接用刚刚标定好的相机yaml文件即可。

即上述所说的

4.使用Kalibr进行标定

然后下面的参数仍然需要自己修改

c 复制代码
rosrun kalibr_calibrate_imu_camera --target 标定板位置/标定板名称.yaml --cam 相机标定位置/相机标定名称.yaml --imu imu.yaml --bag dynamic.bag --show-extraction

rosrun kalibr kalibr_calibrate_imu_camera --target ../camera_calib/april_6x6_80x80cm.yaml --cam ./d435i-camchain.yaml --imu imu.yaml --bag dynamic.bag --show-extraction

# --show-extraction 可以增加参数可视化标定

运行时间会根据你录制数据包的大小和电脑性能而定,我录制了将近两分钟,电脑是四年前的神舟,所以速度较慢,大概用了有半个小时以上,可以去喝杯咖啡再回来看看。

生成好多个文件,主要关注一个文件:

c 复制代码
camchain-imucam-dynamic.yaml

里面有一个T_cam_imu,就是我们要求的外参。

相关推荐
心无旁骛~2 天前
【VLA】如何构建高质量的机器人训练数据集?
数码相机·机器人
春日见2 天前
眼在手上外参标定保姆级教学(Ubuntu 18.04 + ROS)
数码相机
南山电子nscn3 天前
长晶高PSRR LDO产品在高速相机与手机摄像头中的应用分析
数码相机·智能手机·ldo
春日见3 天前
眼在手上外参标定保姆级教学---离线手眼标定(vscode + opencv)
linux·运维·开发语言·人工智能·数码相机·计算机视觉·matlab
Tel199253080043 天前
高速相机触发脉冲计数器信号采集模块 4倍频 5Mhz 的高速脉冲进行计数
数码相机·物联网·3dsmax·工业自动化·仪器仪表·工控设备
qq_526099133 天前
稳定耐用工业图像采集卡 | 宽温工作环境,适配恶劣工业场景
数码相机
思维新观察3 天前
理光 GR IV HDF 版发布:用喷墨技术重构光影质感
数码相机
春日见4 天前
如何跑通,吃透一个开源项目?
linux·运维·开发语言·数码相机·matlab
博图光电4 天前
当常规视觉 “束手无策”,BTIR 短波红外相机开启 “穿透式” 成像革命
数码相机
Tel199253080044 天前
CCD相机同步外触发拍照抓拍识别高速脉冲计数器信号采集模块
单片机·数码相机·物联网·自动化·工业自动化·仪器仪表