识别专栏之栈板识别
欢迎来到识别专栏的第二篇技术专题文章-栈板识别!全文将详细讲解栈板识别的各项技术要点。文章较长,请耐心观看哦~
阅读前,如您对栈板还有任何疑问可以戳这里了解栈板。另:文中托盘及栈板均指栈板。
一、使用场景
在工厂仓库中,利用自动叉车进行货物搬运是非常常见的应用场景,通常货物搬运需要借助托盘进行转运,同时大部分工厂环境内无法设置机械限位保证托盘摆放位置的一致性,因此 AMR 进行托盘叉取时需要借助视觉辅助识别托盘准确位置,通过 AMR 位置调整进行准确地叉取。
二、相机配置及标定
2.1、相机网络配置
本公司选用图漾相机型号为 FM851-RI,主要用于叉车类 AMR 进行栈板识别功能,其原理是利用双目结构光获取物体的 3D 点云,通过托盘特殊的形状结构进行识别定位,通常将相机安装于叉车叉齿中部。
1.打开 Roboshop Pro,点击【其他】,选择【相机网络配置】
2.打开后的界面
3.确认已通过以太网连接相机后,点击刷新按钮(右上角蓝色图标)
4.修改IP中的地址为所需地址,通常相机配置为192.168.192.xxx,按下【OK】按钮
5.出现“Update Success”则表示修改成功,结束操作。
2.2、相机外参标定
对于安装在地面叉车或者叉车上面用于二维码识别功能以及识别栈板功能的相机,可以参考下面进行相机的标定,首先需要标定支架,其中【标定支架设计图纸从以下链接中下载:
(密码:8145CBEC)】,支架安装如下图所示:
其中支架必须和地牛叉齿严密贴合,保证支架垂直于地面,同时支架也与货架腿保持垂直。接下来在支架上面需要粘贴两个二维码,**左边需要粘贴ID=0的二维码,右边粘贴ID=1的二维码**。
在参数配置中分别配置如上图所示的各个参数:
**Tag_Height: 二维码的中心距离地面的高度**
**Tag_disFromCenter: 二维码距离里程中心的X方向距离**
**Tag_Size: 二维码的大小**
**disBetweenTag: 两个二维码中心之间的距离**
各个参数配置完成后,然后确认模型文件中相机类型下不要勾选3Dcamera,如下图:
然后保存推送之后,可以在其他选项中,选中该品牌相机进行标定。标定成功后即可输出相机安装位置的标定参数,
同时在标定结束后,可以在roboshop通过首页,机器人文件,选中robokit cameraData文件夹,进入可以以 tag开头命名的jpg文件,下载该文件可以看到标定结果,如下图所示:
在结果图中可以看到左边识别到的tag为ID=0,右边的tag为ID=1,说明识别成功。
三、识别文件配置以及叉取
3.1识别文件参数配置解释
使用栈板识别功能时,需要配置识别文件,在Roboshop识别文件选项中可以看到,选中pallet选项,然后修改属性窗口中相关参数。
默认当前只能识别左右对称的栈板,即中间孔的尺寸是一致的。在使用栈板识别功能前,需要在识别文件选项配置pallet相关参数,分别为:
pallet_width:栈板宽度
pallet_height:栈板高度
pocket_width:中间孔宽度
pocket_height:中间孔高度
pocket_spacing:中间腿宽度
栈板高度指栈板支撑柱的高度,不包括支撑柱之间连接物体的高度,栈板的厚度(栈板高度减去中间孔高度)要大于3cm以上,小于3cm可能会识别不到
如下图所示:
3.2 栈板摆放要求及相关参数配置说明
栈板摆放时栈板和机器人之间坐标系的偏差角一般小于 20°(下图中 α),水平偏差如下图(b)中 dis,小于 30cm。栈板距离相机一般大于 1m,小于 3m。如下图所示:
3.3、栈板识别叉车运动参数说明
参数配置中:
RecQRCode_AheadDist, 单位 m, 识别规划前置距离
RecQRCode_BackLength, 单位 m, 识别规划后置距离
(距离大致为叉车的里程中心和货叉上到位开关的距离。如果这个值偏大,会导致货物 DI 提前触发报错。如果这个值偏小,会导致地面叉车到点后没有触发到位 DI 报错。)
RecQRCode_PathSpeed, 单位 m/s, 识别路径的行驶速度
RecOnePathRatio,单位弧度,识别生成单条路径正切阈值
图示说明:
3.4、识别操作使用说明
在完成上述识别文件的配置之后,只需要在栈板点位对应的前置点属性中配置识别模型文件,即 pallet 文件。接着要进行执行动作的配置:
选中栈板所在位置的 AP 点,执行动作,然后按照上图所示执行 Load 动作,在成功识别后机器人将会前往 AP 点对栈板进行叉取。