标定板选型与设计:棋盘格、圆点阵、ChArUco板的选择标准与制作规范
标定板选型,说白了就是给你的相机找一把「尺子」。这把尺子准不准,直接决定了手眼标定的成败。我见过太多项目,算法调了半天,最后发现是标定板本身有问题——嗯,这种坑踩过一次就忘不了。
市面上主流的有三种:棋盘格、圆点阵、ChArUco板。它们各有脾气,选对了事半功倍,选错了...你可能得重新采集数据。
三种标定板的核心差异
先看一张对比表,心里有个底:
| 类型 | 角点提取精度 | 遮挡鲁棒性 | 制作难度 | 适用场景 |
|---|---|---|---|---|
| 棋盘格 | 高(亚像素级) | 差(遮挡即失效) | 低(打印即可) | 实验室、固定工位 |
| 圆点阵 | 中(圆心拟合) | 中(部分遮挡可恢复) | 中(需控制圆度) | 大视场、远距离 |
| ChArUco板 | 高(结合编码) | 强(部分可见即可用) | 高(需生成编码) | 大场景、多视角、自动化 |
棋盘格:经典但娇气
棋盘格是入门首选,HALCON里find_caltab用起来也顺手。角点检测精度高,算法成熟,我早期做项目基本都用它。
但有个致命弱点:棋盘格必须完整可见。只要有一个角被遮挡,整张图就废了。我在一个汽车焊装线项目里吃过这个亏——机器人手臂稍微挡了一下标定板边缘,采集了半小时的数据全得重来。
制作规范:
- 内角点数量:建议 7×7 或 9×7(行列数不要相等,否则方向歧义)
- 方格边长:占图像宽度的 1/10 ~ 1/8 为宜
- 边框留白:至少半个方格宽度,避免边缘截断
圆点阵:远距离的优选
圆点阵用圆心作为特征点。圆心拟合对透视变形不敏感,适合大视场或倾斜拍摄。HALCON里find_caltab也支持圆点阵,但需要指定'caltab_type'为'circle'。
我个人习惯在远距离(>2米)场景用圆点阵。为什么呢?因为棋盘格在远距离下,角点之间的像素距离太小,亚像素精度会下降。圆点阵的圆心拟合反而更稳定。
设计参数:
- 圆点直径:占方格边长的 60%~70%
- 圆心距:至少 2 倍直径,避免粘连
- 行列数:建议 7×7 或 11×9,同样避免正方形
ChArUco板:工业级的全能选手
ChArUco板是棋盘格和ArUco码的结合体。每个格子内部嵌有唯一编码,即使部分遮挡,也能通过编码恢复位姿。说白了,它解决了棋盘格「全或无」的痛点。
我在一个大型物流分拣项目里用过ChArUco板。现场环境复杂,标定板经常被传送带上的包裹挡住一半。换成ChArUco板后,只要能看到 4 个以上编码,就能完成标定。效率提升不是一星半点。
HALCON生成示例:
* 生成ChArUco板描述文件
create_caltab (
7, 7, * 棋盘格内角点行列数
0.012, 0.008, * 方格边长(m),编码边长(m)
'charuco', * 类型
'caltab.descr', * 输出描述文件
'caltab.ps' * 输出打印文件
)
注意事项:
- 编码字典:HALCON默认使用
'DICT_4X4_50',足够日常使用 - 打印尺寸:编码区域至少 20×20 像素,否则解码失败
- 光照均匀:编码对光照敏感,避免局部过曝
选型决策流程
我整理了一个简单的决策逻辑,你照着走就行:
制作规范与常见陷阱
不管选哪种板子,制作环节都有几条铁律:
- 平面度第一:标定板必须贴在刚性基板上。我见过有人贴在三合板上,结果受潮变形,标定误差直接翻倍。
- 尺寸精度:方格边长或圆心距的误差控制在 0.1mm 以内。工业级建议用光刻或蚀刻工艺。
- 对比度:黑白区域的灰度差至少 100 以上。HALCON的
find_caltab对对比度敏感,灰蒙蒙的板子检测会失败。 - 防反光:哑光处理是必须的。如果现场有强光,可以考虑偏光片。
HALCON中的标定板文件生成
不管你选哪种,都需要生成描述文件(.descr)和打印文件(.ps)。HALCON的create_caltab一步搞定:
* 棋盘格示例
create_caltab (7, 7, 0.012, 0.012, 'caltab.descr', 'caltab.ps')
* 圆点阵示例
create_caltab (7, 7, 0.012, 0.012, 'caltab.descr', 'caltab.ps', 'circle')
* ChArUco示例
create_caltab (7, 7, 0.012, 0.008, 'caltab.descr', 'caltab.ps', 'charuco')
参数说明:前两个是内角点行列数,第三个是方格边长(米),第四个是编码边长(仅ChArUco需要)。
read_caltab加载描述文件,再用disp_caltab显示,确认角点顺序和坐标系方向正确。这一步花不了 1 分钟,但能避免后续标定时的方向混乱。
好了,标定板选型这块就聊到这儿。记住一句话:没有最好的板子,只有最合适的板子。根据你的场景、距离、遮挡情况来选,别盲目跟风。