• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

Kalibr 标定双目内外参数以及 IMU 外参数

人工智能 白巧克力亦唯心 2769次浏览 0个评论

本文记录使用 Kalibr 标定双目相机内外参数以及和IMU之间外参数的标定过程. 采用的硬件设备为小觅的双目VIO设备( MyntEYE), 并且默认你已经有了ROS的知识基础.   标定 stereo-imu 之前, 需要知道双目的内外参数, 所以先进行双目内外参数的标定.  

材料准备

安装Kalibr (忽略)

准备标定板

  标定板可以用 kalibr 提供的pdf, 里面有三种类型的标定板(Aprilgrid, Checkerboard, Circlegrid). 由于Aprilgrid能提供序号信息, 能够防止姿态计算时出现跳跃的情况, 所以建议采用Aprilgrid进行标定.   我直接下载这个pdf, 将电脑屏幕当成了标定板, 在标定前, 注意测量格子的尺寸信息填入yaml文件, 尺寸信息具体是哪些数据可以看看kalibr的说明.  

双目内外参数的标定

数据采集

  如果你已经有了通过 ROS 发布 image 消息的节点, 我们只需要使用 rosbag record 工具将拍摄到的标定板图像制作成 bag 文件就行了. 注意: 通常设备采集的频率为 20-60 hz, 这会使得标定的图像过多, 而导致计算量太大. 最好将ros topic的频率降低到4hz左右进行采集. (我采集里200多张照片, 计算了估计有一两个小时) ROS 提供了改变 topic 发布频率的节点throttle, 指令如下 :  

rosrun topic_tools throttle messages /mynteye/left/image_raw 4.0 /left

rosrun topic_tools throttle messages /mynteye/right/image_raw 4.0 /right

  对左右目的ros topic降低频率后就可以制作bag了  

rosbag record -O stereo_calibra.bag /left /right

 

标定

采集好数据集以后, 就可以用已经安装好的 Kalibr 标定双目相机了, 指令如下:  

source ros_ws/kalibr/devel/setup.bash
rosrun kalibr kalibr_calibrate_cameras --bag /home/heyijia/stereo_calibra.bag --topics /left /right --models pinhole-radtan pinhole-radtan --target /home/heyijia/april_6x6_80x80cm_A0.yaml
或者采用 pinhole-equi 模型,对畸变大的相机效果不错
rosrun kalibr kalibr_calibrate_cameras --bag /home/heyijia/stereo_calibra.bag --topics /left /right --models pinhole-equi pinhole-equi --target /home/heyijia/april_6x6_80x80cm_A0.yaml

 

Stereo-IMU 外参数标定

数据采集

  在标定完双目内外参数以后, 可以接着标定和 IMU 之间的外参数了. 这次采用同样的标定板, 采集数据的最佳频率为图像20Hz, IMU 200 Hz (当然其他频率也没问题).

rosbag record -O stereo_imu_calibra.bag /mynteye/left/image_raw /mynteye/right/image_raw /mynteye/imu/data_raw

  注意事项:

  1. 采集数据的起始和结束阶段注意别晃动太大,如从桌子上拿起或者放下。如果有这样的动作,在标定阶段应该跳过bag数据集的首尾的数据.
  2. 采集数据的时候应该给imu各个轴足够的激励,如先依次绕各个轴运动,运动完后来个在空中画8字之类的操作,当然也要注意别运动太剧烈,图像都模糊了。

 

标定

标定 stereo-imu 外参数时,需要利用前面标定好stereo内外参数文件camchain-homeheyijiastereo_calibra.yaml,标定指令如下:  

 kalibr_calibrate_imu_camera --target /home/heyijia/april_6x6_80x80cm_A0.yaml --cam /home/heyijia/camchain-homeheyijiastereo_calibra.yaml --imu /home/heyijia/imu_mynteye.yaml --bag /home/heyijia/stereo_imu_calibra.bag --bag-from-to 2 37

 

问题

标定过程中,如果提示不能得到初始焦距的时候,可以设置:export KALIBR_MANUAL_FOCAL_LENGTH_INIT=1。然后运行程序,当程序运行失败的时候,它会提示要你手动输入一个焦距,Initialization of focal length failed. Provide manual initialization: 这时你手动输入比如 400。给比较大的值,也能收敛。  


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明Kalibr 标定双目内外参数以及 IMU 外参数
喜欢 (0)

您必须 登录 才能发表评论!

加载中……