CN109541997B - 一种面向平面/近似平面工件的喷涂机器人快速智能编程方法 - Google Patents
一种面向平面/近似平面工件的喷涂机器人快速智能编程方法 Download PDFInfo
- Publication number
- CN109541997B CN109541997B CN201811323907.6A CN201811323907A CN109541997B CN 109541997 B CN109541997 B CN 109541997B CN 201811323907 A CN201811323907 A CN 201811323907A CN 109541997 B CN109541997 B CN 109541997B
- Authority
- CN
- China
- Prior art keywords
- point
- plane
- workpiece
- point cloud
- polygon
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23146—Programmable, reconfigurable via microprocessor or coding switches
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Application Of Or Painting With Fluid Materials (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种面向平面/近似平面工件的喷涂机器人快速智能编程方法,首先采用激光扫描工件表面获得一组原始点云,再截取工件点云,简化点云、滤除噪声点;其次从三维点云中分离出表示喷涂表面的二维平面点云,并进一步提取出点云的多边形边界特征,再进行直线拟合;然后通过多边形拟合、校正、顶点排序等操作提取出喷涂面边界多边形特征;最后进行工件表面全覆盖路径规划。本发明针对平面/近似平面工件的快速、智能化、去示教编程方法,无需繁琐的人工示教过程,通过低成本2D线激光自动扫描提取工件表面特征,以及自动优化生成机器人的全覆盖路径,可有效提高特定工件曲面的喷涂效率和喷涂作业质量。
Description
技术领域
本发明涉及喷涂机器人先进制造产业技术领域,特别是涉及一种面向平面/近似平面工件的喷涂机器人快速智能编程方法。
背景技术
工业机器人已经广泛应用于自动化工业中,其中喷涂机器人作为机器人技术与喷涂工艺相结合的产物,主要用于喷涂工业生产中,但当前喷涂机器人制造过程面临的技术瓶颈在于传统的人工示教编程方式周期过长,难于应用于结构较为复杂的工件的喷涂过程,且编程质量过于依赖工人的经验。与之相比,目前兴起的离线编程技术,也就是将自动编程技术与喷涂机器人相结合的新型编程方式可以很好解决这个问题,从而成为了目前喷涂机器人研究和应用领域的热点,具有较为广泛的发展前景。
以机器人代替人工劳力,以离线编程代替人工示教,主要目的是减少喷涂周期。目前的离线编程软件通常直接导入工件模型,喷涂面大多采用三角片表示,喷涂路径规划方法应用较多的为Bounding-box路径生成算法以及最长边参考轨迹生成算法:Bounding-box路径生成算法的优点是适用范围广,可以对喷涂面为曲面的情况进行喷涂路径规划;最长边参考轨迹生成算法则可以很好的适用于曲率变化大的自由曲面和圆柱面。
然而,通过模型导入工件的方法过于依赖工件模型的质量,且针对小批量多品种没有模型的工件,该方法并不适用;在平面喷涂的情况下,两种喷涂路径规划方法算法也存在较多缺陷。首先,喷涂面为平面,不需要进行包围盒的构建;其次,采用三角片表示喷涂面,会导致求交过程的计算量庞大,效率很低。当前的喷涂机器人离线轨迹规划技术存在的主要缺点在于:针对平面/近似平面的工件,如何进行工件平面边界特征快速提取,如何进行高效的路径规划,从而推进喷涂工业的自动化进程,提高喷涂制造业的生产率水平,并降低生产成本。
发明内容
发明目的:为了克服已有的技术的不足,提供了一种面向平面\近似平面工件的喷涂机器人快速智能编程方法,该方法针对平面/近似平面工件的快速、智能化、去示教编程方法,无需繁琐的人工示教过程,通过低成本2D线激光自动扫描提取工件表面特征,以及自动优化生成机器人的全覆盖路径,可有效提高特定工件曲面的喷涂效率和喷涂作业质量。
技术方案:为实现上述发明目的,本发明采用以下技术方案:
一种面向平面/近似平面工件的喷涂机器人快速智能编程方法,包括以下步骤:
(1)采用激光扫描工件表面获得工件原始三维点云信息;
(2)对工件表面点云信息进行预处理
通过直通滤波法从工件原始三维点云信息中截取工件点云,并采用体素栅格法降低点云规模,通过统计滤波法滤除离群点,从而得到规整可用的工件点云;
(3)工件边界特征点提取
首先从步骤(2)所得的规整可用的工件点云分离出表示工件待喷涂表面的二维平面点云,再根据喷涂面点云的k近邻点分布均匀性,识别出工件边界特征点;
(4)多边形边界特征拟合和矫正
利用欧式聚类和RANSAC直线拟合的方法拟合出可表达边界拓扑形状的多边形边界特征,通过求交以及平移旋转变换得到XOY平面上多边形的顶点坐标,并由人工交互操作对其进行校正;
(5)进行工件表面全覆盖路径规划。
进一步的,步骤(1)具体为:通过2D激光传感器等时间间隔扫描工件表面,得到扇形区域内的距离值,根据角度值进行变换得到测量采样点的二维坐标值,然后根据AGV小车移动的步进量进一步得到其三维坐标值;然后通过坐标变换关系得到工件空间内的工件表面点云后,使用K-D树构建出点云的空间索引结构。
进一步的,所述步骤(2)具体为:
(21)采用直通滤波快速从工件原始三维点云中提取工件点云
直通滤波法是指定点云在X,Y,Z轴方向上的分布范围,将范围以内的点云保留,范围以外的点云舍去;
(22)采用体素栅格法简化点云
栅格重心点根据式(1)计算:
(23)采用高斯滤波去除明显离群点
首先,对输入三维点云P={pi,0≤i≤n,pi∈R3}中的任一点pi,计算它的k个近邻pij的平均距离di,然后对于整个点云P,估计它的全局平均距离u和标准差σ,若平均距离在标准范围之外,则可以判定其为噪声点;待移除点云离群点px计算方法如式(2)所示:
px={pi∈p|dx≤(u-σ·α)||dx≥(u+σ·α)} (2);
其中,α为标准差倍数,如果一个点的距离超出点的平均距离α标准差以上,则看作是噪声点,将其移除;
删除离群点方法的具体步骤为:
首先,构建点云P的拓扑结构,设置快速近邻搜索k的值,并搜索点云P中的每个点云Pi最近邻NN(pi),计算点云Pi与它k个近邻pij的平均距离d如式(3)所示:
其次,计算三维点云P的平均距离u与标准差σ如式(4)所示:
最后,根据判断标准判断Pi如果满足公式(4)就可以确定这一点是离群点,反之则不是离群点。
进一步的,所述步骤(3)具体为:
(31)基于RANSAC的点云分割
使用RANSAC算法拟合平面进而分割出喷涂面点云,平面方程是如式(5)所示的平面的法线式:
ax+by+cz=d (5);
其中,a2+b2+c2=1,d>0,向量(a,b,c)为平面法矢,d为原点到平面的距离,这四个参数可以确定一个平面;步骤(2)所得的点云经过上述基于RANSAC的方法分割后,输出从属于各个平面模型的点云数组;
(32)点云投影至二维平面
将分割得到的点云投影到其对应的平面模型上,最终得到分布在平面上的二维点云;由于平面的参数方程ax+by+cz=d已经由上一步得出,则法向量也是已知的,即为Vn=(a,b,c);对于点云P={pi,0≤i≤n,pi∈R3}中的任一个点pi(xi,yi,zi),过点pi做垂线到平面plane的交点记为p′i(xi,yi,zi),则直线pipi′与平面plane的法向量Vn平行;
直线pipi′的参数方程如式(6)所示:
将点(x,y,z)代入平面方程,求出t如式(7)所示:
再将t代入直线的参数方程即可求出点pi在平面plane的投影点p′i;
(33)平面点云的边界特征提取
首先将数据点P与其k近邻点构成一组向量,求解相邻向量之间的夹角,然后根据夹角的大小关系对这k个夹角从小到大排序,计算出排序后位置相邻的夹角之间的最大差值,将其与预设的阈值进行比较,若大于阈值则判定该数据点为边界特征点,否则判定该数据点为内部点。
进一步的,步骤(33)具体为:设k近邻点为Vi=(i∈[0,k-1]),以k近邻点中的最近点Vj与数据点P组成的向量PVj为基准向量,以k近邻点中其他任意一点作向量PVi(i∈[0,k-1]|i≠j);
(a)求解向量PVi与向量PVj之间的夹角θ(θ∈[0,π]),以及向量叉积ni=PVi×PVj作为方向基准。
(b)若ni·nj>0,保持θj不变,否则,θj=θj+π。
(c)对所得的夹角序列s={θ1,θ2,…,θk-1}按从小到大排序,并在序列头尾加入极限值,得到新的夹角序列s′={0,θ′1,θ′2,…,θ′k-1,2π},将夹角序列s′中的元素之间两两做差,求出其中的最大差值βmax,将βmax与给定弧度阈值比较,若大于给定弧度阈值,则视为边界点特征,否则为内部点。
进一步的,步骤(4)包括以下步骤:
(41)对各子点云分别以的直线方程ax+by=d为分割模型参数,运用基于RANSAC的点云分割算法做进一步分割,得到内外边界的多边形各条边的点云及其对应的直线参数方程;然后将各条边的点云投影到其对应边上,以平滑多边形的各条边;
(42)多边形顶点特征识别和变换
设多边形集合S={s1,s2,…sn},对于任意的多边形si(i∈[1,n]),有si={e1,e2,…em},ei表示多边形的边,多边形顶点求解步骤如下:
(a)任取多变形si的两条边ek和el求交,得到交点vj;
(b)以边ek和el的点云构造K-D树,以交点vj为目标点,进行最近邻搜索,并计算出最近邻点与交点vj的距离vj,保存到容量为m、距离越小权值越大的优先队列中;
(c)重复步骤(a)和(b)直至多变形si中的任意两条边均求过交点,最终在优先队列中保存的交点即多变形si的顶点;
(d)重复步骤(a)-(c)直至多边形集合S中的任一多边形均求过顶点;
将求解得到的多边形顶点坐标值,通过平移旋转的方式变换到XOY平面上,使得z坐标均为0,仅用x坐标和y坐标表示顶点位置,进而转换为二维空间中进行处理;
(43)多边形特征校正
在拟合出多边形特征的基础上,定义了x坐标相等、y坐标相等、平行、垂直和共线拓扑约束,通过交互式操作对多边形特征添加相应的约束,进而校正所得多边形数据。
进一步的,步骤(5)包括以下步骤:
(51)基于扫描线算法的特征线与多边形求交
1)初始化扫描线为起始位置;
2)求扫描线与多边形的交点
3)判断交点数量是否大于0,若否,直接结束;若是则执行步骤4)
4)将求得交点按照x坐标的值从小到大排序;
5)对排序后的交点两两配对连成线段,可以得到特征线与多边形上文截线段;
6)将扫描线沿Y轴方向移动距离d,返回步骤2)执行;
(52)路径生成
首先从起始特征线L1开始,选择该特征线交点集合中两端的交点P11和P1j中的一个作为起始路径点Pbegin,另一个作为当前路径点Pcur,其他点按相邻顺序依次用直线段连接;然后计算下一条特征线交点数组中首尾位置的交点P21和P2j与当前路径点Pcur之间的距离,选择其中距离较近的交点连接到当前路径点Pcur,其他点按相邻顺序依次连接,然后将其中距离较远的交点更新为的当前路径点Pcur;依次类推,直到所有特征线均被处理,即得到喷涂路径。
有益效果:与现有技术相比,本发明能够提供一整套有效的、统一的喷涂机器人工艺流程算法,无需繁琐的人工示教过程,通过低成本2D线激光自动扫描提取工件表面特征,以及自动优化生成机器人的全覆盖路径,可有效提高特定工件曲面的喷涂效率和喷涂作业质量,实现喷涂过程的自动化,提高喷涂制造业的生产率水平,并降低生产成本,可广泛用于各种不同的喷涂生产工件的生产过程,具备很好的实用性和应用前景。
附图说明
图1是本发明方法总体流程图;
图2是工件表面点云预处理流程图;
图3是体素栅格法示意图;
图4是滤波示意图;
图5是平面投影示意图;
图6是基于扫描线算法的特征线求交流程图。
具体实施方式
下面结合附图和具体实施方式对本发明的技术方案作进一步说明。
应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
如图1所示,本发明的一种面向平面/近似平面工件的喷涂机器人快速智能编程方法,包括以下步骤:
1、激光扫描获取工件原始三维点云信息
采用低成本2D激光传感器等时间间隔进行扫描工件表面获取点云,进而得到工件的表面信息。具体步骤为:
(11)首先,使用激光传感器单帧扫描获得工件原始二维点云,通过该传感器给出的距离值和角度值并进行变换得到测量采样点的二维坐标值。在此基础上根据AGV(Automated Guided Vehicle)小车移动的步进量进一步得到其三维坐标值(即工件原始三维点云信息)。
(12)使用K-D树来构建点云建立离散点间的空间索引关系。利用K-D树来构建点云索引的主要工作可以分为两个步骤,首先是基于原始点云构造K-D树,然后是在此基础上实现数据点的k近邻搜索。构造K-D树的伪代码如下所示。在本发明中,输入的数据集合是三维点云,输出的是三维K-D树,即点云的空间索引。
构建好一棵K-D树后,设目标点为Q,下面给出利用K-D树和最大长度为k的有界优先队列(BPQ)实现k近邻搜索的算法:
1)在K-D树种找出包含目标点Q的叶结点:从根结点出发,递归地向下搜索K-D树。若目标点Q当前维的坐标小于切分点的坐标,则访问左子树,否则访问右子树,直到子结点为叶结点为止。在stack(栈)中顺序存储已经访问的节点,同时将以结点中的数据点与目标点Q之间的距离为权重,将结点加入容量上限为k的BPQ中。
2)达到叶子结点时,通过stack递归的向上回溯,判断以下两个条件:
a)当前结点是否比BPQ队尾元素与Q的距离更近。具体操作为,检查当前结点的另一子结点对应的超平面是否与以Q为球心,以Q与BPQ队尾元素距离为半径的圆、球或超球体相交。
b)BPQ的元素个数是否小于k:
3)若a)或b)满足,则移动到当前结点的另一个子结点,进行1)步骤相同的搜索过程。若a)且b)都不满足,则继续往上回溯,另一个子结点对应的区域内的结点都被淘汰,不在考虑的范围中。
4)当回溯到根结点时,搜索结束,最后的当前结点即为Q的最近邻点。
搜索结束后,BPQ中的样本点就是测试样本的k个最近邻点。2、点云预处理
将激光扫描获得原始二维点云进行坐标变换后所得的工件原始三维点云记为P。在特征提取之前,首先要对点云P进行预处理,包括点云截取、简化和去噪等多个步骤,以便后续提取多边形特征。具体操作流程图如图3所示。
具体步骤为:
(21)采用直通滤波快速从工件原始三维点云中提取(截取)工件点云。直通滤波法是指定点云在X、Y、Z轴方向上的分布范围,将范围以内的点云保留,范围以外的点云舍去,可快速剪除目标点以外的点云,达到第一步简单处理的目的。
(22)本发明选用体素栅格法简化点云,体素栅格滤波法以体素中所包含的点云重心来表示体素中的所有点云,能够在简化点云的同时不破坏点云本身几何结构的功能,体素栅格法示意图如图3所示。
图3中虚线框为长宽高分别为a、b、c的体素,圆形表示点云,三角形表示体素内点云重心。假设体素中的点云数量为n,则栅格重心点(即体素内点云重心)可根据式(1)计算:
(23)采用高斯滤波去除明显离群点
首先,对输入三维点云P={pi,0≤i≤n,pi∈R3}中的任一点pi,计算它的k个近邻pij的平均距离di,然后对于整个点云P,估计它的全局平均距离u和标准差σ,若平均距离在标准范围之外,则可以判定其为噪声点。待移除点云利群点px计算方法如式(2)所示:
px={pi∈p|dx≤(u-σ·α)||dx≥(u+σ·α)} (2);
其中α为标准差倍数,如果一个点的距离超出点的平均距离α标准差以上,则可以看作是噪声点,将其移除。
删除离群点方法的具体步骤可以表述如下:
首先,构建点云P的拓扑结构,设置快速近邻搜索k的值,并搜索点云P中的每个点云Pi最近邻NN(pi),计算点云Pi与它k个近邻pij的平均距离d如式(3)所示:
其次,计算三维点云P的平均距离u与标准差σ如式(4)所示:
其中,N为三维点云P中点云的数量。
最后,根据判断标准判断Pi如果满足公式(4)就可以确定这一点是离群点,反之则不是离群点。
高斯滤波法的示意图如图4所示,其中,三角形代表点云pi,圆形代表点云pi的k邻域的内点,正方形代表Pi的k邻域的离群点。
3、工件边界特征点提取
经过预处理初步提取出规整可用的工件点云后,首先从该点云分离出表示工件待喷涂表面的二维平面点云,再根据喷涂面点云的k近邻点分布均匀性,识别出边界特征点。具体步骤如下:
(31)基于RANSAC的点云分割
由于钢结构件的喷涂面包含较多的平面特征,且放置钢结构件的工作台本身也为平面,因此可以考虑使用RANSAC(Random Sample Consensus(随机抽样一致))算法拟合平面进而分割出喷涂面点云。常用的平面方程是如式(5)所示的平面的法线式:
ax+by+cz=d (5);
其中,a2+b2+c2=1,d>0,向量(a,b,c)为平面法矢,d为原点到平面的距离,这四个参数可以确定一个平面。步骤2所得的规整可用的工件点云经过上述基于RANSAC的方法分割后,输出从属于各个平面模型的点云数组。
(32)点云投影至二维平面
进一步将分割得到的点云投影到其对应的平面模型上,最终得到分布在平面上的二维点云。由于平面的参数方程ax+by+cz=d已经由上一步得出,所以法向量也是已知的,即为Vn=(a,b,c)。对于点云P={pi,0≤i≤n,pi∈R3}中的任一个点云pi(xi,yi,zi),过点云pi做垂线到平面plane的交点记为pi′(xi,yi,zi),如图5所示则直线pi p′i与平面plane的法向量Vn平行。
直线pi pi′的参数方程如式(6)所示:
将点(x,y,z)代入式(5),求出t如式(7)所示:
再将t代入式(6)即可求出点pi在平面plane的投影点p′i。
(33)平面点云的边界特征提取
首先将数据点云P与其k近邻点构成一组向量,求解相邻向量之间的夹角,然后根据夹角的大小关系对这k个夹角从小到大排序,计算出排序后位置相邻的夹角之间的最大差值,将其与预设的阈值进行比较,若大于阈值则判定该数据点为边界特征点,否则判定该数据点为内部点。设k近邻点为Vi=(i∈[0,k-1]),以k近邻点中的最近点Vj与数据点P组成的向量PVj为基准向量,以k近邻点中其他任意一点作向量PVi(i∈[0,k-1]|i≠j)。详细步骤如下:
(a)求解向量PVi与向量PVj之间的夹角θ(θ∈[0,π]),以及向量叉积ni=PVi×PVj作为方向基准。
(b)若ni·nj>0,保持θj不变,否则,θj=θj+π。
(c)对所得的夹角序列s={θ1,θ2,…,θk-1}按从小到大排序,并在序列头尾加入极限值,得到新的夹角序列s′={0,θ′1,θ′2,…,θ′k-1,2π},将夹角序列s′中的元素之间两两做差,求出其中的最大差值βmax,将βmax与给定弧度阈值比较,若大于给定弧度阈值,则视为边界点特征,否则为内部点。
4、多边形特征拟合和校正
用欧式聚类和RANSAC直线拟合的方法拟合出可表达边界拓扑形状的多边形边特征,通过求交以及平移旋转变换得到XOY平面上多边形的顶点坐标,并由人工交互操作对其进行校正。具体步骤如下:
(41)边界点云分割
采用基于欧式距离的凝聚型层次聚类方法(以下简称欧式聚类)先将属于外边界的点云以及属于各个孔洞的内边界点云相互分割开来,得到从属于外边界和各个孔洞内边界的子点云,避免共线点云无法区分的问题。
欧式聚类常见的终止条件包括指定簇的个数或者两个距离最近簇之间的最大距离阈值。在本文的边界点云分割场景中,生成的簇的个数一般是未知的,因此选择设定最近簇的最大距离阈值来作为聚类终止条件。除此之外,为了防止噪声数据干扰点云聚类的效果,以及避免过度聚合的现象,本文在聚类过程中附加最小簇点数约束和最大簇点数约束。简单来说就是当两个簇的点数相加超过最大簇点数约束时,不予合并,转而合并距离次小且满足最大簇点数约束的两个簇,若此时无簇可合并,则聚类终止。当聚类终止时,如果存在某些簇的点数小于最小簇点数约束,则将这些簇合并到距离其最近,且合并后满足最大簇点数约束的簇中。
(42)多边形拟合
对欧式聚类分割得到的各子点云分别以的直线方程ax+by=d为分割模型参数,运用上文提到的基于RANSAC的点云分割算法做进一步分割,得到内外边界的多边形各条边的点云及其对应的直线参数方程。然后将各条边的点云投影到其对应边上,目的是为了平滑多边形的各条边。
(42)多边形顶点特征识别和变换
本发明从两条边的交点和边上的点云的位置关系入手,去除冗余交点。设多边形集合S={s1,s2,…sn},对于任意的多边形si(i∈[1,n]),有si={e1,e2,…em},ei表示多边形的边,详细的多边形顶点求解步骤如下:
(a)任取多变形si的两条边ek和el求交,得到交点vj
(b)以边ek和el的点云构造K-D树,以交点vj为目标点,进行最近邻搜索,并计算出最近邻点与交点vj的距离vj,保存到容量为m、距离越小权值越大的优先队列中。
(c)重复步骤(a)和(b)直至多变形si中的任意两条边均求过交点,最终在优先队列中保存的交点即多变形si的顶点。
(d)重复步骤(a)-(c)直至多边形集合S中的任一多边形均求过顶点。
经过以上方法可以求解出多边形顶点坐标值,它们均位于多边形所在的平面plane上。因为plane是存在于三维空间的平面,所以多边形顶点的坐标值均包含(x,y,z)三个数据,而实际上由于它们同处一个平面,因此可以通过平移旋转的方式,将它们变换到XOY平面上,使得z坐标均为0,仅用x坐标和y坐标即可表示顶点位置,进而使得后续处理可在二维空间中进行。
(43)多边形特征校正
在拟合出多边形特征的基础上,定义了x坐标相等、y坐标相等、平行、垂直和共线等拓扑约束,通过交互式操作对多边形特征添加相应的约束,进而校正所得多边形数据,方便基于此的后续喷涂路径规划。下面以顶点V1(x1,y1),V2(x2,y2),V3(x3,y3),V4(x4,y4)为例,详细说明基于上述拓扑约束关系的校正过程。
1)x坐标相等:选择V1为参考点,V2为待校正点,校正操作直接将x1的值赋给x2。
2)y坐标相等:选择V1为参考点,V2为待校正点,校正操作直接将y1的值赋给y2。
3)平行:选择V1,V2,V3为参考点,V4为待校正点,x为校正坐标分量,根据平行向量叉乘积为0的性质可知,校正后的x4应满足:(x2-x1)(y4-y3)-(x4-x3)(y2-y1)=0,选择y为校正坐标分量时同理。
4)垂直:选择V1,V2,V3为参考点,V4为待校正点,x为校正坐标分量,根据垂直向量点乘积为0的性质可知,校正后的x4应满足:(x2-x1)(x4-x3)-(y2-y1)(y4-y3)=0,选择y为校正坐标分量时同理。
5)共线:选择V1,V2为参考点,V3为待校正点,x为校正坐标分量,根据平行向量点叉乘积为0的性质可知,校正后的x4应满足:(x2-x1)(y3-y1)-(x3-x1)(y2-y1)=0,选择y为校正坐标分量时同理。
5、全覆盖式喷涂路径规划
目前,应用最多的喷涂路径规划方法为Bounding-box路径生成算法,根据工艺要求确定喷枪行进速度v和行程间距l,在此基础上,该算法首先对喷涂面投影构建喷涂面的最小包围盒,选取包围盒的其中一个面为参考面,以行程间距l为间距,建立一簇相互平行且等间距的特征平面。然后,将这簇特征平面与喷涂面求交,将特征平面与表示喷涂面的三角片的交点作为喷涂路径点,按特定顺序连接形成光栅式喷涂路径。接着,在喷涂路径点的基础上确定抬枪方向和抬枪高度,得到喷枪位姿点,从而获取机器人抬枪路径。
Bounding-box路径规划算法的优点是适用范围广,可以对喷涂面为曲面的情况进行喷涂路径规划,然而,在平面喷涂的情况下,该算法存在较多缺陷。首先,喷涂面为平面,不需要进行包围盒的构建。其次,采用三角片表示喷涂面,假设三角片的个数为n,特征线的个数为k,求直线交点运算时间为t,则特征平面与喷涂面求交过程的时间复杂度近似为O(n2·k·t)。为了表示出喷涂面的几何特征,通常n是个比较大的数值,导致求交过程的计算量庞大,效率很低。但该算法中求取特征线进而生成喷涂路径的方式仍然是可以采用的。针对以上缺点,本发明舍去Bounding-box路径规划算法中求取包围盒的步骤,将求解空间由三维降为二维,将算法中的特征平面概念等效转换为特征线。并且采用步骤4所获的多边形数据替代三角片网格来表示喷涂面,因此,针对喷涂面为平面的喷涂路径规划的关键在于如何在已知多边形边界的基础上,找到一种有效的特征线与多边形的求交方法,避免大量运算。
具体改进部分如下:
(51)基于扫描线算法的特征线与多边形求交
扫描线算法的基本思路是用水平扫描线沿从下往上(或从上往下)的方向扫描由多条首尾相连的线段构成的多边形,每条扫描线与多边形的其中一部分边形成一系列的交点。将y坐标相同交点按x坐标的大小排序,相邻的交点进行两两配对,作为线段的两个端点,相连即为特征线与多边形求交后的截线段。基于扫描线算法的特征线与多边形求交的详细步骤如图6所示。详细步骤如下:
1)初始化扫描线为起始位置;
2)求扫描线与多边形的交点
在扫描线与多边形的交点求取的循环操作中,需要用尽量少的计算量求出交点。观察多边形与扫描线的交点情况,可以得到以下两个特点:(1)每次只有相关的几条边可能与扫描线有交点,不必对所有边进行求交计算。(2)相邻的扫描线与同一边存在步进关系,步进值为常量,与边所在直线的斜率有关。针对特点(1),为了减少计算量,扫描线算法需要维护一张由“活动边”组成的“活动边表AET(Activity Edge Table)”,每次只与当前表中所包含的边进行求交运算。针对特点(2),假设当前扫描线与多边形的某一边的交点已经通过直线求交算法得出坐标为(x,y),假设扫描线间隔为1,则下一条扫描线与这条边的交点可以通过步进关系直接得到新的交点坐标为(x+Δx,y+1),假设多边形某条边所在的直线方程是:ax+by+c=0。当扫描线间隔为m时,Δx=-bm/a。
3)判断交点数量是否大于0,若否,直接结束;若是则执行步骤4)
4)将求得交点按照x坐标的值从小到大排序;
5)对排序后的交点两两配对连成线段,可以得到特征线与多边形上文截线段。
6)将扫描线沿Y轴方向移动距离d,返回步骤2)执行
(52)路径生成
求得特征线Li(i=1,2,…,n)的交点集合{{P11,P12,…,P1j},{P21,P22,…,P2j},…,{Pn1,Pn2,…,Pnj}}后,可以很容易的计算出喷涂路径。首先从起始特征线L1开始,选择该特征线交点集合中两端的交点P11和P1j中的一个作为起始路径点Pbegin,另一个作为当前路径点Pcur,其他点按相邻顺序依次用直线段连接。然后计算下一条特征线交点数组中首尾位置的交点P21和P2j与当前路径点Pcur之间的距离,选择其中距离较近的交点连接到当前路径点Pcur,其他点按相邻顺序依次连接,然后将其中距离较远的交点更新为的当前路径点Pcur。依次类推,直到所有特征线均被处理,即得到喷涂路径。
总之,本发明的一种面向平面/近似平面工件的喷涂机器人快速智能编程方法,首先采用激光扫描工件表面获得一组原始点云,再截取工件点云,简化点云、滤除噪声点;其次从三维点云中分离出表示喷涂表面的二维平面点云,并进一步提取出点云的多边形边界特征,再进行直线拟合;然后通过多边形拟合、校正、顶点排序等操作提取出喷涂面边界多边形特征;最后进行工件表面全覆盖路径规划。本发明针对平面/近似平面工件的快速、智能化、去示教编程方法,无需繁琐的人工示教过程,通过低成本2D线激光自动扫描提取工件表面特征,以及自动优化生成机器人的全覆盖路径,可有效提高特定工件曲面的喷涂效率和喷涂作业质量。
Claims (5)
1.一种面向平面/近似平面工件的喷涂机器人快速智能编程方法,其特征在于:包括以下步骤:
(1)采用激光扫描工件表面获得工件原始三维点云信息;
(2)对工件表面点云信息进行预处理
通过直通滤波法从工件原始三维点云信息中截取工件点云,并采用体素栅格法降低点云规模,通过统计滤波法滤除离群点,从而得到规整可用的工件点云;
(3)工件边界特征点提取
首先从步骤(2)所得的规整可用的工件点云分离出表示工件待喷涂表面的二维平面点云,再根据喷涂面点云的k近邻点分布均匀性,识别出工件边界特征点;
(4)多边形边界特征拟合和矫正
利用欧式聚类和RANSAC直线拟合的方法拟合出可表达边界拓扑形状的多边形边界特征,通过求交以及平移旋转变换得到XOY平面上多边形的顶点坐标,并由人工交互操作对其进行校正;具体包括以下步骤:
(41)对各子点云分别以的直线方程ax+by=d为分割模型参数,运用基于RANSAC的点云分割算法做进一步分割,得到内外边界的多边形各条边的点云及其对应的直线参数方程;然后将各条边的点云投影到其对应边上,以平滑多边形的各条边;
(42)多边形顶点特征识别和变换
设多边形集合S={s1,s2,…sn},对于任意的多边形si(i∈[1,n]),有si={e1,e2,…em},ei表示多边形的边,多边形顶点求解步骤如下:
(a)任取多变形si的两条边ek和el求交,得到交点vj;
(b)以边ek和el的点云构造K-D树,以交点vj为目标点,进行最近邻搜索,并计算出最近邻点与交点vj的距离vj,保存到容量为m、距离越小权值越大的优先队列中;
(c)重复步骤(a)和(b)直至多变形si中的任意两条边均求过交点,最终在优先队列中保存的交点即多变形si的顶点;
(d)重复步骤(a)-(c)直至多边形集合S中的任一多边形均求过顶点;
将求解得到的多边形顶点坐标值,通过平移旋转的方式变换到XOY平面上,使得z坐标均为0,仅用x坐标和y坐标表示顶点位置,进而转换为二维空间中进行处理;
(43)多边形特征校正
在拟合出多边形特征的基础上,定义了x坐标相等、y坐标相等、平行、垂直和共线拓扑约束,通过交互式操作对多边形特征添加相应的约束,进而校正所得多边形数据;
(5)进行工件表面全覆盖路径规划,具体包括以下步骤:
(51)基于扫描线算法的特征线与多边形求交
1)初始化扫描线为起始位置;
2)求扫描线与多边形的交点
3)判断交点数量是否大于0,若否,直接结束;若是则执行步骤4)
4)将求得交点按照x坐标的值从小到大排序;
5)对排序后的交点两两配对连成线段,可以得到特征线与多边形上文截线段;
6)将扫描线沿Y轴方向移动距离d,返回步骤2)执行;
(52)路径生成
首先从起始特征线L1开始,选择该特征线交点集合中两端的交点P11和P1j中的一个作为起始路径点Pbegin,另一个作为当前路径点Pcur,其他点按相邻顺序依次用直线段连接;然后计算下一条特征线交点数组中首尾位置的交点P21和P2j与当前路径点Pcur之间的距离,选择其中距离较近的交点连接到当前路径点Pcur,其他点按相邻顺序依次连接,然后将其中距离较远的交点更新为的当前路径点Pcur;依次类推,直到所有特征线均被处理,即得到喷涂路径。
2.根据权利要求1所述的一种面向平面/近似平面工件的喷涂机器人快速智能编程方法,其特征在于,步骤(1)具体为:通过2D激光传感器等时间间隔扫描工件表面,得到扇形区域内的距离值,根据角度值进行变换得到测量采样点的二维坐标值,然后根据AGV小车移动的步进量进一步得到其三维坐标值;然后通过坐标变换关系得到工件空间内的工件表面点云后,使用K-D树构建出点云的空间索引结构。
3.根据权利要求1所述的一种面向平面/近似平面工件的喷涂机器人快速智能编程方法,其特征在于,所述步骤(2)具体为:
(21)采用直通滤波快速从工件原始三维点云中提取工件点云
直通滤波法是指定点云在X,Y,Z轴方向上的分布范围,将范围以内的点云保留,范围以外的点云舍去;
(22)采用体素栅格法简化点云
栅格重心点根据式(1)计算:
(23)采用高斯滤波去除明显离群点
首先,对输入三维点云P={pi,0≤i≤n,pi∈R3}中的任一点pi,计算它的k个近邻pij的平均距离di,然后对于整个点云P,估计它的全局平均距离u和标准差σ,若平均距离在标准范围之外,则可以判定其为噪声点;待移除点云离群点px计算方法如式(2)所示:
px={pi∈p|dx≤(u-σ·α)||dx≥(u+σ·α)} (2);
其中,α为标准差倍数,如果一个点的距离超出点的平均距离α标准差以上,则看作是噪声点,将其移除;
删除离群点方法的具体步骤为:
首先,构建点云P的拓扑结构,设置快速近邻搜索k的值,并搜索点云P中的每个点云Pi最近邻NN(pi),计算点云Pi与它k个近邻pij的平均距离d如式(3)所示:
其次,计算三维点云P的平均距离u与标准差σ如式(4)所示:
最后,根据判断标准判断Pi如果满足公式(4)就可以确定这一点是离群点,反之则不是离群点。
4.根据权利要求1所述的一种面向平面/近似平面工件的喷涂机器人快速智能编程方法,其特征在于,所述步骤(3)具体为:
(31)基于RANSAC的点云分割
使用RANSAC算法拟合平面进而分割出喷涂面点云,平面方程是如式(5)所示的平面的法线式:
ax+by+cz=d (5);
其中,a2+b2+c2=1,d>0,向量(a,b,c)为平面法矢,d为原点到平面的距离,这四个参数可以确定一个平面;步骤(2)所得的点云经过上述基于RANSAC的方法分割后,输出从属于各个平面模型的点云数组;
(32)点云投影至二维平面
将分割得到的点云投影到其对应的平面模型上,最终得到分布在平面上的二维点云;由于平面的参数方程ax+by+cz=d已经由上一步得出,则法向量也是已知的,即为Vn=(a,b,c);对于点云P={pi,0≤i≤n,pi∈R3}中的任一个点pi(xi,yi,zi),过点pi做垂线到平面plane的交点记为p′i(xi,yi,zi),则直线pip′i与平面plane的法向量Vn平行;
直线pip′i的参数方程如式(6)所示:
将点(x,y,z)代入平面方程,求出t如式(7)所示:
再将t代入直线的参数方程即可求出点pi在平面plane的投影点p′i;
(33)平面点云的边界特征提取
首先将数据点P与其k近邻点构成一组向量,求解相邻向量之间的夹角,然后根据夹角的大小关系对这k个夹角从小到大排序,计算出排序后位置相邻的夹角之间的最大差值,将其与预设的阈值进行比较,若大于阈值则判定该数据点为边界特征点,否则判定该数据点为内部点。
5.根据权利要求4所述的一种面向平面/近似平面工件的喷涂机器人快速智能编程方法,其特征在于,步骤(33)具体为:设k近邻点为Vi(i∈[0,k-1]),以k近邻点中的最近点Vj与数据点P组成的向量PVj为基准向量,以k近邻点中其他任意一点作向量PVi(i∈[0,k-1]|i≠j);
(a)求解向量PVi与向量PVj之间的夹角θ(θ∈[0,π]),以及向量叉积ni=PVi×PVj作为方向基准;
(b)若ni·nj>0,保持θj不变,否则,θj=θj+π;
(c)对所得的夹角序列s={θ1,θ2,…,θk-1}按从小到大排序,并在序列头尾加入极限值,得到新的夹角序列s′={0,θ′1,θ′2,…,θ′k-1,2π},将夹角序列s′中的元素之间两两做差,求出其中的最大差值βmax,将βmax与给定弧度阈值比较,若大于给定弧度阈值,则视为边界点特征,否则为内部点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811323907.6A CN109541997B (zh) | 2018-11-08 | 2018-11-08 | 一种面向平面/近似平面工件的喷涂机器人快速智能编程方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811323907.6A CN109541997B (zh) | 2018-11-08 | 2018-11-08 | 一种面向平面/近似平面工件的喷涂机器人快速智能编程方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109541997A CN109541997A (zh) | 2019-03-29 |
CN109541997B true CN109541997B (zh) | 2020-06-02 |
Family
ID=65846491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811323907.6A Active CN109541997B (zh) | 2018-11-08 | 2018-11-08 | 一种面向平面/近似平面工件的喷涂机器人快速智能编程方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109541997B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109910180B (zh) * | 2019-04-24 | 2020-08-07 | 华侨大学 | 一种圆盘锯粗加工三维异型石材的锯切方法 |
CN110415331B (zh) * | 2019-06-14 | 2022-08-19 | 中国电建集团昆明勘测设计研究院有限公司 | 一种基于点云数据的轮廓或孔洞快速检测判别和孔洞修补方法 |
CN110285754B (zh) * | 2019-07-02 | 2021-02-19 | 深圳市镭神智能系统有限公司 | 基于激光扫描的工件定位方法、装置、系统和存储介质 |
CN110288706B (zh) * | 2019-07-02 | 2020-08-07 | 哈尔滨工业大学 | 一种小曲率不规则点云曲面的拟合方法 |
CN110455187B (zh) * | 2019-08-21 | 2020-06-09 | 哈尔滨工业大学 | 一种基于三维视觉的盒体工件焊缝的检测方法 |
CN110625308A (zh) * | 2019-09-27 | 2019-12-31 | 哈尔滨理工大学 | 一种基于焊接机器人的橡胶桥梁支座焊接方法 |
CN110992410B (zh) * | 2019-11-29 | 2020-10-30 | 广东技术师范大学 | 基于rgb-d数据融合的机器人视觉引导方法和装置 |
CN110990975B (zh) * | 2019-12-11 | 2020-08-04 | 南京航空航天大学 | 基于实测数据的舱门边框轮廓铣切余量测算方法 |
CN111013887B (zh) * | 2019-12-31 | 2021-05-11 | 盐城工学院 | 一种基于边界约束的不规则平面变倾角喷涂轨迹的优化方法 |
CN111823231B (zh) * | 2020-06-19 | 2021-07-02 | 浙江大学 | 一种使用机械臂完成不可重复覆盖任务抬起次数最少的方法 |
CN112439601B (zh) * | 2020-11-10 | 2021-08-06 | 东南大学 | 一种面向大型船舶外立面的喷涂机器人自动轨迹规划方法 |
CN112652074A (zh) * | 2020-12-29 | 2021-04-13 | 湖北工业大学 | 基于平面模型的点云数据滤波算法 |
CN112710313A (zh) * | 2020-12-31 | 2021-04-27 | 广州极飞科技股份有限公司 | 覆盖路径生成方法、装置、电子设备和存储介质 |
CN112906232B (zh) * | 2021-03-06 | 2022-04-26 | 麦特汽车服务股份有限公司 | 一种汽修用车辆快速建模及喷漆路径规划方法 |
CN113171913B (zh) * | 2021-04-30 | 2022-04-22 | 哈尔滨工业大学 | 一种基于座椅类家具三维点云的喷涂路径生成方法 |
CN113515128B (zh) * | 2021-07-30 | 2022-11-08 | 华东理工大学 | 一种无人车实时路径规划方法及存储介质 |
CN113741426B (zh) * | 2021-08-06 | 2023-05-16 | 武汉理工大学 | 一种基于局部点云曲线拟合的机器人加工路径规划方法 |
CN113487633A (zh) * | 2021-08-17 | 2021-10-08 | 熵智科技(深圳)有限公司 | 一种点云轮廓提取方法、装置、计算机设备及存储介质 |
CN113640829A (zh) * | 2021-08-18 | 2021-11-12 | 上海同陆云交通科技有限公司 | 一种基于LiDAR的无人机桥底检测系统 |
CN113865508B (zh) * | 2021-09-28 | 2023-04-07 | 南京航空航天大学 | 一种蜂窝夹芯复合材料声衬的通孔率自动化检测装置与方法 |
CN114063570B (zh) * | 2022-01-17 | 2022-04-01 | 季华实验室 | 机器人喷涂控制方法、装置、电子设备及存储介质 |
GB2615304A (en) * | 2022-01-28 | 2023-08-09 | Dyson Technology Ltd | Continuous smooth surface segmentation |
CN114571153B (zh) * | 2022-04-07 | 2023-10-10 | 福州大学 | 一种基于3d点云的焊缝识别与机器人焊缝跟踪方法 |
CN115213038B (zh) * | 2022-06-24 | 2024-03-29 | 中铭谷智能机器人(广东)有限公司 | 一种汽车钣金点云多边形框选方法 |
CN115423835B (zh) * | 2022-11-02 | 2023-03-24 | 中汽创智科技有限公司 | 杆状物点云数据处理方法、装置、电子设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101612734B (zh) * | 2009-08-07 | 2011-01-26 | 清华大学 | 管道喷涂机器人及其作业轨迹规划方法 |
CN105354880B (zh) * | 2015-10-15 | 2018-02-06 | 东南大学 | 一种基于线激光扫描的喷砂机器人自动路径生成方法 |
US10137635B2 (en) * | 2016-05-19 | 2018-11-27 | Palo Alto Research Center Incorporated | System and method for printing path planning for manufacturing of functionally graded materials with the aid of a digital computer |
CN106423656B (zh) * | 2016-08-11 | 2019-04-02 | 重庆大学 | 基于点云与图像匹配的自动喷涂系统及方法 |
JP6717164B2 (ja) * | 2016-11-04 | 2020-07-01 | トヨタ自動車株式会社 | 動作経路計画方法 |
CN107767457B (zh) * | 2017-10-09 | 2021-04-06 | 东南大学 | 一种基于点云快速重建的stl数模生成方法 |
-
2018
- 2018-11-08 CN CN201811323907.6A patent/CN109541997B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109541997A (zh) | 2019-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109541997B (zh) | 一种面向平面/近似平面工件的喷涂机器人快速智能编程方法 | |
CN109410321B (zh) | 基于卷积神经网络的三维重建方法 | |
CN110340891B (zh) | 基于点云模板匹配技术的机械臂定位抓取系统及方法 | |
CN111932688B (zh) | 一种基于三维点云的室内平面要素提取方法、系统及设备 | |
CN111299815B (zh) | 一种用于低灰度橡胶垫视觉检测与激光切割轨迹规划方法 | |
CN107369161B (zh) | 一种基于改进欧式聚类的散乱工件点云分割方法 | |
CN107123164B (zh) | 保持锐利特征的三维重建方法及系统 | |
CN111986115A (zh) | 激光点云噪声和冗余数据的精准剔除方法 | |
CN111598916A (zh) | 一种基于rgb-d信息的室内占据栅格地图的制备方法 | |
WO2022188663A1 (zh) | 一种目标检测方法及装置 | |
CN110599506B (zh) | 一种复杂异形曲面机器人三维测量的点云分割方法 | |
CN111986322B (zh) | 一种基于结构分析的点云室内场景布局重建方法 | |
CN111598780B (zh) | 一种适用于机载LiDAR点云的地形自适应插值滤波方法 | |
CN111710023B (zh) | 一种三维点云数据特征点提取方法及应用 | |
CN115147437A (zh) | 机器人智能引导加工方法与系统 | |
CN111145129A (zh) | 基于超体素的点云去噪方法 | |
CN114926699A (zh) | 一种室内三维点云语义分类方法、装置、介质及终端 | |
CN112561998A (zh) | 一种基于三维点云配准的机器人定位和自主充电方法 | |
CN116883754A (zh) | 一种面向地面LiDAR点云的建筑物信息提取方法 | |
CN110288706B (zh) | 一种小曲率不规则点云曲面的拟合方法 | |
CN116310115A (zh) | 一种基于激光点云构建建筑物三维模型的方法及系统 | |
CN108629315B (zh) | 一种针对三维点云的多平面识别方法 | |
CN111028345A (zh) | 一种港口场景下圆形管道的自动识别与对接方法 | |
CN114463396A (zh) | 一种利用平面形状和拓扑图投票的点云配准方法 | |
Tazir et al. | Cluster ICP: Towards sparse to dense registration |
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 |