1.首先在docker中安装ubuntu14.04, 在16.04编译不过,不知道为什么.

2.安装kalibr ros包.

3.下载官方提供的验证数据

4.我们先标定相机,使用的数据为static.bag,支持多相机内外参标定,支持多种相机模型.

4.1 通过rosbag info 指令我们可以查看到,该数据集包含4个相机topic数据,1个imu topic数据.

4.2 然后我们按照readme指示执行标定.指令格式:

  • --bag filename.bag
    包含数据的ROS包
  • --topics TOPIC_0 ... TOPIC_N袋子
    中所有相机主题的列表。匹配--models的顺序
  • --models MODEL_0 ... MODEL_N
    要安装的相机/失真模型列表。匹配--topics的顺序(请参阅支持的模型
  • --target target.yaml
    校准目标配置(请参阅“ 校准目标”

执行:

kalibr_calibrate_cameras --target data/kalibr_sample/static/april_6x6.yaml --bag data/kalibr_sample/static/static.bag --models pinhole-equi pinhole-equi omni-radtan omni-radtan --topics /cam0/image_raw /cam1/image_raw /cam2/image_raw /cam3/image_raw

校准将产生以下输出:

  • report-cam-%BAGNAME%.pdf:以PDF格式报告。包含所有用于文档的图。
  • results-cam-%BAGNAME%.txt:结果摘要为文本文件。
  • camchain-%BAGNAME%.yaml:结果为YAML格式。该文件可用作相机imu校准器的输入。

5.IMU的固有参数默认是已经得到,一般出厂时IMU就已经经过了固有参数的标定,或者其他方法,如imu_utils

6.IMU与相机间标定,其指令格式为:

  • --bag filename.bag
    包含图像和IMU数据的ROS袋
  • --cam camchain.yaml
    摄像机系统的内部和外部校准参数。此处可以使用多机位校准工具的输出。(请参见YAML格式
  • --imu imu.yaml
    包含IMU统计信息和IMU主题(请参阅YAML格式
  • --target target.yaml
    校准目标配置(请参阅Cailbration目标
kalibr_calibrate_imu_camera --target april_6x6.yaml --cam camchain.yaml --imu imu_adis16448.yaml --bag dynamic.bag --bag-from-to 5 45

校准将产生以下输出文件:

  • report-imucam-%BAGNAME%.pdf:以PDF格式报告。包含所有用于文档的图。
  • results-imucam-%BAGNAME%.txt:结果摘要为文本文件。
  • camchain-imucam-%BAGNAME%.yaml:结果为YAML格式。该文件基于输入camchain.yaml,并为所有摄像机相对于IMU添加了转换(以及可选的时移)。请检查YAML格式页面上的格式

camchain-imucam.txt.

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐