【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,就是我们要求的外参。

相关推荐
weixin_432900373 小时前
口碑好的共晶贴片机公司
python·数码相机
学slam的小范3 小时前
Ubuntu18.04 D435i RGB相机与IMU标定详细版(四)
数码相机
学slam的小范6 小时前
【Ubuntu18.04 D435i RGB相机与IMU标定详细版(二)】
数码相机
LabVIEW开发14 小时前
LabVIEW双目测距
数码相机·计算机视觉·labview·labview知识·labview功能·labview程序
双翌视觉1 天前
机器视觉的汽车中控屏FPC模切应用
数码相机·汽车
Chicheng_MA2 天前
算能 CV184 智能相机整体方案介绍
人工智能·数码相机·算能
Antonio9152 天前
【图像处理】rgb和srgb
图像处理·人工智能·数码相机
格林威2 天前
UV紫外相机的简单介绍和场景应用
人工智能·数码相机·计算机视觉·视觉检测·制造·uv·工业相机
Matlab仿真实验室2 天前
基于Matlab实现双目图计算深度图
开发语言·数码相机·matlab·双目图计算深度图