CN109079797B - 虚拟夹具的距离测量方法及系统和机械臂控制方法及系统 - Google Patents

虚拟夹具的距离测量方法及系统和机械臂控制方法及系统 Download PDF

Info

Publication number
CN109079797B
CN109079797B CN201811196956.8A CN201811196956A CN109079797B CN 109079797 B CN109079797 B CN 109079797B CN 201811196956 A CN201811196956 A CN 201811196956A CN 109079797 B CN109079797 B CN 109079797B
Authority
CN
China
Prior art keywords
sub
distance
point
level
virtual
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.)
Active
Application number
CN201811196956.8A
Other languages
English (en)
Other versions
CN109079797A (zh
Inventor
叶震
李晓静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Electric Group Corp
Original Assignee
Shanghai Electric Group Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Electric Group Corp filed Critical Shanghai Electric Group Corp
Priority to CN201811196956.8A priority Critical patent/CN109079797B/zh
Publication of CN109079797A publication Critical patent/CN109079797A/zh
Application granted granted Critical
Publication of CN109079797B publication Critical patent/CN109079797B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems

Abstract

本发明公开了一种虚拟夹具的距离测量方法及系统和机械臂控制方法及系统,距离测量方法包括:获取虚拟夹具的点云数据,点云数据包括虚拟夹具表面的多个点云点和每个点云点的位置数据;根据点云数据计算得到虚拟夹具的多尺度分块数据;根据多尺度分块数据将虚拟夹具的表面划分为若干子块,并计算虚拟夹具外的一目标点与每个子块的特征点之间的第一距离值;选取第一距离值最小的多个目标子块;计算目标点与多个目标子块的每个点云点之间的第二距离值;选取第二距离值的最小值作为目标点与虚拟夹具的最小距离。本发明在获取点云数据后进行多尺度分块,以减少遍历目标群体,在保证测量精度的基础上,极大提高了运算速度,保证了实时性。

Description

虚拟夹具的距离测量方法及系统和机械臂控制方法及系统
技术领域
本发明属于机械臂控制领域,特别涉及一种虚拟夹具的距离测量方法及系统和机械臂控制方法及系统。
背景技术
虚拟夹具,简单来说就是通过计算机内的相关程序,对操作者控制远端机器人予以引导、限制等辅助,帮助操作者高效、安全地完成操作任务,尤其是在地理勘测、质量检测、虚拟检测、数字化等很多领域都应用广泛。而虚拟夹具是由大量3D点云数据聚集而成的空间体数据,在使用过程中,其测距问题通常为计算虚拟夹具外某一点到虚拟夹具外轮廓面的最短距离,根据获取到的距离信息进一步反馈指导机器人的下一步动作。
现在的很多应用中,往往采用遍历3D点云数据中所有点到这一点的距离,再进行比较得到最短距离的方法。这种方法虽然能够精确计算最短距离,但每一次计算都花费大量时间,当需要实时测距时,便无法满足实时性要求;另一种较为普遍的做法是对3D数据进行分割,以减小数据规模,但对于未知的3D点云数据,若无法选取恰当的数据分割方法,则无法在实时性与精准度间做出最优决策,且这种数据处理方法往往可移植性差,只适用于某一类具有一定特征的虚拟夹具,无法延伸到任意虚拟夹具中。
发明内容
本发明要解决的技术问题是为了克服现有技术中虚拟夹具测距无法兼顾实时性和精准性的缺陷,提供一种虚拟夹具的距离测量方法及系统和机械臂控制方法及系统。
本发明是通过下述技术方案来解决上述技术问题:
一种虚拟夹具的距离测量方法,所述距离测量方法包括:
获取虚拟夹具的点云数据,所述点云数据包括所述虚拟夹具表面的多个点云点和每个点云点的位置数据;
根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据;
根据所述多尺度分块数据将所述虚拟夹具的表面划分为若干子块,并计算所述虚拟夹具外的一目标点与每个子块的特征点之间的第一距离值;
选取所述第一距离值最小的多个目标子块;
计算所述目标点与所述多个目标子块的每个点云点之间的第二距离值;
选取所述第二距离值的最小值作为所述目标点与所述虚拟夹具的最小距离。
较佳地,所述多尺度分块数据包括分级数c和单级分块数p,所述根据所述多尺度分块数据将所述虚拟夹具的表面划分为若干子块,并计算目标点与每个子块的特征点之间的第一距离值的步骤具体包括:
S1、将所述虚拟夹具的每个第i级子块划分为p个第i+1级子块;其中,i为自然数,i的取值为[0,c-1],i=0时,第0级子块即为所述虚拟夹具的整个表面;
S2、计算所述目标点与每个第1级子块的特征点之间的第1级距离值;
S3、选取所述第i+1级距离值最小的n个第i+1级子块,i的初始值为0;n为一预设自然数;
S4、计算所述目标点与所述n个第i+1级子块包含的第i+2级子块的特征点之间的第i+2级距离值;
S5、判断i+2是否等于c,若否,则将i+1的值赋值给i,然后返回步骤S3;若是,则执行步骤S6;
S6、将第c级距离值作为所述第一距离值;
所述选取所述第一距离值最小的多个目标子块的步骤中,将第c级距离值最小的n个第c级子块作为所述目标子块。
较佳地,所述根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据的步骤具体包括:
预设一最小遍历数和最小遍历面积占比;
根据所述点云点的数量、所述最小遍历数和所述最小遍历面积占比得到所述多尺度分块数据。
较佳地,所述距离测量方法,根据以下函数计算所述分级数和所述单级分块数:
Figure BDA0001829013800000031
Figure BDA0001829013800000032
其中,c为分级数;
Figure BDA0001829013800000033
为最小遍历面积占比;M为点云点的数量;m为最小遍历数;p为单级分块数;[]为取整函数。
较佳地,所述根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据的步骤之前,所述距离测量方法还包括:
根据所述点云点的数量和所述最小遍历数计算得到用于表征所述虚拟夹具是否需要进行多尺度划分的判定值;
判断所述判定值是否小于所述最小遍历面积占比,若判断结果为小于,则执行所述根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据的步骤。
较佳地,所述距离测量方法中,根据以下函数计算所述判定值:
Figure BDA0001829013800000034
其中,q为判定值。
较佳地,所述特征点为所述每个子块的中心区域的任意一点云点或者所述每个子块的中心位置点。
一种机械臂控制方法,所述机械臂上设有刀头,设所述目标点为所述刀头的位置点,所述机械臂控制方法包括:
将所述刀头的位置点设为所述目标点;
利用如上所述的虚拟夹具的距离测量方法得到所述刀头与所述虚拟夹具的最小距离;
根据所述刀头与所述虚拟夹具的最小距离生成运动信号;
根据所述运动信号控制机械臂带动刀头运动。
一种虚拟夹具的距离测量系统,所述距离测量系统包括点云数据获取模块、多尺度分块数据计算模块、子块划分模块、距离值计算模块、目标子块选取模块和最小距离确定模块;
所述点云数据获取模块用于获取虚拟夹具的点云数据,所述点云数据包括所述虚拟夹具表面的多个点云点和每个点云点的位置数据;
所述多尺度分块数据计算模块用于根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据;
所述子块划分模块用于根据所述多尺度分块数据将所述虚拟夹具的表面划分为若干子块;
所述距离值计算模块用于计算所述虚拟夹具外的一目标点与每个子块的特征点之间的第一距离值;
所述目标子块选取模块用于选取所述第一距离值最小的多个目标子块;
所述距离值计算模块还用于计算所述目标点与所述多个目标子块的每个点云点之间的第二距离值;
所述最小距离确定模块用于选取所述第二距离值的最小值作为所述目标点与所述虚拟夹具的最小距离。
较佳地,所述多尺度分块数据包括分级数c和单级分块数p,所述子块划分模块包括分级单元、单级距离值计算单元、单级子块选取单元、判断单元、赋值单元和第一距离值确定单元;
所述分级单元用于将所述虚拟夹具的每个第i级子块划分为p个第i+1级子块;其中,i为自然数,i的取值为[0,c-1],i=0时,第0级子块即为所述虚拟夹具的整个表面;
所述单级距离值计算单元用于计算所述目标点与每个第1级子块的特征点之间的第1级距离值;
所述单级子块选取单元用于选取所述第i+1级距离值最小的n个第i+1级子块,i的初始值为0;n为一预设自然数;
所述单级距离值计算单元还用于计算所述目标点与所述n个第i+1级子块包含的第i+2级子块的特征点之间的第i+2级距离值;
所述判断单元判断i+2是否等于c,若否,则调用所述赋值单元,若是,则调用所述第一距离值确定单元;
所述赋值单元用将i+1的值赋值给i,然后调用所述单级距离值计算单元;
所述第一距离值确定单元用于将第c级距离值作为所述第一距离值;
所述目标子块选取模块用于将第c级距离值最小的n个第c级子块作为所述目标子块。
较佳地,所述距离测量系统还包括预设模块;
所述预设模块用于预设一最小遍历数和最小遍历面积占比;
所述多尺度分块数据计算模块用于根据所述点云点的数量、所述最小遍历数和所述最小遍历面积占比得到所述多尺度分块数据。
较佳地,所述多尺度分块数据计算模块根据以下函数计算所述分级数和所述单级分块数:
Figure BDA0001829013800000051
Figure BDA0001829013800000052
其中,c为分级数;
Figure BDA0001829013800000053
为最小遍历面积占比;M为点云点的数量;m为最小遍历数;p为单级分块数;[]为取整函数。
较佳地,所述距离测量系统还包括判定值计算模块和判定值判断模块;
所述判定值计算模块用于根据所述点云点的数量和所述最小遍历数计算得到用于表征所述虚拟夹具是否需要进行多尺度划分的判定值;
所述判定值判断模块用于判断所述判定值是否小于所述最小遍历面积占比,若判断结果为小于,则调用所述多尺度分块数据计算模块。
较佳地,所述判定值计算模块根据以下函数计算所述判定值:
Figure BDA0001829013800000061
其中,q为判定值。
较佳地,所述特征点为所述每个子块的中心区域的任意一点云点或者所述每个子块的中心位置点。
一种机械臂控制系统,所述机械臂控制系统包括设定模块、控制器、机械臂和如上所述的虚拟夹具的距离测量系统,所述机械臂上设有刀头,所述目标点为所述刀头的位置点;
所述设定模块用于将所述刀头的位置点设为所述目标点;
利用如上所述的虚拟夹具的距离测量系统得到所述刀头与所述虚拟夹具的最小距离;
所述控制器用于根据所述刀头与所述虚拟夹具的最小距离生成运动信号,并根据所述运动信号控制机械臂带动刀头运动。
本发明的积极进步效果在于:本发明在获取点云数据后进行多尺度分块,以特征点替代分割的子块数据,进行安全距离的初步遍历寻点,以减少遍历目标群体,在保证测量精度的基础上,极大提高了运算速度,保证了实时性,同时此方法对虚拟夹具的大小和空间分布无任何要求,对不同的虚拟夹具,分析其内在特征,采用不同的分割方式,具有良好的可移植性与扩展性。
附图说明
图1为本发明实施例1的虚拟夹具的距离测量方法的流程图。
图2为本发明实施例1的虚拟夹具的距离测量方法中步骤130的具体流程图。
图3为本发明实施例1的虚拟夹具的距离测量方法中步骤120的具体流程图。
图4为本发明实施例1的虚拟夹具的距离测量方法的另一种实现方式的流程图。
图5为本发明实施例2的种机械臂控制方法的流程图。
图6为本发明实施例3的虚拟夹具的距离测量系统的模块示意图。
图7为本发明实施例3的虚拟夹具的距离测量系统中子块划分模块的具体示意图。
图8为本发明实施例4的种机械臂控制系统的模块示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
一种虚拟夹具的距离测量方法,如图1所示,所述距离测量方法包括:
步骤110、获取虚拟夹具的点云数据;点云数据包括虚拟夹具表面的多个点云点和每个点云点的位置数据;
步骤120、根据点云数据计算得到虚拟夹具的多尺度分块数据;
步骤130、根据多尺度分块数据将虚拟夹具的表面划分为若干子块,并计算虚拟夹具外的一目标点与每个子块的特征点之间的第一距离值;特征点为每个子块的中心区域的任意一点云点或者每个子块的中心位置点。
步骤140、选取第一距离值最小的多个目标子块;
步骤150、计算目标点与多个目标子块的每个点云点之间的第二距离值;
步骤160、选取第二距离值的最小值作为目标点与虚拟夹具的最小距离。
其中,所述多尺度分块数据包括分级数c和单级分块数p,如图2所示,步骤130具体包括:
步骤1301、将虚拟夹具的每个第i级子块划分为p个第i+1级子块;其中,i为自然数,i的取值为[0,c-1],i=0时,第0级子块即为虚拟夹具的整个表面;
步骤1302、计算目标点与每个第1级子块的特征点之间的第1级距离值;
步骤1303、选取第i+1级距离值最小的n个第i+1级子块,i的初始值为0;n为一预设自然数;
步骤1304、计算目标点与n个第i+1级子块包含的第i+2级子块的特征点之间的第i+2级距离值;
步骤1305、判断i+2是否等于c,若否,则执行步骤1306,若是,则执行步骤1307;
步骤1306、将i+1的值赋值给i,然后返回步骤1303;
步骤1307、将第c级距离值作为第一距离值;
进一步地,步骤140中,将第c级距离值最小的n个第c级子块作为所述目标子块。
假定在某一运算器的实时性要求下,最小遍历数必须限制在m个,同时,为保证足够的计算精度,希望对最短距离计算排名前n个区域进行遍历,另外,为保证计算精度,最小面积占比限制在
Figure BDA0001829013800000081
进一步地,如图3所示,步骤120具体包括:
步骤1201、预设一最小遍历数和最小遍历面积占比;
步骤1202、根据点云点的数量、最小遍历数和最小遍历面积占比得到多尺度分块数据。
具体地,根据以下函数计算所述分级数和所述单级分块数:
Figure BDA0001829013800000082
Figure BDA0001829013800000083
其中,c为分级数;
Figure BDA0001829013800000084
为最小遍历面积占比;M为点云点的数量;m为最小遍历数;p为单级分块数;[]为取整函数。
在计算上述的多尺度分块数据之前,可以根据医用数据进行简单的判定,判断是否需要对点云数据进行多尺度划分,具体地,如图4所示,提供所述距离测量方法的另一种实现方式,步骤120之前,所述距离测量方法还包括:
步骤111、根据点云点的数量和最小遍历数计算得到用于表征虚拟夹具是否需要进行多尺度划分的判定值;
步骤112、判断判定值是否小于最小遍历面积占比,若是,则执行步骤120,如否,则执行步骤113;
步骤113、遍历所有点云数据。
具体地,所述距离测量方法中,根据以下函数计算所述判定值:
Figure BDA0001829013800000091
其中,q为判定值。
举一具体示例进一步说明,实时计算空间中刀头位置到安全曲面的最短距离,其中,c为分级数;
Figure BDA0001829013800000092
Figure BDA0001829013800000093
M为26839;m为260;n为4;
利用上述公式求解得到:
Figure BDA0001829013800000094
Figure BDA0001829013800000095
Figure BDA0001829013800000096
实际距离测量过程中,首先对虚拟夹具的表面进行3级划分,即将表面划分为5个第1级子块,再将每个第1级子块划分5个第2级子块,再将每个第2级子块划分5个第3级子块,然后进行距离值的计算:第一、获取5个第1级子块的特征点,计算刀头到5个第1级子块的特征点的距离,取距离值最小的4个第1级子块;第二、获取4个第1级子块包含的20个第2级子块的特征点,计算刀头到20个第2级子块的特征点的距离,取距离值最小的4个第2级子块;第三、获取4个第2级子块包含的20个第3级子块的特征点,计算刀头到20个第3级子块的特征点的距离,取距离值最小的4个第3级子块;然后遍历前述的4个第3级子块的所有点云点,得到最小距离值。经过实际测试,采用该方法平均计算一次的耗时约为13~18ms;而采用全点遍历计算一次的平均耗时约为780ms~850ms。
需要说明的是,本实施例中,实现将所有的点云数据根据多尺度分块数据一次性全部划分好,也可以是一级一级划分,即先第一级划分,将表面划分为5个第1级子块,分别获取这5个第1级子块的特征点,计算刀头到5个第1级子块的特征点的距离,取距离值最小的4个第1级子块;进行第2级划分,将前述的4个第1级子块,再进行划分5块,总共获得20个第2级子块,分别获取这20个第2级子块的特征点,取距离值最小的4个第2级子块;进行第3级划分,将前述的4个第2级子块,再进行划分5块,总共获得20个第3级子块,分别获取这20个第3级子块的特征点,取距离值最小的4个第3级子块;然后遍历前述的4个第3级子块的所有点云点,得到最小距离值。
本实施例中,在获取点云数据后进行多尺度分块,以特征点替代分割的子块数据,进行安全距离的初步遍历寻点,以减少遍历目标群体,在保证测量精度的基础上,极大提高了运算速度,保证了实时性,同时此方法对虚拟夹具的大小和空间分布无任何要求,对不同的虚拟夹具,分析其内在特征,采用不同的分割方式,具有良好的可移植性与扩展性。
实施例2
一种机械臂控制方法,如图5所示,所述机械臂上设有刀头,设所述目标点为所述刀头的位置点,所述机械臂控制方法包括:
步骤201、将刀头的位置点设为目标点;
步骤202、利用实施例1的虚拟夹具的距离测量方法得到刀头与虚拟夹具的最小距离;
步骤203、根据刀头与虚拟夹具的最小距离生成运动信号;
步骤204、根据运动信号控制机械臂带动刀头运动。
本实施例中,可以设定当刀头接近安全曲面时,刀头运动速度变慢且产生阻力,或者,设定刀头运动到安全曲面边界时,刀头无法再向安全曲面方向运动。
实施例3
一种虚拟夹具的距离测量系统,如图6所示,所述距离测量系统包括点云数据获取模块1、多尺度分块数据计算模块2、子块划分模块3、距离值计算模块4、目标子块选取模块5和最小距离确定模块6;
所述点云数据获取模块1用于获取虚拟夹具的点云数据,所述点云数据包括所述虚拟夹具表面的多个点云点和每个点云点的位置数据;
所述多尺度分块数据计算模块2用于根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据;
所述子块划分模块3用于根据所述多尺度分块数据将所述虚拟夹具的表面划分为若干子块;
所述距离值计算模块4用于计算所述虚拟夹具外的一目标点与每个子块的特征点之间的第一距离值;所述特征点为所述每个子块的中心区域的任意一点云点或者所述每个子块的中心位置点;
所述目标子块选取模块5用于选取所述第一距离值最小的多个目标子块;
所述距离值计算模块4还用于计算所述目标点与所述多个目标子块的每个点云点之间的第二距离值;
所述最小距离确定模块6用于选取所述第二距离值的最小值作为所述目标点与所述虚拟夹具的最小距离。
其中所述多尺度分块数据包括分级数c和单级分块数p,如图7所示,所述子块划分模块3包括分级单元31、单级距离值计算单元32、单级子块选取单元33、判断单元34、赋值单元35和第一距离值确定单元36;
所述分级单元31用于将所述虚拟夹具的每个第i级子块划分为p个第i+1级子块;其中,i为自然数,i的取值为[0,c-1],i=0时,第0级子块即为所述虚拟夹具的整个表面;
所述单级距离值计算单元32用于计算所述目标点与每个第1级子块的特征点之间的第1级距离值;
所述单级子块选取单元33用于选取所述第i+1级距离值最小的n个第i+1级子块,i的初始值为0;n为一预设自然数;
所述单级距离值计算单元32还用于计算所述目标点与所述n个第i+1级子块包含的第i+2级子块的特征点之间的第i+2级距离值;
所述判断单元34判断i+2是否等于c,若否,则调用所述赋值单元35,若是,则调用所述第一距离值确定单元36;
所述赋值单元35用将i+1的值赋值给i,然后调用所述单级距离值计算单元32;
所述第一距离值确定单元36用于将第c级距离值作为所述第一距离值;
进一步地,所述目标子块选取模块5用于将第c级距离值最小的n个第c级子块作为所述目标子块。
假定在某一运算器的实时性要求下,最小遍历数必须限制在m个,同时,为保证足够的计算精度,希望对最短距离计算排名前n个区域进行遍历,另外,为保证计算精度,最小面积占比限制在
Figure BDA0001829013800000124
进一步地,参照图6,所述距离测量系统还包括预设模块7;
所述预设模块7用于预设一最小遍历数和最小遍历面积占比;
所述多尺度分块数据计算模块2用于根据所述点云点的数量、所述最小遍历数和所述最小遍历面积占比得到所述多尺度分块数据。
具体地,根据以下函数计算所述分级数和所述单级分块数:
多尺度分块数据计算模块
Figure BDA0001829013800000121
Figure BDA0001829013800000122
其中,c为分级数;
Figure BDA0001829013800000123
为最小遍历面积占比;M为点云点的数量;m为最小遍历数;p为单级分块数;[]为取整函数。
在计算上述的多尺度分块数据之前,可以根据医用数据进行简单的判定,判断是否需要对点云数据进行多尺度划分,具体地,参照图6,所述距离测量系统还包括判定值计算模块8和判定值判断模块9;
所述判定值计算模块8用于根据所述点云点的数量和所述最小遍历数计算得到用于表征所述虚拟夹具是否需要进行多尺度划分的判定值;
所述判定值判断模块9还用判断所述判定值是否小于所述最小遍历面积占比,若判断结果为小于,则调用所述多尺度分块数据计算模块2。
具体地,所述距离测量方法中,判定值计算模块8根据以下函数计算所述判定值:
Figure BDA0001829013800000131
其中,q为判定值。
举一具体示例进一步说明,实时计算空间中刀头位置到安全曲面的最短距离,其中,c为分级数;
Figure BDA0001829013800000132
Figure BDA0001829013800000133
M为26839;m为260;n为4;
利用上述公式求解得到:
Figure BDA0001829013800000134
Figure BDA0001829013800000135
Figure BDA0001829013800000136
实际距离测量过程中,首先对虚拟夹具的表面进行3级划分,即将表面划分为5个第1级子块,再将每个第1级子块划分5个第2级子块,再将每个第2级子块划分5个第3级子块,然后进行距离值的计算:第一、获取5个第1级子块的特征点,计算刀头到5个第1级子块的特征点的距离,取距离值最小的4个第1级子块;第二、获取4个第1级子块包含的20个第2级子块的特征点,计算刀头到20个第2级子块的特征点的距离,取距离值最小的4个第2级子块;第三、获取4个第2级子块包含的20个第3级子块的特征点,计算刀头到20个第3级子块的特征点的距离,取距离值最小的4个第3级子块;然后遍历前述的4个第3级子块的所有点云点,得到最小距离值。经过实际测试,采用该方法平均计算一次的耗时约为13~18ms;而采用全点遍历计算一次的平均耗时约为780ms~850ms。
需要说明的是,本实施例中,实现将所有的点云数据根据多尺度分块数据一次性全部划分好,也可以是一级一级划分,即先第一级划分,将表面划分为5个第1级子块,分别获取这5个第1级子块的特征点,计算刀头到5个第1级子块的特征点的距离,取距离值最小的4个第1级子块;进行第2级划分,将前述的4个第1级子块,再进行划分5块,总共获得20个第2级子块,分别获取这20个第2级子块的特征点,取距离值最小的4个第2级子块;进行第3级划分,将前述的4个第2级子块,再进行划分5块,总共获得20个第3级子块,分别获取这20个第3级子块的特征点,取距离值最小的4个第3级子块;然后遍历前述的4个第3级子块的所有点云点,得到最小距离值。
本实施例中,在获取点云数据后进行多尺度分块,以特征点替代分割的子块数据,进行安全距离的初步遍历寻点,以减少遍历目标群体,在保证测量精度的基础上,极大提高了运算速度,保证了实时性,同时此方法对虚拟夹具的大小和空间分布无任何要求,对不同的虚拟夹具,分析其内在特征,采用不同的分割方式,具有良好的可移植性与扩展性。
实施例4
一种机械臂控制系统,如图8所示,所述机械臂控制系统包括设定模块10、控制器11、机械臂12和如实施例3所述的虚拟夹具的距离测量系统,所述机械臂12上设有刀头(图中未示出),所述目标点为所述刀头的位置点;
所述设定模块10用于将所述刀头的位置点设为所述目标点;
利用如实施例3所述的虚拟夹具的距离测量系统得到所述刀头与所述虚拟夹具的最小距离;
所述控制器11用于根据所述刀头与所述虚拟夹具的最小距离生成运动信号,并根据所述运动信号控制机械臂12带动刀头运动。
本实施例中,可以设定当刀头接近安全曲面时,刀头运动速度变慢且产生阻力,或者,设定刀头运动到安全曲面边界时,刀头无法再向安全曲面方向运动。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (14)

1.一种虚拟夹具的距离测量方法,其特征在于,所述距离测量方法包括:
获取虚拟夹具的点云数据,所述点云数据包括所述虚拟夹具表面的多个点云点和每个点云点的位置数据;
根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据;
根据所述多尺度分块数据将所述虚拟夹具的表面划分为若干子块,并计算所述虚拟夹具外的一目标点与每个子块的特征点之间的第一距离值;
选取所述第一距离值最小的多个目标子块;
计算所述目标点与所述多个目标子块的每个点云点之间的第二距离值;
选取所述第二距离值的最小值作为所述目标点与所述虚拟夹具的最小距离;
所述多尺度分块数据包括分级数c和单级分块数p,所述根据所述多尺度分块数据将所述虚拟夹具的表面划分为若干子块,并计算目标点与每个子块的特征点之间的第一距离值的步骤具体包括:
S1、将所述虚拟夹具的每个第i级子块划分为p个第i+1级子块;其中,i为自然数,i的取值为[0,c-1],i=0时,第0级子块即为所述虚拟夹具的整个表面;
S2、计算所述目标点与每个第1级子块的特征点之间的第1级距离值;
S3、选取第i+1级距离值最小的n个第i+1级子块,i的初始值为0;n为一预设自然数;
S4、计算所述目标点与所述n个第i+1级子块包含的第i+2级子块的特征点之间的第i+2级距离值;
S5、判断i+2是否等于c,若否,则将i+1的值赋值给i,然后返回步骤S3;若是,则执行步骤S6;
S6、将第c级距离值作为所述第一距离值;
所述选取所述第一距离值最小的多个目标子块的步骤中,将第c级距离值最小的n个第c级子块作为所述目标子块。
2.如权利要求1所述的虚拟夹具的距离测量方法,其特征在于,所述根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据的步骤具体包括:
预设一最小遍历数和最小遍历面积占比;
根据所述点云点的数量、所述最小遍历数和所述最小遍历面积占比得到所述多尺度分块数据。
3.如权利要求2所述的虚拟夹具的距离测量方法,其特征在于,所述距离测量方法,根据以下函数计算所述分级数和所述单级分块数:
Figure FDA0003145347370000021
Figure FDA0003145347370000022
其中,c为分级数;
Figure FDA0003145347370000023
为最小遍历面积占比;M为点云点的数量;m为最小遍历数;p为单级分块数;[]为取整函数。
4.如权利要求3所述的虚拟夹具的距离测量方法,其特征在于,所述根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据的步骤之前,所述距离测量方法还包括:
根据所述点云点的数量和所述最小遍历数计算得到用于表征所述虚拟夹具是否需要进行多尺度划分的判定值;
判断所述判定值是否小于所述最小遍历面积占比,若判断结果为小于,则执行所述根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据的步骤。
5.如权利要求4所述的虚拟夹具的距离测量方法,其特征在于,所述距离测量方法中,根据以下函数计算所述判定值:
Figure FDA0003145347370000024
其中,q为判定值。
6.如权利要求1所述的虚拟夹具的距离测量方法,其特征在于,所述特征点为所述每个子块的中心区域的任意一点云点或者所述每个子块的中心位置点。
7.一种机械臂控制方法,其特征在于,所述机械臂上设有刀头,所述机械臂控制方法包括:
将所述刀头的位置点设为目标点;
利用如权利要求1-6任一项所述的虚拟夹具的距离测量方法得到所述刀头与所述虚拟夹具的最小距离;
根据所述刀头与所述虚拟夹具的最小距离生成运动信号;
根据所述运动信号控制机械臂带动刀头运动。
8.一种虚拟夹具的距离测量系统,其特征在于,所述距离测量系统包括点云数据获取模块、多尺度分块数据计算模块、子块划分模块、距离值计算模块、目标子块选取模块和最小距离确定模块;
所述点云数据获取模块用于获取虚拟夹具的点云数据,所述点云数据包括所述虚拟夹具表面的多个点云点和每个点云点的位置数据;
所述多尺度分块数据计算模块用于根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据;
所述子块划分模块用于根据所述多尺度分块数据将所述虚拟夹具的表面划分为若干子块;
所述距离值计算模块用于计算所述虚拟夹具外的一目标点与每个子块的特征点之间的第一距离值;
所述目标子块选取模块用于选取所述第一距离值最小的多个目标子块;
所述距离值计算模块还用于计算所述目标点与所述多个目标子块的每个点云点之间的第二距离值;
所述最小距离确定模块用于选取所述第二距离值的最小值作为所述目标点与所述虚拟夹具的最小距离;
所述多尺度分块数据包括分级数c和单级分块数p,所述子块划分模块包括分级单元、单级距离值计算单元、单级子块选取单元、判断单元、赋值单元和第一距离值确定单元;
所述分级单元用于将所述虚拟夹具的每个第i级子块划分为p个第i+1级子块;其中,i为自然数,i的取值为[0,c-1],i=0时,第0级子块即为所述虚拟夹具的整个表面;
所述单级距离值计算单元用于计算所述目标点与每个第1级子块的特征点之间的第1级距离值;
所述单级子块选取单元用于选取第i+1级距离值最小的n个第i+1级子块,i的初始值为0;n为一预设自然数;
所述单级距离值计算单元还用于计算所述目标点与所述n个第i+1级子块包含的第i+2级子块的特征点之间的第i+2级距离值;
所述判断单元判断i+2是否等于c,若否,则调用所述赋值单元,若是,则调用所述第一距离值确定单元;
所述赋值单元用将i+1的值赋值给i,然后调用所述单级距离值计算单元;
所述第一距离值确定单元用于将第c级距离值作为所述第一距离值;
所述目标子块选取模块用于将第c级距离值最小的n个第c级子块作为所述目标子块。
9.如权利要求8所述的虚拟夹具的距离测量系统,其特征在于,所述距离测量系统还包括预设模块;
所述预设模块用于预设一最小遍历数和最小遍历面积占比;
所述多尺度分块数据计算模块用于根据所述点云点的数量、所述最小遍历数和所述最小遍历面积占比得到所述多尺度分块数据。
10.如权利要求9所述的虚拟夹具的距离测量系统,其特征在于,所述多尺度分块数据计算模块根据以下函数计算所述分级数和所述单级分块数:
Figure FDA0003145347370000041
Figure FDA0003145347370000042
其中,c为分级数;
Figure FDA0003145347370000043
为最小遍历面积占比;M为点云点的数量;m为最小遍历数;p为单级分块数;[]为取整函数。
11.如权利要求9所述的虚拟夹具的距离测量系统,其特征在于,所述距离测量系统还包括判定值计算模块和判定值判断模块;
所述判定值计算模块用于根据所述点云点的数量和所述最小遍历数计算得到用于表征所述虚拟夹具是否需要进行多尺度划分的判定值;
所述判定值判断模块用于判断所述判定值是否小于所述最小遍历面积占比,若判断结果为小于,则调用所述多尺度分块数据计算模块。
12.如权利要求11所述的虚拟夹具的距离测量系统,其特征在于,所述判定值计算模块根据以下函数计算所述判定值:
Figure FDA0003145347370000051
其中,q为判定值。
13.如权利要求8所述的虚拟夹具的距离测量系统,其特征在于,所述特征点为所述每个子块的中心区域的任意一点云点或者所述每个子块的中心位置点。
14.一种机械臂控制系统,其特征在于,所述机械臂控制系统包括设定模块、控制器、机械臂和如权利要求8-13任意一项所述的虚拟夹具的距离测量系统,所述机械臂上设有刀头,所述目标点为所述刀头的位置点;
所述设定模块用于将所述刀头的位置点设为所述目标点;
利用如权利要求8-13任一项所述的虚拟夹具的距离测量系统得到所述刀头与所述虚拟夹具的最小距离;
所述控制器用于根据所述刀头与所述虚拟夹具的最小距离生成运动信号,并根据所述运动信号控制机械臂带动刀头运动。
CN201811196956.8A 2018-10-15 2018-10-15 虚拟夹具的距离测量方法及系统和机械臂控制方法及系统 Active CN109079797B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811196956.8A CN109079797B (zh) 2018-10-15 2018-10-15 虚拟夹具的距离测量方法及系统和机械臂控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811196956.8A CN109079797B (zh) 2018-10-15 2018-10-15 虚拟夹具的距离测量方法及系统和机械臂控制方法及系统

Publications (2)

Publication Number Publication Date
CN109079797A CN109079797A (zh) 2018-12-25
CN109079797B true CN109079797B (zh) 2021-09-24

Family

ID=64843472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811196956.8A Active CN109079797B (zh) 2018-10-15 2018-10-15 虚拟夹具的距离测量方法及系统和机械臂控制方法及系统

Country Status (1)

Country Link
CN (1) CN109079797B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101566462A (zh) * 2009-05-31 2009-10-28 徐春云 虚拟夹具的测量方法
WO2012174406A1 (en) * 2011-06-15 2012-12-20 University Of Washington Methods and systems for haptic rendering and creating virtual fixtures from point clouds
CN105150210A (zh) * 2015-05-13 2015-12-16 西北工业大学 一种用于遥操作人机交互的虚拟管道动态避障控制方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101566462A (zh) * 2009-05-31 2009-10-28 徐春云 虚拟夹具的测量方法
WO2012174406A1 (en) * 2011-06-15 2012-12-20 University Of Washington Methods and systems for haptic rendering and creating virtual fixtures from point clouds
CN105150210A (zh) * 2015-05-13 2015-12-16 西北工业大学 一种用于遥操作人机交互的虚拟管道动态避障控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种大规模点云k领域快速搜索算法;杨军等;《武汉大学学报•信息科学版》;20160531;第41卷(第5期);第656-664页 *
基于实时点云建模虚拟夹具辅助力觉交互研究;林巧等;《计算机工程与设计》;20150228;第36卷(第2期);第492-497页 *

Also Published As

Publication number Publication date
CN109079797A (zh) 2018-12-25

Similar Documents

Publication Publication Date Title
CN106651908B (zh) 一种多运动目标跟踪方法
CN113366532B (zh) 基于点云的分割处理方法、装置、计算机设备和存储介质
CN109978911B (zh) 一种图像特征点跟踪方法和相机
CN109657686A (zh) 车道线生成方法、装置、设备以及存储介质
CN110163871A (zh) 一种多线激光雷达的地面分割方法
CN109001757A (zh) 一种基于2d激光雷达的车位智能检测方法
CN110375736B (zh) 智能设备的路径规划方法、系统、设备及可读存储介质
KR101878617B1 (ko) 궤적 데이터 처리 방법 및 궤적 데이터 처리 시스템
CN114078189A (zh) 基于机器学习方法的点阵模型增材制造的自适应填充方法
CN109079797B (zh) 虚拟夹具的距离测量方法及系统和机械臂控制方法及系统
CN110702986B (zh) 一种自适应信号搜索门限实时动态生成方法及系统
CN115685988A (zh) 一种自由曲面喷涂路径自动生成方法与装置
CN112462442B (zh) 重磁位场场源位置估计方法、系统、介质及电子设备
CN110472640A (zh) 一种目标检测模型预测框处理方法及装置
CN112859807B (zh) 基于态势模拟和蒙特卡罗的水下航行器协同搜索效能评估方法
CN112507867B (zh) 一种基于EDLines线特征的车道线检测方法
CN111126456B (zh) 神经网络模型的处理方法、装置、设备及存储介质
CN108665477B (zh) 一种实时目标匹配定位中的适配区域自适应选取方法
CN105654106A (zh) 一种决策树生成方法及系统
CN112504288B (zh) 基于动态规划的局部路径规划方法
CN110554687A (zh) 一种面向未知环境的多机器人自适应探测方法
CN111126225B (zh) 多线激光雷达地面分割方法及车辆、计算机可读介质
CN110427982B (zh) 一种基于图像处理的自动布线机路线校正方法及系统
CN112927201A (zh) 一种曲线检测方法及装置
CN111062380A (zh) 一种基于rfcn算法改进的目标检测方法

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
GR01 Patent grant
GR01 Patent grant