一种基于深度神经网络的机器人定位误差补偿方法与流程

文档序号:19005532发布日期:2019-10-29 23:32阅读:432来源:国知局
一种基于深度神经网络的机器人定位误差补偿方法与流程

本发明涉及机器人定位误差补偿技术领域,具体而言涉及一种基于深度神经网络的机器人定位误差补偿方法。



背景技术:

近年来,随着机器人技术的发展和深入,机器人开始应用于如飞机装配、柔性磨削、激光切割的等高精度制造领域。然而通常情况下,机器人的重复定位精度较高,可以达到±0.1mm,而绝对定位精度只有±1~2mm,难以满足如飞机装配等领域高精度、高效率等的技术要求。因此,迫切需要研究一种精度补偿方法来提高机器人的绝对定位精度。

精度补偿法,即误差补偿法,通过人为生成的误差去抵消机器人的原始误差,最核心部分是机器人的误差标定,其基本原理是在机器人工作空间内测量若干关节构型下的末端定位误差,建立机器人运动学误差模型,辨识机器人运动学参数误差,或者建立机器人笛卡尔空间或关节空间下的误差映射,将得到的误差模型或者误差映射预置到机器人补偿算法中,实现目标点定位误差的估计与补偿,进而提高机器人的绝对定位精度。公开号cn104535027a的专利通过辨识机器人不同空间内的实际运动学参数误差,然后进行运动学逆解求解出机器人实际位姿,实现机器人在位姿点的绝对定位精度补偿,此方法需要建立复杂的运动学误差模型,且只考虑了几何误差,使精度补偿效果受限。公开号cn102230783a的专利是在机器人空间划分网格,将包含目标点的立方体的八个顶点的实际定位误差进行空间插值得到目标点实际定位误差,修正目标点后实现定位误差补偿,此方法的补偿效果受网格划分步长大小影响,且没有考虑到姿态对误差的影响。现有的机器人误差补偿方法,大致存在下面几类问题:(1)需要建立的复杂的运动学误差模型,计算过程繁琐;(2)模型只考虑了位置因素,没有考虑定位姿态对定位误差的影响等。针对上述问题,本文提出一种基于遗传粒子群算法优化深度神经网络(gpso-dnn)模型的机器人定位误差补偿方法,综合考虑了目标点位置和姿态因素,通过预测目标点定位误差并修正定位点坐标,实现机器人绝对定位精度的提高。



技术实现要素:

本发明目的在于提供一种基于深度神经网络的机器人定位误差补偿方法,综合考虑定位点位置和姿态对定位误差的影响,利用深度神经网络来表达机器人理论位姿与实际定位误差间复杂的映射关系,能预测到目标点定位误差并进行误差补偿。本发明能够显著提高机器人绝对定位精度,同时使机器人能更广泛地应用于高精度制造等领域。

为达成上述目的,结合图1,本发明提出一种基于深度神经网络的机器人定位误差补偿方法,所述方法包括:

s1:根据加工任务确定机器人的加工空间范围,在所述加工空间范围内通过拉丁超立方采样得到若干个采样点的理论位姿数据,采用激光跟踪仪测量和记录所述若干个采样点的实际定位坐标数据,计算获取相应采样点的实际定位误差,所述理论位姿数据包括理论位置坐标数据和理论姿态角数据;

s2:将每个采样点的理论坐标数据和对应的实际定位误差作为一组样本数据,对所有样本数据进行预处理后将其按照预设比例划分成训练集和测试集;

s3:构建机器人定位误差预测模型,采用样本数据对机器人定位误差预测模型进行训练、测试,所述机器人定位误差预测模型用于对输入的目标点的定位误差进行预测,得到定位误差预测值,采用定位误差预测值修正目标点的理论坐标,得到误差补偿修正后的目标点坐标;

s4:输入目标点的理论位姿数据至机器人定位误差预测模型,经机器人定位误差预测模型计算后得到其定位误差预测值,经过误差补偿获得修正后的目标点坐标,将此修正后的目标点坐标发送至机器人的控制部,以控制机器人运动到目标点位置。

进一步的实施例中,所述方法还包括:

步骤s1中,基于机器人的笛卡尔空间,对采样参数进行分层随机采样。

进一步的实施例中,所述采样过程包括以下步骤:

s11:将n个采样参数等分为互不重叠的m个区间;

s12:在每个区间内随机取值作为样本,选取任一参数的样本与其他参数的样本进行随机配对组合,获得m组n维向量样本,即如下式矩阵形式的拉丁超立方样本s:

其中,矩阵s的每列表示一个拉丁超立方采样得到的样本向量,每行表示每个参数的m个采样值的任意排列组合;

所述m、n为大于等于1的正整数。

进一步的实施例中,步骤s2中,所述数据预处理是指,

对采样点理论位姿和实际定位误差进行错误数据剔除操作,以及采用下述公式进行最大最小值归一化处理:

其中,xi为某一维度的参数值,xmax和xmin分别代表此参数的最大值和最小值,为归一化后的值。

进一步的实施例中,步骤s3中,所述采用样本数据对机器人定位误差预测模型进行训练、测试包括以下步骤:

s31:采用遗传粒子群优化算法优化深度前馈神经网络以获得网络的最优初始权值和阈值;

s32:根据经验公式确定网络最佳隐层节点数的范围,其中n,m分别为输入层和输出层节点数,常数a={1,2,…,10};

s33:在设定范围内遍历网络隐层数和节点数,利用训练集的样本对网络模型进行训练;

s34:将测试集的采样点理论位姿作为已训练好的机器人定位误差预测模型的输入,得到对应的预测误差,选择预测精度最高的网络结构并保存其模型数据以作为机器人定位误差预测模型。

进一步的实施例中,所述机器人定位误差预测模型采用深度前馈神经网络模型,包含输入层、输出层和多个隐含层;

所述深度前馈神经网络模型的输入层为采样点的理论位姿(x,y,z,a,b,c),所述深度前馈神经网络模型的输出层为采样点的实际定位误差(δx,δy,δz),其中,(x,y,z)为采样点的理论位置坐标,(a,b,c)为采样点的理论姿态角,;

所述深度前馈神经网络模型的第l层网络的输出表达式al为:

al=σ(wl·al-1+bl)

其中,wl是第l-1层与第l层节点间的连接权值矩阵,bl是第l层节点的阈值向量;σ(x)函数为relu激活函数,其公式为:

所述深度前馈神经网络模型的损失函数为其中,yi表示训练样本实际定位误差的实际值,yi′表示训练样本的网络输出值。

进一步的实施例中,步骤s4中,所述输入目标点的理论位姿数据至机器人定位误差预测模型得到定位误差预测值,根据误差预测值对目标点坐标进行补偿修正,最终将修正后目标点坐标发送至机器人的控制部,以控制机器人运动到目标点位置包括以下步骤:

将目标点的理论位姿ptarget=[xt,yt,zt,at,bt,ct]作为机器人定位误差预测模型的输入,以获得对应的输出结果,其中,xt,yt,zt是目标点的理论位置坐标,at,bt,ct是理论姿态角;

对所述输出结果进行反归一化处理得到目标点的定位误差预测值对目标点位置反向迭加其定位误差预测值,获得目标点前馈补偿后的定位点坐标

将此补偿后的坐标pmodified输入机器人的控制部以控制机器人运动到目标点位置。

进一步的实施例中,步骤s1中,所述根据加工任务确定机器人的加工空间范围,在所述加工空间范围内通过拉丁超立方采样得到若干个采样点的理论位姿数据包括以下步骤:

根据实际加工任务确定工业机器人的加工范围,在工业机器人的笛卡尔空间规划一个尺寸为u1*u2*u3目标点姿态角均在±w°范围内的长方体区域作为采样空间;

在所述采样空间内通过拉丁超立方采样得到若干个采样点的理论位姿数据。

进一步的实施例中,所述方法还包括:

s5:定期检测经机器人定位误差预测模型误差补偿修正后的目标点坐标的精度值,如果检测到的精度值低于设定精度阈值,重复步骤s1-s4,以优化机器人定位误差预测模型。

进一步的实施例中,步骤s2中,所述训练集和测试集的划分比例为19:1。

步骤s1中的加工范围是,通过激光跟踪仪测量并建立机器人基坐标系和工具坐标系后,根据加工任务确定工具坐标系在基坐标系下的位姿区间。

步骤s1中的拉丁超立方采样是基于机器人的笛卡尔空间进行的,具体采样过程包括:先将n个采样参数都等分为互不重叠的m个小区间,其次在每个区间内随机取值作为样本,然后选取任一参数的样本与其他参数的样本进行随机配对组合,最后获得m组n维向量样本,即拉丁超立方样本s,如下式矩阵形式:

其中,矩阵s的每列表示一个拉丁超立方采样得到的样本向量,每行表示每个参数的m个采样值的任意排列组合。

所述步骤s1中的采样点的实际定位误差是指,采样点的理论定位坐标与激光跟踪仪测量得到的实际定位坐标之间的差值。

步骤s2中的数据预处理包括对采样点理论位姿和实际定位误差进行错误数据剔除操作,以及根据下述公式执行最大最小值归一化处理:

其中,xi为某一维度的参数值,xmax和xmin分别代表此参数的最大值和最小值,为归一化后的值,最后将归一化后样本数据按一定比例划分为训练集和测试集。

所述步骤s3中的机器人定位误差预测模型为深度前馈神经网络,包含多个隐层,其输入层为采样点的理论位姿(x,y,z,a,b,c),输出层为采样点的实际定位误差(δx,δy,δz);利用训练集对步骤s3所述的机器人定位误差预测模型进行训练时,网络激活函数为relu激活函数,损失函数为其中yi表示训练样本实际定位误差的实际值,yi′表示训练样本的网络输出值。

所述步骤s3中模型训练方法包含遗传粒子群优化算法(gpso):在基本粒子群优化算法上加入遗传算法的交叉选择操作。在每次更新粒子群位置和速度后,选择种群中适应度较好的前一半粒子直接成为下一代;同时复制此适应度较好的一半粒子进行交叉操作产生子代,选择子代和父代中适应度较好的前一半粒子再进入下一代,实现粒子群的更新。上述遗传粒子群算法能优化深度神经网络来获得最优初始权值和阈值,有效提高网络模型的预测精度和效率。之后在一定范围内遍历网络隐层数和节点数,输入目标点理论位姿后获得该点定位误差预测值,选择预测精度最高的网络结构。

所述步骤s4是机器人定位误差预测模型的实际应用步骤,可以发现,本发明公开的机器人定位误差补偿方法是一种前馈控制补偿方法,首先通过拉丁超立方采样获得大量样本数据来训练机器人定位误差预测模型,然后利用训练好的机器人定位误差预测模型,结合输入的目标点的理论位姿数据预测目标点的定位误差,对目标点的理论坐标反向迭加其定位误差预测值,获得补偿后的目标点坐标,将补偿后的目标点坐标发送至机器人,使机器人能够消除自身由于精度导致的定位误差,到达指定目标点。

以上本发明的技术方案,与现有相比,其显著的有益效果在于,

(1)综合考虑采样方法和姿态对机器人定位误差的影响,采用拉丁超立方采样方法,获取表征整个采样空间特征的采样点位姿数据来训练深度神经网络,能够精准地预测目标点定位误差,完成机器人定位误差补偿,通用性佳,适用性广,能够显著有效地提高了机器人的绝对定位精度。

(2)所述拉丁超立方采样方法通过对采样参数进行分层随机采样,能够保持参数间的独立性,确保采样点均匀地分布于采样空间。

(3)先采用gpso算法优化深度神经网络来获取网络最优权值和阈值,以进一步提高网络预测精度和效率,在此基础上再利用样本对网络模型进行训练,能够获取更高预测精度的网络模型。

应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的发明主题的一部分。

结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。

附图说明

附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:

图1是本发明的基于深度神经网络的机器人定位误差补偿方法的流程图。

图2为本发明的其中一种工业机器人的试验平台示意图。

图3为本发明的机器人笛卡尔采样空间示意图。

图4为本发明的深度神经网络结构示意图。

图5为本发明的基于遗传粒子群算法优化深度神经网络的流程图。

图6为本发明的三种模型的机器人定位误差预测结果对比图。

图7为本发明的定位误差补偿前后的综合定位误差对比图。

具体实施方式

为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。

下面以图2所示的其中一种工业机器人的试验平台为例来说明本发明的具体实施步骤:

所述工业机器人的试验平台包括安装在导轨4上的工业机器人1、激光跟踪仪2,工业机器人1的机械臂末端设置有末端执行器3,本发明的目的即是将末端执行器3精确运行至目标点。如果直接将目标点的理论坐标作为工业机器人控制器的执行目标点,由于工业机器人1自身固有的定位误差,通常工业机器人的实际到达点位置会略微偏移执行目标点位置。为此,本发明提出以下机器人定位误差补偿方法:

步骤1:根据实际加工任务确定工业机器人1的加工范围,如图3所示,在工业机器人1的笛卡尔空间规划一个尺寸为500mm×700mm×700mm,目标点姿态角(a,b,c)均在±10°范围内的长方体区域作为采样空间。根据拉丁超立方采样方法在此空间规划2000个采样点,获取2000组采样点理论位姿为样本集。

步骤2:建立工业机器人1的基坐标系和测量坐标系,控制工业机器人1执行步骤1中规划的采样点,同时用激光跟踪仪2测量并记录相应点的实际定位坐标,经过计算获取相应采样点的实际定位误差;将每个采样点的理论位姿和实际定位误差数据作为一组样本数据,对若干组样本数据进行最小最大值归一化预处理,并按照设定比例随机划分样本数据为训练集和测试集,例如训练集和测试集的样本数分别为1900组和100组。

步骤3:首先建立一个多隐层的深度神经网络模型,将采样点理论位姿向量[x,y,z,a,b,c]作为模型的输入,实际定位误差向量[δx,δy,δz]作为模型的输出,其次用训练集数据对模型进行训练,将测试集作为已训练好的模型的输入,得到对应的预测误差,最后获取预测精度最佳的网络结构和网络参数。

训练网络模型时,采用遗传粒子群优化算法(gpso)来优化深度神经网络模型以获得网络的最优初始权值w和阈值b,图4是根据本发明实施深度神经网络模型训练示意图,第l层网络的输出表达式为:

al=σ(wl·al-1+bl)

其中,wl是第l-1层与第l层节点间的连接权值矩阵,bl是第l层节点的阈值向量;σ(x)函数为relu激活函数,相较于传统常用的sigmoid激活函数,能使网络具有更好的收敛性和稀疏性,其公式为:

利用上述gpso算法优化深度神经网络得到最优初始权值和阈值后,根据经验公式确定网络最佳隐层节点数的范围,其中n,m分别为输入层和输出层节点数,常数a={1,2,…,10}。其次在一定范围内遍历网络隐层数和节点数,同时利用训练集的样本对网络模型进行训练,选择预测精度最高的网络结构并保存其模型数据。

步骤4:将目标点的理论位姿ptarget=[xt,yt,zt,at,bt,ct]作为上述训练好的模型的输入,对深度神经网络模型的输出结果进行反归一化处理得到目标点的预测定位误差对目标点位置反向迭加其定位误差预测值,获得目标点前馈补偿后的定位点坐标最后将此补偿后的坐标pmodified输入机器人控制器并控制机器人执行此定位指令。

图5是本发明实施例中基于遗传粒子群算法优化深度神经网络(gpso-dnn)的定位误差补偿流程图,本发明并不是直接采用样本数据对深度神经网络模型进行训练,而是先采用gpso算法优化深度神经网络来获取网络最优权值和阈值,以进一步提高网络预测精度和效率,在此基础上再利用样本对网络模型进行训练,获取预测精度最好的网络模型。

为了体现本发明中模型预测的准确性与优越性,采用粒子群优化算法优化深度神经网络模型(pso-dnn)、遗传算法优化深度神经网络模型(ga-dnn)与gpso-dnn的预测结果进行对比,采用1900组样本集分别训练上述三种模型,将100组测试检验数据代入训练好的模型中,上述三种模型的预测精度如图6所示。由图6可知,pso-dnn模型的预测误差在0.70mm以内,ga-dnn模型的预测误差在0.90mm以内,而本发明中的gpso-dnn模型的预测误差在0.30mm以内。由表1三种模型预测精度数据比较表可以看出,本发明的gpso-dnn模型的预测误差最大值、最小值以及均方根误差均小于pso-dnn和ga-dnn模型的相应误差,这表明本发明的gpso-dnn模型的预测精度最高,且在0.30mm以内,证明了gpso-dnn模型在机器人定位误差预测方面的优越性和高精度。

表一三种模型的预测精度数据比较表

为验证本发明中基于遗传粒子群算法优化深度神经网络模型(gpso-dnn)的机器人定位误差补偿方法的有效性和实用性,在如图3的机器人采样空间中随机选取了100个验证点,并利用激光跟踪仪测量了这些点的原始定位误差,根据基于gpso-dnn模型的定位误差补偿方法得到误差补偿后的验证点坐标,再控制机器人运行至补偿修正后的点位,同时利用激光跟踪仪测量获得验证点补偿后的定位误差。补偿前后的机器人定位误差对比结果如图7所示,可以看出本发明中的定位误差补偿方法能将机器人的绝对定位误差从1.003mm补偿到0.316mm,定位误差降低了68.49%,补偿后的机器人绝对定位精度满足飞机装配的≤0.5mm精度要求,验证了基于gpso-dnn模型的机器人定位误差补偿方法的可行性和通用性。

在另一些例子中,所述方法还包括:

s5:定期检测经机器人定位误差预测模型误差补偿修正后的目标点坐标的精度值,如果检测到的精度值低于设定精度阈值,重复步骤s1-s4,以优化机器人定位误差预测模型。

工业机器人的使用次数和使用时长、甚至使用场合的改变,均会导致定位误差发生变化,为此,本发明提出,通过定期检测修正后的目标点坐标的精度值来判断是否需要重新校正或优化机器人定位误差预测模型,使工业机器人能够一直达到设定的精度要求。

综上所述,本发明公开的是一种基于深度神经网络的机器人定位误差补偿方法,通过拉丁超立方采样方法获取均匀化的样本数据来训练网络,利用深度神经网络模型预测机器人的定位误差并进行误差补偿。本发明无需参数辨识,可以显著提高机器人的绝对定位精度,方法通用性好且成本低。

在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定义在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。

虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

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