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

相关推荐
简单点好不好20 小时前
大恒相机-mono12-python示例程序
开发语言·python·数码相机
中达瑞和-高光谱·多光谱2 天前
高光谱成像系统赋能烟叶分选(烟叶除杂、烟叶霉变、烟叶烟梗区分、烟叶等级分选)
数码相机
gaosushexiangji2 天前
一项基于高灵敏度sCMOS相机的光镊成像实验
数码相机
王哈哈^_^4 天前
YOLOv11视觉检测实战:安全距离测算全解析
人工智能·数码相机·算法·yolo·计算机视觉·目标跟踪·视觉检测
不一样的故事1264 天前
iPhone 17 Pro Max 的评测和用户反馈
数码相机·智能手机·iphone
一只在学习的瓶子4 天前
Camera性能
数码相机
第二层皮-合肥4 天前
图像处理中的暗场校正
图像处理·数码相机·计算机视觉
格林威5 天前
AOI在风电行业制造领域中的应用
人工智能·数码相机·计算机视觉·视觉检测·制造·机器视觉·aoi
kyle~5 天前
机器视觉---UVC相机驱动
数码相机
代码改善世界7 天前
仓颉语言相机拍照功能实现深度解析
数码相机