相机校准
KKSWARM定位系统依赖于相机,因此,相机参数内参校准将会影响到后续的定位系统的精度
注意
虽然相机在给到用户手中是进行过校准的。但是由于用户实际使用场地和发货前测试场地不一定完全相同。因此建议用户在拿到相机后,自行进行校准一次
前期准备
相机校准需要用到以下环境和物品:
- 海康威视相机驱动Linux版本(软件环境安装)
- 完成场地搭建工作
- 准备棋盘格校准工具
- 安装校准所需工具
sudo apt intstall ros-melodic-camera_calibration
具体操作步骤
注意
- 由于该相机镜头是一个可变焦距镜头,因此在校准前。 务必固定好焦距,再进行校准。
- 校准将会在完成场地搭建的基础上进行校准
- 校准时,建议两个人配合完成
- 将相机固定在龙门架上,然后将相机接入MINI主机
- 打开终端,输入命令:
cd /opt/MVS/bin
./MVS.sh
此时将会启动海康威视相机的客户端界面,如图1所示:
图1 相机启动界面
- 根据图2的操作,连接相机
图2 连接相机
- 相机连接以后,需要进行调节相机的焦距。相机镜头有两个旋钮,通过旋转不同的旋钮使得在图像采集界面出现的图像是 清晰可见 以及 亮度合适 的画面。
警告
调节焦距需要使用家庭便携梯子,或者桌子等。请注意安全!防止跌落摔伤
- 待焦距固定以后,开始校准相机
- 打开终端,输入命令,启动
roscore
roscore
- 打开终端,输入命令,启动相机节点
rosrun camtoros camtoros
- 打开终端,输入命令,启动相机校准节点
rosrun camera_calibration cameracalibrator.py --size 6x4 --square 0.037 image:=/hik_camera/image_raw
如图3所示:
图3 相机校准程序
- 将棋盘格放置在镜头正下方,然后开始
左右、上下、倾斜
等动作进行缓慢移动。直到右边的按钮变亮即可,如图4所示:
图4 相机校准完成
注意
尽可能让棋盘格离相机近一点,方便检测。如果位置太低,会出现无法检测的情况
- 点击 图4 中的
CALIBEATE
按钮,程序将会自动进行校准。等校准完成以后,终端将会输出校准信息,如图5所示
图5 相机校准结果
- 点击
SAVE
按钮,将信息保存下来,同时终端将会输出保持位置的信息。如图6所示
图6 相机校准结果保存位置
- 打开终端,输入命令
mkdir ~/calb
cp /tmp/calibrationdata.tar.gz ~/calb
cd ~/calb
tar -xzvf calibrationdata.tar.gz
- 在解压中的文件中,找到名为
ost.yaml
的文件,该文件包含相机校准的参数。将该文件重命名为caminfo.yaml
放到kk-robot-swarm/src/camtoros/config/
文件夹下。
注意
该操作将会覆盖发货测试时的相机参数,建议先将原来的文件重命名为
caminfo.yaml.back
再进行复制操作
- 打开复制后的文件
caminfo.yaml
,将文件内的参数修改为如下所示:
...
camera_name: hik_camera
...
distortion_model: radtan