CN113649668B - 一种工件模板点云生成方法、装置、计算机及存储介质 - Google Patents
一种工件模板点云生成方法、装置、计算机及存储介质 Download PDFInfo
- Publication number
- CN113649668B CN113649668B CN202110940880.0A CN202110940880A CN113649668B CN 113649668 B CN113649668 B CN 113649668B CN 202110940880 A CN202110940880 A CN 202110940880A CN 113649668 B CN113649668 B CN 113649668B
- Authority
- CN
- China
- Prior art keywords
- point
- arc
- point cloud
- line
- circle
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23K—SOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
- B23K7/00—Cutting, scarfing, or desurfacing by applying flames
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23K—SOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
- B23K10/00—Welding or cutting by means of a plasma
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23K—SOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
- B23K7/00—Cutting, scarfing, or desurfacing by applying flames
- B23K7/10—Auxiliary devices, e.g. for guiding or supporting the torch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/17—Mechanical parametric or variational design
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Plasma & Fusion (AREA)
- Numerical Control (AREA)
- Image Generation (AREA)
Abstract
本发明提供一种工件模板点云生成方法,解析工件模板的2D图纸,将所述2D图纸的直线实体、圆弧实体、圆实体分别依照预设规则转换为line数据结构、arc数据结构以及circle数据结构,以获取多个模板参考线Si(i=1,2,…,Ns),Ns表示参考线总个数;将解析到的所有line数据结构、arc数据结构和circle数据结构,根据给定分辨率l0分别进行离散,生成对应的参考线点云;合并所有的参考线点云以获取工件模板点云,从而快速高效的实现工件模板点云的获取。
Description
技术领域
本发明属于切坡口焊接领域,尤其涉及一种工件模板点云生成方法、装置、计算机及介质。
背景技术
钢板切坡口是焊接的前一道工序,用于焊接前对钢板工件进行坡口切割,以提高焊接质量。坡口精度和一致性是影响焊接质量的关键因素。对于轮廓简单的工件,如直线边钢板,传统的人工切坡口或数控坡口机尚能胜任。然而,现代工业中的钢板工件轮廓圆弧曲线多、种类多且持续新增,传统切坡口方法难以保证坡口精度和一致性。随着工业机器人应用的日益广泛,机器人携带火焰切割枪或等离子切割枪的切坡口方式,逐渐受到业界的重视。
目前,机器人切坡口的轨迹生成方法主要有纯人工示教、人工示教+视觉定位和激光跟踪切割3种:(1)纯人工示教方法有2种,第一种是人工操作机器人沿工件轮廓示教出一系列轨迹点,然后机器人再执行切割作业;第二种是在离线仿真软件中固定工件和机器人的相对位姿,生成离线轨迹后,再人工根据实际工件对轨迹点逐个修正;(2)人工示教和视觉定位的结合,在前述人工示教出切割轨迹的基础上,利用2D/3D视觉技术对工件进行识别定位后,机器人再沿重定位的切割轨迹作业;(3)激光跟踪切割方法,采用激光跟踪技术引导机器人沿工件轮廓运动。
纯人工示教方法,对来料工件的一致性要求高,加重了来料工序的负担;对上料摆放位姿的一致性要求高,通常需额外的工装来保证,但切坡口工作台上常见的废料往往会影响工件的摆放;最关键的是,当工件轮廓复杂时人工示教工作量太大,现代工业企业钢板需求的个性化、小批量化使得工件种类繁多且持续新增,人工示教效率太低,即使是离线仿真软件生成切割轨迹的方式,也是需要人工修正的,且无法摆脱工件一致性和上料摆放位姿一致性的要求。
人工示教与视觉定位结合的方法,在一定程度上可以降低上料要求,但是对工件一致性的高依赖使得现场作业无法长时间稳定运行,常见的工件加工误差会导致高频率的人工介入修正切割轨迹。
激光跟踪切割方法,对钢板工件进行实际切割时,切割枪枪口火焰的高亮度对激光跟踪的成像影响较大,圆弧曲线较多的工件难以精准实时跟踪;另外,若工件边缘稍有粗糙,激光跟踪引导切割出来的钢板,其坡口易留下凹坑,坡口的一致性难以保证。
鉴于此,针对钢板切坡口,有必要提供一种机器人轨迹自动生成方法,无需人工示教,可适应工件加工误差和上料摆放误差。在机器人轨迹自动生成过程中,需要获取工件模板点云,以和实际工件点云进行对比形成机器人的切割轨迹,故作为参照对比基础的工件模板点云,其质量的好坏对机器人轨迹的形成起到至关重要的作用。
发明内容
本发明的目的是提供一种工件模板点云生成方法,可高效的获取工件模板点云,以为机器人轨迹自动生成提供基础。
为实现上述目的,本发明提供一种工件模板点云生成方法,包括如下步骤:
解析工件模板的2D图纸,将所述2D图纸的直线实体、圆弧实体、圆实体分别依照预设规则转换为line数据结构、arc数据结构以及circle数据结构,以获取多个模板参考线Si(i=1,2,..,Ns),Ns表示参考线总个数;
将解析到的所有line数据结构、arc数据结构和circle数据结构,根据给定分辨率l0进行离散,以分别生成对应的参考线点云;
合并所有的参考线点云以获取工件模板点云。
优选的,将解析到的line数据结构根据给定分辨率l0生成参考线点云,包括如下步骤:
每间隔l0向点云Mi中添加点Pi,若l0不能整除l,则将点Pe也添加至所述点云Mi中,
Pi=Ps+kid,ki=i·l0(0≤ki≤l);
其中,点云Mi为预先创建的空点云,d表示line的方向,d=(Pe-Ps)/||Pe-Ps||,l表示line的长度,l=||Pe-Ps||,k表示点云Mi中的点云数量,Ps为line的起点坐标,Pe为line的终点坐标。
优选的,将解析到的arc数据结构根据给定分辨率l0生成参考线点云,包括如下步骤:
获取arc的优劣弧属性、旋转角度间隔θ0以及Δθ的大小;其中,旋转角度间隔θ0=l0/ra,Δθ为向量CPs与向量CPe的夹角,向量CPs=Ps-Pc,CPe=Pe-Pc,Δθ取值区间为(-π,π),ra为arc的半径,Ps为arc的起点坐标,Pe为arc的终点坐标,Pc为arc的圆心坐标,点云Mi为预先创建的空点云;Rz(θi)为绕z轴旋转θi的旋转矩阵;
若arc为优弧且Δθ≥0,则每间隔θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=i·θ0(0≤θi≤2π-Δθ);
若arc为优弧且Δθ<0,则每间隔-θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=-i·θ0(2π+Δθ≤θi≤0);
若arc为劣弧且Δθ≥0,则每间隔θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=i·θ0(0≤θi≤Δθ);
若arc为劣弧且Δθ<0,则每间隔-θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=-i·θ0(Δθ≤θi≤0);
若θ0不能整除Δθ,则将点Pe也添加至点云M。
优选的,将解析到的circle数据结构根据给定分辨率l0生成参考线点云,包括如下步骤:
计算旋转角度间隔θ0=l0/rc;每间隔θ0向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=i·θ0(0≤θi≤2π);
其中,所述Pc为circle的圆心坐标,所述rc为circle的半径,点云Mi为预先创建的空点云。
优选的,所述line数据结构的成员变量包括直线起点3D坐标、直线终点的3D坐标一种或多种的组合,所述line数据结构的成员函数包括线偏移计算函数、直线中点计算函数、直线近点计算函数、直线远点计算函数、直线近点替换函数、直线远点替换函数、直线起点终点互换函数中一种或多种的组合;
所述arc数据结构的成员变量包含圆弧起点3D坐标、圆弧终点3D坐标和圆弧圆心3D坐标、圆弧半径、优劣弧一种或多种的组合,所述arc数据结构的成员函数包括圆弧偏移计算函数、圆弧中点计算函数、圆弧近点计算函数、圆弧远点计算函数、圆弧近点替换函数、圆弧远点替换函数、圆弧起点终点互换函数中一种或多种的组合;
所述circle数据结构的成员变量包含圆实体圆心3D坐标和圆实体半径中一种或多种的组合,所述circle数据结构的成员函数包括圆偏移计算函数。
进一步的,所述line的起点坐标Ps=(xs,ys,zs)T对应直线实体的基准点坐标(xb,yb),所述line的终点坐标Pe=(xe,ye,ze)T对应直线实体的终点坐标(x2,y2),
其中xs=xb,ys=yb,zs=0;xe=x2,ys=y2,zs=0;
所述arc的起点坐标Ps=(xs,ys,zs)T对应圆弧实体的起始角度θs,所述arc的终点坐标Pe=(xe,ye,ze)T对应圆弧实体的终止角度θe,所述arc的圆心坐标Pc=(xc,yc,zc)T对应圆弧实体的基准点坐标(xb,yb),所述arc的半径ra对应圆弧实体的半径rb,所述arc的优劣弧属性Na对应圆弧实体终止角度θe与起始角度θs的差值,关系式如下:
xc=xb,yc=yb,zc=0,ra=rb;
xs=xc+ra cosθs,ys=yc+ra sinθs,zs=zc;
xe=xc+ra cosθe,ye=yc+ra sinθe,ze=zc;
所述circle的圆心坐标Pc=(xc,yc,zc)T对应圆弧实体的基准点坐标(xb,yb),所述circle的半径rc对应圆实体的半径rb,关系式如下:
xc=xb,yc=yb,zc=0,rc=rb。
优选的,所述的工件模板点云生成方法中,获取模板点云后还包括获取模板点云的转动惯量,得到模板点云的位姿矩阵,并以该位姿矩阵建立模板坐标系Sm,将模板点云平移旋转至坐标系Sm。
本发明还提供了一种工件模板点云生成装置,其特征在于包括:
参考线生成模块,用于解析工件模板的2D图纸,将所述2D图纸的直线实体、圆弧实体、圆实体分别依照预设规则转换为line数据结构、arc数据结构以及circle数据结构,以获取多个模板参考线Si(i=1,2,..,Ns),Ns表示参考线总个数;
参考线点云生成模块,用于将解析到的所有line数据结构、arc数据结构和circle数据结构,根据给定分辨率l0分别进行离散,生成对应的参考线点云;
以及工件模板点云生成模块,用于合并所有的参考线点云以获取工件模板点云。
优选的,所述参考线生成模块包括line生成子模块、arc生成子模块以及circle生成子模块;
所述line生成子模块用于将直线实体依照预设规则转换为line数据结构,所述line数据结构的成员变量包括直线起点3D坐标、直线终点的3D坐标一种或多种的组合,所述line数据结构的成员函数包括线偏移计算函数、直线中点计算函数、直线近点计算函数、直线远点计算函数、直线近点替换函数、直线远点替换函数、直线起点终点互换函数中一种或多种的组合;
所述arc生成子模块用于将圆弧实体依照预设规则转换为arc数据结构,所述arc数据结构的的成员变量包含圆弧起点3D坐标、圆弧终点3D坐标和圆弧圆心3D坐标、圆弧半径、优劣弧一种或多种的组合,所述arc数据结构的成员函数包括圆弧偏移计算函数、圆弧中点计算函数、圆弧近点计算函数、圆弧远点计算函数、圆弧近点替换函数、圆弧远点替换函数、圆弧起点终点互换函数中一种或多种的组合;
所述circle生成子模块用于将圆实体依照预设规则转换为circle数据结构,所述circle数据结构的成员变量包含圆实体圆心3D坐标和圆实体半径中一种或多种的组合,所述circle数据结构的成员函数包括圆偏移计算函数。
进一步的,所述line的起点坐标Ps=(xs,ys,zs)T对应直线实体的基准点坐标(xb,yb),其中xs=xb,ys=yb,zs=0,line的终点坐标Pe=(xe,ye,ze)T对应直线实体的终点坐标(x2,y2),其中xe=x2,ys=y2,zs=0。
所述line的线偏移计算函数包含2个输入和1个输出,输入1为指定偏移量,输入2为偏移方向,输出为偏移后的line。如图2数据结构line中线偏移线计算结构示意图;
图3数据结构arc中圆弧偏移计算结构示意图;
图4数据结构circle中圆偏移计算结构示意图;
图5为本发明实施例提供的一种工件模板点云生成装置的结构示意图
图6为本发明实施例提供的一种计算机设备的结构示意图。
所示,line的起点和终点具有相同的坐标系,其x轴方向沿起点指向终点,z轴方向垂直于工件表面向下,x-y-z轴构成右手坐标系。给定偏移量dy后,若偏移方向为正则起点和终点向y轴正方向偏移dy;若偏移方向为负则起点和终点向y轴负方向偏移dy。
所述line的中点计算函数用于确认line的中点,line的中点是指直线的中点,中点的3D坐标(xm,ym,zm)与起点和终点的3D坐标满足
xm=(xs+xe)/2,ym=(ys+ye)/2,zm=(zs+ze)/2
所述line的近点计算函数与远点计算函数是用于针对指定点P确定其近点和远点,其中,若line的起点到指定点P的距离大于等于终点到指定点P的距离,则对指定点P而言,起点为近点,终点为远点;反之,若起点到点P的距离小于终点到点P的距离,则起点为远点,终点为近点。其中,可依据欧式距离分别计算指定点P到起点及终点的距离。
所述line的近点替换函数,是针对指定点P,用于将近点替换为点P;远点替换函数是用于将远点替换为点P;起点终点互换函数,是用于将起点和终点互换。
进一步的,所述arc的起点坐标Ps=(xs,ys,zs)T对应圆弧实体的起始角度θs,arc的终点坐标Pe=(xe,ye,ze)T对应圆弧实体的终止角度θe,arc的圆心坐标Pc=(xc,yc,zc)T对应圆弧实体的基准点坐标(xb,yb),arc的半径ra对应圆弧实体的半径rb,arc的优劣弧属性Na对应圆弧实体终止角度θe与起始角度θs的差值,关系式如下:
xc=xb,yc=yb,zc=0,ra=rb;
xs=xc+ra cosθs,ys=yc+ra sinθs,zs=zc;
xe=xc+ra cosθe,ye=yc+ra sinθe,ze=zc;
所述arc的圆弧偏移计算函数用于确认偏移后的arc,其包含2个输入和1个输出,输入1为指定偏移量,输入2为偏移方向,输出为偏移后的arc。如图2数据结构line中线偏移线计算结构示意图;
图3数据结构arc中圆弧偏移计算结构示意图;
图4数据结构circle中圆偏移计算结构示意图;
图5为本发明实施例提供的一种工件模板点云生成装置的结构示意图
图6为本发明实施例提供的一种计算机设备的结构示意图。
所示,给定偏移量dr后,若偏移方向为正则起点和终点向半径增大的方向偏移dr;若偏移方向为负则起点和终点向半径减小的方向偏移dr。
所述arc的中点计算函数用于确定arc的中点,本实施例中,arc的中点是指圆弧的中点,中点的3D坐标Pm=(xm,ym,zm)T与起点(xs,ys,zs)和(xe,ye,ze)终点满足如下关系式:
xcs=xc-xs,ycs=yc-ys,zcs=zc-zs;
xce=xc-xe,yce=yc-ye,zce=zc-ze;
θ1=atan2(ycs,xcs),θ2=atan2(yce,xce),Δθ=θ2-θ1;
Pm=Pc+Rz(θm)(Pc-Ps);
其中,Rz(θm)为绕z轴旋转θm的旋转矩阵。
所述arc近点计算函数和远点计算函数用于确定指定点P的近点和远点,其中,若起点到点P的距离大于等于终点到点P的距离,则起点为指定点P的近点,终点为指定点P远点;反之,若起点到点P的距离小于终点到点P的距离,则起点为点P的远点,终点为点P的近点,其中,可通过欧式距离计算起点到点P的距离
所述arc的近点替换函数用于将近点替换为点P;远点替换函数用于将远点替换为点P;起点终点互换函数用于将起点和终点互换,以用于根据需要调整起点或终点的位置。
进一步的,所述circle的圆心坐标Pc=(xc,yc,zc)T对应圆弧实体的基准点坐标(xb,yb),circle的半径rc对应圆实体的半径rb,关系式如下:
xc=xb,yc=yb,zc=0,rc=rb
所述circle的圆偏移计算函数用于确认偏移后的circle,其包含2个输入和1个输出,输入1为指定偏移量,输入2为偏移方向,输出为偏移后的circle。如图4所示,给定偏移量dr后,若偏移方向为正则整个圆向半径增大的方向偏移dr;若偏移方向为负则整个圆向半径减小的方向偏移dr。
优选的,所述参考线点云生成模块包括line点云生成子模块、arc点云生成子模块、circle点云生成子模块;其中line点云生成子模块用于将解析到的line数据结构根据给定分辨率l0分别生成对应的参考线点云;arc点云生成子模块用于将解析到的arc数据结构根据给定分辨率l0分别生成对应的参考线点云;circle点云生成子模块用于将解析到circle数据结构根据给定分辨率l0分别生成对应的参考线点云。
进一步的,line点云生成子模块中,每间隔l0向点云Mi中添加点Pi,若l0不能整除l,则将点Pe也添加至所述点云Mi中,
Pi=Ps+kid,ki=i·l0(0≤ki≤l);
其中,点云Mi为预先创建的空点云,d表示line的方向,d=(Pe-Ps)/||Pe-Ps||,l表示line的长度,l=||Pe-Ps||,k表示点云Mi中的点云数量,Ps为line的起点坐标,Pe为line的终点坐标。
进一步的,arc点云生成子模块中,
若arc为优弧且Δθ≥0,则每间隔θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=i·θ0(0≤θi≤2π-Δθ)
若arc为优弧且Δθ<0,则每间隔-θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=-i·θ0(2π+Δθ≤θi≤0)
若arc为劣弧且Δθ≥0,则每间隔θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=i·θ0(0≤θi≤Δθ)
若arc为劣弧且Δθ<0,则每间隔-θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=-i·θ0(Δθ≤θi≤0)
若θ0不能整除Δθ,则将点Pe也添加至点云M;
其中,ra为arc的半径,Ps为arc的起点坐标,Pe为arc的终点坐标,Pc为arc的圆心坐标,点云Mi为预先创建的空点云;旋转角度间隔θ0=l0/ra,Δθ为向量CPs与向量CPe的夹角,向量CPs=Ps-Pc,CPe=Pe-Pc,Δθ取值区间为(-π,π)。
进一步的,circle点云生成子模块中,每隔间旋转角度θ0向点云Mi中添加点Pi,其中,Pi=Pc+Rz(θi),θi=i·θ0(0≤θi≤2π);旋转角度间隔θ0=l0/rc;,所述Pc为circle的圆心坐标,所述rc为circle的半径,点云Mi为预先创建的空点云。
优选的,所述工件模板点云生成装置还包括平移旋转模块,用于获取模板点云的转动惯量,得到模板点云的位姿矩阵,并以该位姿矩阵建立模板坐标系Sm,将工件模板点云平移旋转至坐标系Sm。
本发明还提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
本发明所示的一种工件模板点云生成方法、装置。计算机设备及存储介质,首先解析工件模块的2D图纸,将2D图纸的直线实体、圆弧实体、圆实体分别依照预设规则转换为line数据结构、arc数据结构以及circle数据结构,获取多个模板参考线Si(i=1,2,..,Ns),Ns表示参考线总个数;然后依照预设规则将解析到的所有line数据结构、arc数据结构和circle数据结构,根据给定分辨率l0分别进行离散,生成对应的参考线点云;最后合并所有的模板点云以形成工件模板点云,从而快速高效的实现工件点云的获取。
附图说明
图1为本发明实施例提供的一种工件模板点云生成方法的工作流程示意图;
图2数据结构line中线偏移线计算结构示意图;
图3数据结构arc中圆弧偏移计算结构示意图;
图4数据结构circle中圆偏移计算结构示意图;
图5为本发明实施例提供的一种工件模板点云生成装置的结构示意图
图6为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,而非以任何方式限制本发明的保护范围。
在说明书的全文中,相同的附图标号指代相同的元件。表述“和/或”包括相关联的所列相目中的一个或多个的任何和全部组合。在附图中,为了便于说明,已稍微夸大了物体的厚度、尺寸和形状。附图仅为示例而非严格按比例绘制。
还应理解的是,用语“包括”、“包括有”、“具有”、“包含”和/或“包含有”,当在本说明书中使用时表示存在所陈述的特征、步骤、整体、操作、元件和/或部件,但不排除存在或附加有一个或多个其它特征、步骤、整体、操作、元件、部件和/或它们的组合。
如在说明书中使用的用语“基本上”、“大约”以及类似的用于用作表示近似的用语,而不用作表示程度的用语,并且旨在说明将由本领域普通技术人员认识到的、测量值或计算值中的固有偏差。
除非另有限定,否则本文中使用的所有用语(包括技术用语和科学用语)均具有与本申请所属领域普通技术人员的通常理解相同的含义。还应理解的是,用语(例如在常用词典中定义的用语)应被解释为具有与它们在相关技术的上下文中的含义一致的含义,并且将不被以理想化或过度正式意义解释,除非本文中明确如此限定。
实施例一
如图1所示,本发明提供了一种工件模板点云生成方法,包括如下步骤:
S1解析工件模板的2D图纸,将所述2D图纸的直线实体、圆弧实体、圆实体分别依照预设规则转换为line数据结构、arc数据结构以及circle数据结构,以获取多个模板参考线Si(i=1,2,..,Ns),Ns表示参考线总个数;
S2将解析到的所有line数据结构、arc数据结构和circle数据结构,根据给定分辨率l0分别进行离散,生成对应的参考线点云;
S3合并所有的模板点云以获取工件模板点云。
本发明所示的一种工件模板点云生成方法,首先依据线条类型将工件2D平面图纸中的各实体转换为对应的数据结构,获取多个模板参考线Si,然后在依据预设规则将各模板参考线Si进行离散,并分别生成为对应的参考线点云,最后合并全部的参考线点云从而获取工件模板点云,通过上述方法,可快速有效的获取工件模板点云。
作为一优选方案,步骤S1中,获取工件模板的2D图纸,依据所述2D图纸文件的线条属性,将所述工件模板中的直线、圆弧、圆实体预设规则分别解析为line、arc和circle的数据结构,其中解析后的所述line、所述arc和所述circle均为坡口参考线,集合所述坡口参考线生成模板参考线Si(i=1,2,..,Ns),Ns表示参考线总个数。
本实施例中,对于特定的工件模板,2D图纸文件可为DXF或DWG格式,可使用开源库dxfrw识别2D图纸文件的线条属性。获取各线条属性后,依据预设规则将识别出的直线、圆弧、圆实体分别解析为line、arc和circle的数据结构,即形成各个坡口参考线。
所述line的成员变量包含所述直线起点3D坐标和含所述直线终点的3D坐标,line的成员函数包括线偏移计算函数、直线中点计算函数、直线近点计算函数、直线远点计算函数以及直线近点替换函数、直线远点替换函数、直线起点终点互换函数中一种或多种的组合;
所述arc的成员变量包含圆弧起点3D坐标、圆弧终点3D坐标和圆弧圆心3D坐标、圆弧半径以及优劣弧中一种或多种的组合,所述arc的成员函数包括圆弧偏移计算函数、圆弧中点计算函数、圆弧近点计算函数、圆弧远点计算函数以及圆弧近点替换函数、圆弧远点替换函数、圆弧起点终点互换函数等功能函数中一种或多种的组合;
所述circle的成员变量包含圆实体圆心3D坐标和圆实体半径,所述circle的成员函数包括圆偏移计算函数。
(一)数据结构line
本实施例中,数据结构line的成员变量包含起点和终点的3D坐标,line的成员函数包括偏移线计算函数、中点计算函数、近点计算函数、远点计算函数以及近点替换函数、远点替函数换、起点终点互换函数。
(a)对于2D图纸中的直线实体,line的起点坐标Ps=(xs,ys,zs)T对应直线实体的基准点坐标(xb,yb),其中xs=xb,ys=yb,zs=0,line的终点坐标Pe=(xe,ye,ze)T对应直线实体的终点坐标(x2,y2),其中xe=x2,ys=y2,zs=0。
(b)line的线偏移计算函数包含2个输入和1个输出,输入1为指定偏移量,输入2为偏移方向,输出为偏移后的line。如图2数据结构line中线偏移线计算结构示意图;
图3数据结构arc中圆弧偏移计算结构示意图;
图4数据结构circle中圆偏移计算结构示意图;
图5为本发明实施例提供的一种工件模板点云生成装置的结构示意图
图6为本发明实施例提供的一种计算机设备的结构示意图。
所示,line的起点和终点具有相同的坐标系,其x轴方向沿起点指向终点,z轴方向垂直于工件表面向下,x-y-z轴构成右手坐标系。给定偏移量dy后,若偏移方向为正则起点和终点向y轴正方向偏移dy;若偏移方向为负则起点和终点向y轴负方向偏移dy。
(c)line的中点计算函数用于确认line的中点,line的中点是指直线的中点,中点的3D坐标(xm,ym,zm)与起点和终点的3D坐标满足
xm=(xs+xe)/2,ym=(ys+ye)/2,zm=(zs+ze)/2
(d)line的近点计算函数与远点计算函数是用于针对任意的一个指定点P确定其近点和远点,其中,若line的起点到指定点P的距离大于等于终点到指定点P的距离,则对指定点P而言,起点为近点,终点为远点;反之,若起点到点P的距离小于终点到点P的距离,则起点为远点,终点为近点。其中,可依据欧式距离分别计算指定点P到起点及终点的距离。
(e)line的近点替换函数,是针对指定点P,用于将近点替换为点P;远点替换函数是用于将远点替换为点P;起点终点互换函数,是用于将起点和终点互换。
(二)数据结构arc
数据结构arc的成员变量包含起点、终点和圆心的3D坐标、数据结构arc的成员函数包含半径以及优劣弧属性,以及计算偏移圆弧、中点、近点、远点以及近点替换、远点替换、起点终点互换功能函数。
(a)对于2D图纸中的圆弧实体,arc的起点坐标Ps=(xs,ys,zs)T对应圆弧实体的起始角度θs,arc的终点坐标Pe=(xe,ye,ze)T对应圆弧实体的终止角度θe,arc的圆心坐标Pc=(xc,yc,zc)T对应圆弧实体的基准点坐标(xb,yb),arc的半径ra对应圆弧实体的半径rb,arc的优劣弧属性Na对应圆弧实体终止角度θe与起始角度θs的差值,关系式如下:
xc=xb,yc=yb,zc=0,ra=rb;
xs=xc+ra cosθs,ys=yc+ra sinθs,zs=zc;
xe=xc+ra cosθe,ye=yc+ra sinθe,ze=zc;
(b)arc的圆弧偏移计算函数用于确认偏移后的arc,其包含2个输入和1个输出,输入1为指定偏移量,输入2为偏移方向,输出为偏移后的arc。如图2数据结构line中线偏移线计算结构示意图;
图3数据结构arc中圆弧偏移计算结构示意图;
图4数据结构circle中圆偏移计算结构示意图;
图5为本发明实施例提供的一种工件模板点云生成装置的结构示意图
图6为本发明实施例提供的一种计算机设备的结构示意图。
所示,给定偏移量dr后,若偏移方向为正则起点和终点向半径增大的方向偏移dr;若偏移方向为负则起点和终点向半径减小的方向偏移dr。
(c)arc的中点计算函数用于确定arc的中点,本实施例中,arc的中点是指圆弧的中点,中点的3D坐标Pm=(xm,ym,zm)T与起点(xs,ys,zs)和(xe,ye,ze)终点满足如下关系式:
xcs=xc-xs,ycs=yc-ys,zcs=zc-zs;
xce=xc-xe,yce=yc-ye,zce=zc-ze;
θ1=atan2(ycs,xcs),θ2=atan2(yce,xce),Δθ=θ2-θ1;
Pm=Pc+Rz(θm)(Pc-Ps);
其中,Rz(θm)为绕z轴旋转θm的旋转矩阵。
(d)arc近点计算函数和远点计算函数用于确定指定点P的近点和远点,其中,若起点到点P的距离大于等于终点到点P的距离,则起点为指定点P的近点,终点为指定点P远点;反之,若起点到点P的距离小于终点到点P的距离,则起点为点P的远点,终点为点P的近点,其中,可通过欧式距离计算起点到点P的距离
(e)arc的近点替换函数用于将近点替换为点P;远点替换函数用于将远点替换为点P;起点终点互换函数用于当解析完毕后中出现起点、终点位置错换的情况下,根据实际需要将起点和终点互换。
(三)数据结构circle
circle包含圆心的3D坐标和半径,以及计算偏移圆功能函数。
(a)对于2D图纸中的圆实体,circle的圆心坐标Pc=(xc,yc,zc)T对应圆弧实体的基准点坐标(xb,yb),circle的半径rc对应圆实体的半径rb,关系式如下:
xc=xb,yc=yb,zc=0,rc=rb
(b)circle的圆偏移计算函数用于确认偏移后的circle,其包含2个输入和1个输出,输入1为指定偏移量,输入2为偏移方向,输出为偏移后的circle。如图4所示,给定偏移量dr后,若偏移方向为正则整个圆向半径增大的方向偏移dr;若偏移方向为负则整个圆向半径减小的方向偏移dr。
将2D图纸文件中属性为直线、圆弧、圆的实体分别解析为特定的数据结构line、arc和circle后,获取工件模板的模板坡口线;在此基础之上,转入步骤S2,将所述工件模板的line、arc和circle,根据给定分辨率l0分别生成对应的参考线点云Mi,合并所有的点云Mi以获取工件参考线点云Ct。
步骤S2中,对于任一一个line数据结构,可依据如下方法生成对应的参考线点云Mi:从0开始每间隔l0向点云M中添加点Pi,且若l0不能整除l,则将点Pe也添加至所述点云Mi,其中,Pi=Ps+kid,ki=i·l0(0≤ki≤l),其中点云Mi为预先创建的空点云,k表示点云Mi中的数量,d表示line的方向,l表示line的长度,l=||Pe-Ps||。
步骤S2中,对于任一arc数据结构,可依据如下方法生成相应的参考线点云:
获取arc的优劣弧属性、旋转角度θ0以及Δθ的大小;其中,读取arc对应的圆心角大小,若圆心角不小于180°则为优弧,若圆心角小于180°为劣弧;
若判断arc为优弧且Δθ≥0,则从0开始每间隔θ0,向点云M中添加点Pi,
Pi=Pc+Rz(θi),θi=i·θ0(0≤θi≤2π-Δθ);
若判断arc为优弧且Δθ<0,则从0开始每间隔-θ0,向点云M中添加点Pi,
Pi=Pc+Rz(θi),θi=-i·θ0(2π+Δθ≤θi≤0);
若判断arc为劣弧且Δθ≥0,则从0开始每间隔θ0,向点云M中添加点Pi,
Pi=Pc+Rz(θi),θi=i·θ0(0≤θi≤Δθ);
若判断arc为劣弧且Δθ<0,则从0开始每间隔-θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=-i·θ0(Δθ≤θi≤0);
若θ0不能整除Δθ,则将点Pe也添加至点云M。
其中,点云Mi为预先创建的空的点云,旋转角度间隔θ0=l0/ra,Δθ为向量CPs与向量CPe的夹角,向量CPs=Ps-Pc,CPe=Pe-Pc,Δθ取值区间为(-π,π)。
步骤S2中,对于任一个circle数据结构,可依据如下方法生成相应的参考线点云:
S231获取旋转角度间隔θ0=l0/rc,
S232从0开始每间隔θ0,向点云Mi中添加点Pi,其中,点云Mi为预先创建的空的点云
Pi=Pc+Rz(θi),θi=i·θ0(0≤θi≤2π)。
此外作为一优选方案,获取模板点云后还包括:获取模板点云的转动惯量,得到模板点云的位姿矩阵,并以该位姿矩阵建立模板坐标系Sm,将模板点云平移旋转至坐标系Sm,以与实际工件点云处于相同坐标系下,便于后续与实际工件点云进行匹配。
实施例二
如图5所示,本发明还提供了一种工件模板点云生成装置10,其特征在于包括:
参考线生成模块11,用于解析工件模板的2D图纸,将所述2D图纸的直线实体、圆弧实体、圆实体分别依照预设规则转换为line数据结构、arc数据结构以及circle数据结构,以获取多个模板参考线Si(i=1,2,..,Ns),Ns表示参考线总个数;
参考线生成模块12,用于将解析到的所有line数据结构、arc数据结构和circle数据结构,根据参考线给定分辨率l0分别进行离散,生成对应的参考线点云;
以及工件模板点云生成模块13,用于合并所有的参考线点云以获取工件模板点云。
优选的,所述参考线生成模块11包括line生成子模块、arc生成子模块以及circle生成子模块。
所述line生成子模块用于将直线实体依照预设规则转换为line数据结构,所述line数据结构的成员变量包括直线起点3D坐标、直线终点的3D坐标一种或多种的组合,所述line数据结构的成员函数包括线偏移计算函数、直线中点计算函数、直线近点计算函数、直线远点计算函数、直线近点替换函数、直线远点替换函数、直线起点终点互换函数中一种或多种的组合;
所述arc生成子模块用于将圆弧实体依照预设规则转换为arc数据结构,所述arc数据结构的的成员变量包含圆弧起点3D坐标、圆弧终点3D坐标和圆弧圆心3D坐标、圆弧半径、优劣弧一种或多种的组合,所述arc数据结构的成员函数包括圆弧偏移计算函数、圆弧中点计算函数、圆弧近点计算函数、圆弧远点计算函数、圆弧近点替换函数、圆弧远点替换函数、圆弧起点终点互换函数中一种或多种的组合;
所述circle生成子模块用于将圆实体依照预设规则转换为circle数据结构,所述circle数据结构的成员变量包含圆实体圆心3D坐标和圆实体半径中一种或多种的组合,所述circle数据结构的成员函数包括圆偏移计算函数。
进一步的,所述line的起点坐标Ps=(xs,ys,zs)T对应直线实体的基准点坐标(xb,yb),其中xs=xb,ys=yb,zs=0,line的终点坐标Pe=(xe,ye,ze)T对应直线实体的终点坐标(x2,y2),其中xe=x2,ys=y2,zs=0。
所述line的线偏移计算函数包含2个输入和1个输出,输入1为指定偏移量,输入2为偏移方向,输出为偏移后的line。如图2数据结构line中线偏移线计算结构示意图;
图3数据结构arc中圆弧偏移计算结构示意图;
图4数据结构circle中圆偏移计算结构示意图;
图5为本发明实施例提供的一种工件模板点云生成装置的结构示意图
图6为本发明实施例提供的一种计算机设备的结构示意图。
所示,line的起点和终点具有相同的坐标系,其x轴方向沿起点指向终点,z轴方向垂直于工件表面向下,x-y-z轴构成右手坐标系。给定偏移量dy后,若偏移方向为正则起点和终点向y轴正方向偏移dy;若偏移方向为负则起点和终点向y轴负方向偏移dy。
所述line的中点计算函数用于确认line的中点,line的中点是指直线的中点,中点的3D坐标(xm,ym,zm)与起点和终点的3D坐标满足
xm=(xs+xe)/2,ym=(ys+ye)/2,zm=(zs+ze)/2
所述line的近点计算函数与远点计算函数是用于针对指定点P确定其近点和远点,其中,若line的起点到指定点P的距离大于等于终点到指定点P的距离,则对指定点P而言,起点为近点,终点为远点;反之,若起点到点P的距离小于终点到点P的距离,则起点为远点,终点为近点。其中,可依据欧式距离分别计算指定点P到起点及终点的距离。
所述line的近点替换函数,是针对指定点P,用于将近点替换为点P;远点替换函数是用于将远点替换为点P;起点终点互换函数,是用于将起点和终点互换。
进一步的,所述arc的起点坐标Ps=(xs,ys,zs)T对应圆弧实体的起始角度θs,arc的终点坐标Pe=(xe,ye,ze)T对应圆弧实体的终止角度θe,arc的圆心坐标Pc=(xc,yc,zc)T对应圆弧实体的基准点坐标(xb,yb),arc的半径ra对应圆弧实体的半径rb,arc的优劣弧属性Na对应圆弧实体终止角度θe与起始角度θs的差值,关系式如下:
xc=xb,yc=yb,zc=0,ra=rb;
xs=xc+ra cosθs,ys=yc+ra sinθs,zs=zc;
xe=xc+ra cosθe,ye=yc+ra sinθe,ze=zc;
所述arc的圆弧偏移计算函数用于确认偏移后的arc,其包含2个输入和1个输出,输入1为指定偏移量,输入2为偏移方向,输出为偏移后的arc。如图2数据结构line中线偏移线计算结构示意图;
图3数据结构arc中圆弧偏移计算结构示意图;
图4数据结构circle中圆偏移计算结构示意图;
图5为本发明实施例提供的一种工件模板点云生成装置的结构示意图
图6为本发明实施例提供的一种计算机设备的结构示意图。
所示,给定偏移量dr后,若偏移方向为正则起点和终点向半径增大的方向偏移dr;若偏移方向为负则起点和终点向半径减小的方向偏移dr。
所述arc的中点计算函数用于确定arC的中点,本实施例中,arc的中点是指圆弧的中点,中点的3D坐标Pm=(xm,ym,zm)T与起点(xs,ys,zs)和(xe,ye,ze)终点满足如下关系式:
xcs=xc-xs,ycs=yc-ys,zcs=zc-zs;
xce=xc-xe,yce=yc-ye,zce=zc-ze;
θ1=atan2(ycs,xcs),θ2=atan2(yce,xce),Δθ=θ2-θ1;
Pm=Pc+Rz(θm)(Pc-Ps);
其中,Rz(θm)为绕z轴旋转θm的旋转矩阵。
所述arc近点计算函数和远点计算函数用于确定指定点P的近点和远点,其中,若起点到点P的距离大于等于终点到点P的距离,则起点为指定点P的近点,终点为指定点P远点;反之,若起点到点P的距离小于终点到点P的距离,则起点为点P的远点,终点为点P的近点,其中,可通过欧式距离计算起点到点P的距离
所述arc的近点替换函数用于将近点替换为点P;远点替换函数用于将远点替换为点P;起点终点互换函数用于将起点和终点互换,以用于根据需要调整起点或终点的位置。
进一步的,所述circle的圆心坐标Pc=(xc,yc,zc)T对应圆弧实体的基准点坐标(xb,yb),circle的半径rc对应圆实体的半径rb,关系式如下:
xc=xb,yc=yb,zc=0,rc=rb
所述circle的圆偏移计算函数用于确认偏移后的circle,其包含2个输入和1个输出,输入1为指定偏移量,输入2为偏移方向,输出为偏移后的circle。如图4所示,给定偏移量dr后,若偏移方向为正则整个圆向半径增大的方向偏移dr;若偏移方向为负则整个圆向半径减小的方向偏移dr。
优选的,所述模板点云生成模块12包括line点云生成子模块、arc点云生成子模块、circle点云生成子模块;其中line点云生成子模块用于将解析到的line数据结构根据给定分辨率l0分别生成对应的参考线点云;arc点云生成子模块用于将解析到的arc数据结构根据给定分辨率l0分别生成对应的参考线点云;circle点云生成子模块用于将解析到circle数据结构根据给定分辨率l0分别生成对应的参考线点云。
进一步的,line点云生成子模块中,每间隔l0向点云Mi中添加点Pi,若l0不能整除l,则将点Pe也添加至所述点云Mi中,
Pi=Ps+kid,ki=i·l0(0≤ki≤l);
其中,点云Mi为预先创建的空点云,k表示点云Mi中的点云数量,d表示line的方向,d=(Pe-Ps)/||Pe-Ps||,l表示line的长度,l=||Pe-Ps||,Ps为line的起点坐标,Pe为line的终点坐标。
进一步的,arc点云生成子模块中,
若arc为优弧且Δθ≥0,则每间隔θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=i·θ0(0≤θi≤2π-Δθ)
若arc为优弧且Δθ<0,则每间隔-θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=-i·θ0(2π+Δθ≤θi≤0)
若arc为劣弧且Δθ≥0,则每间隔θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=i·θ0(0≤θi≤Δθ)
若arc为劣弧且Δθ<0,则每间隔-θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=-i·θ0(Δθ≤θi≤0)
若θ0不能整除Δθ,则将点Pe也添加至点云Mi;
其中,ra为arc的半径,Ps为arc的起点坐标,Pe为arc的终点坐标,Pc为arc的圆心坐标,点云Mi为预先创建的空点云;旋转角度间隔θ0=l0/ra,Δθ为向量CPs与向量CPe的夹角,向量CPs=Ps-Pc,CPe=Pe-Pc,Δθ取值区间为(-π,π)。
进一步的,circle点云生成子模块中,每隔间旋转角度θ0向点云Mi中添加点Pi,其中,Pi=Pc+Rz(θi),θi=i·θ0(0≤θi≤2π);旋转角度间隔θ0=l0/rc;,所述Pc为circle的圆心坐标,所述rc为circle的半径,点云Mi为预先创建的空点云。
优选的,所述工件模板点云生成装置10还包括平移旋转模块14,用于获取模板点云的转动惯量,得到模板点云的位姿矩阵,并以该位姿矩阵建立模板坐标系Sm,将模板点云平移旋转至坐标系Sm。
实施例三
图6所示是本发明实施例提供的一种计算机设备的结构示意图,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备20至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图6所示。需要指出的是,图6仅示出了具有组件21-22的计算机设备20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM),存储器21也可以是计算机设备20的外部存储设备,例如该计算机设备20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备20的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备20的操作系统和各类应用软件,例如方法实施例中的工件模板点云生成装置的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备20的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行工件模板点云生成装置11,以实现方法实施例中的工件模板点云生成方法。
实施例四
本申请还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储工件模板点云生成装置的程序代码,被处理器执行时实现方法实施例中的工件模板点云生成方法。
需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种工件模板点云生成方法,其特征在于,包括如下步骤:
解析工件模板的2D图纸,将所述2D图纸的直线实体、圆弧实体、圆实体分别依照预设规则转换为line数据结构、arc数据结构以及circle数据结构,以获取多个模板参考线Si(i=1,2,..,Ns),Ns表示参考线总个数;
将解析到的所有line数据结构、arc数据结构和circle数据结构,根据给定分辨率l0分别进行离散,以生成对应的参考线点云;
合并所有的参考线点云以获取工件模板点云;
其中,将解析到的arc数据结构根据给定分辨率l0生成参考线点云,包括如下步骤:
获取arc的优劣弧属性、旋转角度间隔θ0以及Δθ的大小;其中,旋转角度间隔θ0=l0/ra,Δθ为向量CPs与向量CPe的夹角,向量CPs=Ps-Pc,CPe=Pe-Pc,Δθ取值区间为(-π,π),ra为arc的半径,Ps为arc的起点坐标,Pe为arc的终点坐标,Pc为arc的圆心坐标,点云Mi为预先创建的空点云;Rz(θi)为绕z轴旋转θi的旋转矩阵;
若arc为优弧且Δθ≥0,则每间隔θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=i·θ0(0≤θi≤2π-Δθ);
若arc为优弧且Δθ<0,则每间隔-θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=-i·θ0(2π+Δθ≤θi≤0);
若arc为劣弧且Δθ≥0,则每间隔θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=i·θ0(0≤θi≤Δθ);
若arc为劣弧且Δθ<0,则每间隔-θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=-i·θ0(Δθ≤θi≤0);
若θ0不能整除Δθ,则将点Pe也添加至点云M。
2.根据权利要求1所述的工件模板点云生成方法,其特征在于,将解析到的line数据结构根据给定分辨率l0生成参考线点云,包括如下步骤:
每间隔l0向点云Mi中添加点Pi,若l0不能整除l,则将点Pe也添加至所述点云Mi中,
Pi=Ps+kid,ki=i·l0(0≤ki≤l);
其中,点云Mi为预先创建的空点云,d表示line的方向,d=(Pe-Ps)/||Pe-Ps||,l表示line的长度,l=||Pe-Ps||,k表示点云Mi中的点云数量,Ps为line的起点坐标,Pe为line的终点坐标。
3.根据权利要求1所述的工件模板点云生成方法,其特征在于,将解析到的circle数据结构根据给定分辨率l0生成参考线点云,包括如下步骤:
计算旋转角度间隔θ0=l0/rc;每间隔θ0向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=i·θ0(0≤θi≤2π);
其中,所述Pc为circle的圆心坐标,所述rc为circle的半径,点云Mi为预先创建的空点云。
4.根据权利要求1所述的工件模板点云生成方法,其特征在于,所述line数据结构的成员变量包括直线起点3D坐标、直线终点的3D坐标一种或多种的组合,所述line数据结构的成员函数包括线偏移计算函数、直线中点计算函数、直线近点计算函数、直线远点计算函数、直线近点替换函数、直线远点替换函数、直线起点终点互换函数中一种或多种的组合;
所述arc数据结构的成员变量包含圆弧起点3D坐标、圆弧终点3D坐标和圆弧圆心3D坐标、圆弧半径、优劣弧一种或多种的组合,所述arc数据结构的成员函数包括圆弧偏移计算函数、圆弧中点计算函数、圆弧近点计算函数、圆弧远点计算函数、圆弧近点替换函数、圆弧远点替换函数、圆弧起点终点互换函数中一种或多种的组合;
所述circle数据结构的成员变量包含圆实体圆心3D坐标和圆实体半径中一种或多种的组合,所述circle数据结构的成员函数包括圆偏移计算函数。
5.根据权利要求4所述的工件模板点云生成方法,其特征在于,
所述line的起点坐标Ps=(xs,ys,zs)T对应直线实体的基准点坐标(xb,yb),所述line的终点坐标Pe=(xe,ye,ze)T对应直线实体的终点坐标(x2,y2),
其中xs=xb,ys=yb,zs=0;xe=x2,ys=y2,zs=0;
所述arc的起点坐标Ps=(xs,ys,zs)T对应圆弧实体的起始角度θs,所述arc的终点坐标Pe=(xe,ye,ze)T对应圆弧实体的终止角度θe,所述arc的圆心坐标Pc=(xc,yc,zc)T对应圆弧实体的基准点坐标(xb,yb),所述arc的半径ra对应圆弧实体的半径rb,所述arc的优劣弧属性Na对应圆弧实体终止角度θe与起始角度θs的差值,关系式如下:
xc=xb,yc=yb,zc=0,ra=rb;
xs=xc+racosθs,ys=yc+rasinθs,zs=zc;
xe=xc+racosθe,ye=yc+rasinθe,ze=zc;
所述circle的圆心坐标Pc=(xc,yc,zc)T对应圆弧实体的基准点坐标(xb,yb),所述circle的半径rc对应圆实体的半径rb,关系式如下:
xc=xb,yc=yb,zc=0,rc=rb。
6.根据权利要求1所述的工件模板点云生成方法,其特征在于,获取模板点云后还包括:获取模板点云的转动惯量,得到模板点云的位姿矩阵,并以该位姿矩阵建立模板坐标系Sm,将模板点云平移旋转至坐标系Sm。
7.一种工件模板点云生成装置,其特征在于,包括:
参考线生成模块,用于解析工件模板的2D图纸,将所述2D图纸的直线实体、圆弧实体、圆实体分别依照预设规则转换为line数据结构、arc数据结构以及circle数据结构,以获取多个模板参考线Si(i=1,2,..,Ns),Ns表示参考线总个数;
参考线点云生成模块,用于将解析到的所有line数据结构、arc数据结构和circle数据结构,根据给定分辨率l0进行离散,分别生成对应的参考线点云;
以及工件模板点云生成模块,用于合并所有的参考线点云以获取工件模板点云;
其中,所述参考线点云生成模块将解析到的arc数据结构根据给定分辨率l0生成参考线点云,包括如下步骤:
获取arc的优劣弧属性、旋转角度间隔θ0以及Δθ的大小;其中,旋转角度间隔θ0=l0/ra,Δθ为向量CPs与向量CPe的夹角,向量CPs=Ps-Pc,CPe=Pe-Pc,Δθ取值区间为(-π,π),ra为arc的半径,Ps为arc的起点坐标,Pe为arc的终点坐标,Pc为arc的圆心坐标,点云Mi为预先创建的空点云;Rz(θi)为绕z轴旋转θi的旋转矩阵;
若arc为优弧且Δθ≥0,则每间隔θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=i·θ0(0≤θi≤2π-Δθ);
若arc为优弧且Δθ<0,则每间隔-θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=-i·θ0(2π+Δθ≤θi≤0);
若arc为劣弧且Δθ≥0,则每间隔θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=i·θ0(0≤θi≤Δθ);
若arc为劣弧且Δθ<0,则每间隔-θ0,向点云Mi中添加点Pi,
Pi=Pc+Rz(θi),θi=-i·θ0(Δθ≤θi≤0);
若θ0不能整除Δθ,则将点Pe也添加至点云M。
8.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110940880.0A CN113649668B (zh) | 2021-08-17 | 2021-08-17 | 一种工件模板点云生成方法、装置、计算机及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110940880.0A CN113649668B (zh) | 2021-08-17 | 2021-08-17 | 一种工件模板点云生成方法、装置、计算机及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113649668A CN113649668A (zh) | 2021-11-16 |
CN113649668B true CN113649668B (zh) | 2022-12-13 |
Family
ID=78480435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110940880.0A Active CN113649668B (zh) | 2021-08-17 | 2021-08-17 | 一种工件模板点云生成方法、装置、计算机及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113649668B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113627548A (zh) * | 2021-08-17 | 2021-11-09 | 熵智科技(深圳)有限公司 | 一种平面工件模板匹配方法、装置、介质及计算机设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8803885B1 (en) * | 2011-09-07 | 2014-08-12 | Infragistics, Inc. | Method for evaluating spline parameters for smooth curve sampling |
US11049236B2 (en) * | 2017-11-17 | 2021-06-29 | Kodak Alaris Inc. | Automated in-line object inspection |
CN108490871B (zh) * | 2018-05-21 | 2020-02-14 | 湖南天冠电子信息技术有限公司 | 四轴数控铣床加工方法、装置、计算机设备和存储介质 |
CN110688709B (zh) * | 2019-09-26 | 2022-03-15 | 西北工业大学 | 一种基于工件点云模型的蒙皮工艺模型修正方法 |
CN111805051B (zh) * | 2020-06-30 | 2022-04-22 | 梅卡曼德(北京)机器人科技有限公司 | 切坡口方法、装置电子设备及系统 |
CN111753350A (zh) * | 2020-07-07 | 2020-10-09 | 武汉久同智能科技有限公司 | 一种基于贪心算法的切割路径生成方法 |
-
2021
- 2021-08-17 CN CN202110940880.0A patent/CN113649668B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113649668A (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113751824B (zh) | 一种切坡口轨迹自动生成方法、装置、计算机设备及介质 | |
CN111037328B (zh) | 一种壳体零件在卧式加工中心的定位方法及加工方法 | |
Tsay et al. | Accurate 5-axis machining of twisted ruled surfaces | |
CN108369407A (zh) | 刀具路径修正装置及刀具路径修正方法 | |
CN113649668B (zh) | 一种工件模板点云生成方法、装置、计算机及存储介质 | |
CN106054814B (zh) | 基于图像灰度的计算机辅助加工方法 | |
CN113927127B (zh) | 一种坡口线自动剪裁方法、装置、存储介质及计算机设备 | |
CN107088788A (zh) | 一种基准转换加工方法 | |
CN110153582B (zh) | 焊接方案生成方法、装置以及焊接系统 | |
CN113695756B (zh) | 激光切割的光斑补偿方法、装置、设备以及存储介质 | |
US20170343982A1 (en) | Method for machining a workpiece by means of a chip-removing tool on a numerically-controlled machine tool | |
US11886162B2 (en) | Method for identifying pitch error and yaw error of numerically-controlled (NC) machine tool | |
CN112578730A (zh) | 自适应加工中基准坐标的快速转换方法 | |
TW201521940A (zh) | 加工治具、雙輪廓加工系統及方法 | |
CN113627548A (zh) | 一种平面工件模板匹配方法、装置、介质及计算机设备 | |
CN112347585B (zh) | 一种球头铣刀与工件接触区域解析计算方法 | |
CN115562160A (zh) | 一种直角头分度自动补偿方法、设备、介质及产品 | |
CN116088423A (zh) | 基于数控程序的标准化与结构化编程的数控设备加工方法 | |
CN111176214B (zh) | 一种刀具轨迹生成方法、装置和铣削机器人 | |
CN114918737A (zh) | 坐标系校正方法、工业设备及存储介质 | |
CN114675600A (zh) | 一种基于圆弧切线矢量的圆弧插补方法 | |
CN112171277B (zh) | 一种两个斜坐标系之间的坐标转换方法 | |
CN109491328B (zh) | 一种零件装配面定位方法和装置以及计算机可读存储介质 | |
Jiang et al. | Posture adjustment of workpiece based on stepwise matching by self-adaptive differential evolution algorithm | |
CN113814795B (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 |