工程设计学报, 2025, 32(6): 769-779 doi: 10.3785/j.issn.1006-754X.2025.05.136

机械设计理论与方法

基于层次包围盒的纱筒装取机械臂碰撞检测方法

姬晨辉,1, 沈丹峰,,1, 赵刚2, 孙海涛1

1.西安工程大学 机电工程学院,陕西 西安 710048

2.陕西长岭纺织机电科技有限公司,陕西 宝鸡 721013

Collision detection method for yarn cylinder loading robotic arm based on hierarchical bounding box

JI Chenhui,1, SHEN Danfeng,,1, ZHAO Gang2, SUN Haitao1

1.School of Mechanical and Electrical Engineering, Xi'an Polytechnic University, Xi'an 710048, China

2.Shaanxi Changling Textile Mechanical & Electronic Technological Co. , Ltd. , Baoji 721013, China

通讯作者: 沈丹峰(1969—),男,副教授,博士,从事现代设计方法与机器人机电一体化研究,E-mail: dfshen@xpu.edu.cn,https://orcid.org/0009-0003-9545-2084

收稿日期: 2025-05-07   修回日期: 2025-07-10  

基金资助: 国家自然科学基金资助项目.  51805402
陕西省自然科学基金资助项目.  2022JQ-397

Received: 2025-05-07   Revised: 2025-07-10  

作者简介 About authors

姬晨辉(2000—),男,硕士生,从事工业机器人机构设计与控制研究,E-mail:3025145105@qq.com , E-mail:3025145105@qq.com

摘要

针对传统纱筒装取作业依赖人工操作的问题,业界致力于实现机械臂自动化抓取。为此,聚焦于机械臂自动化抓取中的物体包络和碰撞检测两个关键环节进行研究。为解决传统混合层次包围盒算法在复杂场景下包络精度不足的问题,设计了一种基于凸包(convex hull)结构的改进混合层次包围盒模型,通过在叶节点处构建凸包约束,显著提升了包围盒的空间贴合度。针对传统分离轴定理在处理复杂凸多边形碰撞检测时计算效率低下的问题,提出了基于梯度下降的分离轴优化策略,通过建立投影长度变化量与分离轴旋转角度的函数关系,动态调整分离轴的搜索方向与旋转步长。实验结果表明:相较于传统混合层次包围盒模型,改进后的混合层次包围盒模型在包络精度上明显改善;梯度下降分离轴算法在平均迭代耗时与迭代次数方面较传统分离轴算法分别降低了90.67%和98.48%。所提出的方法适用于工业场景中物体排布密集且需要高精度碰撞检测的复杂工况。

关键词: 层次包围盒 ; 凸包 ; 纱筒装取 ; 机械臂 ; 分离轴定理 ; 碰撞检测

Abstract

Aiming at the problem that traditional yarn cylinder loading operation depends on manual operation, the industry is committed to achieving automatic grasping by robotic arms. To this end, the focus is on two key links of object enveloping and collision detection in automatic grasping of robotic arms. In order to solve the problem of insufficient envelope accuracy of the traditional hybrid hierarchical bounding box algorithm in complex scenarios, an improved hybrid hierarchical bounding box model based on convex hull structure was designed, which significantly improved the spatial fitness of the bounding box by constructing the convex hull constraints in the leaf nodes. Aiming at the problem of low computational inefficiency of the classical separating axis theorem in dealing with collision detection of complex convex polygons, a gradient descent-based separating axis optimization strategy was proposed. By establishing the functional relationship between projection length variations and separating axis rotation angle, the search direction and rotation step of separating axes were dynamically adjusted. Experimental results showed that compared with the traditional hybrid hierarchical bounding box model, the improved hybrid hierarchical bounding box model had obvious improvement in the envelope accuracy. Compared with the classical separating axis algorithm, the gradient descent separating axis algorithm reduced the average iteration time and the iteration count by 90.67% and 98.48%, respectively. The proposed method is suitable for complex working conditions in industrial scenarios where objects are densely arranged and require high-precision collision detection.

Keywords: hierarchical bounding box ; convex hull ; yarn cylinder loading ; robotic arm ; separating axis theorem ; collision detection

PDF (5368KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

姬晨辉, 沈丹峰, 赵刚, 孙海涛. 基于层次包围盒的纱筒装取机械臂碰撞检测方法[J]. 工程设计学报, 2025, 32(6): 769-779 doi:10.3785/j.issn.1006-754X.2025.05.136

JI Chenhui, SHEN Danfeng, ZHAO Gang, SUN Haitao. Collision detection method for yarn cylinder loading robotic arm based on hierarchical bounding box[J]. Chinese Journal of Engineering Design, 2025, 32(6): 769-779 doi:10.3785/j.issn.1006-754X.2025.05.136

随着纺织工业的智能化与自动化发展,利用机械臂代替人工进行纱筒搬运、落纱及包装等工序,能够有效提升产品的质量和生产效率,减轻工人的劳动强度,促进企业的可持续发展。在机械臂自动化装取纱筒的作业过程中,物体包络与碰撞检测是实现高效、精准作业的核心环节。为确保机械臂在抓取纱筒过程中的安全性,构建其与作业环境的包围盒,并进行碰撞检测至关重要[1-2]

目前,国内外对于包围盒的研究相对成熟。传统的包围盒主要包括轴对齐包围盒(axis-aligned bounding box, AABB)[3]、有向包围盒(oriented bounding box, OBB)[4]、包围球(bounding sphere)[5]和固定方向凸包(fixed direction hull, FDH)[6]等。其中,FDH的紧密性与k值(k个方向)呈正相关,但高k值会显著增加内存占用率,在实时性要求高的场景中适用性受限。因此,本文将FDH排除在重点研究范围之外。包围盒算法通过几何近似与分层筛选策略,能够显著降低计算复杂度和平衡检测效率。张宇等[7]利用球体与胶囊体代替传统混合层次包围盒中底层叶节点的包围盒结构,有效地提升了包围盒的包络精度,但该方法的应用场景相对局限。靳雁霞等[8]利用混合层次包围盒结合空间网格法,提升了碰撞检测效率,该方法适用于柔性体与复杂刚性体交互的场景,但简化后的模型会丢失细节,且空间网格法的计算约束增加了系统开销。唐源皓等[9]利用区域中心法和二叉树构造了OBB层次包围盒,并设定质点还原距离,通过将还原距离外的障碍物作为质点,简化了碰撞检测过程。Safeea等[10]提出了一种用于人机交互的圆柱体间最小距离计算方法,通过正交三角分解将优化问题转换为几何空间中的最近点问题,该方法在简单场景中表现优异。

通过包围盒算法对物体进行包络后,需要对物体之间进行碰撞检测。碰撞检测算法主要分为基于图像空间与基于几何空间两类[11]。基于图像空间的碰撞检测算法通过GPU(graphics processing unit,图形处理单元)将物体三维模型投影到二维平面,并利用深度缓存、模板缓存等渲染技术,判断物体之间的相交情况。Xiong等[12]利用单视角RGB-D相机的彩色图像和深度图像生成3D点云数据,并通过下采样处理障碍物与基于障碍物分块的向量计算,使得机械臂末端执行器能够主动避开障碍物,减少了被动避障的局限性。常见的基于几何空间的碰撞检测算法包括空间剖分算法(如均匀网络、八叉树等)[13-14]、GJK(Gilbert-Johnson-Keerthi)算法[15-16]和分离轴定理[17-18]等。这些算法可通过几何运算快速筛选出潜在的碰撞对象,且能够精确验证实际的相交情况。Flores-Caballero等[19]基于分离轴定理精确检测了无人机路径与障碍物的几何碰撞,有效地提高了计算精度和复杂场景下无人机系统导航的可靠性。Montaut等[20]将GJK算法与FW(Frank-Wolfe)算法(即条件梯度算法或梯度投影算法)的优化框架相结合,通过迭代优化过程,显著降低了机器人仿真过程中大规模凸多边形碰撞检测的计算成本。

本文针对机械臂自动化装取纱筒作业中的物体包络与碰撞检测问题,提出了一种基于凸包(convex hull)的改进混合层次包围盒算法。该算法通过提高叶节点的包络精度,可有效解决某些场景下因包络前后包围盒体积增大而导致机械臂无法准确识别纱筒的问题。针对传统分离轴定理在检测复杂凸多边形时因需要对每条边的法线方向进行分离轴碰撞检测而导致检测次数多、计算量大的问题,提出了梯度下降分离轴算法,根据分离轴每次旋转的角度和分离轴上投影的重合量来计算下一次分离轴旋转的角度与方向,以快速确定最优的分离轴位置。

1 机械臂及纱筒模型的凸包创建

1.1 凸包建立

包围盒算法利用简单图形来近似表示复杂不规则图形的几何形状,并通过最小化计算复杂度来加速后续对图形的处理。该算法具有简洁、计算效率高和减少空间浪费的优点。如图1(a)所示,纱筒的高度为25 cm,底面外径为12 cm,顶面外径为10 cm、内径为4 cm,倾斜角度为45°。采用常见的包围盒(AABB、OBB、包围球)对纱筒模型进行包络,如图1(b)至图1(d)所示。

图1

图1   基于不同包围盒的纱筒包络效果

Fig.1   Enveloping effect of yarn cylinder based on different bounding boxes


常见包围盒对纱筒的包络结果如表1所示。由表1可知,在传统的包围盒中,OBB的包络紧密度最高,包围盒重叠率达到57.45%;包围球的包络紧密度最差,包围盒重叠率仅为25.28%。但是,即便是包络紧密度最高的OBB,仍存在超过40%的冗余空间,这是传统包围盒算法的固有局限性。

表1   纱筒包络结果比较

Table 1  Comparison of envelope results of yarn cylinder

包围盒纱筒原始体积/cm3

包围盒包络

体积/cm3

包围盒

重叠率/%

AABB2 068.227 775.4826.60
OBB3 600.0057.45
包围球8 181.2325.28

新窗口打开| 下载CSV


凸包是计算几何中的一个基本概念,其数学定义为:给定平面点集PR²,存在唯一的极小凸集CH(P)且满足P⊆CH(P),该凸集的边界所构成的凸多边形称为点集P的凸包。凸包的核心特征如下:

1)极小性:CH(P)为所有包含P的凸集中面积最小的集合,对于任意点集P的凸集C均满足CH(P)⊆C

2)凸性:凸包内部任意两点的连线完全包含在凸包内部。

3)凸包的边界由点集中的一部分点构成。

本文使用Graham Scan算法(葛立恒扫描算法)来构造凸包。Graham Scan算法可以直接在原始数据上进行运算,空间复杂度为O(1)。若需保持原始输入数据的不变性,则可将最终生成的凸包顶点序列存储于一个新数组中。由于在扫描凸包前要进行排序,排序过程的时间复杂度为O(mlg m),后续扫描过程的时间复杂度为O(m),则整个算法的复杂度为O(mlg m)。图2所示为Graham Scan算法流程。

图2

图2   Graham Scan算法流程

Fig.2   Graham Scan algorithm flow


在利用凸包进行包络时,当物体表面没有凹形部位时,凸包通常不会改变物体体积。鉴于纱筒本身为规则的中空圆台,在这种情况下,凸包仅会将纱筒内部简化,将其转化为一个完整的圆台形态,如图3所示。

图3

图3   凸包包络后的纱筒

Fig.3   Yarn cylinder enveloped by convex hull


根据图3,凸包包络后的体积为2 382.37 cm3,包围盒的重叠率达到86.81%。基于此,本文引入凸包作为包围盒算法,以提升物体的包络精度。

1.2 纱筒装取工作环境包络

纱筒装取机械臂由多个零部件组成,将刚性连接部分视作一个整体,对每个部分进行凸包包络,以降低机械臂运动过程中凸包更新迭代的复杂度。如图4所示,将机械臂分为基座、基座关节、大臂、小臂和末端执行器五部分。

图4

图4   纱筒装取机械臂结构

Fig.4   Structure of robotic arm for loading yarn cylinder


利用SolidWorks软件对机械臂与纱筒进行建模,首先将装配体模型格式转化为obj格式,然后利用点云库PCL1.9.1将obj格式文件转化为pcb点云文件,点云中的离散点数量设置为50 000个,最后利用MATLAB软件处理pcb点云文件,以建立相应的凸包模型。纱筒和机械臂各部分的点云图与对应的凸包模型如图5所示。

图5

图5   纱筒和机械臂各部分的点云图与凸包模型

Fig.5   Point cloud maps and convex hull models of yarn cylinder and each part of robotic arm


2 改进混合层次包围盒算法

2.1 基于凸包的混合层次包围盒

不同于单一的包围盒算法,混合层次包围盒是在包围盒的基础上构建一个递归的树形结构,将多个包围盒组织起来,用于快速判断多个物体之间是否发生碰撞:通过分层处理先判断大范围内的包围盒之间是否发生碰撞,若没有碰撞,则立刻跳过该范围内子包围盒的碰撞检测。该算法通过递归将物体划分为不同层次,减少了需要碰撞检测的物体数量,显著提高了检测效率。传统混合层次包围盒的结构为上层AABB、下层OBB,OBB的包络精度虽优于AABB,但仍会产生大量的冗余空间。因此,本文引入凸包作为混合层次包围盒的底层结构。如图6所示,改进混合层次包围盒的结构为上层AABB、中层OBB、下层凸包。改进后的结构实现了效率与精度的平衡:上层AABB与中层OBB可快速排除不发生碰撞的无关物体,底层凸包结构通过提高叶节点的包络精度,减少了冗余空间,从而提高碰撞检测精度。

图6

图6   基于凸包的混合层次包围盒

Fig.6   Hybrid hierarchical bounding box based on convex hull


对于基于凸包的混合层次包围盒,在节点测试过程中,上层的AABB层作为粗略检测层,利用其检测方便、速度快和构造代价低的特点,快速筛选出距离较远、不可能发生碰撞的节点;中层的OBB层作为缓冲检测层,通过更紧密的包络筛选出有可能发生碰撞的节点;下层的凸包层通过最紧密的包络,精确地判断有可能发生碰撞的节点是否发生碰撞。改进后的混合层次包围盒根据不同层次包围盒的构造难度、检测时间和包络精度等,采用递进方式进行分层检测,即通过粗略检测、较精确检测和精确检测,实现了高效、高精度的碰撞检测。

图7所示,当利用传统混合层次包围盒算法对2个机械臂进行碰撞检测时,AABB层与OBB层都发生碰撞,最终判定这2个机械臂发生碰撞。而采用改进混合层次包围盒算法进行碰撞检测时,在AABB层检测阶段,判定发生碰撞;在OBB层检测阶段,结果显示仍存在碰撞;在凸包层检测阶段,精确的计算结果表明,左侧机械臂的小臂与右侧机械臂的末端执行器之间不存在几何干涉,最终判定2个机械臂未发生实际碰撞。相较于传统的混合层次包围盒算法,改进混合层次包围盒算法通过底层凸包结构的精确包络机制,有效地降低了误判率,避免了因包围盒包络精度不足而导致的碰撞判定错误。

图7

图7   机械臂碰撞检测示意

Fig.7   Schematic diagram of robotic arm collision detection


2.2 基于改进混合层次包围盒的碰撞检测

基于混合层次包围盒的碰撞检测是一种优化的碰撞检测方法,其核心思想是为需要进行碰撞检测的物体构建一个空间层次结构。在该层次结构中,每个节点均以一个由包围盒包络简化后的结构来近似表示对应物体的几何形状。碰撞检测逐层进行,先检测最顶层的父包围盒是否相交,只有当检测到父包围盒相交时,才会继续检测其子包围盒的相交情况。若父包围盒没有相交,则可跳过其所有子包围盒的检测,从而快速排除大量不可能发生碰撞的物体,显著减少不必要的计算。

在进行碰撞检测时,采用同层优先遍历原则,对待检测物体的父包围盒进行检测。如图8所示,以对包围盒10与14所包络的物体进行碰撞检测为例,具体步骤如下:

图8

图8   改进混合层次包围盒的遍历示意

Fig.8   Traversal schematic of improved hybrid hierarchical bounding box


步骤1:对包围盒10与14的最外层父包围盒进行检测,即对包围盒2与3进行检测,检测方法为AABB碰撞检测。首先,利用物体在XYZ轴方向上投影坐标的最小值和最大值(即xminxmaxyminymaxzminzmax)建立矩形包围盒,该包围盒上的所有点满足如下数学约束条件:

xminxxmaxyminyymaxzminzzmax

然后,将2个包围盒投影到3个坐标轴上,并对比2个包围盒的投影是否存在重叠,以判断其是否相交。

1)检查在X轴上是否重叠。

x1, max<x2, minx2, max<x1, min,则表示2个AABB在X轴上没有重叠。

2)检查在Y轴上是否重叠。

y1, max<y2, miny2, max<y1, min,则表示2个AABB在Y轴上没有重叠。

3)检查在Z轴上是否重叠。

z1, max<z2, minz2, max<z1, min,则表示2个AABB在Z轴上没有重叠。

若包围盒在任意一条轴上都没有重叠,则表明2个AABB之间不相交,即包围盒10与14所包络的物体之间必定不发生碰撞;若检测出相交,则进行步骤2。

步骤2:对最外层父包围盒的下一层子包围盒进行检测,即对包围盒5与7进行检测,检测方法为OBB碰撞检测。分离轴定理是OBB层常用的检测方法,若包围盒5与7在空间中任意一个平面上的投影不存在重叠,则这2个包围盒之间不相交,说明包围盒10与14所包络的物体之间必不会发生碰撞;若检测出相交,则进行步骤3。

步骤3:对包围盒10与14进行最精确的凸包碰撞检测,若检测结果为相交,则判定对应的2个物体发生碰撞;反之,判定为不发生碰撞。凸包碰撞检测采用梯度下降分离轴算法。

3 基于梯度下降分离轴算法的凸包碰撞检测

3.1 分离轴定理

利用分离轴定理对凸包进行碰撞检测时,在二维情况下,若2个凸多边形不相交,则必存在1条分离轴,使得这2个多边形在该轴上的正交投影区间不发生重叠;在三维情况下,若2个凸多面体不相交,则必存在1个分离面,使得这2个多面体在该平面上的正交投影区间不发生重叠。

图9所示(本文以二维情况为例),给定一个分离轴L,并将凸多边形A和凸多边形B投影到该轴上。对于任意一个凸多边形,在计算其在分离轴L上的投影区间时,先确定分离轴L的单位向量 u,再计算多边形各顶点的位置向量(即该顶点按序指向相邻顶点的向量)与 u 的点积。

图9

图9   分离轴定理示意图

Fig.9   Schematic of separating axis theorem


对于凸多边形AB,分别定义proj A (L)和proj B (L)为多边形AB在分离轴L上的投影区间:

projA(L)=miniaiu, maxiaiu
projBL=minjbju, maxjbju

式中: aibj 分别为凸多边形AB各顶点的位置向量。

若在分离轴的某一位置上,2个凸多边形的投影区间proj A(L)和proj B(L)不存在重叠,即图9所示的绿色线段,则表示这2个凸多面形不相交,即:

miniaiu, maxiaiuminjbju,maxjbju=

若2个凸多边形的投影区间存在重叠,则需要改变分离轴的角度并再次进行判断。当达到设定检测次数时,若2个凸多边形的投影区间仍存在重叠,则认为这2个多边形之间相交。对于分离轴数量的设定,当判断对象为一对OBB时,最多设置15条潜在的分离轴。同理,当判断对象为凸多面体时,潜在分离轴的数量为物体A、物体B的面法向量数量与两物体边数量的乘积之和。

3.2 梯度下降分离轴算法

在传统分离轴定理中,所选择的潜在分离轴为随机选取或凸多面体某一面的法向量以及各边向量两两叉乘所得的向量。随着凸多面体边数的增加,潜在分离轴的数量增加,则检测次数随之增多。特别是在要求物体包络精度高的情况下,如上文所述,在对物体进行建模并提取点云后,利用Graham Scan算法进行凸包构建,最终形成了一个由多个三角面片构成的凸多面体,其面数量多达万个,若仍使用传统分离轴定理进行碰撞检测,所需测试的潜在分离轴数量极其庞大,导致检测效率严重降低。为提高检测效率,对传统分离轴定理进行改进。如图10所示,2个凸多边形在分离轴L1上投影的重合区间为红色较长线段;将分离轴L1旋转至L2位置后,2个凸多边形在分离轴上投影的重合长度随之减小;再将分离轴L2旋转至L3位置后,2个凸多边形的投影不发生重合,表明这2个多边形不相交。因此,可根据2个凸多边形在各分离轴上投影重合长度的不同,以投影重合长度作为参考,按越靠近最优分离轴所对应的投影重合长度越短的原则,设计梯度下降分离轴算法。

图10

图10   不同分离轴上的凸多边形投影重合长度

Fig.10   Overlapping length of convex polygon projections on different separating axes


首先,随机选取一个分离轴位置,并分析2个凸多边形在分离轴上的投影是否重合,若投影完全重合(一个凸多边形的投影完全覆盖另一个凸多边形的投影),则重新选取分离轴位置;若投影并非完全重合,则将分离轴顺时针或逆时针旋转0.1°,计算对应的投影重合长度变化量,并以此为依据计算下一次分离轴旋转的角度,以此动态调整分离轴位置,依次循环。若投影不重合,则表明2个凸多边形不相交,否则重复循环。设置总循环次数为N,若循环结束后,2个凸多边形仍未分离,则判定发生碰撞。根据分离轴定理,只要存在1条分离轴满足投影分离,即可判定物体不发生碰撞。因此,在循环过程中,即使是收敛至局部最优,只要该解所对应的分离轴满足投影分离条件,就能判定两物体不发生碰撞,无需达到全局最优解。在梯度下降分离轴算法中,投影重合长度变化率r的计算式如下:

r=Lcurrent-LpreviousLprevious

式中:ΔLcurrent为当前2个凸多边形投影的重合长度,ΔLprevious为上一次2个凸多边形投影的重合长度。

若变化率r为负值,则说明当前的重合长度缩短;若r为正值,则说明当前的重合长度增加。

由此可得分离轴的旋转角度:

Δθnext=Δθcurrent×1+αr

式中:Δθnext为下一次分离轴的旋转角度;Δθcurrent为当前分离轴相较于上一次分离轴的旋转角度;α为调节因子,用于控制旋转角度的变化幅度,针对工业场景,α的取值范围为[0, 0.5] [21-22]。为避免旋转步长过小导致收敛缓慢以及步长过大导致剧烈震荡,本文设α0.05, 0.5α的取值与∣r∣呈正相关。

r<0且∣r∣较大(∣r>0.3),则可适当减小旋转步长,避免因步长过大而导致无法稳定逼近最优分离轴,可将α设置为较大值,如α=0.4

r<0且∣r∣较小(0.1r0.3),则稍微增大旋转步长,在保证收敛可靠性的同时提高搜索效率,可将α设置为较小值,如α=0.1

r>0,则增大旋转步长以提高搜索效率,可将α设置为较大值,如α=0.5

若∣r∣接近0(∣r<0.01),即投影重合长度变化缓慢,则可适当增大旋转步长以提高搜索效率,可采用较小的α,如α=0.2

综上,梯度下降分离轴算法的流程如图11所示。

图11

图11   梯度下降分离轴算法流程

Fig.11   Flow of gradient descent separating axis algorithm


4 实验结果与分析

为验证所提出的改进混合层次包围盒算法与梯度下降分离轴算法的效果,设计以下对比实验:1)在机械臂的不同部位应用不同包围盒算法,对比其包络紧密度与构造时间;2)对比改进前后的分离轴算法在碰撞检测中的迭代耗时与迭代次数。计算机配置为64位Windows 11操作系统、Intel(R) Core(TM) i7-12650H 处理器、RTX4060显卡、16 GB内存。

针对纱筒装取作业,利用MATLAB R2022a软件计算基于AABB、OBB、包围球、凸包四种不同包围盒对纱筒和机械臂各部分进行包络所需的时间以及对应的包络体积,通过综合对比并结合实际情况,得出效果较好的包络方式。包围盒的包络紧密度越高,说明其表征物体几何轮廓的精度越高,进而可提升碰撞检测的准确性。

表2所示为利用4种包围盒对纱筒和机械臂各部分进行包络后的结果对比。对于纱筒,凸包的包络体积相较于AABB减小了28.81%,相较于OBB减小了28.81%,相较于包围球减小了61.54%;对于机械臂末端执行器,凸包的包络体积相较于其余3种包围盒分别减小了55.81%、53.26%、92.84%。由于机械臂每个部位的初始位置与倾斜角度不同,使得包络体积不同,但凸包对各部位的包络体积均小于其他包围盒。

表2   基于不同包围盒的包络体积与构造时间对比

Table 2  Comparison of envelope volume and construction time based on different bounding boxes

部件包围盒物体原始体积/cm3

包围盒包络

体积/cm3

构造时间/s
纱筒AABB60 335.91697 628.5330.179 1
OBB97 603.3330.275 8
包围球180 692.6400.234 6
凸包69 500.5730.293 9
基座AABB788 053.9741 654 290.2500.160 7
OBB1 650 153.5000.255 4
包围球22 935 348.0000.170 1
凸包1 396 174.5670.275 0
基座关节AABB702 155.9541 940 893.7500.173 6
OBB1 470 289.5000.254 4
包围球2 996 371.7600.179 0
凸包900 148.3630.280 8
大臂AABB162 151.564688 929.6250.169 0
OBB324 243.4690.249 9
包围球3 500 265.5000.183 2
凸包230 043.7300.264 5
小臂AABB155 781.901736 117.3750.169 2
OBB318 309.8120.254 8
包围球3 466 680.0000.232 6
凸包220 493.7020.276 0

末端

执行器

AABB830 559.7492 599 459.7500.174 9
OBB2 457 606.7500.247 0
包围球16 044 103.0000.196 4
凸包1 148 713.9200.260 1

新窗口打开| 下载CSV


表3所示为基于2种混合层次包围盒的纱筒和机械臂的总包络体积对比。由表3可知,相较于传统混合层次包围盒算法,本文所提出的基于凸包的改进混合层次包围盒算法的包络剔除率提升了37.243%,包络精度提升了25.352%,说明采用以凸包作为混合层次包围盒叶节点的优化策略,能够显著减小包围盒的包络体积,从而提升碰撞检测精度。通过实验结果可以看出,相较于其他包围盒,凸包虽然在构造时间上不占优势,但可在场景的初始化阶段完成构造,对于后续的更新迭代,只需对其空间位姿进行矩阵变换,即可实时更新凸包的空间状态,实现一次构建、多次复用的高效更新机制,且凸包在包络精度上有很大提升,这有助于探索更优的机械臂抓取路径。

表3   基于不同混合层次包围盒的包络体积对比

Table 3  Comparison of envelope volume based on different hybrid hierarchical bounding boxes

算法物体总体积/cm3

包围盒包络

总体积/cm3

体积比/%

传统混合层次

包围盒

2 699 146.3516 318 206.56442.719

基于凸包的混合

层次包围盒

3 965 074.74468.071

新窗口打开| 下载CSV


在利用不同的包围盒算法对物体进行包络简化时,可能会出现包络后体积膨胀的情况。当物体排布密集时,这种体积膨胀现象会显著增加误判的风险:即在实际未发生碰撞时,因包围盒重叠而误判为碰撞。

图12所示为西安纺织集团公司纺织车间的纱筒架。在纺织加工过程中,需要通过机械臂来自动抓取摆放在纱筒架上的待加工纱筒。在三维空间中,纱筒的摆放具有一定的空间分布特征,其几何形状和空间位置对碰撞检测的准确性至关重要。在利用机械臂抓取纱筒的过程中,当利用不同包围盒对纱筒进行包络后,体积明显增大。当纱筒之间摆放较为紧密时,则可能会出现包络前不碰撞、包络后因体积增大而碰撞的问题,从而导致机械臂不能准确识别纱筒。

图12

图12   纱筒架

Fig.12   Yarn cylinder holder


图13所示为基于4种包围盒对纱筒的包络效果对比。为方便观察,选择包络后模型在XOZXOY平面上的投影进行对比。从图13(a)至图13(c)中可以看出,利用AABB、OBB、包围球包络纱筒后体积明显增大,最终导致机械臂抓取失败,但利用凸包对纱筒进行包络后,几何形态与原始纱筒高度相似,且能最大限度地保留原始纱筒的几何特征,这可为后续的纱筒抓取与机械臂路径规划提供可靠保障,有效提升系统的整体性能。

图13

图13   不同包围盒对纱筒的包络效果对比

Fig.13   Comparison of enveloping effect of different bounding boxes on yarn cylinder


为验证本文所提出的梯度下降分离轴算法的性能,分别对传统分离轴算法、梯度下降分离轴算法与基于最近点的分离轴算法[18]进行对比,实验对象为纱筒与机械臂大臂的碰撞检测。

表4表5所示分别为传统分离轴算法与改进分离轴算法在不碰撞和碰撞两种条件下的计算效率对比。其中,梯度下降分离轴算法的检测次数阈值设定需综合考虑精度约束、场景复杂度与可靠性要求。通过对IEEE ICRA 2019—2023核心论文中上万组仿真实验进行统计可知:对于90%以上的刚体碰撞问题,最多迭代50次即可使梯度范数下降至设定阈值以下,将迭代次数增加至100次,检测精度的提升不足2%,而迭代耗时呈线性增长趋势。基于此,选择50次作为迭代次数阈值具有广泛的适用性。图14所示为无碰撞情况下3种分离轴算法单次迭代耗时的对比。

表4   不碰撞环境下各分离轴算法的计算效率对比

Table 4  Comparison of calculation efficiency of each separating axis algorithm in non-collision environment

算法平均迭代耗时/ms平均迭代数/次内存增量/MB
传统分离轴21.687 5713.20074.640
基于最近点的分离轴3.275 024.9754.590
梯度下降分离轴2.022 510.8502.045

新窗口打开| 下载CSV


表5   碰撞环境下各分离轴算法的计算效率对比

Table 5  Comparison of calculation efficiency of each separating axis algorithm in collision environment

算法平均迭代耗时/ms平均迭代数/次内存增量/MB
传统分离轴41 535.14 560 354187.42

基于最近点的

分离轴

43 986.24 560 354234.76
梯度下降分离轴16.05012.83

新窗口打开| 下载CSV


图14

图14   无碰撞环境下各分离轴算法的单次迭代耗时对比

Fig.14   Comparison of single iteration time of each separating axis algorithm in non-collision environment


表4图14中可以看出,在无碰撞情况下,梯度下降分离轴算法在计算效率上明显优于传统分离轴算法与基于最近点的分离轴算法:平均迭代耗时分别缩短了90.67%和38.24%,平均迭代次数分别减少了98.48%和56.56%,内存增量分别减少了97.26%和55.45%。由表5可知,在碰撞情况下,传统分离轴算法和基于最近点的分离轴算法的平均迭代耗时、平均迭代次数和内存增量均显著高于梯度下降分离轴算法,该算法能够在50次迭代内快速停止,节约了计算成本。此外,传统的分离轴算法需要对复杂凸多面体的每条分离轴进行逐一验证,计算量庞大;基于最近点的分离轴算法与传统分离轴算法相同,也需要对凸多面体的每条分离轴进行逐一验证;而梯度下降分离轴算法基于投影重合长度来计算分离轴的旋转角度,区别于传统的依赖凸多面体各边几何信息的分离轴算法,其在处理复杂凸多面体的碰撞检测问题时,可将检测问题转化为连续优化问题。对于边长数量庞大、面数多的凸多面体,梯度下降分离轴算法通过减少需要验证的分离轴数量,显著提升了碰撞检测效率。该算法的核心在于:将每次迭代的分离轴位置逐渐逼近最优分离轴,最终得到可有效分离2个凸多面体的最优分离轴,提升了计算效率和鲁棒性。

5 总 结

本文针对传统混合层次包围盒因包络精度不足、几何近似度过低而导致包络体积膨胀,以及由此引发的机械臂在稠密纱筒阵列中误识别率较高的问题,提出了一种基于凸包的混合层次包围盒模型叶节点优化策略,将传统混合层次包围盒算法中底部的OBB替换为凸包结构,以提高几何贴合精度。对于传统分离轴算法在复杂凸多面体碰撞检测过程中存在计算效率低的问题,提出了梯度下降分离轴算法,并推导了分离轴旋转角度的计算公式,根据每次在分离轴上的投影重合长度变化量来确定下一次分离轴的旋转角度,并使分离轴向投影重合长度减小的方向旋转。所提出的改进方法使机械臂能够准确识别需要抓取的纱筒,并快速检测出2个物体之间是否发生碰撞,这可为后续的纱筒抓取与机械臂路径规划提供可靠依据。

参考文献

XIE HSU F ZYIN J Net al.

Network modeling and refined management of UAV flight conflicts in complex low altitude airspace

[J]. Acta Aeronautica et Astronautica Sinica, 20234418): 328226.

[本文引用: 1]

江亦涵王挺李亚伟.

双七自由度臂防碰撞协同控制算法研究

[J]. 高技术通讯, 2023337): 750-761.

[本文引用: 1]

JIANG Y HWANG TLI Y Wet al.

Research on the control system of cooperative work of double seven degrees of freedom arm robot

[J]. Chinese High Technology Letters, 2023337): 750-761.

[本文引用: 1]

张然杨子辉孙国民.

用于连续碰撞检测的线性动态分离轴算法

[J]. 计算机辅助设计与图形学学报, 20243610): 1647-1652. doi:10.3724/sp.j.1089.2024.20070

[本文引用: 1]

ZHANG RYANG Z HSUN G Met al.

Linear dynamic separating axis algorithm for continuous collision detection

[J]. Journal of Computer-Aided Design & Computer Graphics, 20243610): 1647-1652.

DOI:10.3724/sp.j.1089.2024.20070      [本文引用: 1]

吴寿英李炜.

基于分离轴算法的机场场面飞行器冲突告警研究

[J]. 计算机应用与软件, 2023403): 72-76 156.

[本文引用: 2]

WU S YLI W.

Research on aircraft collision warning at airport scene based on separation axis algorithm

[J]. Computer Applications and Software, 2023403): 72-76 156.

[本文引用: 2]

FLORES-CABALLERO GRODRÍGUEZ-MOLINA AALDAPE-PÉREZ Met al.

Optimized path-planning in continuous spaces for unmanned aerial vehicles using meta-heuristics

[J]. IEEE Access, 20208176774-176788.

[本文引用: 1]

MONTAUT LLE LIDEC QPETRIK Vet al.

GJK++: leveraging acceleration methods for faster collision detection

[J]. IEEE Transactions on Robotics, 2024402564-2581.

[本文引用: 1]

NESTEROV Y. Lectures on convex optimization[M]. 2nd ed. ChamSpringer2018.

[本文引用: 1]

许高平孙以泽.

移动机械臂牵引卷装纱线的动态建模与控制

[J]. 纺织学报, 2024451): 1-11.

[本文引用: 1]

XU G PSUN Y Z.

Dynamic modeling and control of package yarn pulled by mobile manipulator

[J]. Journal of Textile Research, 2024451): 1-11.

[本文引用: 1]

YANDUN FPARHAR TSILWAL Aet al.

Reaching pruning locations in a vine using a deep reinforcement learning policy

[C]//2021 IEEE International Conference on Robotics and Automation. Xi'an, May 30-Jun. 52021.

[本文引用: 1]

毛慧敏屠佳佳孙磊.

适应多类型纱筒的换筒末端执行器关键技术

[J]. 纺织学报, 2024456): 193-200.

[本文引用: 1]

MAO H MTU J JSUN Let al.

Key technology research of bobbin change actuator suitable for multiple bobbin types

[J]. Journal of Textile Research, 2024456): 193-200.

[本文引用: 1]

ZAND METEMAD AGREENSPAN M.

Oriented bounding boxes for small and freely rotated objects

[J]. IEEE Transactions on Geoscience and Remote Sensing, 2021604701715.

[本文引用: 1]

VITSAS NEVANGELOU IPAPAIOANNOU Get al.

Parallel transformation of bounding volume hierarchies into oriented bounding box trees

[J]. Computer Graphics Forum, 2023422): 245-254.

[本文引用: 1]

LUBBE RXU W JWILKE D Net al.

Analysis of parallel spatial partitioning algorithms for GPU based DEM

[J]. Computers and Geotechnics, 2020125103708.

[本文引用: 1]

ALSHAMRANI RALSHEHRI FKURDI H.

A preprocessing technique for fast convex hull computation

[J]. Procedia Computer Science, 2020170317-324.

[本文引用: 1]

张宇张得礼张文奇.

基于混合层次包围盒的水下训练机械臂碰撞检测方法研究

[J]. 载人航天, 2022285): 627-636.

[本文引用: 1]

ZHANG YZHANG D LZHANG W Qet al.

Research on collision detection method of underwater training manipulator based on hybrid hierarchical bounding box

[J]. Manned Spaceflight, 2022285): 627-636.

[本文引用: 1]

靳雁霞乔星宇张翎.

布料与刚体模型间的空间网格碰撞检测方法

[J]. 中国图象图形学报, 20242910): 3144-3156. doi:10.11834/jig.230543

[本文引用: 1]

JIN Y XQIAO X YZHANG Let al.

Collision detection method between fabric and complex models in a space mesh

[J]. Journal of Image and Graphics, 20242910): 3144-3156.

DOI:10.11834/jig.230543      [本文引用: 1]

唐源皓侯进吴婷婷.

基于质点转换和包围盒的混合碰撞检测算法

[J]. 哈尔滨工程大学学报, 20183910): 1695-1701.

[本文引用: 1]

TANG Y HHOU JWU T Tet al.

Hybrid collision detection algorithm based on particle conversion and bounding box

[J]. Journal of Harbin Engineering University, 20183910): 1695-1701.

[本文引用: 1]

SAFEEA MMENDES NNETO P.

Minimum distance calculation for safe human robot interaction

[J]. Procedia Manufacturing, 20171199-106.

[本文引用: 1]

朱博承王志军李占贤.

碰撞检测及其在机器人领域中的应用研究综述

[J]. 机床与液压, 20235116): 201-210.

[本文引用: 1]

ZHU B CWANG Z JLI Z X.

A review of collision detection and its application in robotics

[J]. Machine Tool & Hydraulics, 20235116): 201-210.

[本文引用: 1]

XIONG YGE Y YGRIMSTAD Let al.

An autonomous strawberry-harvesting robot: design, development, integration, and field evaluation

[J]. Journal of Field Robotics, 2020372): 202-224.

[本文引用: 1]

SCHÜTZ MOHRHALLINGER SWIMMER M.

Fast out-of-core octree generation for massive point clouds

[J]. Computer Graphics Forum, 2020397): 155-167.

[本文引用: 1]

ÅBLAD ESPENSIERI DBOHLIN Ret al.

Continuous collision detection of pairs of robot motions under velocity uncertainty

[J]. IEEE Transactions on Robotics, 2021375): 1780-1791.

[本文引用: 1]

谢华苏方正尹嘉男.

复杂低空无人机飞行冲突网络建模与精细管理

[J]. 航空学报, 20234418): 328226.

[本文引用: 1]

/