APP下载

糖果包装机虚拟拆装碰撞检测研究

2024-05-18晏祖根肖俊董旭涓

包装工程 2024年9期
关键词:深度图碰撞检测包装机

晏祖根,肖俊,董旭涓

糖果包装机虚拟拆装碰撞检测研究

晏祖根1*,肖俊1,董旭涓2

(1.哈尔滨商业大学,哈尔滨 150028;2.基岩科技(杭州)开发有限公司,杭州 311100)

为了提高虚拟装配系统中碰撞检测的效率,提出以AABB包围盒粗检测和深度图细检测的碰撞检测方法。首先利用SolidWorks软件建立BZ350糖果包装机模型,以STL格式导入到引擎中,通过对零件先建立AABB包围盒做粗检测后,分别对2个零件获取对应的深度图,使用OpenCV对2张深度图相叠加,根据叠加后像素值的大小来判断零件是否发生了碰撞。实验表明,当叠加后深度值小于100的数量占所有深度值不为0的数量的比例大于86.2736%时,即可认定两零件发生碰撞。对比传统检测算法,此算法在保证了检测速度和检测精度的前提下,对复杂模型的检测具有优势,并且保证了运行的速度在40帧/s以上的流畅运行。

糖果包装机;碰撞检测;实验研究

扭结式糖果包装机是一种采用柔性包装材料包裹糖果且在两端开口处进行扭结处理的机器,在糖果生产中被大量使用[1]。对糖果包装机进行拆装工作是一个不可避免的过程,而且目前对糖果包装机进行虚拟装配方向研究的还比较少。为了确保糖果包装机装配可行性并提高装配质量和效率[2-3],对其进行虚拟装配研究是必要的。在装配系统中,零件间的碰撞会导致损坏或者减少寿命,为了确保作业过程的真实性和高效性,必须做好零件之间发生碰撞后的检测工作[4-6]。

碰撞检测方法按空间域角度大致可分为基于图像空间的碰撞检测方法和基于实体空间的碰撞检测方法,而基于图像的算法优势在于可通过图形硬件(GPU)来分担CPU的压力[7]。廖伟东等[8]以包围盒干涉检查作为粗检测,三角形面片相交检测作为精确检测,提出一种基于截距式方程的三角形干涉算法,实验结果得出碰撞检测时间为5~23 ms,使碰撞检测效率提高。张振宇等[9]通过获得机器人力矩偏差一阶差分以及二阶差分来判断机器人发生的是有意碰撞还是无意碰撞,该方法以较小的误差提高了碰撞检测算法中预测力矩的准确性。陈晨等[10]利用了层次包围盒二叉树结构结合三角形面片相交的检测方法,但其二叉树递归剖分至单个三角形面片,当模型尺寸较大时会出现递归深度过大导致栈溢出的问题。陈果等[11]结合UG、3DMAX和Unity3d,开发一个虚拟培训系统,提高用户在钻机生产装配过程中的安全警惕性,极力避免安全事故的发生。

本文以BZ350糖果包装机为研究对象,利用SolidWorks建立三维模型,开发基于糖果包装机的虚拟现实人机交互系统,使用AABB包围盒对模型进行粗检测,提出一种基于深度图的图像碰撞检测算法。对模型进行精确的碰撞检测,既提高了检测效率以及普适性,又能保证运行的速度稳定。

1 系统设计

1.1 体系构建

基于VR、多媒体等技术,虚拟拆装实验及支撑平台,包括数据层、服务层、实验层以及应用层,层与层之间相互联系,下层为上层提供运行与服务,直到达到虚拟实验项目的整体化、完整化的体系构建。基于虚拟实验系统架构和功能需求分析,采用模块化设计思想,建立基于虚拟手操作的包装机虚拟拆装实验系统开发的功能模块体系,各模块主要功能如下:

1)用户界面模块。用户与系统交互的桥梁,包括输入设备与输出设备。操作者通过手部控制器与软件界面交互,完成学生信息管理、用户注册、实验选择、成绩评定等功能;通过手部控制器与系统的虚拟环境对象交互;通过头盔显示器、电脑显示器等输出设备得到及时反馈。

2)数据接口模块。系统的数据基础,将SolidWorks等软件建立的包装机三维模型的零件几何模型、零件物理特征信息等,通过一定的转换处理,输入到虚拟装配环境模块中,以生成适应系统不同需求的虚拟零件模型。

3)虚拟装配环境模块。系统的核心,包括虚拟现实技术和交互式装配模拟两部分。虚拟现实技术是系统开发的基础,虚拟环境管理主要对装配环境进行配置和渲染生成身临其境的虚拟装配环境,虚拟现实算法包括碰撞检测算法、多细节层次模型算法等。交互式虚拟装配包括虚拟手操作和装配过程仿真,虚拟手操作关注虚拟手与零件的交互作用,装配过程仿真关注零件与零件之间的交互作用。

4)数据输出模块。输出产品虚拟模型、装配路径、装配过程动画等,为虚拟装配相关应用提供数据支持。

1.2 碰撞检测系统设计

碰撞检测也被叫做相交测试或者是接触测试,是用来判断物体之间的位置关系,物体运动时总要判断它们之间是否有相交的区域,什么时候相交,有多少相交区域[12-13]。通常的检测方式就是通过对模型构建几何机构找出相交物体,由于零件的不规则性,本文将选择AABB包围盒作为粗检测的包围盒。一方面是只是对其进行粗略检测,加测出2个碰撞物体的编号;另一方面是该包围盒简单,可以优化系统的整体运行速度,如图1所示。

AABB包围盒定义为包裹待测模型且平行于空间坐标轴的最小长方体,通过计算待测模型在空间坐标轴方向上的最值点,就可确定一个AABB包围盒,即6个点坐标表述一个轴对齐包围盒。AABB包围盒的相交测试快、性能好、应用广泛,适用于直接从外部导入的模型。AABB区域如式(1)所示。

通过实时检测零件的包围盒是否与其他包围盒存在交互,通过此判断零件的交互情况。

2 深度图算法分析

上述的包围盒粗略检测阶段只需判断几何体之间是否存在交集情况,接下来本文将通过使用深度图来判断几何体之间的精确交互情况。

2.1 深度图原理

深度图是3D渲染中的其中一种,在很高级效果实现中都起到了非常重要的作用,比如全局雾效、景深、特效柔和,基于屏幕空间的反射、阴影、贴花等。深度指像素到摄像机的距离,每一个像素经过渲染之后都会得到一个深度,距离摄像机越近,那么它的深度值也就越小[14-15],渲染的范围只存在远裁面以及近裁面之间的物体,其余区域都会被裁剪掉,原理见图2。

图2 深度图原理

如图2所示,通常说的深度是一个0~1内的值,当物体转换到摄像机空间之后,如果顶点正好在近裁面上,那么深度值为0;如果在远裁面上,那么深度值为1。因此在深度图中,模型距离距离摄像机越近的像素,深度越接近0,颜色越接近黑色;模型距离摄像机越远的像素,深度越接近1,颜色越接近白色。

2.2 深度图数学描述

深度图之中存储的都是非线性深度,需要将其转化为线性深度从而完成后续的计算。首先顶点会通过模型变换以及视图变换从本地空间转化到世界空间,再从世界空间转化成视图空间,视图空间还需要通过投影变换转化成为裁切空间,转换的规则如下:

投影变换矩阵如式(2)所示。

在NDC空间下值的范围是−1~1,而深度的范围是0~1,把结果归一化到0到1之间,见式(4)。

通过式(4)就能使用深度图来反算出线性深度的值,并且其线性深度的变化最为平滑,因此能够作为准确评估距离的参数使用。

2.3 深度图应用

当2个零件的包围盒出现交互情况的时候,碰撞的粗检测通过后,开始对手上的零件进行深度图获取,如图3所示。

图3 摄像机设定

虚拟环境中用手抓取一个零件去和另外一个零件装配碰撞时,当两包围盒交互时,粗检测通过之后,会得到手上零件的模型名称(以下称手上零件)以及碰上的另一个零件的名称(以下称待测零件)。这时在虚拟环境中分别设置2个摄像机进行拍摄,分别是摄像机A以及摄像机B。

近裁面选择的是零件的正面,目标是为了拍取手上零件的深度图。考虑到摄像机设置过近的话无法拍出手上零件以及待测零件的整体轮廓,因此摄像机A设置的位置是距离近裁面=10 m的位置;而由于手上零件需要拍出其精确的深度变化,近裁面以及远裁面的距离不易过大,因此远裁面设置的位置是近裁面距离=255 mm的位置。由于像素的范围是0~255,将距离设置为255 mm,既保证了能够拍出零件精确深度图的要求,又有利于做距离判断,使得1个像素对应的是1 mm的距离。

近裁面选择的是距离近裁面反方向=100 mm的位置,目标是为了拍取待测零件的深度图。摄像机B设置的位置是近裁面距离=10 m的位置,远裁面设置的位置是近裁面距离=255 mm的位置。

由图3可知,从开始进行精确碰撞检测获取深度图时,摄像机A拍出的手上零件的深度图A是始终不会变化的,而摄像机B拍出的待测零件的深度图B是始终变化的。

由上述分析可知,深度值的变化线性的,而且深度图A以及深度图B获取结果稳定,因此以深度图作为判断两零件的距离情况以及碰撞情况是可靠的。

3 实验设计及数据分析

3.1 实验环境及模型建立

虚拟拆装实验系统开发系统通过虚拟现实环境引擎与VS2019相结合,利用SolidWorks做前期的零件建模、虚拟环境渲染和动画制作,利用Steam VR对头盔显示器、手部控制器等交互设备进行连接、定位及插件设置,采用Access数据库支撑虚拟实验系统数据信息的存取。使用SolidWorks建立BZ350糖果包装机三维模型,如图4所示。

图4 BZ350糖果包装机

双端扭结式糖果包装机模型,主要由理糖部件、进糖部件、供膜部件、扭结部件、工序盘以及箱体部件、传动系统等组成,实现单层或双层薄膜糖果双端扭结裹包[16]。根据运行过程,扭结部件需要对糖果包装纸进行夹取以及扭转的工序,其零件发生干涉的情况比较多,比较具有代表性。将BZ350糖果包装机模型以STL格式导入到引擎中使用,下面将以扭结部件为例,对其进行基于深度图的碰撞检测。

3.2 数据分析

在虚拟装配中,手上零件以及待测零件存在3种情况,分别是贴合情况、碰上情况以及分离情况,以端盖以及扭结箱体为例,如图5所示。

图5 装配过程3种碰撞状态

当处于贴合的状态时手上零件端盖有一小凸起,因此凸起的深度图A像素值有2个,分别是凸起位置像素值为0,以及平面像素值为6;深度为平整的一个平面,因深度图B的像素值为94。

当碰上的时候,可以理解为待测零件距离近裁面的距离减少了,也就意味着深度图A的像素值不变,但是深度图B的像素值减小。

分离的情况与碰上的情况正好相反,手上零件与待测零件分离了意味着待测零件距离近裁面的距离增加了,那么也就是说明深度图A的像素值不变,但是深度图B的像素值增大。以上述3种碰撞状态拍取深度图,其侧视图如图6所示。

图6 碰撞状态深度侧视图

图6中拍取的深度图A,即端盖的深度图是不变的;而深度图B,即扭结箱体,根据其距离端盖的距离不同,由远及近它的颜色逐渐变深,其深度值也逐渐变小。

OpenCV提供能对读取以及处理像素图的API,通过使用OpenCV中的API来对深度图A和深度图B进行叠加处理,再对其进行统计。当手上零件以及待测零件处于贴合状态时,得到的统计结果如表1所示。

表1 OpenCV实验结果

Tab.1 OpenCV experimental results

当贴合时,通过OpenCV对2张深度图进行相加叠加之后可以得出贴合时的像素值为100,但是由于像素值是有偏差的,经过OpenCV统计可知,当完全贴合的时候像素值刚好等于100的像素点数量占所有非255像素值的86.808 5%,那么只有当像素值为100的数量占比大于86.808 5%时候才能被认为是贴合。当碰上的时候,也就意味着深度图A与深度图B相加叠加的像素值小于100。当分离的时候,也就意味着深度图A与深度图B相加叠加的像素值大于100。

由于该实验需要做的是判断手上零件以及待测零件是否处于碰撞状态,那么需要做的只需要用OpenCV统计出所有非255像素值中小于100的数量,要是该数量大于86.2736%即可判断出手上零件与待测零件发生了碰撞。

3.3 仿真试验

使用者点击扳机键选中零件,移动到需要装配的零件对应位置上完成装配,并且装配过程中速度保持在40帧/s以上,如图7所示。

图7 装配过程

装配过程中,当手上零件碰撞到待测零件时或者松手时,手上零件将不再能被选中,拖动待测零件移动时手上零件将会跟随移动,如图8所示。

图8 圆柱齿轮装配完成

装配完成时手上零件以及待测零件空间坐标位置以及旋转值情况如图9所示。

在对圆柱齿轮进行5次装配后,分别记录圆柱齿轮和二轴在完成装配后的大地坐标位置以及旋转值的情况如图9a和图9b所示。实验结果显示,圆柱齿轮和二轴完成装配后,其大地坐标位置几乎相同,可知两零件实现了跟随,达到了完成装配的要求;反观两零件的旋转值,由于一方面手部在装配的过程中会有一定的抖动,另一方面受制于视角偏差,所以存在细微的差距,但是在允许范围内。综上,上述的旋转值符合完成装配的要求。

图9 坐标位置以及旋转值

4 结语

本文以BZ350糖果包装机为模型,对虚拟环境下模型间的碰撞检测进行研究,实验结果表明:

1)以深度图作为碰撞精确判断的主要依据,优势在于只需要对模型建立最简单的AABB包围盒后,再使用深度图做后续判断即可。深度图的获取简单,深度值的变化稳定,可靠,降低了对待模型的处理难度,提高了碰撞检测的效率,并且在运行期间速度够保持在40帧/s以上。

2)由于本算法是对深度图的像素值进行判断,因此不会因模型的复杂程度而改变其运算速度,因此对处理复杂模型有优势

3)该虚拟装配技术,可以以较低的成本模拟出装配工艺。在整体布局和生产节拍方面为其他产品自动化生产方案的优化、升级改造提供了参考。

[1] 叶军, 薛明瑞, 沈姗姗, 等. 新型糖果包装机推糖机构设计[J]. 包装工程, 2022, 43(1): 266-271.

YE J, XUE M R, SHEN S S, et al. Design of a New Feeding Mechanism for Candy Packaging Machine[J]. Packaging Engineering, 2022, 43(1): 266-271.

[2] 梅文娟, 郑兆启, 李占勇, 等. 生鲜食品包装机的研究[J]. 包装与食品机械, 2021, 39(1): 82-88.

MEI W J, ZHENG Z Q, LI Z Y, et al. Study on Packaging Machine for Fresh Food[J]. Packaging and Food Machinery, 2021, 39(1): 82-88.

[3] 陈亚琳. 三伺服枕式包装机控制系统设计[J]. 包装与食品机械, 2020, 38(1): 61-63.

CHEN Y L. Control System Design of Three Servo Pillow Food Packaging Machine[J]. Packaging and Food Machinery, 2020, 38(1): 61-63.

[4] 韩朝, 游有鹏, 王栎, 等. 七轴机器人折弯仿真的路径规划[J]. 现代制造工程, 2023(6): 52-56.

HAN C, YOU Y P, WANG L, et al. Path Planning for Bending Simulation of Seven-Axis Robot[J]. Modern Manufacturing Engineering, 2023(6): 52-56.

[5] VISSER P M. Collision Detection for N-body Kepler Systems[J]. Astronomy & Astrophysics, 2023(669): 97.

[6] SINGH, SHIVANG S, MAYANK A, et al. Collision Detection and Prevention for the Visually Impaired Using Computer Vision and Machine Learning[J]. Advances in Engineering Software, 2023(179): 103424.

[7] 朱博承, 王志军, 李占贤. 碰撞检测及其在机器人领域中的应用研究综述[J]. 机床与液压, 2023, 51(16): 201-210.

ZHU B C, WANG Z J, LI Z X. A Review of Collision Detection and Its Application in Robotics[J]. Machine Tool & Hydraulics, 2023, 51(16): 201-210.

[8] 廖伟东, 李俊渊, 黄昕. 机器人仿真系统碰撞检测技术研究[J]. 机床与液压, 2021, 49(9): 67-70.

LIAO W D, LI J Y, HUANG X. Research on Collision Detection Technology of Robot Simulation System[J]. Machine Tool & Hydraulics, 2021, 49(9): 67-70.

[9] 张振宇, 钟佩思, 张超, 等. 基于工业机器人动力学模型的差分力矩偏差碰撞检测方法[J]. 制造技术与机床, 2023(3): 163-172.

ZHANG Z Y, ZHONG P S, ZHANG C, et al. Differential Torque Deviation Collision Detection Method Based on the Dynamic Model of Industrial Robot[J]. Manufacturing Technology & Machine Tool, 2023(3): 163-172.

[10] 陈晨, 张为民, 褚宁. 基于包围盒和三角面片的碰撞检测优化算法[J]. 制造技术与机床, 2013(6): 73-76.

CHEN C, ZHANG W M, CHU N. Optimized Collision Detection Algorithm Based on Bounding Volume Hierarchy and Triangular Facets[J]. Manufacturing Technology & Machine Tool, 2013(6): 73-76.

[11] 陈果, 刘桂芹. 基于Unity3D煤矿钻机虚拟装配培训系统开发[J]. 包装工程, 2022, 43(12): 106-112.

CHEN G, LIU G Q. Development and Application of Virtual Assembly Training System of Mine Drilling Rig Based on Unity3D[J]. Packaging Engineering, 2022, 43(12): 106-112.

[12] ZHANG X B, LIU J G. Research on Collision Detection Algorithm for Human-SRL Collaborative Motion Planning[J]. Journal of Physics: Conference Series, 2022, 2402(1): 1-11.

[13] MUBARAK S A, ALMUTAIRI K, CHIROMA H. Hybrid of Deep Recurrent Network and Long Short Term Memory for Rear-End Collision Detection in Fog Based Internet of Vehicles[J]. Expert Systems with Applications, 2023(213): 119033.

[14] LIANG B Y. Depth Map Guided Triplet Network for Deepfake Face Detection[J]. Neural Networks, 2023(159): 34-42.

[15] ROMERO-LUGO A, MAGADAN-SALAZAR A, FUENTES-PACHECO J, et al. A Comparison of Deep Neural Networks for Monocular Depth Map Estimation in Natural Environments Flying at Low Altitude[J]. Sensors (Basel), 2022, 22(24): 9830.

[16] 郎诗慧, 辛洪兵. 糖果包装机推糖机构的运动精度分析[J]. 包装工程, 2017, 38(5): 49-57.

LANG S H, XIN H B. Kinematic Accuracy of Candy Pusher of Candy Packaging Machine[J]. Packaging Engineering, 2017, 38(5): 49-57.

Virtual Disassembly Collision Detection of Candy Packaging Machine

YAN Zugen1*, XIAO Jun1, DONG Xujuan2

(1. Harbin University of Commerce, Harbin 150028, China; 2.Bedrock Technology (Hangzhou) Development Co., Ltd., Hangzhou 311100, China)

The work aims to propose a collision detection method combining AABB enclosing box coarse detection and depth map fine detection, in order to improve the efficiency of collision detection in the virtual assembly system. First of all, SolidWorks software was used to build a model of the BZ350 candy packaging machine and import it into the engine in STL format. An AABB enclosing box was built for the part to carry out coarse detection, and then the corresponding depth maps for the two parts were obtained respectively, and the two depth maps were superposed with OpenCV. Next, according to the superimposed pixel values, whether the parts collided or not was judged. The experiment showed that when the number of superimposed depth values less than 100 accounted for more than 86.2736% of all depth values other than 0, it could be recognized that the two parts collided. Compared with the traditional detection algorithm, this algorithm has advantages for the detection of complex models under the premise of guaranteeing the detection speed and detection accuracy and ensuring that the running speed is above 40 frames/s to run smoothly.

candy packaging machine; collision detection; experimental study

TP391.9

A

1001-3563(2024)09-0158-06

10.19554/j.cnki.1001-3563.2024.09.020

2023-09-26

猜你喜欢

深度图碰撞检测包装机
全新预测碰撞检测系统
小型产品自动缠膜包装机的设计
基于BIM的铁路信号室外设备布置与碰撞检测方法
基于深度图的3D-HEVC鲁棒视频水印算法
Unity3D中碰撞检测问题的研究
一种基于局部直方图匹配的深度编码滤波算法
自动包装机定量功能设计与实现
叠加速度谱在钻孔稀少地区资料解释中的应用
BIM技术下的某办公楼项目管线碰撞检测
VPA-906A型全自动小剂量包装机