CN111203890B - 一种机器人的位置误差补偿方法 - Google Patents

一种机器人的位置误差补偿方法 Download PDF

Info

Publication number
CN111203890B
CN111203890B CN202010127990.0A CN202010127990A CN111203890B CN 111203890 B CN111203890 B CN 111203890B CN 202010127990 A CN202010127990 A CN 202010127990A CN 111203890 B CN111203890 B CN 111203890B
Authority
CN
China
Prior art keywords
robot
neural network
artificial neural
layer
joint
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
Application number
CN202010127990.0A
Other languages
English (en)
Other versions
CN111203890A (zh
Inventor
尚伟伟
张飞
丛爽
李智军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Science and Technology of China USTC
Original Assignee
University of Science and Technology of China USTC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN202010127990.0A priority Critical patent/CN111203890B/zh
Publication of CN111203890A publication Critical patent/CN111203890A/zh
Application granted granted Critical
Publication of CN111203890B publication Critical patent/CN111203890B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明公开了一种机器人的位置误差补偿方法,包括:1)将造成机器人末端执行器位置误差的几何参数误差和非几何参数误差等效视作虚拟的伪误差;2)利用人工神经网络拟合伪误差造成的末端执行器位置误差曲面,建立末端执行器位置误差与机器人关节参数之间的映射模型;3)基于多种群协同进化网络方法设计人工神经网络的优化算法,对人工神经网络的权值、阈值以及网络结构进行优化,进一步提高了神经网络的拟合精度和泛化能力;4)利用优化的神经网络对末端位置误差进行预测,获得需要补偿的机器人关节参数,并且在机器人关节空间中进行补偿。本发明通过对机器人末端执行器位置误差进行补偿,从而提高机器人的末端位置精度。

Description

一种机器人的位置误差补偿方法
技术领域
本发明涉及机器人运动学参数标定领域,具体涉及一种机器人的位置误差补偿方法。
背景技术
目前,造成机器人末端位置误差的误差来源有很多种,比如加工、装配以及环境因素造成的机器人几何参数误差,结构刚度、减速机柔性以及驱动器柔性等非线性参数造成的机器人非几何参数误差,以及环境温度、摩擦环境以及控制参数等非参数造成的非参数误差;这些不同种类的参数之间互相耦合,具有非常强的非线性,难以通过传统的建模方法进行数学表示,因此也无法通过基于模型的参数标定方法进行参数误差标定和补偿。基于模型的参数误差标定和补偿方法只能对几何参数误差进行补偿,而对于其他参数误差却无法辨识和补偿。此外,在对几何参数辨识时采用线性化的处理,丢失了其他参数误差的物理特征,因此机器人末端执行器的位置精度只能得到有限的提高,不能完全补偿末端执行器的位置误差。
中国发明专利CN102607552公开了一种基于神经网络的工业机器人空间网格精度补偿方法,该方法通过采用粒子群法优化神经网络来补偿机器人的位置误差。但该方法需要实现将机器人的工作空间进行网格划分,并且只对神经网络的权值进行优化,使得神经网络的泛化能力和拟合精度较差,无法对整个工作空间中的末端执行器位置误差进行补偿。
中国发明专利CN110385720公开了一种基于深度神经网络的机器人定位误差补偿方法,该方法采用粒子群法对神经网络进行优化。但是并没有对神经网络的结构进行优化,无法准确确定神经网络的初始结构,使得神经网络结构的设计显得更为关键,这往往是通过经验来选定,使得神经网络的设计更复杂,网络拟合精度变差。
发明内容
基于现有技术所存在的问题,本发明的目的是提供一种机器人的位置误差补偿方法,能解决现有机器人位置误差补偿方法存在的无法对整个工作空间中的末端执行器位置误差进行补偿以及补偿精度差等问题。
本发明的目的是通过以下技术方案实现的:
本发明实施方式提供一种机器人的位置误差补偿方法,包括:
步骤1,随机规划和生成待补偿的机器人的空间位姿,使各空间位姿均匀分布于整个工作空间中,随机生成空间位姿的方程为:
Figure GDA0003456387690000021
式1中,max(qm)和min(qm)为关节参数,max(qm)表示所述机器人第m个驱动关节取值的最大关节参数;min(qm)表示所述机器人第m个驱动关节取值的最小关节参数;m 表示机器人的驱动关节总数量;rand(1)表示随机生成0至1之间的随机数;随机生成的空间位姿放入输入数据集{qN};
步骤2,将所述步骤1得到的输入数据集{qN}中的关节参数输入到机器人的正运动学方程p=f(g,n,q)中,输出得到机器人末端执行器的理论位置{pN};所述机器人的正运动学方程p=f(g,n,q)中,p表示机器人末端执行器在工作空间中的位置,g表示机器人的几何参数,n表示机器人的非几何参数,q表示机器人的关节参数;
步骤3,将所述步骤1得到的输入数据集{qN}中的关节参数输入到所述机器人的控制器中,规划和控制所述机器人的末端执行器运动到理论位置{pN};利用外部测量装置测量末端执行器在理论位置{pN}时的实际位置{p′N},由实际位置{p′N}减去理论位置{pN}得出所述机器人的位置误差ΔP;
步骤4,建立与所述机器人拟合的人工神经网络:建立包括输入层、中间的隐层和输出层的人工神经网络,该人工神经网络的输入层表示所述机器人的关节参数变量Δq,该输入层的网络节点数量等于所述机器人关节参数的数量;该人工神经网络的输出层表示所述机器人末端执行器的位置误差△p,该输出层节点数量等于所述机器人末端执行器的位置误差参数的数量;该人工神经网络的隐层的数量不小于2,所述隐层的网络层数和每层隐层的节点数任意设置;设定该人工神经网络的初始迭代次数为0;设定该人工神经网络的最大迭代次数;
步骤5,对所述步骤3建立的人工神经网络进行迭代训练,随机生成独立子群,将子群中的每个个体采用二进制编码,并分别对以矩阵表示的所述人工神经网络的隐层的结构、权值参数和阈值参数进行编码;
步骤6,遗传操作:采用以下交叉概率计算公式对所述各个独立子群中的个体之间进行算术交叉操作,所述交叉概率计算公式为:
Figure GDA0003456387690000031
上述式(2)中,y′为选择出将要交叉的两个染色体中适应度较大的值;
Figure GDA0003456387690000032
表示平均适应度;ymax表示最大适应度;Pc1和Pc2表示交叉概率因子,分别设置为0.9和0.6;
采用以下变异概率计算公式进行变异概率计算,为:
Figure GDA0003456387690000033
上述式(3)中,Pm1和Pm2表示变异概率因子,分别设置为0.1和0.01;
步骤7,计算适应度:利用适应度函数计算所述人工神经网络种群中每个个体所代表的网络输出的实际值与理论值之间的误差,并计算所有个体均方根误差,所述适应度函数为:
Figure GDA0003456387690000034
上述式(4)中,△p′j表示神经网络输出的需要补偿的末端执行器位置误差;△pj表示末端执行器的实际位置误差;α表示调整进化过程中网络复杂度和均方根误差比例的调整参数,该调整参数设置为0.95;a(k)表示激活的神经元个数,k表示总的神经元个数;
步骤8,保留当前最优的个体,迭代次数加1;若当前适应度收敛到最小值或已迭代次数超过最大迭代次数时,迭代过程停止,完成人工神经网络的训练执行步骤9;否则,返回所述步骤5继续进行迭代训练;
步骤9,当完成所述人工神经网络的训练后,将所述机器人的关节参数q输入到所述人工神经网络进行处理得出该机器人末端执行器的补偿误差△p′,通过公式△q=(JTJ)- 1JT△p′计算得出在关节空间中补偿的关节参数补偿变量△q,将得到的关节参数补偿变量△q加入输入变量,得到重新补偿的机器人的关节参数q′=q+△q,用得到的重新补偿的机器人的关节参数驱动所述机器人,即完成在关节空间对所述机器人末端执行器的位置补偿。
由上述本发明提供的技术方案可以看出,本发明实施例提供的机器人的位置误差补偿方法,其有益效果为:
通过建立人工神经网络来拟合机器人各项参数误差造成的末端执行器的位置误差,并基于多种群协同进化的方法对人工神经网络的结构、权值和阈值进行优化,获得具有泛化能力强、拟合精度高的人工神经网络,进而在关节空间中对位置误差进行补偿,实现了提高机器人在工作空间中的位置精度,很好的解决了当前机器人的位置误差补偿不完整及精度不高的难题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的机器人的位置误差补偿方法的流程图;
图2为本发明实施例提供的位置误差补偿方法中的人工神经网络的结构示意图;
图3为本发明实施例提供的位置误差补偿方法中的种群分割的矩阵表示示意图;
图4为本发明实施例提供的位置误差补偿方法中的个体之间交叉变异操作示意图。
具体实施方式
下面结合本发明的具体内容,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
如图1所示,本发明实施例提供一种机器人的位置误差补偿方法,包括:
步骤1,数据采集:随机规划和生成待补偿的机器人的空间位姿,使各空间位姿均匀分布于整个工作空间中,随机生成空间位姿的方程为:
Figure GDA0003456387690000041
式1中,max(qm)和min(qm)为关节参数,max(qm)表示所述机器人第m个驱动关节取值的最大关节参数;min(qm)表示所述机器人第m个驱动关节取值的最小关节参数;m 表示机器人的驱动关节总数量;rand(1)表示随机生成0至1之间的随机数;随机生成的空间位姿放入输入数据集{qN};
步骤2,将所述步骤1得到的输入数据集{qN}中的关节参数输入到机器人的正运动学方程p=f(g,n,q)中,输出得到机器人末端执行器的理论位置{pN};所述机器人的正运动学方程p=f(g,n,q)中,p表示机器人末端执行器在工作空间中的位置,g表示机器人的几何参数,n表示机器人的非几何参数,q表示机器人的关节参数;
步骤3,将所述步骤1得到的输入数据集{qN}中的关节参数输入到所述机器人的控制器中,规划和控制所述机器人的末端执行器运动到理论位置{pN};利用外部测量装置测量末端执行器在理论位置{pN}时的实际位置{p′N},由实际位置{p′N}减去理论位置{pN}得出所述机器人的位置误差ΔP;
步骤4,建立与所述机器人拟合的人工神经网络:建立包括输入层、中间的隐层和输出层的人工神经网络(参见图2),该人工神经网络的输入层表示所述机器人的关节参数变量Δq,该输入层的网络节点数量等于所述机器人关节参数的数量;该人工神经网络的输出层表示所述机器人末端执行器的位置误差△p,该输出层节点数量等于所述机器人末端执行器的位置误差参数的数量;该人工神经网络的隐层的数量不小于2,所述隐层的网络层数和每层隐层的节点数任意设置;设定该人工神经网络的初始迭代次数为0;设定该人工神经网络的最大迭代次数;
步骤5,对所述步骤3建立的人工神经网络进行迭代训练,随机生成独立子群,将子群中的每个个体采用二进制编码,并分别对以矩阵表示的所述人工神经网络的隐层的结构、权值参数和阈值参数进行编码(参见图3);
步骤6,遗传操作:采用以下交叉概率计算公式对所述各个独立子群中的个体之间进行算术交叉操作(参见图4),所述交叉概率计算公式为:
Figure GDA0003456387690000051
上述式(2)中,y′为选择出将要交叉的两个染色体中适应度较大的值;
Figure GDA0003456387690000052
表示平均适应度;ymax表示最大适应度;Pc1和Pc2表示交叉概率因子,分别设置为0.9和0.6;
采用以下变异概率计算公式进行变异概率计算,为:
Figure GDA0003456387690000061
上述式(3)中,Pm1和Pm2表示变异概率因子,分别设置为0.1和0.01;
步骤7,计算适应度:利用适应度函数计算所述人工神经网络种群中每个个体所代表的网络输出的实际值与理论值之间的误差,并计算所有个体均方根误差,所述适应度函数为:
Figure GDA0003456387690000062
上述式(4)中,△p′j表示神经网络输出的需要补偿的末端执行器位置误差;△pj表示末端执行器的实际位置误差;α表示调整进化过程中网络复杂度和均方根误差比例的调整参数,该调整参数设置为0.95;a(k)表示激活的神经元个数,k表示总的神经元个数;
步骤8,保留当前最优的个体,迭代次数加1;若当前适应度收敛到最小值或已迭代次数超过最大迭代次数时,迭代过程停止,完成人工神经网络的训练执行步骤9;否则,返回所述步骤5继续进行迭代训练;
步骤9,当完成所述人工神经网络的训练后,将所述机器人的关节参数q输入到所述人工神经网络进行处理得出该机器人末端执行器的补偿误差△p′,通过公式△q=(JTJ)- 1JT△p′计算得出在关节空间中补偿的关节参数补偿变量△q,将得到的关节参数补偿变量△q加入输入变量,得到重新补偿的机器人的关节参数q′=q+△q,用得到的重新补偿的机器人的关节参数驱动所述机器人,即完成在关节空间对所述机器人末端执行器的位置补偿。
上述方法的步骤3中,利用的外部测量装置采用视觉相机、运动捕捉系统、激光干涉仪中的至少一种。
上述方法的步骤4中,所述人工神经网络的隐层层数设置为3,每层隐层的节点数设置为100。
上述方法的步骤4中,设定该人工神经网络的最大迭代次数为500。
上述方法的步骤5中,并分别对以矩阵形式表示的所述人工神经网络的隐层的结构、权值参数和阈值参数进行编码为:
设定所述隐层的结构、权值参数和阈值参数对应的矩阵分别为M、w和λ,所有结构对应的矩阵M、权值参数对应的矩阵w和阈值参数对应的矩阵λ的初始参数均为随机产生;
按以下方式进行编码,为:
若所述人工神经网络的输入层中第i个节点与隐层第一层的第lj个节点之间连接,则将矩阵M1的第[i,j]个元素记为1;
若所述人工神经网络的输入层中第i个节点与隐层第一层的第lj个节点之间不连接,则将矩阵M1的第[i,j]个元素记为0;
若所述人工神经网络的隐层第一层的第li个节点与隐层第二层的第kj个节点之间连接,则将矩阵M2的第[i,j]个元素记为1;
若所述人工神经网络的隐层第一层的第li个节点与隐层第二层的第kj个节点之间不连接,则将矩阵M2的第[i,j]个元素记为0;
直至得出所述隐层最后一层与输出层的连接矩阵Mn的全部元素的编码;
所述矩阵M1、M2、Mn为矩阵M的子集。
上述方法步骤2中,机器人的正运动学方程p=f(g,n,q)中,几何参数g与非几何参数n之间具有非常强的耦合性与非线性,由机器人参数误差导致的末端位置误差方程为:△p+p=f(g+△g,n+△n,q);该方程能等效为Δp+p=f(ρ+Δρ,q),其中,
Figure DEST_PATH_BDA0002394992510000071
表示关于几何参数g和非几何参数n的非线性函数;将该方程两边对时间t进行求偏导,即得到正运动学雅克比矩阵
Figure DEST_PATH_BDA0002394992510000072
推导得到的雅克比矩阵J代入步骤9的补偿计算过程,即能得到需要补偿的关节参数补偿变量△q。
与现有技术相比,本发明的有益效果体现在:
(1)本发明将造成机器人末端执行器位置误差的误差全部归类为单一的伪误差,通过建立对应的人工神经网络来拟合伪误差造成的末端执行器位置误差曲面,并且在关节空间中对位置误差进行补偿,大大提高了机器人位置误差补偿精度和可靠性。
(2)本发明不需要将机器人的工作空间进行分区或划分网格等其他操作,直接通过驱动关节生成工作空间中的随机位置,大大提高了神经网络的泛化能力和拟合精度。
(3)本发明设计了基于多种群协同进化的网络优化方法,分别设计了基于个体适应度的交叉概率计算方法以及变异概率计算方法,此外还设计了同时优化网络权值、阈值以及网络结构的计算方法。可以直接通过网络优化方法获得整个神经网络的权值、阈值以及网络结构,不需要通过人工经验来设计神经网络,进一步提高了神经网络的泛化能力和拟合精度。
(4)本发明不需要提前对机器人的参数进行标定和补偿,大大提高了机器人误差补偿的效率。
下面对本发明实施例具体作进一步地详细描述。
本实施例提供一种机器人的位置误差补偿方法,该方法中,待补偿的机器人的正运动学方程表示为:p=f(g,n,q) (A)
上述式(A)中,p表示机器人末端执行器在工作空间中的位置,g表示机器人几何参数,n表示机器人非几何参数,q表示机器人关节参数;几何参数与非几何参数之间具有非常强的耦合性与非线性,由于机器人参数误差导致的末端位置误差方程为:
△p+p=f(g+△g,n+△n,q) (B)
上述式(B)能等效为:Δp+p=f(ρ+Δρ,q) (C)
上述式(C)中,
Figure DEST_PATH_BDA0002394992510000081
表示关于几何参数g和非几何参数n的非线性函数,将式(C) 两边对时间t进行求偏导,即得到正运动学雅克比矩阵,为:
Figure DEST_PATH_BDA0002394992510000082
该方法按如下步骤进行(参见图1):
步骤1,数据采集,随机规划和生成机器人空间位姿,这些位姿需要均匀分布于整个工作空间中,随机位姿生成方程写作
Figure GDA0003456387690000084
这里,max(qm)表示第m个机器人驱动关节可以取值的最大关节参数,min(qm)表示第m个机器人驱动关节可以取值的最小关节参数,m表示机器人驱动关节总数量;rand(1)表示随机生成0至1之间的随机数;随机生成的位姿放入输入数据集{qN};
步骤2,将输入数据集{qN}中的关节参数输入到机器人的正运动学方程(A),输出得到理论的机器人末端执行器位置{pN};
步骤3,将输入数据集{qN}中的关节参数输入到机器人控制器中,规划和控制机器人末端执行器运动到理论的位置{pN};利用外部测量装置(如视觉相机、运动捕捉系统以及激光干涉仪)测量末端执行器在理论位置{pN}时的实际位置{p′N},根据理论位置{pN}与实际位置{p′N}能得出机器人的末端位置误差:△p={p′N}-{pN};
步骤4,建立拟合所述机器人的人工神经网络,如图2所示,包括输入层、中间的隐层和输出层,该人工神经网络的输入层表示机器人关节参数变量Δq,输入层的网络节点数量与机器人关节参数数量有关,如机器人具有6个驱动关节,则输入层节点数为6;该人工神经网络的输出层表示机器人执行器末端位置误差△p,输出层节点数量为执行器末端位置误差参数数量,这里一般表示空间位置误差,即节点数为3;中间的隐层的数量设置成2,3,4等,隐层的网络层数和每层的节点数任意设置,一般根据实际情况将隐层层数设置为3,每层的节点数设置为100;设置迭代次数d=0;设定最大迭代次数为500;
步骤5,随机生成独立子群,将子群中的每个个体采用二进制编码,分别对隐层的权值、阈值以及结构进行编码,并以矩阵形式表示;举例说明:如果输入层中第i个节点与隐层第一层的第lj个节点之间连接,则表示在矩阵M1的第[i,j]个元素为1;如果输入层中第i个节点与隐层第一层的第lj个节点之间不连接,则表示在矩阵M1的第[i,j]个元素为0;同理,对于隐层第一层的第li个节点与隐层第二层的第kj个节点之间连接,则表示在矩阵 M2的第[i,j]个元素为1;对于隐层第一层的第li个节点与隐层第二层的第kj个节点之间不连接,则表示在矩阵M2的第[i,j]个元素为0;同理,类推到隐层最后一层与输出层的连接矩阵;对应结构矩阵M的权值参数矩阵w以及阈值矩阵λ,如图3所示;这里所有的结构矩阵M、权值参数矩阵w以及阈值矩阵λ的初始参数均为随机产生;
步骤6,遗传操作,遗传操作是将各个种群中的个体之间进行算术交叉操作,如图4所示。交叉概率大可以增强个体变异能力,产生新的个体,但较大的交叉概率会破坏种群中的优良个体,降低算法的收敛速度。这里采用新的交叉概率计算公式如下
Figure GDA0003456387690000101
上述式(2)中,y′为选择出将要交叉的两个染色体中适应度较大的值,
Figure GDA0003456387690000102
表示平均适应度,ymax表示最大适应度;Pc1和Pc2表示交叉概率因子,分别设置为0.9和0.6;变异概率计算公式如下:
Figure GDA0003456387690000103
上述式(3)中,Pm1和Pm2表示变异概率因子,分别设置为0.1和0.01;
步骤7,适应度计算,计算种群中每个个体所代表的网络输出的实际值与理论值之间的误差,并计算所有个体均方根误差,适应度函数写作:
Figure GDA0003456387690000104
上述式(4)中,△p′j表示神经网络输出的需要补偿的末端执行器位置误差,△pj表示末端执行器的实际位置误差,α表示可调参数,用于调整进化过程中网络复杂度和均方根误差的比例,这里设置为0.95;a(k)表示激活的神经元个数,k表示总的神经元个数;
步骤8,保留当前最优的个体,迭代次数d=d+1;若当前适应度收敛到最小值(即yi<<10-4mm) ,或迭代步骤超过最大迭代次数(即迭代次数d>dmax=500)时,跌代过程停止,即完成人工神经网络的训练;否则,返回步骤5;
步骤9,完成人工神经网络的训练后,需要对末端执行器的位置误差进行补偿;将机器人的关节输入参数q输入到神经网络,得到末端执行器的补偿误差△p′;得到需要在关节空间中补偿的驱动关节参数补偿变量计算公式:△q=(JTJ)-1JT△p′
得到关节参数补偿变量△q后,将补偿变量△q加入输入变量q,即为:q′=q+△q;
这样就得到了重新补偿的驱动机器人关节的关节参数q′,利用该关节参数q′对机器人末端执行器的位置补偿,即完成了在机器人关节空间对机器人末端执行器的位置补偿。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (5)

1.一种机器人的位置误差补偿方法,其特征在于,包括:
步骤1,随机规划和生成待补偿的机器人的空间位姿,使各空间位姿均匀分布于整个工作空间中,随机生成空间位姿的方程为:
Figure FDA0003456387680000011
式1中,max(qm)和min(qm)为关节参数,max(qm)表示所述机器人第m个驱动关节取值的最大关节参数;min(qm)表示所述机器人第m个驱动关节取值的最小关节参数;m表示机器人的驱动关节总数量;rand(1)表示随机生成0至1之间的随机数;随机生成的空间位姿放入输入数据集{qN};
步骤2,将所述步骤1得到的输入数据集{qN}中的关节参数输入到机器人的正运动学方程p=f(g,n,q)中,输出得到机器人末端执行器的理论位置{pN};所述机器人的正运动学方程p=f(g,n,q)中,p表示机器人末端执行器在工作空间中的位置,g表示机器人的几何参数,n表示机器人的非几何参数,q表示机器人的关节参数;
步骤3,将所述步骤1得到的输入数据集{qN}中的关节参数输入到所述机器人的控制器中,规划和控制所述机器人的末端执行器运动到理论位置{pN};利用外部测量装置测量末端执行器在理论位置{pN}时的实际位置{p′N},由实际位置{p′N}减去理论位置{pN}得出所述机器人的位置误差ΔP;
步骤4,建立与所述机器人拟合的人工神经网络:建立包括输入层、中间的隐层和输出层的人工神经网络,该人工神经网络的输入层表示所述机器人的关节参数变量Δq,该输入层的网络节点数量等于所述机器人关节参数的数量;该人工神经网络的输出层表示所述机器人末端执行器的位置误差△p,该输出层节点数量等于所述机器人末端执行器的位置误差参数的数量;该人工神经网络的隐层的数量不小于2,所述隐层的网络层数和每层隐层的节点数任意设置;设定该人工神经网络的初始迭代次数为0;设定该人工神经网络的最大迭代次数;
步骤5,对所述步骤3建立的人工神经网络进行迭代训练,随机生成独立子群,将子群中的每个个体采用二进制编码,并分别对以矩阵表示的所述人工神经网络的隐层的结构、权值参数和阈值参数进行编码;
步骤6,遗传操作:采用以下交叉概率计算公式对所述各个独立子群中的个体之间进行算术交叉操作,所述交叉概率计算公式为:
Figure FDA0003456387680000021
上述式(2)中,y′为选择出将要交叉的两个染色体中适应度较大的值;
Figure DEST_PATH_FDA0002394992500000022
表示平均适应度;ymax表示最大适应度;Pc1和Pc2表示交叉概率因子,分别设置为0.9和0.6;
采用以下变异概率计算公式进行变异概率计算,为:
Figure FDA0003456387680000022
上述式(3)中,Pm1和Pm2表示变异概率因子,分别设置为0.1和0.01;
步骤7,计算适应度:利用适应度函数计算所述人工神经网络种群中每个个体所代表的网络输出的实际值与理论值之间的误差,并计算所有个体均方根误差,所述适应度函数为:
Figure FDA0003456387680000023
上述式(4)中,△p′j表示神经网络输出的需要补偿的末端执行器位置误差;△pj表示末端执行器的实际位置误差;α表示调整进化过程中网络复杂度和均方根误差比例的调整参数,该调整参数设置为0.95;a(k)表示激活的神经元个数,k表示总的神经元个数;
步骤8,保留当前最优的个体,迭代次数加1;若当前适应度收敛到最小值或已迭代次数超过最大迭代次数时,迭代过程停止,完成人工神经网络的训练执行步骤9;否则,返回所述步骤5继续进行迭代训练;
步骤9,当完成所述人工神经网络的训练后,将所述机器人的关节参数q输入到所述人工神经网络进行处理得出该机器人末端执行器的补偿误差△p′,通过公式△q=(JTJ)-1JT△p′计算得出在关节空间中补偿的关节参数补偿变量△q,将得到的关节参数补偿变量△q加入输入变量q,得到重新补偿的机器人的关节参数q’,用得到的重新补偿的机器人的关节参数驱动所述机器人,即完成在关节空间对所述机器人末端执行器的位置补偿。
2.根据权利要求1所述的机器人的位置误差补偿方法,其特征在于,所述方法的步骤3中,利用的外部测量装置采用视觉相机、运动捕捉系统、激光干涉仪中的至少一种。
3.根据权利要求1或2所述的机器人的位置误差补偿方法,其特征在于,所述方法的步骤4中,所述人工神经网络的隐层层数设置为3,每层隐层的节点数设置为100。
4.根据权利要求1或2所述的机器人的位置误差补偿方法,其特征在于,所述方法的步骤4中,设定该人工神经网络的最大迭代次数为500。
5.根据权利要求1或2所述的机器人的位置误差补偿方法,其特征在于,所述方法的步骤5中,并分别对以矩阵形式表示的所述人工神经网络的隐层的结构、权值参数和阈值参数进行编码为:
设定所述隐层的结构、权值参数和阈值参数对应的矩阵分别为M、w和λ,所有结构对应的矩阵M、权值参数对应的矩阵w和阈值参数对应的矩阵λ的初始参数均为随机产生;
按以下方式进行编码,为:
若所述人工神经网络的输入层中第i个节点与隐层第一层的第lj个节点之间连接,则将矩阵M1的第[i,j]个元素记为1;
若所述人工神经网络的输入层中第i个节点与隐层第一层的第lj个节点之间不连接,则将矩阵M1的第[i,j]个元素记为0;
若所述人工神经网络的隐层第一层的第li个节点与隐层第二层的第kj个节点之间连接,则将矩阵M2的第[i,j]个元素记为1;
若所述人工神经网络的隐层第一层的第li个节点与隐层第二层的第kj个节点之间不连接,则将矩阵M2的第[i,j]个元素记为0;
直至得出所述隐层最后一层与输出层的连接矩阵Mn的全部元素的编码;
所述矩阵M1、M2、Mn为矩阵M的子集。
CN202010127990.0A 2020-02-28 2020-02-28 一种机器人的位置误差补偿方法 Active CN111203890B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010127990.0A CN111203890B (zh) 2020-02-28 2020-02-28 一种机器人的位置误差补偿方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010127990.0A CN111203890B (zh) 2020-02-28 2020-02-28 一种机器人的位置误差补偿方法

Publications (2)

Publication Number Publication Date
CN111203890A CN111203890A (zh) 2020-05-29
CN111203890B true CN111203890B (zh) 2022-04-19

Family

ID=70781241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010127990.0A Active CN111203890B (zh) 2020-02-28 2020-02-28 一种机器人的位置误差补偿方法

Country Status (1)

Country Link
CN (1) CN111203890B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112327938B (zh) * 2020-10-13 2021-11-02 华中科技大学 一种基于数据驱动的机器人近零跟随误差控制方法
CN112257771A (zh) * 2020-10-19 2021-01-22 中国科学技术大学 防疫机器人视听觉协同感知模型、方法及介质
CN112643669B (zh) * 2020-12-04 2022-01-18 广州机械科学研究院有限公司 一种机器人位置偏差补偿方法、系统、装置及存储介质
CN112959326B (zh) * 2021-03-29 2022-06-07 深圳市优必选科技股份有限公司 机器人正运动学求解方法、装置、可读存储介质及机器人
US20220402131A1 (en) * 2021-06-09 2022-12-22 eBots Inc. System and method for error correction and compensation for 3d eye-to-hand coordinaton
CN114131611B (zh) * 2021-12-16 2023-10-24 华中科技大学 机器人重力位姿分解的关节误差离线补偿方法、系统及终端
CN114193439A (zh) * 2021-12-20 2022-03-18 山东大学 一种连续体机器人末端位置误差补偿方法及系统
CN114523478B (zh) * 2022-04-24 2022-06-28 季华实验室 机械臂结构参数的补偿模型获取方法和补偿方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101321984B1 (ko) * 2012-05-08 2013-10-28 재단법인대구경북과학기술원 협업기반 밸브 조작을 위한 로봇의 경로보상 방법 및 그 시스템
CN104516268A (zh) * 2013-09-28 2015-04-15 沈阳新松机器人自动化股份有限公司 一种基于模糊神经网络的机器人标定误差补偿方法
CN107263483A (zh) * 2017-08-03 2017-10-20 青岛大学 二自由度关节机器人轨迹的协调控制方法
CN108214476A (zh) * 2017-12-28 2018-06-29 北京航空航天大学 基于改进型径向基神经网络的机械臂绝对定位精度标定方法
CN109794938A (zh) * 2019-02-01 2019-05-24 南京航空航天大学 一种适用于曲面结构的机器人制孔误差补偿装置及其方法
CN109877832A (zh) * 2019-02-28 2019-06-14 广东工业大学 一种位置确定方法、系统及相关装置
CN110385720A (zh) * 2019-07-26 2019-10-29 南京航空航天大学 一种基于深度神经网络的机器人定位误差补偿方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101321984B1 (ko) * 2012-05-08 2013-10-28 재단법인대구경북과학기술원 협업기반 밸브 조작을 위한 로봇의 경로보상 방법 및 그 시스템
CN104516268A (zh) * 2013-09-28 2015-04-15 沈阳新松机器人自动化股份有限公司 一种基于模糊神经网络的机器人标定误差补偿方法
CN107263483A (zh) * 2017-08-03 2017-10-20 青岛大学 二自由度关节机器人轨迹的协调控制方法
CN108214476A (zh) * 2017-12-28 2018-06-29 北京航空航天大学 基于改进型径向基神经网络的机械臂绝对定位精度标定方法
CN109794938A (zh) * 2019-02-01 2019-05-24 南京航空航天大学 一种适用于曲面结构的机器人制孔误差补偿装置及其方法
CN109877832A (zh) * 2019-02-28 2019-06-14 广东工业大学 一种位置确定方法、系统及相关装置
CN110385720A (zh) * 2019-07-26 2019-10-29 南京航空航天大学 一种基于深度神经网络的机器人定位误差补偿方法

Also Published As

Publication number Publication date
CN111203890A (zh) 2020-05-29

Similar Documents

Publication Publication Date Title
CN111203890B (zh) 一种机器人的位置误差补偿方法
CN110385720B (zh) 一种基于深度神经网络的机器人定位误差补偿方法
Koos et al. The transferability approach: Crossing the reality gap in evolutionary robotics
US8346712B2 (en) Method for identifying hammerstein models
US8346693B2 (en) Method for hammerstein modeling of steam generator plant
WO2020092143A1 (en) Self-attentive attributed network embedding
CN110181508B (zh) 水下机器人三维航路规划方法及系统
CN110489707B (zh) 一种基于gan网络的机器人逆运动学求解方法
Köker et al. A neuro-genetic-simulated annealing approach to the inverse kinematics solution of robots: a simulation based study
Chen et al. Iterative learning control for path-following tasks with performance optimization
Shafiei et al. Application of neural network and genetic algorithm in identification of a model of a variable mass underwater vehicle
CN114290339B (zh) 基于强化学习和残差建模的机器人现实迁移方法
CN116894180B (zh) 一种基于异构图注意力网络的产品制造质量预测方法
CN117090617A (zh) 一种基于数字孪生模型的液压支架位姿自适应调节方法
CN107894709A (zh) 基于自适应评价网络冗余机器人视觉伺服控制
CN115310227B (zh) 齿轮动力传播数字孪生模型构建方法
Hlavac Neural Network for the identification of a functional dependence using data preselection
WO2018084164A1 (ja) 動作転移装置、動作転移方法及び動作転移プログラムが格納された非一時的なコンピュータ可読媒体
Hlavac Kinematics control of a redundant planar manipulator with a MLP neural network
Rybak et al. Development of an algorithm for managing a multi-robot system for cargo transportation based on reinforcement learning in a virtual environment
CN114186477A (zh) 一种基于Elman神经网络的轨道预测算法
CN111279276B (zh) 用于控制复杂系统的随机化加强学习
Ciupan et al. ANN Method for Control of Robots to Avoid Obstacles
Flentge Locally weighted interpolating growing neural gas
Hu et al. Dynamic linear predictive optimization of flexible robot profiling MFA model

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