标定前准备
使用9x6棋盘格和20毫米正方形,标定的时候要展平。
校准使用棋盘格的内部顶点,因此“10x7”棋盘使用内部顶点参数“9x6”,如下例所示。
什么规格的标定板都可以,只不过改一下参数就好。
空旷一点的区域,没有障碍物和标定板图案
通过 ROS 发布图像的单目相机
棋盘格(标定板),可以下载图片A4纸打印
1 安装摄像头:
sudo apt-get install ros-$ROS_DISTRO-usb-cam
2 启动摄像头:
roslaunch usb_cam usb_cam-test.launch
查看图像话题:
rostopic list:
/usb_cam/image_raw
3 安装ros标定包:
sudo apt-get install ros-$ROS_DISTRO-camera-calibration
4 rosrun camera_calibration cameracalibrator.py --size 9x6 --square 0.02 image:=/usb_cam/image_raw camera:=/usb_cam
参数含义:
1)size:标定棋盘格内部角点个数,这里使用的棋盘一共有7行,每行有9个内部角点。
2)square:这个参数对应每个棋盘格的边长,单位是米
3)image和camera:设置摄像头发布的图像话题
根据使用的摄像头和标定靶棋盘格尺寸,相应修改以上参数,即可启动标定程序。
标定界面
X:棋盘格在摄像头视野中的左右移动
Y:棋盘格在摄像头视野中的上下移动
Size :棋盘格在摄像头视野中的前后移动
Skew:棋盘格在摄像头视野中的倾斜转动
启动成功后,将棋盘格放入画面中心,变换不同位姿。系统会自主识别,最好的情况是【X】、【Y】、
【Size】、【Skew】下面的线条随着数据的收集先由红色变黄再变绿,尽可能填充满。
当4个条变绿的时候,点击蓝色按钮calibrate
点击【SAVE】保存不标定结果,出现最下面一行,点击【COMMIT】,退出。
标定结束后,标定结果存在 其他位置->计算机: /tmp/calibrationdata.tar.gz,可以移动出来看看内容
sudo mv /tmp/calibrationdata.tar.gz ~
解压后,里面有刚刚标定的图片,一个ost.txt文件和一个ost.yaml文件。
yaml文件是我们需要的,不过
还需要修改才可以使用。