场地标定
本教程将会引导读者如何标定 KKSWARM 项目所需要的真实物理环境
提示
光照标定
注意
由于海康威视相机并未开源底层代码。因此对于相机的参数只能通过其软件进行调节。但是使用其官方软件调节的时候,无法启动ROS驱动。故在光照调节上需要时间和耐心
- 
将场地搭建好以后,将开迷你主机 
- 
启动海康威视软件。打开终端,输入命令: cd /opt/MVS/bin ./MVS.sh
- 
调节参数如下图所示:   配置界面 
将采样频率设置为30,伽马设置为sRGB。曝光时间根据实际的场地进行调整。
- 
关闭该窗口。启动ROS相机驱动(记得启动 roscore) rosrun camtoros camtoros
- 
启动直方图参考程序 rosrun camtoros hist_reference_generate.py
该程序将会在当前目录下生成一个直方图,如下图所示:
 
    亮度直方图参考
- 此时可以将小车摆放在不同的位置,观察rviz中是否能识别到其坐标变化。如果可以,表示标定成功。如果出现卡顿或者无法识别。请重复 2-5 步骤。
提示
- 上述直方图仅做一个参考
- 如果仍然无法标定,建议购买补光灯
位置标定
- 
将场地搭建好以后,将迷你主机开机。 
- 
打开终端,输入命令,启动 roscore:roscore
- 
启动相机驱动。打开终端,输入命令: rosrun camtoros camtoros
- 
启动二维码检测功能包。打开终端,输入命令: roslaunch apriltag_ros continuous_detection.launch
- 
启动定位系统。打开终端,输入命令: roslaunch global_vision start.launch
- 
启动rviz。打开终端,输入命令: roscd camtoros/config rviz -d tf.rviz
- 
将相机的话题选择为 /reference_rectangle/image_raw,即可看到画面中有一个绿色的参考框出现。
- 
由于在 场地搭建 中,仅仅只是搭建了场地,但是没有进行标定。因此,此时需要根据程序,调节摄像机的高度和方向,让参考框和地毯的白线对齐。如下图所示:   图3 场地标定界面 
注意
该步骤需要两个人配合完成
警告
调节相机的时候,需要梯子或桌子垫高。请务必注意安全,防止跌伤!
- 
当参考框对齐以后,将任意一辆小车(以1号车为例),放置在原点位置。(原点位置确定见场地搭建),此时输入命令 rostopic echo /robot_1/pose或 查看rviz里面,robot_1/base_link标签下的Postion中的xy值,看看小车的坐标是否在原点附近。如果不在,打开代码:src/apriltag_ros/apriltag_ros/src/common_functions.cpp第549行,进行误差的修正:averagePoint.x / 355 - 2.9, averagePoint.y / 355 - 2.7, tvec.at<double>(2);
通过修改第 549 行的 355 ± x,来修正原点位置。
注意
每次修改完以后,需要进行编译,然后重启
roslaunch global_vision start.launch命令