基于深度学习的吊具全自动抓箱定位系统
2023-11-22王陈余明志孙志军廉东上海博程电子科技有限公司
◎ 王陈 余明志 孙志军 廉东 上海博程电子科技有限公司
1.相机标定
(1)使用7×7 的标定板对相机内参进行标定,得到相机焦距fxfyu0v0,畸变系数k1k2k3p1p2。
(2)计算机视觉测距是基于图像识别进行定位的重要环节,其测距精度不仅与图像识别精度有关,还与摄像机参数息息相关,如通过摄像机标定所获取的摄像机内参数矩阵和畸变系数等。内参数矩阵,可表示为:
(3)畸变系数k1k2k3p1p2,是对采集图片进行去畸变处理,从而能够更准确地利用图像信息以及实现高精度测量。
(4)在吊具作业过程中,控制系统分别控制大、小车运行和旋转偏航角,因而需要对摄像头中心到锁孔中心的横、纵向的距离分别进行测量。
式中,Lpx,Lpy为对应方向上的成像长度,nx,ny表示对应方向上的像素个数,dx,dy为对应方向上的像元尺寸。
图1 吊具摄像头
(5)单目视觉测距原理[1]:单目视觉测距原理是小孔成像模型,在数学上将投影平面平移到其关于小孔对称的位置,如图2所示,由三角形相似原理可知:
图2 单目视觉测距示意图
图3 吊具坐标系(Z轴向上为正方向)
图4 集装箱吊具位置关系
式中:f表示焦距,Z为镜头到被测物体之间的距离,La为被测物体实际长度,Lp为物体的成像长度。
通过(4)、(5)可以定位摄像机中心到拟合锁孔中心的距离。
2.吊具系统标定
在系统运行过程中,由于吊具中心点和4个摄像头的相对位置关系是不变的,选择吊具中心点作为世界坐标系的原点位置,竖直向上且垂直于X,Y方向为Z轴方向。
在集装箱四个对称角处粘贴反光标靶,反光标靶的质量和反射强度将影响全站仪打点测试的精度,外参标定完成后得到4组相机外参。求解世界坐标:使用反光板和全站仪标定相机外参旋转矩阵R,平移矩阵t。
3.集装箱锁孔中心点识别
模型简介:在工业检测领域中,为了实现对目标的精准控制,需要控制偏差在一定的范围内。YOLO模型[2]一经推出,得到了业界的一致认可,在目标检测领域几乎成为必备的深度学习推理框架。使用YOLO深度学习网络,只需要按照既定的格式标注好自定义的锁孔数据集,再以合理的方式配置好模型配置文件和搭建训练环境就能完成目标检测,一般场景的目标检测通常是检测水平的检测矩形框,但由于相机安装时角度的调整并不能满足像平面和物平面,这导致检测目标物在图像上呈现出带一定偏转角度的矩形框,使用YOLO-OBB能够很好的解决对旋转目标框的检测。
模型训练:使用深度学习算法检测集装箱四个角处的锁孔。采集不同场景下的拍摄的锁孔图像一共1558张,使用数据标注软件制作标签数据集,划分完数据集后用于模型训练。训练完成后能够用于大部分场景的锁孔中心点检测。
目标检测:与之前Yolo系列不同的是,YoloV 7在Yolo-Head前使用了一个RepConv的结构,这个RepConv的思想取自于RepVGG,基本思想就是在训练的时候引入特殊的残差结构辅助训练,这个残差结构是经过独特设计的,在实际预测的时候,可以将复杂的残差结构等效于一个普通的3×3卷积,这个时候网络的复杂度就下降了,但网络的预测性能却没有下降。而对于每一个特征层,可以获得利用一个卷积调整通道数,最终的通道数和需要区分的种类个数相关,在YoloV7里,每一个特征层上每一个特征点存在3个先验框。Yolov7-OBB在网络模型的修改中,主要在与将Yolo-Head的输出增加了对旋转角度θ(弧度)这一维度,以使用的锁孔数据集为例子仅一个类别,最后的维度应该为21=3×7,三个特征层的shape为(20,20,21),(40,40,21),(80,80,21)。最后的21可以拆分成3个7,对应3个先验框的7个参数,7可以拆分成5(box)+1(conf)+1(cls)。前5个参数用于判断每一个特征点的回归参数(Cx,Cy,w,h,θ),回归参数调整后可以获得预测框,第6个参数用于判断每一个特征点是否包含物体;最后1个参数用于判断每一个特征点所包含的物体种类。
4.最优匹配
(1)在集装箱锁孔检测的过程中,通常会观察到侧面非目标箱的多个锁孔,虽然在检测前可以优先设定大致的检测区域,但仍然会存在部分侧面锁孔的干扰。为了解决这个问题,通过最优化的方式,搜索最匹配的4个锁孔点。
(2)集装箱的尺寸,对于20尺的标准集装箱,设计尺寸为6058mm(长)×2438mm(宽),这里不需要考虑集装箱高度。记集装箱长度为L,宽度为W。
(3)由角件的设计图,这里定义角件的长l=178mm,w=162mm,短外边缘到中心的距离d1=101.5mm,长外边缘到中心点距离d2=89mm。但在实际工作环境中,由于机械的长期作业会造成设备的损耗和发生形变,定义单位误差ε=5mm。
(4)求解最优化的过程。
设C1(x1,y1,z1),C2(x2,y2,z2),C3(x3,y3,z3),C4(x4,y4,z4)表示集装箱锁孔位置的集合,如:Ci(xij,yij,zij),i=1,2,3,4,j=1,2,3,4…。表示i号相机下编号为j的锁孔中心点位置。
建立约束条件如下:
通过以上的约束条件,能够求解出最优的4个锁孔位置信息。
5.吊具中心和集装箱中心偏移关系及偏航角
(1)偏航角θ描述集装箱相对吊具大车正方向的偏转角度,dx描述集装箱相对吊具中心在大车方向的偏移量,dy描述集装箱相对吊具在小车移动方向的偏移量。
(2)在吊具下降移动到目标集装箱的上方过程中,4个摄像头将跟踪锁孔的位置,由于吊具是通过钢丝绳连接在小车上,吊具在移动到某个固定位置后,会带动吊具以卷筒为固定点做单摆运动。然而在实际运动过程中,吊具会因为阻尼的影响经过多次往复摆动后而逐渐平衡于某个位置。因为本文的重点在于研究自动对箱,这里可以确定目标点趋于稳定时,进行着箱。即满足如下条件:
(3)通过锁孔的4点坐标位置求解得到集装箱中心点的坐标信息及为集装箱中心点相对于吊具的偏移量dx、dy。
(4)通过锁孔长边的倾斜角度大小计算出集装箱的偏航角θ。
6.测试
(1)初始化:实验过程中使用20尺状态下的吊具去抓取同等尺寸的集装箱。首先控制大、小车移动,小车微动和旋转到测试初始状态下吊具完全位于集装箱的正上方约600mm处,初始状态下集装箱和吊具在x反向上的偏移Xoffset=0,y方向上的偏移Yoffset=0,偏航角θ=0°。
(2)实验数据:控制吊具微动,一般标准吊具集装箱吊具的微动范围为大车方向±250mm,小车方向±200mm,航向角±5°。在控制范围内控制吊具微动(大小车方向移动、绕吊具中心点转动),记录系统反馈的偏移量和旋转角度与算法计算得到的结果,对比如图5所示。
图5 测试数据
7.结论
起重机吊具和集装箱能完成自动对位是实现自动化抓放集装箱的关键技术之一。通过相机和吊具系统的标定和利用深度学习识别锁孔中心后,利用上述算法求解出锁孔的世界坐标,从整体实验结果表明,该方案符合精度要求,且由于加入深度学习模型对锁孔中心点进行检测能尽可能地减少环境因素的影响,同时该系统仅需要考虑吊具和集装箱的相对位置关系,避免了多个系统运动过程中所产生的累计误差。