CN109079797A - 虚拟夹具的距离测量方法及系统和机械臂控制方法及系统 - Google Patents
虚拟夹具的距离测量方法及系统和机械臂控制方法及系统 Download PDFInfo
- Publication number
- CN109079797A CN109079797A CN201811196956.8A CN201811196956A CN109079797A CN 109079797 A CN109079797 A CN 109079797A CN 201811196956 A CN201811196956 A CN 201811196956A CN 109079797 A CN109079797 A CN 109079797A
- Authority
- CN
- China
- Prior art keywords
- point
- block
- sub
- virtual clamp
- distance
- 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.)
- Granted
Links
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
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1605—Simulation of manipulator lay-out, design, modelling of manipulator
-
- 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/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- 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/1671—Programme 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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
- Length Measuring Devices By Optical Means (AREA)
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级子块作为所述目标子块。
较佳地,所述根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据的步骤具体包括:
预设一最小遍历数和最小遍历面积占比;
根据所述点云点的数量、所述最小遍历数和所述最小遍历面积占比得到所述多尺度分块数据。
较佳地,所述距离测量方法,根据以下函数计算所述分级数和所述单级分块数:
其中,c为分级数;为最小遍历面积占比;M为点云点的数量;m为最小遍历数;p为单级分块数;[]为取整函数。
较佳地,所述根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据的步骤之前,所述距离测量方法还包括:
根据所述点云点的数量和所述最小遍历数计算得到用于表征所述虚拟夹具是否需要进行多尺度划分的判定值;
判断所述判定值是否小于所述最小遍历面积占比,若判断结果为小于,则执行所述根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据的步骤。
较佳地,所述距离测量方法中,根据以下函数计算所述判定值:
其中,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级子块作为所述目标子块。
较佳地,所述距离测量系统还包括预设模块;
所述预设模块用于预设一最小遍历数和最小遍历面积占比;
所述多尺度分块数据计算模块用于根据所述点云点的数量、所述最小遍历数和所述最小遍历面积占比得到所述多尺度分块数据。
较佳地,所述多尺度分块数据计算模块根据以下函数计算所述分级数和所述单级分块数:
其中,c为分级数;为最小遍历面积占比;M为点云点的数量;m为最小遍历数;p为单级分块数;[]为取整函数。
较佳地,所述距离测量系统还包括判定值计算模块和判定值判断模块;
所述判定值计算模块用于根据所述点云点的数量和所述最小遍历数计算得到用于表征所述虚拟夹具是否需要进行多尺度划分的判定值;
所述判定值判断模块用于判断所述判定值是否小于所述最小遍历面积占比,若判断结果为小于,则调用所述多尺度分块数据计算模块。
较佳地,所述判定值计算模块根据以下函数计算所述判定值:
其中,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个区域进行遍历,另外,为保证计算精度,最小面积占比限制在进一步地,如图3所示,步骤120具体包括:
步骤1201、预设一最小遍历数和最小遍历面积占比;
步骤1202、根据点云点的数量、最小遍历数和最小遍历面积占比得到多尺度分块数据。
具体地,根据以下函数计算所述分级数和所述单级分块数:
其中,c为分级数;为最小遍历面积占比;M为点云点的数量;m为最小遍历数;p为单级分块数;[]为取整函数。
在计算上述的多尺度分块数据之前,可以根据医用数据进行简单的判定,判断是否需要对点云数据进行多尺度划分,具体地,如图4所示,提供所述距离测量方法的另一种实现方式,步骤120之前,所述距离测量方法还包括:
步骤111、根据点云点的数量和最小遍历数计算得到用于表征虚拟夹具是否需要进行多尺度划分的判定值;
步骤112、判断判定值是否小于最小遍历面积占比,若是,则执行步骤120,如否,则执行步骤113;
步骤113、遍历所有点云数据。
具体地,所述距离测量方法中,根据以下函数计算所述判定值:
其中,q为判定值。
举一具体示例进一步说明,实时计算空间中刀头位置到安全曲面的最短距离,其中,c为分级数;为M为26839;m为260;n为4;
利用上述公式求解得到:
实际距离测量过程中,首先对虚拟夹具的表面进行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个区域进行遍历,另外,为保证计算精度,最小面积占比限制在进一步地,参照图6,所述距离测量系统还包括预设模块7;
所述预设模块7用于预设一最小遍历数和最小遍历面积占比;
所述多尺度分块数据计算模块2用于根据所述点云点的数量、所述最小遍历数和所述最小遍历面积占比得到所述多尺度分块数据。
具体地,根据以下函数计算所述分级数和所述单级分块数:
多尺度分块数据计算模块
其中,c为分级数;为最小遍历面积占比;M为点云点的数量;m为最小遍历数;p为单级分块数;[]为取整函数。
在计算上述的多尺度分块数据之前,可以根据医用数据进行简单的判定,判断是否需要对点云数据进行多尺度划分,具体地,参照图6,所述距离测量系统还包括判定值计算模块8和判定值判断模块9;
所述判定值计算模块8用于根据所述点云点的数量和所述最小遍历数计算得到用于表征所述虚拟夹具是否需要进行多尺度划分的判定值;
所述判定值判断模块9还用判断所述判定值是否小于所述最小遍历面积占比,若判断结果为小于,则调用所述多尺度分块数据计算模块2。
具体地,所述距离测量方法中,判定值计算模块8根据以下函数计算所述判定值:
其中,q为判定值。
举一具体示例进一步说明,实时计算空间中刀头位置到安全曲面的最短距离,其中,c为分级数;为M为26839;m为260;n为4;
利用上述公式求解得到:
实际距离测量过程中,首先对虚拟夹具的表面进行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 (16)
1.一种虚拟夹具的距离测量方法,其特征在于,所述距离测量方法包括:
获取虚拟夹具的点云数据,所述点云数据包括所述虚拟夹具表面的多个点云点和每个点云点的位置数据;
根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据;
根据所述多尺度分块数据将所述虚拟夹具的表面划分为若干子块,并计算所述虚拟夹具外的一目标点与每个子块的特征点之间的第一距离值;
选取所述第一距离值最小的多个目标子块;
计算所述目标点与所述多个目标子块的每个点云点之间的第二距离值;
选取所述第二距离值的最小值作为所述目标点与所述虚拟夹具的最小距离。
2.如权利要求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级子块作为所述目标子块。
3.如权利要求2所述的虚拟夹具的距离测量方法,其特征在于,所述根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据的步骤具体包括:
预设一最小遍历数和最小遍历面积占比;
根据所述点云点的数量、所述最小遍历数和所述最小遍历面积占比得到所述多尺度分块数据。
4.如权利要求3所述的虚拟夹具的距离测量方法,其特征在于,所述距离测量方法,根据以下函数计算所述分级数和所述单级分块数:
其中,c为分级数;为最小遍历面积占比;M为点云点的数量;m为最小遍历数;p为单级分块数;[]为取整函数。
5.如权利要求4所述的虚拟夹具的距离测量方法,其特征在于,所述根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据的步骤之前,所述距离测量方法还包括:
根据所述点云点的数量和所述最小遍历数计算得到用于表征所述虚拟夹具是否需要进行多尺度划分的判定值;
判断所述判定值是否小于所述最小遍历面积占比,若判断结果为小于,则执行所述根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据的步骤。
6.如权利要求5所述的虚拟夹具的距离测量方法,其特征在于,所述距离测量方法中,根据以下函数计算所述判定值:
其中,q为判定值。
7.如权利要求1所述的虚拟夹具的距离测量方法,其特征在于,所述特征点为所述每个子块的中心区域的任意一点云点或者所述每个子块的中心位置点。
8.一种机械臂控制方法,其特征在于,所述机械臂上设有刀头,设所述目标点为所述刀头的位置点,所述机械臂控制方法包括:
将所述刀头的位置点设为所述目标点;
利用如权利要求1-7任一项所述的虚拟夹具的距离测量方法得到所述刀头与所述虚拟夹具的最小距离;
根据所述刀头与所述虚拟夹具的最小距离生成运动信号;
根据所述运动信号控制机械臂带动刀头运动。
9.一种虚拟夹具的距离测量系统,其特征在于,所述距离测量系统包括点云数据获取模块、多尺度分块数据计算模块、子块划分模块、距离值计算模块、目标子块选取模块和最小距离确定模块;
所述点云数据获取模块用于获取虚拟夹具的点云数据,所述点云数据包括所述虚拟夹具表面的多个点云点和每个点云点的位置数据;
所述多尺度分块数据计算模块用于根据所述点云数据计算得到所述虚拟夹具的多尺度分块数据;
所述子块划分模块用于根据所述多尺度分块数据将所述虚拟夹具的表面划分为若干子块;
所述距离值计算模块用于计算所述虚拟夹具外的一目标点与每个子块的特征点之间的第一距离值;
所述目标子块选取模块用于选取所述第一距离值最小的多个目标子块;
所述距离值计算模块还用于计算所述目标点与所述多个目标子块的每个点云点之间的第二距离值;
所述最小距离确定模块用于选取所述第二距离值的最小值作为所述目标点与所述虚拟夹具的最小距离。
10.如权利要求9所述的虚拟夹具的距离测量系统,其特征在于,所述多尺度分块数据包括分级数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级子块作为所述目标子块。
11.如权利要求10所述的虚拟夹具的距离测量系统,其特征在于,所述距离测量系统还包括预设模块;
所述预设模块用于预设一最小遍历数和最小遍历面积占比;
所述多尺度分块数据计算模块用于根据所述点云点的数量、所述最小遍历数和所述最小遍历面积占比得到所述多尺度分块数据。
12.如权利要求11所述的虚拟夹具的距离测量系统,其特征在于,所述多尺度分块数据计算模块根据以下函数计算所述分级数和所述单级分块数:
其中,c为分级数;为最小遍历面积占比;M为点云点的数量;m为最小遍历数;p为单级分块数;[]为取整函数。
13.如权利要求11所述的虚拟夹具的距离测量系统,其特征在于,所述距离测量系统还包括判定值计算模块和判定值判断模块;
所述判定值计算模块用于根据所述点云点的数量和所述最小遍历数计算得到用于表征所述虚拟夹具是否需要进行多尺度划分的判定值;
所述判定值判断模块用于判断所述判定值是否小于所述最小遍历面积占比,若判断结果为小于,则调用所述多尺度分块数据计算模块。
14.如权利要求12所述的虚拟夹具的距离测量系统,其特征在于,所述判定值计算模块根据以下函数计算所述判定值:
其中,q为判定值。
15.如权利要求9所述的虚拟夹具的距离测量系统,其特征在于,所述特征点为所述每个子块的中心区域的任意一点云点或者所述每个子块的中心位置点。
16.一种机械臂控制系统,其特征在于,所述机械臂控制系统包括设定模块、控制器、机械臂和如权利要求9-15任意一项所述的虚拟夹具的距离测量系统,所述机械臂上设有刀头,所述目标点为所述刀头的位置点;
所述设定模块用于将所述刀头的位置点设为所述目标点;
利用如权利要求9-15任一项所述的虚拟夹具的距离测量系统得到所述刀头与所述虚拟夹具的最小距离;
所述控制器用于根据所述刀头与所述虚拟夹具的最小距离生成运动信号,并根据所述运动信号控制机械臂带动刀头运动。
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 true CN109079797A (zh) | 2018-12-25 |
CN109079797B 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)
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 | 西北工业大学 | 一种用于遥操作人机交互的虚拟管道动态避障控制方法 |
-
2018
- 2018-10-15 CN CN201811196956.8A patent/CN109079797B/zh active Active
Patent Citations (3)
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)
Title |
---|
杨军等: "一种大规模点云k领域快速搜索算法", 《武汉大学学报•信息科学版》 * |
林巧等: "基于实时点云建模虚拟夹具辅助力觉交互研究", 《计算机工程与设计》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109079797B (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20180014677A (ko) | 3d 이미지 데이터에서 3d 포즈와 기생포인트 제거의 스코어링을 개선하는 시스템 및 방법 | |
EP2516960A1 (en) | Method and apparatus for for analyzing tree canopies with lidar data | |
Full et al. | Some approaches for location of centroids of quartz grain outlines to increase homology between Fourier amplitude spectra | |
CN106127758A (zh) | 一种基于虚拟现实技术的视觉检测方法及装置 | |
CN104317886B (zh) | 断层约束下网格节点插值时近邻条件数据点的搜索选取方法 | |
CN107063060A (zh) | 一种确定表面平面度的方法及装置 | |
CN106482700B (zh) | 一种草图直接成图的数字化房产面积测量方法 | |
CN106855635A (zh) | 一种确定正交观测系统的面元属性信息的方法和装置 | |
CN109918718A (zh) | 无人机飞行质量评估方法、装置、存储介质及电子设备 | |
CN109240201A (zh) | 应用于水切割机床刀路规划的方法 | |
CN104867156B (zh) | 一种针对合作标志器位姿测量的特征点识别方法 | |
CN109079797A (zh) | 虚拟夹具的距离测量方法及系统和机械臂控制方法及系统 | |
CN109272491A (zh) | 试验环境下裂纹尖端的识别方法、装置及设备 | |
CN106771329A (zh) | 一种无人机减速过程中运行速度的检测方法 | |
CN109917372A (zh) | 基于目标预测的扩展目标量测集划分和跟踪方法 | |
CN109373893A (zh) | 一种计算物体包装件尺寸的方法及存储设备 | |
CN106247997B (zh) | 用于正交导轨平台的垂直度误差测量方法 | |
JP2013137591A (ja) | 最近傍点探索装置およびその方法、プログラム、3次元位置・姿勢認識装置およびその方法 | |
CN109885598A (zh) | 故障识别方法、装置、计算机可读存储介质及电子设备 | |
CN108646669A (zh) | 一种曲面加工零件表面轮廓误差的近似评估方法 | |
CN108168493B (zh) | 基于模板模型的三维人体测量方法 | |
CN107945279B (zh) | 一种评价服装褶裥等级的方法 | |
CN112114557A (zh) | 五轴联动数控机床动态精度检测方法、系统及储存介质 | |
CN112711047A (zh) | Gnss网平差方法及装置 | |
CN108984931A (zh) | 一种基于约束法线的机构自由度的计算方法 |
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 |