一种工业机器人轨迹生成方法、系统、装置和存储介质与流程

文档序号:20512755发布日期:2020-04-24 18:43阅读:164来源:国知局
一种工业机器人轨迹生成方法、系统、装置和存储介质与流程

本发明涉及机器人路径规划领域,尤其涉及一种工业机器人轨迹生成方法、系统和存储介质。



背景技术:

目前机器人在工业生成制造领域的应用越来越广泛,机器人与三维相机扫描仪的结合也越来越常见。受物体表面粗糙度、光源位置、待扫描物体材质颜色及控制台振动等各方面因素影响,扫描出的模型不可避免会产生噪声,导致从模型中提取的离散数据存在噪声点,甚至错误点,若直接使用离散数据生成机器人加工轨迹,加工轨迹会出现不光顺的情况,机器人末端会产生抖动,极大地影响加工速度和造成加工质量不达标等现象。



技术实现要素:

为了解决上述技术问题,本发明的目的是提供一种更加平滑地生成工业机器人轨迹的方法、系统和存储介质。

本发明所采用的第一技术方案是:

一种工业机器人轨迹生成方法,包括以下步骤:

获取待生成机器人轨迹的原始数据,对原始数据进行滤波处理后,获得多个数据点;

获取各数据点的离散曲率,结合离散曲率和数据点获取拟合曲线;

计算拟合曲线与数据点的误差,并在误差小于预设允差时,根据拟合曲线生成工业机器人轨迹。

进一步,所述对原始数据进行滤波处理后,获得多个数据点这一步骤,具体包括以下步骤:

依次从原始数据中获取初始数据点,并在检测到初始数据点为噪声点时,剔除该初始数据点;

采用预设方式对初始数据点的坐标进行处理,并获得最终的数据点。

进一步,通过以下方式检测初始数据点是否为噪声点:

获取该初始数据点前后位置相邻的两个初始数据点,获取三个初始数据点依次相连后的角度值;

判断角度值是否小于第一预设角度,并在判定角度值小于第一预设角度时,判定该初始数据点为噪声点。

进一步,所述采用预设方式对初始数据点的坐标进行处理,并获得最终的数据点这一步骤,具体为:

判断角度值是否大于第二预设角度,若是,将该初始数据点的坐标作为最终的数据点;反之,结合三个初始数据点的坐标计算新的坐标作为最终的数据点;

其中,所述第二预设角度大于第一预设角度。

进一步,所述获取各数据点的离散曲率,结合离散曲率和数据点获取拟合曲线这一步骤,具体包括以下步骤:

a1、获取各数据点的离散曲率,以及计算所有数据点的离散曲率的累加和;

a2、结合离散曲率的累加和和预设的拟合节点数量获取初始平均离散曲率;

a3、结合离散曲率和初始平均离散曲率获取拟合曲线的节点矢量;

a4、结合数据点和节点矢量获取最终的拟合曲线。

进一步,所述步骤a4,具体为:

结合数据点、节点矢量和最小二乘曲线拟合方式获取最终的拟合曲线。

进一步,所述计算拟合曲线与数据点的误差,并在误差小于预设允差时,根据拟合曲线生成工业机器人轨迹这一步骤,具体包括以下步骤:

计算拟合曲线与数据点的误差;

若误差小于maxerror,对拟合曲线拟合上所有的数据点进行离散化,获得离散数据点;

若误差大于maxerror,返回执行步骤a4,直至误差小于maxerror;

若误差大于t*maxerror,重新设置拟合节点数量后,返回执行步骤a1~a4,直至误差小于maxerror;

根据离散数据点生成机器人轨迹;

其中,所述maxerror为预设允差,所述t为正整数。

本发明所采用的第二技术方案是:

一种工业机器人轨迹生成系统,包括:

数据滤波模块,用于获取待生成机器人轨迹的原始数据,对原始数据进行滤波处理后,获得多个数据点;

曲线拟合模块,用于获取各数据点的离散曲率,结合离散曲率和数据点获取拟合曲线;

误差计算模块,用于计算拟合曲线与数据点的误差,并在误差小于预设允差时,根据拟合曲线生成工业机器人轨迹。

本发明所采用的第三技术方案是:

一种工业机器人轨迹生成装置,,包括:

至少一个处理器;

至少一个存储器,用于存储至少一个程序;

当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。

本发明所采用的第四技术方案是:

一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行如上所述方法。

本发明的有益效果是:本发明将原始数据中的噪声点和错误点进行剔除,再结合离散曲率获取拟合曲线,最后根据拟合曲线生成工业机器人轨迹,从而是机器人轨迹更加平滑,提高了加工速度和加工质量。

附图说明

图1是具体实施方式中一种工业机器人轨迹生成方法的步骤流程图;

图2是具体实施方式中一种工业机器人轨迹生成系统的结构框图;

图3是现有方法生成的工业机器人轨迹的示意图;

图4是采用具体实施例方法生成的工业机器人轨迹的示意图;

图5是具体实施例中一种工业机器人轨迹生成方法的流程示意图。

具体实施方式

如图1所示,本实施例提供了一种工业机器人轨迹生成方法,包括以下步骤:

s1、获取待生成机器人轨迹的原始数据,对原始数据进行滤波处理后,获得多个数据点;

s2、获取各数据点的离散曲率,结合离散曲率和数据点获取拟合曲线;

s3、计算拟合曲线与数据点的误差,并在误差小于预设允差时,根据拟合曲线生成工业机器人轨迹。

在本实施例方法中,先对待生成机器人轨迹的原始数据进行滤波删除,对明显错误的数据点进行剔除,其中,可采用现有的数据滤波方式对数据点进行剔除,比如通过比较相邻两个点的坐标距离或者点与点之间的矢量变化情况来剔除。在进行滤波处理后,获得多个数据点。根据数据点的坐标计算各数据点的离散曲率,结合离散曲率、数据点和预设的曲线拟合方式获取拟合曲线,当拟合曲线与数据点的误差小于预设允差时,则根据拟合曲线生成工业机器人轨迹,比如可以将拟合曲线作为机器人轨迹,也可以重新对拟合曲线的点重新离散化,再进行组合等。通过上述方法,将原始数据中的噪声点和错误点进行剔除,再结合离散曲率获取拟合曲线,最后根据拟合曲线生成工业机器人轨迹,从而是机器人轨迹更加平滑,提高了加工速度和加工质量。

其中,步骤s1具体包括步骤s11~s12:

s11、依次从原始数据中获取初始数据点,并在检测到初始数据点为噪声点时,剔除该初始数据点;

s12、采用预设方式对初始数据点的坐标进行处理,并获得最终的数据点。

具体地,步骤s11具体包括步骤s111~s112:

s111、获取该初始数据点前后位置相邻的两个初始数据点,获取三个初始数据点依次相连后的角度值;

s112、判断角度值是否小于第一预设角度,并在判定角度值小于第一预设角度时,判定该初始数据点为噪声点。

步骤s12具体为:判断角度值是否大于第二预设角度,若是,将该初始数据点的坐标作为最终的数据点;反之,结合三个初始数据点的坐标计算新的坐标作为最终的数据点;其中,所述第二预设角度大于第一预设角度。

对数据点中尖锐噪声点进行过滤和平滑,其具体步骤如下:

步骤1,原始数据中错误点剔除:相邻的三个数据点pi-1,pi,pi+1,求∠pi-1pipi+1角度,若∠pi-1pipi+1<30°,则认为点pi为噪声点,将点pi剔除;

步骤2,对步骤1中求出的∠pi-1pipi+1进行判断,若∠pi-1pipi+1>90°,则认为点pi数据为正常数据,不对数据进行处理;

步骤3,若∠pi-1pipi+1<90°,则计算线段|pi-1pi|、|pipi+1|的长度,若|pi-1pi|=|pipi+1|,则在线段pi-1pi+1上取点p,使p满足:p=(pi-1+pi+1)/2,代替点pi;若|pi-1pi|>|pipi+1|,则求比例系数在线段pi-1pi上取一点p,使p点满足:p=pi+α*(pi-1-pi),将p点坐标代替pi点坐标;若|pi-1pi|<|pipi+1|,则求比例系数在线段pi+1pi上取一点p,使p点满足:p=pi+α*(pi+1-pi),将p点坐标代替pi点坐标。

其中,步骤s2具体包括步骤s21~步骤s24:

s21、获取各数据点的离散曲率,以及计算所有数据点的离散曲率的累加和;

s22、结合离散曲率的累加和和预设的拟合节点数量获取初始平均离散曲率;

s23、结合离散曲率和初始平均离散曲率获取拟合曲线的节点矢量;

s24、结合数据点和节点矢量获取最终的拟合曲线。

步骤s24具体为:结合数据点、节点矢量和最小二乘曲线拟合方式获取最终的拟合曲线。

其中,步骤s3具体包括步骤s31~s33:

s31、计算拟合曲线与数据点的误差;

s32、若误差小于maxerror,对拟合曲线拟合上所有的数据点进行离散化,获得离散数据点;若误差大于maxerror,返回执行步骤a4,直至误差小于maxerror;若误差大于t*maxerror,重新设置拟合节点数量后,返回执行步骤a1~a4,直至误差小于maxerror;

s33、根据离散数据点生成机器人轨迹;

其中,所述maxerror为预设允差,所述t为正整数。

在本实施例中,具体实现如下所示。

步骤1:设置最大允差maxerror、拟合节点数量initnum和最大迭代次数n;

其中,设数据滤波后,数据点表示为q0,q1,q2…qm,并initnum<m+1。

步骤2:对第一步给出的初始数据求离散曲率,对相邻的三个点pi-1,pi,pi+1分别求出|pi-1pi|、|pipi+1|的模,若|pi-1pi|≥|pipi+1|,令di=|pipi+1|,令在pi-1pi上求一点p,使p点坐标满足:p=pi+α*(pi-1-pi),然后求出di=|pi+1p|,点pi的离散曲率为若|pi-1pi|<|pipi+1|,令di=|pipi-1|,令在pi+1pi上求一点p,使p点坐标满足:p=pi+α*(pi+1-pi),然后求出di=|pi-1p|,点pi的离散曲率为求出所有数据点离散曲率的累加和csum。

步骤3:根据离散曲率求拟合曲线的节点矢量,根据积累弦长参数化求出初始数据点的节点矢量m_aui,根据步骤1设置的拟合节点矢量数量initnum和步骤2求出的离散曲率累加和csum求出逼近曲线初始平均离散曲率,即然后对初始数据点的离散曲率遍历,求出拟合曲线的初始节点矢量,如第j个数据点的离散曲率满足条件进而求出第i个节点矢量,其中i的取值范围为0<i≤initnum。

步骤4:最小二乘样条曲线逼近,根据步骤3求出的节点矢量和初始数据点求出最小二乘b样条逼近曲线,公式如下

其中,nj,k(u)是b样条基函数,k表示次数,j表示序号;dj表示最小二乘曲线逼近的控制点。

步骤5:求数据点最大误差:

根据最小二乘目标函数为优化目标,满足端点约束条件,即q0=p(0),qm=p(1),满足第一步求出的初始数据点最小二乘意义上逼近:

其中,qi表示第i个初始数据点;p(ui)是第i个数据点的节点矢量对应的最小二乘曲线上的点位置;

步骤6:逼近曲线误差值与最大允差比较:

根据步骤5求出的最小二乘逼近曲线的误差值与最大允差进行比较;

若f>maxerror,逼近曲线大于允差,则需要重新逼近曲线拟合,若f>t*maxerror,则逼近曲线节点initnum′=initnum+t,重复步骤2~6,迭代次数+1;

若f<maxerror,则流程结束,重新对数据取点离散化。

其中,t为正整数。

步骤7:对步骤6求出的离散数据生成机器人加工轨迹。

具体实施例

参照图3-图5,以下结合工业机器人鞋底涂胶轨迹的具体实施例对上述方法进行详细说明。

参照图5,步骤一:将待生成机器人轨迹数据点滤波。

其中,步骤一包括s101~s101:

步骤s101将原始数据中错误点剔除:相邻的三个数据点pi-1,pi,pi+1,求∠pi-1pipi+1角度,若∠pi-1pipi+1<30°,则认为点pi为噪声点,将点pi剔除;

步骤s101对步骤s101中求出的∠pi-1pipi+1进行判断,若∠pi-1pipi+1>90°,则认为点pi数据为正常数据,不对数据进行处理;

步骤s101:若∠pi-1pipi+1<90°,则计算线段|pi-1pi|、|pipi+1|的长度,若|pi-1pi|=|pipi+1|,则在线段pi-1pi+1上取点p,使p满足:p=(pi-1+pi+1)/2,代替点pi;若|pi-1pi|>|pipi+1|,则求比例系数在线段pi-1pi上取一点p,使p点满足:p=pi+α*(pi-1-pi),将p点坐标代替pi点坐标;若|pi-1pi|<|pipi+1|,则求比例系数在线段pi+1pi上取一点p,使p点满足:p=pi+α*(pi+1-pi),将p点坐标代替pi点坐标。

步骤二:根据离散曲率设置逼近曲线节点矢量。

其中,步骤二包括步骤s201~s207

步骤s201设置最大允差maxerror、拟合节点数量initnum和最大迭代次数n;

其中,经过步骤一的数据滤波后,数据点数量为m+1,并initnum<m+1。

步骤s202.对第一步给出的初始数据求离散曲率,对相邻的三个点pi-1,pi,pi+1分别求出|pi-1pi|、|pipi+1|的模,若|pi-1pi|≥|pipi+1|,令di=|pipi+1|,令在pi-1pi上求一点p,使p点坐标满足:p=pi+α*(pi-1-pi),然后求出di=|pi+1p|,点pi的离散曲率为若|pi-1pi|<|pipi+1|,令di=|pipi-1|,令在pi+1pi上求一点p,使p点坐标满足:p=pi+α*(pi+1-pi),然后求出di=|pi-1p|,点pi的离散曲率为求出所有数据点离散曲率的累加和csum。

步骤s203根据离散曲率求拟合曲线的节点矢量,根据积累弦长参数化求出初始数据点的节点矢量m_aui,公式如下;

其中k为拟合次数,k>1,n为数据点的数量;

根据步骤s201设置的拟合节点矢量数量initnum和步骤s202求出的离散曲率累加和csum求出平均离散曲率,即然后对初始数据点的离散曲率遍历,求出拟合曲线的初始节点矢量,如第j个数据点的离散曲率满足条件进而求出第i个节点矢量,

步骤s204,最小二乘样条曲线拟合,根据步骤3求出的节点矢量和初始数据点求出最小二乘b样条逼近曲线,公式如下

(ntn)d=r(5)

其中,公式(3)是逼近曲线公式,nj,k(u)是b样条基函数,k表示次数,j表示序号;dj表示最小二乘曲线逼近的控制点。公式(4)是b样条基函数,公式(5)是控制点递推公式,其中n是(m-1)×(n-1)阶标量矩阵,通过公式(5)-(8)求解得出控制点。

步骤s205求数据点最大误差:

根据最小二乘目标函数为优化目标,满足端点约束条件,即q0=p(0),qm=p(1),满足第一步求出的初始数据点最小二乘意义上逼近:

其中,qi表示第i个初始数据点,p(ui)是第i个数据点的节点矢量对应的最小二乘曲线上的点位置。

步骤s206,逼近曲线误差值与最大允差比较:

根据步骤s205求出的最小二乘逼近曲线的误差值与最大允差进行比较;

若f>maxerror,逼近曲线大于允差,则需要重新逼近曲线拟合,若f>t*maxerror,则逼近曲线节点initnum′=initnum+t,重复步骤2~6,迭代次数+1;

若f<maxerror,则流程结束,重新对数据取点离散化。

其中,t为正整数。

步骤s207,对步骤6求出的离散数据生成机器人加工轨迹,如图3所示,为一般方法获得的工业机器人鞋底涂胶轨迹,该轨迹出现很多尖锐的地方;而图4所示,为经过本实施例方法获得的工业机器人鞋底涂胶轨迹,曲线更加平滑,如此,机器人末端不会产生抖动,满足工业上高质量生产的要求。

如图2所示,本实施例还提供了一种工业机器人轨迹生成系统,包括:

数据滤波模块,用于获取待生成机器人轨迹的原始数据,对原始数据进行滤波处理后,获得多个数据点;

曲线拟合模块,用于获取各数据点的离散曲率,结合离散曲率和数据点获取拟合曲线;

误差计算模块,用于计算拟合曲线与数据点的误差,并在误差小于预设允差时,根据拟合曲线生成工业机器人轨迹。

本实施例的一种工业机器人轨迹生成系统,可执行本发明方法实施例所提供的一种工业机器人轨迹生成方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。

本实施例还提供了一种工业机器人轨迹生成装置,,包括:

至少一个处理器;

至少一个存储器,用于存储至少一个程序;

当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。

本实施例的一种工业机器人轨迹生成装置,可执行本发明方法实施例所提供的一种工业机器人轨迹生成方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。

本实施例还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行如上所述方法。

本实施例的一种存储介质,可执行本发明方法实施例所提供的一种工业机器人轨迹生成方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。

以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1