相机标定
作为t265而言,虽然官方提供了标定的出厂内参rs-enumerate-devices -c可以获得,但是我们在vins和orbslam中仍然有可能需要自己标定数据,这里给出教程。
首先我们要明确适用的模型,一般普通相机小孔模型即可,而鱼眼镜头则是适用KB4(Kannala-Brandt Camera Model)或者Mei模型
目前可以用kalibr或者vins-fusion里面的camera-calibration 也可以用basalt。首先我们需要明确basalt必须使用AprilTag,而kalibr则是可以使用AprilTag、Checkerboard、Crilegrid这三种标定板
下面我们将从kalibr 和 basalt来实现标定操作
kalibr
首先安装依赖库
sudo apt-get install python-setuptools sudo apt-get install python-setuptools python-rosinstall ipython libeigen3-dev libboost-all-dev doxygen sudo apt-get install ros-kinetic-vision-opencv ros-kinetic-image-transport-plugins ros-kinetic-cmake-modules python-software-properties software-properties-common libpoco-dev python-matplotlib python-scipy python-git python-pip ipython libtbb-dev libblas-dev liblapack-dev python-catkin-tools libv4l-dev
接下来安装kalibr
cd ~/catkin_ws/src git clone https://github.com/ethz-asl/Kalibr.git cd .. catkin_make source ~/catkin_ws/devel/setup.bash
在看其他博客时发现可能会出现python相关的问题,我用的是ubuntu16.04自带的Python 2.7.12版本,在安装过程中没有出现问题。
下载官方给的**april_6x6_80x80cm_A0.pdf**或者其它标定文件。打印或者在屏幕显示,测量实际的尺寸后,在你之前新建的文件夹中新建apriltags.yaml,我的文件内容如下:
target_type: 'aprilgrid' #gridtype tagCols: 6 #number of apriltags tagRows: 6 #number of apriltags tagSize: 0.16 #size of apriltag, edge to edge [m] tagSpacing: 0.3125 #ratio of space between tags to tagSize #example: tagSize=2m, spacing=0.5m --> tagSpacing=0.25[-]
之后,在你新建的文件夹中打开终端,开启realsenseT265
roslaunch realsense2_camera rs_t265.launch
修改话题发布频率
rosrun topic_tools throttle messages /camera/fisheye2/image_raw 10.0 /fisheye2 rosrun topic_tools throttle messages /camera/fisheye1/image_raw 10.0 /fisheye1
录制文件,注意录制过程中要缓慢移动相机,使其能看到完整清晰的标定文件(可以先在录制前打开rviz,调用image的话题进行观察,判断移动的位置)
rosbag record -O cameras_calibration /fisheye1 /fisheye2
在录制好后使用下面的指令输出
kalibr_calibrate_cameras --target ~/cal/apriltags.yaml --bag ~/cal/cameras_calibration.bag --models omni-radtan omni-radtan --topics /fisheye1 /fisheye2 basalt_calibrate --dataset-path ~/cal/cameras_calibration.bag --dataset-type bag --aprilgrid ~/cal/apriltags.json --result-path ~/cal/ --cam-types ds ds ds ds
此外可以参考(https://blog.csdn.net/lemonxiaoxiao/article/details/109369181、https://blog.csdn.net/HUST_lc/article/details/96144499)这两篇文章。
IMU标定,以及联合标定