一,传统二维码
1.1 二维码
二维码_百度百科
二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的、黑白相间的、记录数据符号信息的图形;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。
1.2 二维码分类
在工程上,二维码主要分为两类,一种是以信息为载体的信息码,例如,微信二维码主要获取其搭载的字符信息。另一种是定位码,例如,Apriltag码系和ARUCO码系。其弱化了搭载的信息量,强化了检测速度和鲁棒性以及加入相对位姿计算功能。
1.3 定位码的分类
AprilTag
以Apriltag为核心的定位码系统,主要以方块码中的角点作为关键点进行位姿计算。近些年出现了以圆环和圆片构建的圆片码。以圆心为关键点进行位姿计算。基于简单的几何特征的图形图案保证了机器人可以在距离较远,且场景复杂的环境中快速检测。不同的基础几何形状应对不同的场景的能力不同:
- 圆片和圆环可以保证距离较远的情况下定位的准确性,圆在视角变化时会产生仿射变换,在相机平面中是以椭圆的形式展现,其应对视角变换的能力相对较弱。
- 方块由于角点在不同视角的情况下的鲁棒性更强。其弱点是在远距离视角下容易角点发生偏移。
图1 各种定位码示意
二,SEERTAG设计
2.1 红外反光材料
为保证机器人在任何场景下都可以适应,不同的光照反光片的选择标准:在限制重量和大小的前提下,能在不同视角下全反射不同视角的光线为准。具有高反射系数,同时不影响美观,抗污染和高温,易黏贴。业界普遍使用材料如下:
图2 反光材料
该材料类似于激光定位中反光柱的材料。
2.2 SEERTAG
目前暂定的TAG方案,中间有五个不变的固定定位贴片以及其他信息贴片组成。根据场景和客户需求不同,二维码的大小数量可以通过Roboshop自动生成不同的家族。
二维码工具
图3 SEERTAG 设计样例
为保证工业场景中二维码识别和位置计算的准确性,SEERTAG使用五个定位点。该定位点存在所有的二维码中,安装前请仔细检查二维码定位点的准确。如下图所示,二维码的大小由圆片半径𝒓和两个圆片之间的距离𝒍=4𝒓共同决定。
图 4 SEERTAG标准尺寸说明
2.3 码表的使用和部署
为适应不同的场景高度和安装要求,仙工SEERTAG支持不同大小的码族,一个码族内SEERTAG的尺寸是一致的,唯一的不同是每一个码的ID号码。
码族1:该族中,二维码拥有正常的尺寸,圆片大小为2cm。支持的高度为0.5-6m范围。
码族2:该族中,二维码拥有较大的尺寸,圆片大小为4cm。支持的高度为2-10m范围。
图5 SEERTAG 码族1中的二维码示例
实际SEERTAG样品,以14号码为例
图6 SEERTAG样品
2.4 二维码大小及码族在相机中的配置
在相机插件开启之前,请对相机进行配置,配置seertag_size的大小以及选用的seer_family_id的类型。
参数名称 | 参数位置 | 单位 | 默认值 | 最小值 | 最大值 | 支持版本 |
---|---|---|---|---|---|---|
use_for_localization | 模型文件 | bool | false | — | — | |
是否是红外相机 | ||||||
seertag_size | 模型文件 | 米 | 0.02 | — | — | |
二维码大小 | ||||||
seer_family_id | 模型文件 | - | 1 | — | — | |
二维码使用的家族 |
三,SEERTAG安装要求
3.1 单个二维码安装要求
SEERTAG默认是要安装在天花板中水平安装的,其中二维码无朝向要求,在安装过程中,需要尽可能与地面保持水平。SEERTAG的安装高度为1-10m。高度由相机分辨率决定,SEERTAG高度会影响二维码定位的准确性,高度越高定位精度越差。SEERTAG尽量安装在机器人经过路径的正上方,避免一些货物遮挡,行人遮挡或者易活动的天花板区域
3.2 区域二维码安装要求
为尽可能提高SEERTAG的利用率和降低SEERTAG的数量,建议在如下区域部署二维码:
- 机器人定位不准,场景变化较大的区域
- 地面湿滑,轮子打滑区域。
- 机器人经常经过的特定地点,例如充电点,取货点等
- 行人较多,车辆较多的区域。
- 额外需要高精度定位的区域。
严重警告:SEERTAG同一部署场景中,不能出现相同ID号码的两个码。
图7 SEERTAG安装运行示意