环境:ubuntu18.04,intel10700,1060 3G
双目标定
roscore 开终端
source devel/setup.bash
roslaunch zed_wrapper zedm.launch 开终端,启动摄像头
rosrun image_view image_view image:=/zedm/zed_node/left/image_rect_color & rosrun image_view image_view image:=/zedm/zed_node/right/image_rect_color开终端,启动左右可视
rviz
rosrun topic_tools throttle messages /zedm/zed_node/left/image_rect_color 20 /zedm/zed_node/left/image_rect_color2
rosrun topic_tools throttle messages /zedm/zed_node/right/image_rect_color 20 /zedm/zed_node/right/image_rect_color2 开终端,降频工具,话题名,发布频率到20Hz,重新命名
rosbag record -O Kalibr_cyx_data.bag /zedm/zed_node/imu/data_raw /zedm/zed_node/left/image_rect_color2 /zedm/zed_node/right/image_rect_color2 开终端,录包录包,指定话题,文件命名,话题名1,话题名2...
rosbag info Kalibr_cyx_data.bag 查看包数据
kalibr_calibrate_cameras --bag Kalibr_cyx_data.bag --topics /zedm/zed_node/left/image_rect_color2 /zedm/zed_node/right/image_rect_color2 --models pinhole-radtan pinhole-radtan --target april_6*6_A4.yaml 标定相机,包名,话题名,选取模型,目标标定板
注意:target.yaml文件要根据打印的标定板自行设定,或用标准标定板及其配套参数。calibr有三种标定板
kalibr_camera_validator --cam camchain.yaml --target target.yaml 标定结果的验证,原理是对重投影误差进行量化分析
imu标定
陀螺仪模型: w* = w + b + n
imu待标定参数:随机噪声n,包括白噪声和随机游走
roscore 开终端
source ./devel/setup.bash 开终端
roslaunch zed_wrapper zed2.launch开终端,启动相机节点
rosbag record -O imu.bag /zedm/zed_node/imu/data_raw 开终端,录包
rviz 开终端
先装软件code_utils,catkin_make,再装imu_utils,再catkin_make,source一下
改imu_tils内的.launch文件,改为自己的相机名
roslaunch imu_utils zedm_imu_cal.launch 显示waiting for imu data
rosbag play -r 200 imu.bag 重放包的数据,运行标定,等待一段时间,标定结束
联合标定
kalibr_calibrate_imu_camera --target /home/liu/catkin_ws/calibration/cam_cal/april_6*6_A4.yaml --bag /home/liu/catkin_ws/calibration/cam_cal/Kalibr_cyx_data.bag --cam /home/liu/catkin_ws/calibration/cam_cal/camchain-Kalibr_cyx_data.yaml --imu /home/liu/catkin_ws/calibration/imu_cal/zedm_imu_revise.yaml --imu-models scale-misalignment --timeoffset-padding 0.1 无空格
文件结构