CN117315025A - 一种基于神经网络的机械臂6d位姿抓取方法 - Google Patents
一种基于神经网络的机械臂6d位姿抓取方法 Download PDFInfo
- Publication number
- CN117315025A CN117315025A CN202311277997.0A CN202311277997A CN117315025A CN 117315025 A CN117315025 A CN 117315025A CN 202311277997 A CN202311277997 A CN 202311277997A CN 117315025 A CN117315025 A CN 117315025A
- Authority
- CN
- China
- Prior art keywords
- network
- target
- track
- module
- pose
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 14
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 85
- 238000010586 diagram Methods 0.000 claims abstract description 29
- 238000001514 detection method Methods 0.000 claims abstract description 25
- 230000002068 genetic effect Effects 0.000 claims abstract description 17
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 11
- 238000012549 training Methods 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 81
- 238000004364 calculation method Methods 0.000 claims description 17
- 230000033001 locomotion Effects 0.000 claims description 15
- 230000001133 acceleration Effects 0.000 claims description 10
- 230000004888 barrier function Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 9
- 238000006073 displacement reaction Methods 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 9
- 239000013598 vector Substances 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 8
- 238000013519 translation Methods 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 4
- 230000004927 fusion Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000009825 accumulation Methods 0.000 claims description 3
- 230000001373 regressive effect Effects 0.000 claims description 3
- 238000000605 extraction Methods 0.000 description 9
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 239000008267 milk Substances 0.000 description 3
- 210000004080 milk Anatomy 0.000 description 3
- 235000013336 milk Nutrition 0.000 description 3
- 238000010187 selection method Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000002679 ablation Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000004445 quantitative analysis Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000004451 qualitative analysis Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 210000000323 shoulder joint Anatomy 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
- 210000003857 wrist joint Anatomy 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Business, Economics & Management (AREA)
- Multimedia (AREA)
- Robotics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Resources & Organizations (AREA)
- Evolutionary Biology (AREA)
- Economics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Strategic Management (AREA)
- Automation & Control Theory (AREA)
- Fuzzy Systems (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Genetics & Genomics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
Abstract
本发明公开了一种基于神经网络的机械臂6D位姿抓取方法,包括:通过工业深度相机分别获取RGB和深度视频序列;搭建改进的YOLOV5算法网络,网络包括主干网络、网络层和预测层;基于预设的损失函数对算法网络和预设的PVN3D‑Tiny网络进行训练;将RGB视频序列发送至训练好的算法网络,得到输出特征图;基于输出特征图中的待抓取目标的ROI区域以及深度视频序列,采用预设的训练好的PVN3D‑Tiny网络获得待抓取目标表面的预测关键点,使用奇异值分解方法计算出待识别目标的6D位姿信息;获取障碍物信息,基于待识别目标的6D位姿信息,结合七次多项式轨迹规划算法和遗传算法得到规划轨迹,结合障碍物信息进行机械臂避障得到最优轨迹,提高了目标检测和抓取的精度和速度。
Description
技术领域
本发明属于自动化技术领域,特别是涉及一种基于神经网络的机械臂6D位姿抓取方法。
背景技术
近年来,目标检测算法发展迅速。目前主要的目标检测算法分为两大类:1)两阶段目标检测算法,包括R-CNN、Fast R-CNN、Faster R-CNN和Mask R-CNN;2)一阶段目标检测方法,包括RetinNet、SSD(Single Shot Multi-box Detector,SSD)、YOLO(You Only LookOnce,YOLO)系列。YOLO目标检测算法包括了YOLOV1~YOLOV8系列算法以及一系列基于改进的YOLO目标检测算法,因出色的性能和有效地平衡了精度和速度受到学者的广泛关注,但仍存在参数量过大,计算成本过高及对小目标漏检率高等问题。有学者针对小目标检测中存在的复杂背景问题提出了改进的YOLOV3模型,此模型将预测尺度从3个增加到4个,并将输入图像大小调整为608x608以保留更多的图像细节。随着目标检测技术的发展,许多学者将YOLO算法应用于目标的6D位姿估计。有学者对YOLOV2进行改进提出了一个深层的卷积网络框架,该网络直接预测目标对象的3D边界框顶点的2D投影,然后使用PnP算法估计目标对象的6D位姿信息。有学者通过YOLOV3和FFB6D提出了一种两阶段方法并在6D位姿估计精确度上表现出最优结果,但仍存在参数量过大、计算成本较高。
基于深度学习的6D位姿估计方法可以分为一阶段估计方法和两阶段估计方法两类。一阶段估计方法是基于回归直接从输入图像中获取目标对象的6D位姿信息。有学者提出了一种基于卷积神经网络的6D位姿估计网络PoseCNN,该网络通过霍夫投票确定目标对象在图像中的中心位置,然后计算出目标对象的3D平移和3D旋转矩阵,最后再使用ICP(Iterative Closest Point,ICP)算法进行优化。然而,该方法比较耗时且无法进行端到端优化。随后,有学者提出一种可以进行端到端优化的深度学习网络Deep-6D Pose,可以从单个RGB图像中获取目标对象6D位姿信息。相较于两阶段方法,一阶段方法通过回归的方式直接输出6D位姿信息,然而对于位姿估计中的旋转矩阵而言,使用两阶段方法更为精准。有学者通过RGB图像分别预测目标的2D图像坐标和3D空间坐标,然后使用PnP算法计算出目标位姿信息,具有较好的实时性。但若目标为低纹理或低分辨率时,将使其预测精度大幅下降。有学者将卷积神经网络CNN应用于检测到的物体,在通过预测目标物体的3D边界框顶点在2D图像中投影,然后采用PnP算法得出6D位姿信息,但当物体出现严重遮挡时预测精度将大幅较低。有学者针对关键点被遮挡和截断的问题,提出了像素级投票网络PVNet位姿估计方法,为被遮挡或被截断的关键点提供了一种新的表示方式,但应用在机械臂抓取任务中实时性较差。
机械臂执行任务时除精准识别目标物体外,另一核心问题是如何在复杂场景下实现机械臂自主避障。有学者提出了一种基于圆柱包围盒模型的避障方法,该方法通过提取理想机械臂轨迹的分段描述方程,将分段轨迹的中间未知量设为待定参数,通过参数优化达到机械臂避障的目的。有学者结合解析解和数值解两种方法提出一种改进的逆运动学求解方法,该方法将机械臂与障碍物以椭球体的形式建模,计算机械臂连杆与障碍物之间的最小距离,该方法提高了求解精度和速度,但仍存在奇异点问题。有学者基于线段球体包络盒模型进行碰撞检测并采针对人工场法应用在机械臂避障时容易陷入局部极小的问题,引入高斯函数建立虚拟引力势场处理局部极小问题。此外,遗传算法、快速随机搜索树算法、A*算法等方法也被用于机械臂避障轨迹规划。此类方法能有效的避开障碍物,但能同时兼顾避障和运动学性能优化的研究还较少。
综上所述,基于YOLO的6D位姿估计方法具有精度高且鲁棒性强,但仍存在泛化能力弱,实时性不高等问题。在机械臂抓取任务中,传统的6D位姿估计方法在计算出目标的6D位姿信息后没有对机械臂进行轨迹避障规划。因此,为实现复杂场景下的机械臂精准抓取物体及避障任务,本发明提出改进的基于神经网络的机械臂6D位姿抓取方法。
发明内容
针对以上技术问题,本发明提供一种基于神经网络的机械臂6D位姿抓取方法。
本发明解决其技术问题采用的技术方案是:
一种基于神经网络的机械臂6D位姿抓取方法,所述方法包括以下步骤:
S100:通过工业深度相机分别获取RGB视频序列和深度视频序列;
S200:搭建改进的YOLOV5算法网络,网络包括主干网络、网络层和预测层,主干网络用于进行特征提取,网络层用于对主干网络提取的特征加工,预测层用于对加工后的特征进行预测,得到输出特征图;
S300:基于预设的损失函数对改进的YOLOV5算法网络和预设的PVN3D-Tiny网络进行训练,得到训练好的改进的YOLOV5算法网络和预设的训练好的PVN3D-Tiny网络;
S400:将RGB视频序列发送至训练好的改进的YOLOV5算法网络,得到输出特征图,其中,输出特征图中包括待抓取目标的ROI区域;
S500:基于输出特征图中的待抓取目标的ROI区域以及深度视频序列,采用预设的训练好的PVN3D-Tiny网络获得待抓取目标表面的预测关键点,使用奇异值分解方法计算出待识别目标的6D位姿信息;
S600:获取障碍物信息,基于待识别目标的6D位姿信息,结合七次多项式轨迹规划算法和遗传算法得到规划轨迹,根据规划轨迹和障碍物信息进行机械臂避障得到最优轨迹,实现目标的避障抓取。
优选地,S200中主干网络包括依次相连的CBS模块、第一GhostConv模块、第一G3Ghost模块、第二GhostConv模块、第二G3Ghost模块、第三GhostConv模块、第三G3Ghost模块、第四GhostConv模块、CBAM注意力机制模块和SPP模块;网络层包括两个卷积层,预测层包括三个并列的CBS模块。
优选地,第一G3Ghost模块包括Ghost Bottleneck模块、连接模块和三个CBS模块,输入特征图中的任意一半特征图通过一个CBS模块和GhostBottleneck生成特征图,输入特征图中的剩余的另一半特征图通过与一个CBS模块和GhostBottleneck并联的另一CBS模块生成特征图,再将两部分特征图拼接后经过最后一个CBS模块,得到第一G3Ghost模块的输出;
Ghost bottlenecks模块包括两个堆叠的GhostConv,第一个GhostConv作为扩展层增加通道数量,第二个GhostConv用于减少输出特征图的通道数使其与输入通道数相匹配,并与残差边传来的输入特征图执行相加操作。
优选地,S300中预设的损失函数具体为:
L=λ1Lobj+λ2Lreg+λ3Lcls+λ4Lkey+λ5Lpose
式中λ1,λ2,λ3,λ4和λ5是训练过程中的每项损失的比例因子,Lobj、Lcls和Lreg分别为目标损失函数、分类损失函数和回归损失函数,Lkey是关键点选择损失函数,Lpose为位姿损失函数,目标损失函数Lobj采用Focal交叉熵损失函数度量其与真实值的差值,定义如下:
式中,Nobj为视频帧目标总个数,ys为测试样本s的标签,前景标为1,背景标为0,ds为测试样本s预测为前景的概率;
回归损失函数Lreg使用CIoU损失函数来度量预测框与真实框之间的重叠面积、中心点距离和长宽比,CIoU取值范围为[-1,1],回归损失函数Lreg定义如下:
Lreg=1-CIoU
为评判目标所属的类别与真实值的差值,分类损失函数采用多分类交叉熵损失函数对目标所属类别的预测进行评分,Lcls定义如下:
式中,Ncls为视频帧目标总个数,Mcls为类别数量,yoc符号函数,如果当前帧目标o的真实类别等于c,yoc则为1,否则为0,doc为当前帧目标o属于真实类别c的预测概率.关键点选择损失函数Lkey定义如下:
式中Nkey是检测到的点总数,Mkey是关键点总数,Ti j是从第i个可见点到第j个关键点的平移偏移量,是从第i个可见点到第j*个关键点的真实平移偏移量,位姿损失函数Lpose定义如下:
式中τ为控制旋转和平移回归误差的平衡参数,为回归得到的旋转角度,/>为旋转角度的标签真值,/>为回归得到的平移矢量,/>为平移矢量的标签真值数据。
优选地,S500包括:
S510:将输出特征图与深度视频序列裁剪为以ROI区域为中心并包括在内的最小正方形,使用最近邻插值法将裁剪的正方形图像的大小调整为预设尺寸,经过预处理之后得到两副大小为预设尺寸的RGB图与点云图送入训练好的预设的PVN3D-Tiny网络;
S520:训练好的预设的PVN3D-Tiny网络使用PointNet++和PSPNet作为主干网络,提取RGB和点云特征信息,再使用DenseFusionNet将得到的特征信息进行全局特征的迭代的密集融合,得到融合后的输出特征图,对融合后的输出特征图进行关键点选取,以获取目标物体的关键点,得到预测的关键点;
S530:使用奇异值分解确定预测的关键点和目标对象的参考关键点{kpi}之间的6D位姿矩阵Rt。
优选地,S520中对融合后的输出特征图进行关键点选取,以获取目标物体的关键点,得到预测的关键点,包括:
S521:使用逐点分割方法过滤掉融合后的输出特征图中待识别目标的背景点以获得候选关键点{ofi}∈R3;
S522:定义候选关键点{ofi}与参考关键点{kpi}∈R3之间的平均预测距离μ和标准偏差σ,在此阶段过滤掉任何与平均预测距离μ的差超过标准偏差σ的候选关键点,即当|ofi-μ|>σ时,该候选关键点将被去除,得到该目标对象的预测关键点
优选地,S600包括:
S610:获取障碍物位置,输入待识别目标的6D位姿信息,由遗传算法生成函数产生一组初始种群Pi,根据初始父代K值结合七次多项式轨迹规划算法得到规划轨迹,结合规划轨迹和障碍物信息,通过计算碰撞检测结果fCO、各关节角度变化量之和fQ、机械臂末端轨迹长度之和fL和各关节扭矩超过设定值总和fTO,进而求出适应度函数fK,
S620:通过遗传算法交叉、变异得到子代,多次迭代后判断Pi与适应度函数fK是否接近,达到终止条件后确定与适应度最接近的最优参数K,最后代入七次多项式中得到最优轨迹,实现目标的避障抓取。
优选地,S620还包括:当未达到终止条件时,调节父代K值,并返回S610中结合七次多项式轨迹规划算法得到规划轨迹,直至达到S620中的终止条件。
优选地,七次多项式具体为:
θ(t)=c0+c1t+c2t2+c3t3+c4t4+c5t5+c6t6+Kt7
式中K为可调参数,θ=[θ1,θ2,θ3,θ4,θ5,θ6]为6维向量,θ1~6分别为机械臂6个关节角,c0~c6为待定系数;
假设机械臂起始时刻t0和终点时刻tf的角位移、角速度、角加速度、角冲击度分别为和/>以以上8个变量作为初始条件代入上式中并求导即可求出机械臂起始和终点时刻的各关节轨迹函数为:
当给定参数K时,即可由上式求解出待定系数c0~c6,进而规划出机械臂各关节角位移、角速度、角加速度、角冲击度均连续的运动轨迹。
优选地,S610中的适应度函数具体为:
式中,fCO为碰撞检测结果,碰撞为0,不碰撞为1;ηi为加权因子,fQ为各关节角度变化量之和,fL为械臂末端轨迹长度之和,fTO为各关节扭矩超过设定值总和;
七次多项式轨迹规划算法将规划出的运动轨迹分成i小段,第i-1段机械臂末端所在的空间位置坐标为(pi-1,x,pi-1,y,pi-1,z),因此每段位置坐标之间的距离和就为末端轨迹长度fL,计算公式为:
关节角度变化量之和fQ为6个关节在第i段与第i-1段轨迹各关节角度之差绝对值的累加,计算公式为:
式中qi,j为第i段轨迹,第j个关节角度值;
各关节扭矩超过设定值总和fTO计算公式为:
式中δi,j为第i段轨迹、第j个关节扭矩,为第j个关节扭矩极限。
上述一种基于神经网络的机械臂6D位姿抓取方法,(1)为提高目标检测精度和速度,提出了一种改进的YOLOV5算法网络,提高网络特征提取能力;(2)为提高位姿估计速度,采用PVN3D-Tiny网络计算目标物体的6D位姿信息,并提出了一种新的3D关键点选择方法,使用奇异值分解(SVD)来找到目标预测关键点和参考关键点之间的6D位姿矩阵;(3)在机械臂抓取过程中,为精准的抓取物体以及避开障碍物,本发明提出了基于七次多项式轨迹规划的机械臂避障算法,该方法保证避开障碍物的前提下,最大限度地优化机械臂运动轨迹。
附图说明
图1为本发明一实施例中一种基于神经网络的机械臂6D位姿抓取方法的流程图;
图2为本发明一实施例中一种基于神经网络的机械臂6D位姿抓取方法的整体结构框图;
图3为本发明一实施例中GhostBottleneck模块和C3Ghost模块的结构示意图;
图4为本发明一实施例中主干网络添加CBAM模块的示意图;
图5为本发明一实施例中CR3机械臂连杆坐标系示意图;
图6为本发明一实施例中障碍物最小球面包络示意图;
图7为本发明中算法在自制数据集上的预测结果;
图8为本发明一实施例中机械臂各关节位移、角速度、角加速度随时间变化曲线图。
具体实施方式
为了使本技术领域的人员更好地理解本发明的技术方案,下面结合附图对本发明作进一步的详细说明。
在一个实施例中,如图1所示,一种基于神经网络的机械臂6D位姿抓取方法,所述方法包括以下步骤:
S100:通过工业深度相机分别获取RGB视频序列和深度视频序列。
S200:搭建改进的YOLOV5算法网络,结合预设的网络损失函数对网络进行训练,得到训练好的网络,网络包括主干网络、网络层和预测层,主干网络用于进行特征提取,网络层用于对主干网络提取的特征加工,预测层用于对加工后的特征进行预测,得到输出特征图。
在一个实施例中,S200中主干网络包括依次相连的CBS模块、第一GhostConv模块、第一G3Ghost模块、第二GhostConv模块、第二G3Ghost模块、第三GhostConv模块、第三G3Ghost模块、第四GhostConv模块、CBAM注意力机制模块和SPP模块;网络层包括两个卷积层,预测层包括三个并列的CBS模块。
具体地,如图2所示,目标检测是机械臂视觉抓取的关键问题,改进的YOLOV5算法网络主要分为三个部分,分别为主干网络、网络层和预测层,主干网络负责特征提取,网络层对提取的特征加工,提升特征的多样性,预测层采用了3个解耦头。为提高机械臂目标检测实时性,本发明提出了YOLOV5-GhostNet网络的目标检测算法,采用GhostNet网络结构替换YOLOV5原有的CSPDarknet-53作为主干特征提取网络,并引入CBAM注意力机制关注通道和空间两个维度的特征信息,保证精度的同时减少网络参数量.
在主干网络部分,第一层采用6×6卷积对输入图片做切片操作,将YOLOV5原有卷积替换为GhostConv,C3模块全部替换为本发明所提得C3Ghost模块,并融入CBAM注意力机制模块,提高网络特征提取能力。
GhostConv针对特征图冗余问题,利用特征图相似性,通过少量计算产生大量特征图,因此GhostConv可被分为两个部分,其中一部分用于做标准卷积,但严格控制其数量,然后另一部分将第一部分生成的固有特征图进行一系列简单线性运算用于生成更多的特征图,最后将两部分特征图拼接生成最终的特征图。这样在不改变输出特征图大小的情况下消除冗余问题,减少计算成本,以获得更加轻量的模型。为提高模型处理速度及设备部署时的实用性,本发明在GhostConv模块中全部使用3x3大小的卷积核,使用Ghost模块代替普通卷积的理论加速比为:
式中c为输入通道数,h、w分别为特征图的高和宽,h′、w′分别为输出数据的高和宽,n为卷积核数量,k为卷积核大小,d为线性变换卷积核大小,s为每个通道产生的总映射,其中k×k和d×d大小相同且s<<c。
在一个实施例中,第一G3Ghost模块包括Ghost Bottleneck模块、连接模块和三个CBS模块,输入特征图中的任意一半特征图通过一个CBS模块和GhostBottleneck生成特征图,输入特征图中的剩余的另一半特征图通过与一个CBS模块和GhostBottleneck并联的另一CBS模块生成特征图,再将两部分特征图拼接后经过最后一个CBS模块,得到第一G3Ghost模块的输出;
Ghost bottlenecks模块包括两个堆叠的GhostConv,第一个GhostConv作为扩展层增加通道数量,第二个GhostConv用于减少输出特征图的通道数使其与输入通道数相匹配,并与残差边传来的输入特征图执行相加操作。
具体地,基于Ghost模块的优越性,本发明进一步设计了C3Ghost模块,具体结构如图3所示。
图3(a)所示,每个GhostBottleneck主要由两个堆叠的GhostConv组成,第一个GhostConv作为扩展层增加通道数量,第二个GhostConv用于减少输出特征图的通道数使其与输入通道数相匹配,并与残差边传来的输入特征图执行相加操作。
CSPNet(Cross Stage Partial Network,CSPNet)结构通过将浅层的特征图在通道维度一分为二,一部分经由特征提取模块向后传播,另一部分则经过跨阶段层次结构直接与特征提取模块的输出进行合并,实现了更加丰富的梯度组合,并且在准确性不变或者提高的基础上可以减少了10%~20%的网络参数量。因此,在改进YOLOV5模型时继续沿用了CSPNet架构,另一方面,传统的GhostNet采用MobileNetV3结构,网络结构太深,使用该结构多尺度地提取特征,会使模型参数量和计算量增加。综合两方面考虑,设计了C3Ghost模块如图3(b)所示,C3Ghost模块将一半特征信息通过CBS模块和GhostBottleneck生成特征图,另一部分只通过CBS模块生成特征图,再将两部分特征图拼接,使得梯度组合地差异最大化,并减少大量梯度信息,其中,CBS模块包括卷积、正则化和激活函数。
GhostConv模块使用简单线性运算生成特征图是分组卷积方法,分组卷积消除了通道间的相关性,虽然降低了计算量,但模型对全局特征提取的能力减小,此外,在机械臂视觉抓取中,存在许多干扰因素,如光照变化、背景杂乱等,因此,本发明在主干网络引入CBAM注意力机制,以提高模型特征提取能力和检测精度。
本发明在主干网络中以三种不同方式添加了CBAM注意力机制模块,如图4所示,第一种方式如图4(a)所示,命名为GhostNet_CBAM_V1,主干网络的输入大小为640x640x3,经过CBS模块得到320x320x64大小的特征图,在此特征图后加入CBAM模块;第二种方式如图4(b)所示,命名为GhostNet_CBAM_V2,在通过最后一层GhostConv之后特征图大小为20x20x1024,在此特征图后加入CBAM模块;第三种方式如图4(c)所示,命名为GhostNet_CBAM_V3,方式三添加CBAM模块的方法结合方式一和方式二,在对应位置同时添加了CBAM模块。在本实施例中,选用第一种方式。
S300:基于预设的损失函数对改进的YOLOV5算法网络和预设的PVN3D-Tiny网络进行训练,得到训练好的改进的YOLOV5算法网络和预设的训练好的PVN3D-Tiny网络。
在一个实施例中,S300中预设的损失函数具体为:
L=λ1Lobj+λ2Lreg+λ3Lcls+λ4Lkey+λ5Lpose
式中λ1,λ2,λ3,λ4和λ5是训练过程中的每项损失的比例因子,Lobj、Lcls和Lreg分别为目标损失函数、分类损失函数和回归损失函数,Lkey是关键点选择损失函数,Lpose为位姿损失函数,目标损失函数Lobj采用Focal交叉熵损失函数度量其与真实值的差值,定义如下:
式中,Nobj为视频帧目标总个数,ys为测试样本s的标签,前景标为1,背景标为0,ds为测试样本s预测为前景的概率;
回归损失函数Lreg使用CIoU损失函数来度量预测框与真实框之间的重叠面积、中心点距离和长宽比,CIoU取值范围为[-1,1],回归损失函数Lreg定义如下:
Lreg=1-CIoU
为评判目标所属的类别与真实值的差值,分类损失函数采用多分类交叉熵损失函数对目标所属类别的预测进行评分,Lcls定义如下:
式中,Ncls为视频帧目标总个数,Mcls为类别数量,yoc符号函数,如果当前帧目标o的真实类别等于c,yoc则为1,否则为0,doc为当前帧目标o属于真实类别c的预测概率.关键点选择损失函数Lkey定义如下:
式中Nkey是检测到的点总数,Mkey是关键点总数,Ti j是从第i个可见点到第j个关键点的平移偏移量,是从第i个可见点到第j*个关键点的真实平移偏移量,位姿损失函数Lpose定义如下:
式中τ为控制旋转和平移回归误差的平衡参数,为回归得到的旋转角度,/>为旋转角度的标签真值,/>为回归得到的平移矢量,/>为平移矢量的标签真值数据。
S400:将RGB视频序列发送至训练好的改进的YOLOV5算法网络,得到输出特征图,其中,输出特征图中包括待抓取目标的ROI区域。
S500:基于输出特征图中的待抓取目标的ROI区域以及深度视频序列,采用预设的训练好的PVN3D-Tiny网络获得待抓取目标表面的预测关键点,使用奇异值分解方法计算出待识别目标的6D位姿信息。
在一个实施例中,S500包括:
S510:将输出特征图与深度视频序列裁剪为以ROI区域为中心并包括在内的最小正方形,使用最近邻插值法将裁剪的正方形图像的大小调整为预设尺寸,经过预处理之后得到两副大小为预设尺寸的RGB图与点云图送入训练好的预设的PVN3D-Tiny网络;
S520:训练好的预设的PVN3D-Tiny网络使用PointNet++和PSPNet作为主干网络,提取RGB和点云特征信息,再使用DenseFusionNet将得到的特征信息进行全局特征的迭代的密集融合,得到融合后的输出特征图,对融合后的输出特征图进行关键点选取,以获取目标物体的关键点,得到预测的关键点;
S530:使用奇异值分解确定预测的关键点和目标对象的参考关键点{kpi}之间的6D位姿矩阵Rt。
在一个实施例中,S520中对融合后的输出特征图进行关键点选取,以获取目标物体的关键点,得到预测的关键点,包括:
S521:使用逐点分割方法过滤掉融合后的输出特征图中待识别目标的背景点以获得候选关键点{ofi}∈R3;
S522:定义候选关键点{ofi}与参考关键点{kpi}∈R3之间的平均预测距离μ和标准偏差σ,在此阶段过滤掉任何与平均预测距离μ的差超过标准偏差σ的候选关键点,即当|ofi-μ|>σ时,该候选关键点将被去除,得到该目标对象的预测关键点
具体地,采用YOLOV5-GhostNet检测出目标感兴趣区域(Regions Of Interest,ROI),然后,采用PVN3D-Tiny获得物体表面的预测关键点,使用奇异值分解方法计算出物体的6D位姿信息。
如图2 6D位姿估计部分所示,在通过YOLOV5-Ghost得到待抓取目标的ROI区域后,将上一阶段输出的RGB图与深度图裁剪为以ROI区域为中心并包括在内的最小正方形(如80x80、160x160...),然后使用最近邻插值法(nearest neighbor interpolation)将裁剪的方形图像的大小调整为80x80,经过预处理之后得到两副大小为80x80的RGB图与点云图送入PVN3D-Tiny中。本发明由于将图像调整为了80x80大小,所以PVN3D-Tiny只处理了目标对象相关的数据部分,在采样点数量相同的情况下,从裁剪图像中采样的点云会更加密集,为PVN3D-Tiny供了更丰富的几何特征信息。
PVN3D-Tiny使用PointNet++和PSPNet作为主干网络,进一步提取RGB和点云特征信息,然后在使用DenseFusionNet将得到的特征信息进行全局特征的迭代的密集融合,以获取目标物体关键点。在关键点选取阶段,为了获得最终的目标位姿,首先使用逐点分割方法过滤掉待识别目标的背景点以获得候选关键点{ofi}∈R3,为了使关键点选取更具有确定性,需要去除异常的候选关键点,首先定义了候选关键点{ofi}与参考关键点{kpi}∈R3之间的平均预测距离μ和标准偏差σ。在此阶段过滤掉了任何与平均预测距离μ的差值超过标准偏差σ的候选关键点,即当|ofi-μ|>σ时,该候选关键点将被去除,这样就得到该目标对象的预测关键点最后,使用奇异值分解(SVD)来找到预测的关键点/>和目标对象的参考关键点{kpi}之间的6D位姿矩阵Rt。
S600:获取障碍物信息,基于待识别目标的6D位姿信息,结合七次多项式轨迹规划算法和遗传算法得到规划轨迹,根据规划轨迹和障碍物信息进行机械臂避障规划得到最优轨迹,实现目标的避障抓取。
具体地,为改善6DOF机械臂DOBOT CR3在运动过程中出现的关节抖动、运动轨迹偏差的问题,提出基于七次多项式轨迹规划的机械臂避障算法,综合碰撞检测结果、运动学指标建立适应度函数,通过遗传算法进行优化,在关节空间下规划出一条机械臂无碰撞、关节抖动小的运动轨迹以实现精准抓取。
首先,需对机械臂建立简化模型,CR3机械臂连杆坐标系如图5所示。该机械臂由1个腰关节,2个肩关节,3个腕关节组成。根据连杆坐标系即可建立机械臂标准DH参数表,如表1所示,表中a为连杆的长度,d为相邻关节距离,θ为相邻关节转角,α为相邻关节旋转轴之间的夹角。
表1 CR3机械臂标准DH参数表
其次,需对障碍物建立模型。由于障碍物形状具有不确定性,很难对所有的障碍物建立准确的数学模型,因此本发明对障碍物采用最小球面进行包络,如图6所示,从而将障碍物形状转换成一个用球心和球半径描述的球体序列。由此,机械臂连杆直线段和障碍物之间的碰撞判断转换为直线段和球心点之间的距离判断。
在一个实施例中,S600包括:
S610:获取障碍物位置,输入待识别目标的6D位姿信息,由遗传算法生成函数产生一组初始种群Pi,根据初始父代K值结合七次多项式轨迹规划算法得到规划轨迹,结合规划轨迹和障碍物信息,通过计算碰撞检测结果fCO、各关节角度变化量之和fQ、机械臂末端轨迹长度之和fL和各关节扭矩超过设定值总和fTO,进而求出适应度函数fK,
S620:通过遗传算法交叉、变异得到子代,多次迭代后判断Pi与适应度函数fK是否接近,达到终止条件后确定与适应度最接近的最优参数K,最后代入七次多项式中得到最优轨迹,实现目标的避障抓取。
在一个实施例中,S620还包括:当未达到终止条件时,调节父代K值,并返回S610中结合七次多项式轨迹规划算法得到规划轨迹,直至达到S620中的终止条件。
在一个实施例中,七次多项式具体为:
θ(t)=c0+c1t+c2t2+c3t3+c4t4+c5t5+c6t6+Kt7
式中K为可调参数,θ=[θ1,θ2,θ3,θ4,θ5,θ6]为6维向量,θ1~6分别为机械臂6个关节角,c0~c6为待定系数;
假设机械臂起始时刻t0和终点时刻tf的角位移、角速度、角加速度、角冲击度分别为和/>以以上8个变量作为初始条件代入上式中并求导即可求出机械臂起始和终点时刻的各关节轨迹函数为:
当给定参数K时,即可由上式求解出待定系数c0~c6,进而规划出机械臂各关节角位移、角速度、角加速度、角冲击度均连续的运动轨迹。
具体地,轨迹规划一般表达为角位移、角速度、角加速度等运动量关于时间的函数。
在一个实施例中,S610中的适应度函数具体为:
式中,fCO为碰撞检测结果,碰撞为0,不碰撞为1;ηi为加权因子,fQ为各关节角度变化量之和,fL为械臂末端轨迹长度之和,fTO为各关节扭矩超过设定值总和;
七次多项式轨迹规划算法将规划出的运动轨迹分成i小段,第i-1段机械臂末端所在的空间位置坐标为(pi-1,x,pi-1,y,pi-1,z),因此每段位置坐标之间的距离和就为末端轨迹长度fL,计算公式为:
关节角度变化量之和fQ为6个关节在第i段与第i-1段轨迹各关节角度之差绝对值的累加,计算公式为:
式中qi,j为第i段轨迹,第j个关节角度值;
各关节扭矩超过设定值总和fTO计算公式为:
式中δi,j为第i段轨迹、第j个关节扭矩,为第j个关节扭矩极限。
具体地,七次多项式待定系数K决定了运动轨迹的性能,由于遗传算法对求解高维非线性问题有着很好的稳定性和鲁棒性,因此本发明采用遗传算法对待定系数K优化。当K值多大或过小时,易导致机械臂关节角力矩超限,因此本发明将Ki的取值范围设为[-400,400]。出于节能、高效考虑,减少机械臂不必要的运动,定义上述适应函数。
遗传算法对待定参数K优化流程如图2所示。首先,输入目标和障碍物位置,同时由遗传算法生成函数产生一组初始种群Pi,然后通过计算碰撞检测结果fCO、各关节角度变化量之和fQ、机械臂末端轨迹长度之和fL和各关节扭矩超过设定值总和fTO,进而求出适应度函数fK,通过遗传算法交叉、变异得到子代,多次迭代后判断Pi与适应度fK是否接近,达到终止条件后找出与适应度最接近的最优参数K,最后代入七次多项式中得到最优轨迹,即可实现目标的避障抓取。
上述一种基于神经网络的机械臂6D位姿抓取方法,具有如下优点:
1)为提高目标检测精度和速度,提出基于YOLOV5-GhostNet网络的目标检测算法,并融入CBAM注意力机制模块,提高网络特征提取能力。
2)为提高位姿估计速度,采用PVN3D-Tiny网络计算目标物体的6D位姿信息,并提出了一种新的3D关键点选择方法,使用奇异值分解(SVD)来找到目标预测关键点和参考关键点之间的6D位姿矩阵。
3)在机械臂抓取过程中,为精准的抓取物体以及避开障碍物,本发明提出了基于七次多项式轨迹规划的机械臂避障算法,该方法保证避开障碍物的前提下,最大限度地优化机械臂运动轨迹。
在详细的实验过程中,机械臂6D位姿抓取系统主要包括两个平台:深度学习平台及机械臂抓取控制平台。深度学习平台GPU为NVIDIAGeforce RTX2080ti,内置软件环境为Ubuntu18.04LTS系统,通过深度学习平台训练网络获取对象的6D位姿信息。机械臂抓取控制平台单臂末端负载3kg,重复定位精度±0.0.2mm,工作半径约666mm,主要组件包括:realsense深度相机、机械臂本体、电动两指夹爪、NUC机载微型计算机等,机器人操作系统为ROS(Robot Operating System),具有良好的开源性和扩展性。
定性分析实验结果:首先在POSE4DS数据集上验证本发明算法的有效性。POSE4DS数据集共有4个目标对象,4个目标物体均为对称物体。图7是本发明算法在POSE4DS数据集上不同视角的预测结果,其中2类工业零件表面均存在反光且低纹理,但本发明仍能很好预测出物体的位姿信息。
为直观的评估本发明算法的性能,本发明在YCB-Video数据集进行了定量、定性对比分析实验,在测试集上进行了网络消融实验。对机械臂运动轨迹及避障性能进行了仿真实验。
YCB-Video数据集包含92个视频21个对象得6D位姿,总共133827帧。数据集中得物体表现出不同得对称性,并以各种姿势和空间配置排列,从而导致物体之间存在严重得遮挡.由于数据集过大,本发明从YCB-Video数据集中选取了8种生活场景中较为常见的物体(电钻、木块、剪刀、记号笔、夹钳、大夹钳、罐头、红盆)以及出现遮挡、堆叠的部分视频帧进行实验。
实验表明,夹钳在第50帧处于未被遮挡状态,除本发明算法和PointFusion算法外,其余两种算法均未能预测夹钳6D位姿信息;在第72帧时PoseCNN算法和PointFusion算法受光照变化影响,对夹钳位姿信息预测误差较大,而本发明算法仍能准确预测夹钳位姿信息;在第437帧和491帧时,此时红盆处于严重遮挡状态,仅有PointFusion算法和本发明算法仍能准确预测红盆位姿信息,说明本发明算法有着较好的抗遮挡能力;在第1488帧时,除PoseCNN算法外,其余三种算法均能准备预测其位姿信息。本发明采用YOLOV5框架下高性能的GhostNet特征提取网络及新的3D关键点选取方法有效改善了目标在遮挡、交叉遮挡的问题。
为验证加入网络和CBAM注意力机制的有效性,将本发明算法与五种算法进行对比:1)传统YOLOV5主干网络;2)在YOLOV5框架下用GhostNet代替主干网络;3)在YOLOV5框架下用GhostNet_CBAM_V1代替主干网络;4)在YOLOV5框架下用GhostNet_CBAM_V2代替主干网络;5)在YOLOV5框架下用GhostNet_CBAM_V3代替主干网络.为定量分析目标检测性能,使用几种常见的评估指标,如准确率(Presion)、召回率(Recall)、平均准确率(mAP)、参数量(Params,单位为M)和每秒浮点运算次数(单位为GHz),结果见表2。
表2网络消融实验
表2所示,首先对比传统YOLOV5主干网络CSPDarknet53和YOLOV5框架中采用GhostNet的性能指标,在准确度、召回率、平均准确率相差不大的情况下,参数量从7.20M大幅下降至3.59M,可见计算复杂度大幅下降.其次对YOLOV5框架中采用GhostNet_CBAM_V1~V3主干网络进行比较,可见,GhostNet_CBAM_V2表现最佳,在参数量相差不大的情况下,GhostNet_CBAM_V2分别比V1、V2提高了1.2%和1.6%.因此,在机械臂抓取平台GPU计算能力有限的情况下,轻量级模型GhostNet_CBAM_V2更加适合应用与机械臂抓取平台.
为定量分析本发明算法,在POSE4DS和YCB-Video数据集上对PoseCNN、PVNet、PointFusion及PVN3D进行对比分析实验。与最近方法的比较如表3所示。
表3 POSE4DS数据集在评估指标下测试结果
表3可见,本发明在工件1、工件2和牛奶盒中表现出的准确度比PVN3D算法分别提升1.4%、0.5%、0.4%.本发明得物体平均预测精度为98.4%。在POSE4DS数据集中,牛奶盒的准确度最高达到99.1%,在对工业零件这类低纹理的物体中,本发明的准确度达到最高,分别为98.7%和97.1%.
不同算法在YCB-Video数据集上对比结果如表4所示。
表4 YCB-Video数据集在ADD-S指标下测试结果
本发明在ADD-S评估指标下分别比PoseCNN、PointFusion、PVN3D-Tiny提升了29.1%、19.3%、2.2%。在位姿估计阶段,本发明将ROI区域进行了裁剪操作,网络只处理了目标物体相关数据的部分,在采样点数量相同的情况下采样的点云更密集,为网络提供了更丰富的几何特征信息。
为验证基于七次多项式轨迹规划的机械臂避障算法性能,本发明通过MATLABRobotics Toolbox和Optimtool工具箱进行仿真实验验证,在进行避障仿真的时候,可以看到机械臂从起始位置,沿着轨迹避开障碍物最终到达终点位置,说明了本发明在三维空间进行避障的有效性。机械臂各关节位移、角速度、角加速度随时间变化曲线如图8所示。
可以看出采用七次多项式规划的机械臂运动轨迹在各关节角速度、角加速度曲线上均光滑连续无突变。由此,规划出一条无碰撞同时运动学、轨迹长度、转动角度等要求一起协同优化的理想运动轨迹。
以上对本发明所提供的一种基于神经网络的机械臂6D位姿抓取方法进行了详细介绍。本发明中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种基于神经网络的机械臂6D位姿抓取方法,其特征在于,所述方法包括以下步骤:
S100:通过工业深度相机分别获取RGB视频序列和深度视频序列;
S200:搭建改进的YOLOV5算法网络,网络包括主干网络、网络层和预测层,主干网络用于进行特征提取,网络层用于对主干网络提取的特征加工,预测层用于对加工后的特征进行预测,得到输出特征图;
S300:基于预设的损失函数对改进的YOLOV5算法网络和预设的PVN3D-Tiny网络进行训练,得到训练好的改进的YOLOV5算法网络和预设的训练好的PVN3D-Tiny网络;
S400:将RGB视频序列发送至训练好的改进的YOLOV5算法网络,得到输出特征图,其中,输出特征图中包括待抓取目标的ROI区域;
S500:基于输出特征图中的待抓取目标的ROI区域以及深度视频序列,采用预设的训练好的PVN3D-Tiny网络获得待抓取目标表面的预测关键点,使用奇异值分解方法计算出待识别目标的6D位姿信息;
S600:获取障碍物信息,基于待识别目标的6D位姿信息,结合七次多项式轨迹规划算法和遗传算法得到规划轨迹,根据规划轨迹和障碍物信息进行机械臂避障得到最优轨迹,实现目标的避障抓取。
2.根据权利要求1所述的方法,其特征在于,S200中主干网络包括依次相连的CBS模块、第一GhostConv模块、第一G3Ghost模块、第二GhostConv模块、第二G3Ghost模块、第三GhostConv模块、第三G3Ghost模块、第四GhostConv模块、CBAM注意力机制模块和SPP模块;网络层包括两个卷积层,预测层包括三个并列的CBS模块。
3.根据权利要求2所述的方法,其特征在于,第一G3Ghost模块包括Ghost Bottleneck模块、连接模块和三个CBS模块,输入特征图中的任意一半特征图通过一个CBS模块和GhostBottleneck生成特征图,输入特征图中的剩余的另一半特征图通过与一个CBS模块和GhostBottleneck并联的另一CBS模块生成特征图,再将两部分特征图拼接后经过最后一个CBS模块,得到第一G3Ghost模块的输出;
Ghost bottlenecks模块包括两个堆叠的GhostConv,第一个GhostConv作为扩展层增加通道数量,第二个GhostConv用于减少输出特征图的通道数使其与输入通道数相匹配,并与残差边传来的输入特征图执行相加操作。
4.根据权利要求3所述的方法,其特征在于,S300中预设的损失函数具体为:
L=λ1Lobj+λ2Lreg+λ3Lcls+λ4Lkey+λ5Lpose
式中λ1,λ2,λ3,λ4和λ5是训练过程中的每项损失的比例因子,Lobj、Lcls和Lreg分别为目标损失函数、分类损失函数和回归损失函数,Lkey是关键点选择损失函数,Lpose为位姿损失函数,目标损失函数Lobj采用Focal交叉熵损失函数度量其与真实值的差值,定义如下:
式中,Nobj为视频帧目标总个数,ys为测试样本s的标签,前景标为1,背景标为0,ds为测试样本s预测为前景的概率;
回归损失函数Lreg使用CIoU损失函数来度量预测框与真实框之间的重叠面积、中心点距离和长宽比,CIoU取值范围为[-1,1],回归损失函数Lreg定义如下:
Lreg=1-CIoU
为评判目标所属的类别与真实值的差值,分类损失函数采用多分类交叉熵损失函数对目标所属类别的预测进行评分,Lcls定义如下:
式中,Ncls为视频帧目标总个数,Mcls为类别数量,yoc符号函数,如果当前帧目标o的真实类别等于c,yoc则为1,否则为0,doc为当前帧目标o属于真实类别c的预测概率.关键点选择损失函数Lkey定义如下:
式中Nkey是检测到的点总数,Mkey是关键点总数,Ti j是从第i个可见点到第j个关键点的平移偏移量,Ti j*是从第i个可见点到第j*个关键点的真实平移偏移量,位姿损失函数Lpose定义如下:
式中τ为控制旋转和平移回归误差的平衡参数,为回归得到的旋转角度,/>为旋转角度的标签真值,/>为回归得到的平移矢量,/>为平移矢量的标签真值数据。
5.根据权利要求1所述的方法,其特征在于,S500包括:
S510:将输出特征图与深度视频序列裁剪为以ROI区域为中心并包括在内的最小正方形,使用最近邻插值法将裁剪的正方形图像的大小调整为预设尺寸,经过预处理之后得到两副大小为预设尺寸的RGB图与点云图送入训练好的预设的PVN3D-Tiny网络;
S520:训练好的预设的PVN3D-Tiny网络使用PointNet++和PSPNet作为主干网络,提取RGB和点云特征信息,再使用DenseFusionNet将得到的特征信息进行全局特征的迭代的密集融合,得到融合后的输出特征图,对融合后的输出特征图进行关键点选取,以获取目标物体的关键点,得到预测的关键点;
S530:使用奇异值分解确定预测的关键点和目标对象的参考关键点{kpi}之间的6D位姿矩阵Rt。
6.根据权利要求5所述的方法,其特征在于,S520中对融合后的输出特征图进行关键点选取,以获取目标物体的关键点,得到预测的关键点,包括:
S521:使用逐点分割方法过滤掉融合后的输出特征图中待识别目标的背景点以获得候选关键点{ofi}∈R3;
S522:定义候选关键点{ofi}与参考关键点{kpi}∈R3之间的平均预测距离μ和标准偏差σ,在此阶段过滤掉任何与平均预测距离μ的差超过标准偏差σ的候选关键点,即当|ofi-μ|>σ时,该候选关键点将被去除,得到该目标对象的预测关键点
7.根据权利要求6所述的方法,其特征在于,S600包括:
S610:获取障碍物位置,输入待识别目标的6D位姿信息,由遗传算法生成函数产生一组初始种群Pi,根据初始父代K值结合七次多项式轨迹规划算法得到规划轨迹,结合规划轨迹和障碍物信息,通过计算碰撞检测结果fCO、各关节角度变化量之和fQ、机械臂末端轨迹长度之和fL和各关节扭矩超过设定值总和fTO,进而求出适应度函数fK,
S620:通过遗传算法交叉、变异得到子代,多次迭代后判断Pi与适应度函数fK是否接近,达到终止条件后确定与适应度最接近的最优参数K,最后代入七次多项式中得到最优轨迹,实现目标的避障抓取。
8.根据权利要求7所述的方法,其特征在于,S620还包括:当未达到终止条件时,调节父代K值,并返回S610中结合七次多项式轨迹规划算法得到规划轨迹,直至达到S620中的终止条件。
9.根据权利要求8所述的方法,其特征在于,七次多项式具体为:
θ(t)=c0+c1t+c2t2+c3t3+c4t4+c5t5+c6t6+Kt7
式中K为可调参数,θ=[θ1,θ2,θ3,θ4,θ5,θ6]为6维向量,θ1~6分别为机械臂6个关节角,c0~c6为待定系数;
假设机械臂起始时刻t0和终点时刻tf的角位移、角速度、角加速度、角冲击度分别为和/>以以上8个变量作为初始条件代入上式中并求导即可求出机械臂起始和终点时刻的各关节轨迹函数为:
当给定参数K时,即可由上式求解出待定系数c0~c6,进而规划出机械臂各关节角位移、角速度、角加速度、角冲击度均连续的运动轨迹。
10.根据权利要求9所述的方法,其特征在于,S610中的适应度函数具体为:
式中,fCO为碰撞检测结果,碰撞为0,不碰撞为1;ηi为加权因子,fQ为各关节角度变化量之和,fL为械臂末端轨迹长度之和,fTO为各关节扭矩超过设定值总和;
七次多项式轨迹规划算法将规划出的运动轨迹分成i小段,第i-1段机械臂末端所在的空间位置坐标为(pi-1,x,pi-1,y,pi-1,z),因此每段位置坐标之间的距离和就为末端轨迹长度fL,计算公式为:
关节角度变化量之和fQ为6个关节在第i段与第i-1段轨迹各关节角度之差绝对值的累加,计算公式为:
式中qi,j为第i段轨迹,第j个关节角度值;
各关节扭矩超过设定值总和fTO计算公式为:
式中δi,j为第i段轨迹、第j个关节扭矩,为第j个关节扭矩极限。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311277997.0A CN117315025A (zh) | 2023-09-28 | 2023-09-28 | 一种基于神经网络的机械臂6d位姿抓取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311277997.0A CN117315025A (zh) | 2023-09-28 | 2023-09-28 | 一种基于神经网络的机械臂6d位姿抓取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117315025A true CN117315025A (zh) | 2023-12-29 |
Family
ID=89261676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311277997.0A Pending CN117315025A (zh) | 2023-09-28 | 2023-09-28 | 一种基于神经网络的机械臂6d位姿抓取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117315025A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117493424A (zh) * | 2024-01-03 | 2024-02-02 | 湖南工程学院 | 一种不依赖地图信息的车辆轨迹预测方法 |
CN117689990A (zh) * | 2024-02-02 | 2024-03-12 | 南昌航空大学 | 一种基于6d姿态估计的三支流双向融合网络方法 |
CN117689990B (zh) * | 2024-02-02 | 2024-05-31 | 南昌航空大学 | 一种基于6d姿态估计的三支流双向融合网络方法 |
-
2023
- 2023-09-28 CN CN202311277997.0A patent/CN117315025A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117493424A (zh) * | 2024-01-03 | 2024-02-02 | 湖南工程学院 | 一种不依赖地图信息的车辆轨迹预测方法 |
CN117493424B (zh) * | 2024-01-03 | 2024-03-22 | 湖南工程学院 | 一种不依赖地图信息的车辆轨迹预测方法 |
CN117689990A (zh) * | 2024-02-02 | 2024-03-12 | 南昌航空大学 | 一种基于6d姿态估计的三支流双向融合网络方法 |
CN117689990B (zh) * | 2024-02-02 | 2024-05-31 | 南昌航空大学 | 一种基于6d姿态估计的三支流双向融合网络方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112258618B (zh) | 基于先验激光点云与深度图融合的语义建图与定位方法 | |
CN110827415B (zh) | 一种全天候未知环境无人自主工作平台 | |
CN110703747B (zh) | 一种基于简化广义Voronoi图的机器人自主探索方法 | |
CN110335337B (zh) | 一种基于端到端半监督生成对抗网络的视觉里程计的方法 | |
CN109800689B (zh) | 一种基于时空特征融合学习的目标跟踪方法 | |
CN110223345B (zh) | 基于点云的配电线路作业对象位姿估计方法 | |
CN114384920A (zh) | 一种基于局部栅格地图实时构建的动态避障方法 | |
CN113807187A (zh) | 基于注意力特征融合的无人机视频多目标跟踪方法 | |
CN111310631B (zh) | 一种旋翼作业飞行机器人目标跟踪方法及系统 | |
CN111652928A (zh) | 三维点云中物体抓取位姿检测方法 | |
CN113205466A (zh) | 一种基于隐空间拓扑结构约束的残缺点云补全方法 | |
CN110728751A (zh) | 一种室内3d点云语义地图的构建方法 | |
CN110487286B (zh) | 基于点特征投影与激光点云融合的机器人位姿判断方法 | |
CN113468950A (zh) | 一种基于深度学习的无人驾驶场景下的多目标跟踪方法 | |
CN117315025A (zh) | 一种基于神经网络的机械臂6d位姿抓取方法 | |
CN114067075A (zh) | 基于生成对抗网络的点云补全方法及装置 | |
Protasov et al. | Cnn-based omnidirectional object detection for hermesbot autonomous delivery robot with preliminary frame classification | |
CN114494594A (zh) | 基于深度学习的航天员操作设备状态识别方法 | |
CN112950786A (zh) | 一种基于神经网络的车辆三维重建方法 | |
Schaub et al. | 6-dof grasp detection for unknown objects | |
CN111862147B (zh) | 视频中多车辆和多行人目标的跟踪方法 | |
CN113034592A (zh) | 基于自然语言描述的三维场景目标检测建模及检测方法 | |
CN110826575A (zh) | 一种基于机器学习的水下目标识别方法 | |
Kasebi et al. | Hybrid navigation based on GPS data and SIFT-based place recognition using Biologically-inspired SLAM | |
Chen et al. | CBi-GNN: Cross-Scale Bilateral Graph Neural Network for 3D Object Detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |