kalibr使用记录

起因

本来一直都是直接使用ROS的camera_calibration package标定stereo camera的,最近有个工作需要用kalibr标定。还从来没用过,倒腾了一阵,发现还起步比较曲折,但是最后还是挺顺利,这记录一下。

使用的平台是Ubuntu 16.04 LTS, ROS kinetic. kalibr直接从github上clone下来。

kalibr 编译

Github的readme上也没写清楚,看看源码文件夹发现应该是放到catkin工作目录里面直接build。测试了一下,编译没有通过,系统上缺少 libv4l, 通过apt-get直接安装

sudo apt-get install libv4l-dev

之后catkin_make就顺利通过了。

kalibr 标定camera

录制bagfile

直接用的rosbag recored录的topic,没有用kalibr_bagcreater之类的东西。

标定

这里感觉kalibr 在github上的wiki并没有写太清楚,我直接试了一下rosrun 发现是可行的,实例如下

rosrun kalibr kalibr_calibrate_cameras --bag <bag_file_name> --topics <topic_0> <topic_1> --models <mode_0> <mode_1> --target <target_description_yaml_file>

这里kalibr wiki上对–models参数的解释并不直观,但好在kalibr_calibrate_cameras的报错信息非常体贴,告诉你正确的参数有哪些可选。

  • pinhole-radtan
  • pinhole-equi
  • omni-radtan
  • pinhole-fov
  • ds-none
  • omni-none
  • eucm-none

最后两个相机都是使用的pinhole-radtan

在第一次执行标定时,系统报了找不到igraph的错误,通过

pip install python-igraph

解决。
由于使用的相机image size非常小(320x240),标定过程很快,大概一分钟就完成了1600幅图的处理(左右各800幅图)。结果和之前用ROS camera_calibration很接近。

下一步

接下来是要标定IMU+camera。这个估计要等明天了。

你可能感兴趣的:(kalibr,相机标定,机器人)