CN113627584A - 一种基于神经网络的机械臂逆运动学求解方法、电子设备及存储介质 - Google Patents
一种基于神经网络的机械臂逆运动学求解方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113627584A CN113627584A CN202010380188.2A CN202010380188A CN113627584A CN 113627584 A CN113627584 A CN 113627584A CN 202010380188 A CN202010380188 A CN 202010380188A CN 113627584 A CN113627584 A CN 113627584A
- Authority
- CN
- China
- Prior art keywords
- neural network
- vector
- joint
- mechanical arm
- weight
- 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.)
- Granted
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 137
- 238000000034 method Methods 0.000 title claims abstract description 51
- 239000013598 vector Substances 0.000 claims abstract description 105
- 238000004364 calculation method Methods 0.000 claims abstract description 32
- 230000006870 function Effects 0.000 claims description 20
- 210000002569 neuron Anatomy 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012549 training Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 208000037004 Myoclonic-astatic epilepsy Diseases 0.000 description 5
- 238000000874 microwave-assisted extraction Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000197727 Euscorpius alpha Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000007786 learning performance Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Software Systems (AREA)
- Game Theory and Decision Science (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Molecular Biology (AREA)
- Fuzzy Systems (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种基于神经网络的机械臂逆运动学求解方法,所述方法包括:对每个输入进行向量化,将其转化为对应的属性向量;将各属性向量输入第一权重计算模块,得到各属性向量对应的第一权重;利用各第一权重对相应的属性向量进行加权后求和,得到第一全连接神经网络模块的输入向量,第一全连接神经网络模块的输出为至少部分关节变量的预测值。采用本发明的方法,不仅能增强神经网络的可解释性,还可以充分挖掘出数据中蕴含的信息,提升神经网络的精确性。
Description
技术领域
本发明涉及机械臂的逆运动学求解技术领域,具体涉及一种基于神经网络的机械臂逆动学求解方法、电子设备及存储介质。
背景技术
随着机器人技术的发展,机械臂已经被应用到工业、农业、医疗等各个领域,代替人力完成各种复杂的任务。机械臂的运动学求解作为后续轨迹规划、运动控制等环节的前提和基石,已经成为科研人员们的热点研究方向。
机械臂的运动学求解分为正运动学求解和逆运动学求解,正运动学就是已知各个关节的角度,推算出机械臂末端的位姿,可直接通过 D-H参数表和矩阵变换解决;逆运动学则是正运动学的逆过程,即已知机械臂末端的位姿,要求算出各个关节的角度,进而通过对关节角度的调节实现机械臂末端的预设位姿。逆运动学由于其求解过程复杂、精度不高等问题,是科研人员们一直以来的研究重点。
目前,机械臂的逆运动学求解方法主要分为三种,分别是:解析法、几何法、迭代法。但由于机械臂种类繁多、结构复杂,解析法和几何法存在计算复杂、通用性差、闭式解不存在从而无法应用等缺陷,而传统的迭代法也存在计算复杂度大、初始点设置不当导致收敛不到精确解等缺陷。随着人工智能技术的不断发展,神经网络凭借其自身的优点,成为科研人员们解决机械臂的逆运动学问题的重要工具。
现有技术大多以机械臂的末端位姿作为神经网络的输入,以关节角作为神经网络的输出。神经网络的结构大多套用已有的网络结构,如常用的多层感知机(MultilayerPerceptron,MLP)结构、径向基函数(Radial Basis Function,RBF)网络结构、Elman结构等,或者在神经网络的优化算法上面做一些改造,例如以遗传算法、模拟退火等算法优化神经网络的参数。
神经网络有许多优点,但是也有一个众所周知的性质,那就是黑箱性质,因此神经网络的可解释性不强;且现有技术大多都直接套用已有的网络结构,如MLP、RBF等,没有针对数据本身的特点设计网络结构,因此除了可解释性不强的缺陷以外,也没有充分利用数据中包含的信息。
发明内容
为了克服现有技术中用于机械臂逆运动学求解的神经网络存在的问题,本发明从数据本身的特点出发,提供一种基于神经网络的机械臂逆运动学求解方法,该方法不仅能增强神经网络的可解释性,还可以充分挖掘出数据中蕴含的信息,提升神经网络的精确性。
基于上述目的,本发明的技术方案如下:
一种基于神经网络的机械臂逆运动学求解方法,其中,将机械臂的末端位姿变量作为神经网络的输入、机械臂的关节变量作为神经网络的输出,神经网络的输出个数、机械臂的自由度个数及机械臂的关节个数相等,所述方法包括:对每个输入进行向量化,将其转化为对应的属性向量;将各属性向量输入第一权重计算模块,得到各属性向量对应的第一权重;利用各第一权重对相应的属性向量进行加权后求和,得到第一全连接神经网络模块的输入向量,第一全连接神经网络模块的输出为至少部分关节变量的预测值。
进一步地,所述对每个输入进行向量化具体为,为每个输入设置对应的第一权值向量,输入与对应的第一权值向量相乘得到对应的属性向量。
进一步地,所述第一权重计算模块的输入还包括辅助向量,所述辅助向量与各属性向量进行运算,得到各属性向量对应的第一权重。
一种实施方式为,所述第一全连接神经网络模块输出所有关节变量的预测值。
另一种实施方式为,所述神经网络包括至少两个全连接神经网络模块;所述第一全连接神经网络模块输出部分关节变量的预测值,其中包括第一关节变量的预测值,所述第一关节变量所对应的关节距离机械臂末端最远;为所述第一关节变量的预测值设置对应的第二权值向量,所述第一关节变量的预测值与对应的第二权值向量相乘得到对应的标签向量;将所述第一关节变量预测值对应的标签向量与各属性向量输入第二权重计算模块,所述第一关节变量预测值对应的标签向量与各属性向量进行运算,得到各属性向量对应的第二权重;利用各第二权重对相应的属性向量进行加权后求和,得到第二全连接神经网络模块的输入向量,第二全连接神经网络模块的输出为至少部分剩余关节变量的预测值,其中包括第二关节变量的预测值,所述第二关节变量所对应的关节距离机械臂末端次远。
进一步地,所述第一全连接神经网络模块仅输出第一关节变量的预测值,所述第二全连接神经网络模块仅输出第二关节变量的预测值;以求解第二关节变量预测值的方式进行类推,依次计算出剩余关节变量的预测值。
进一步地,所述运算采用权重计算函数进行,所述权重计算函数为点积运算、曼哈顿距离运算、欧式距离运算或余弦距离运算。
进一步地,在利用神经网络进行机械臂逆运动学求解前,先对神经网络的超参数进行确定,其中,超参数包括全连接神经网络模块的隐层层数、隐层神经元数目和学习率,以及属性向量的维数、权重计算函数。
相应地,本发明还提供一种电子设备,包括处理器和存储器,所述存储器用于存储计算机指令,其中,所述计算机指令被所述处理器运行时执行前述的求解方法。
相应地,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现前述的求解方法。
本发明具有以下有益效果:
本发明采用的方法可得到机械臂逆运动学中输入输出之间的对应关系,具有很强的鲁棒性和容错性;不仅能增强可解释性,还可以充分挖掘出数据中蕴含的信息,提升神经网络的精确性。
下文将结合附图对本发明具体实施例进行详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
图1是本发明一实施例的基于神经网络的机械臂逆运动学求解方法的流程图;
图2是本发明逆运动学求解方式中所采用的一种神经网络结构示意图;
图3是训练集上的loss在四种h候选值上的变化趋势图;
图4是本发明逆运动学求解方式中所采用的另一种神经网络结构示意图;
图5是本发明逆运动学求解方式的一实施例的示意图;
图6是本发明逆运动学求解方式的又一实施例的示意图;
图7是本发明的电子设备结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。
需要说明的是,本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述特定的顺序。
如图1所示,本发明实施例提供了一种基于神经网络的机械臂逆运动学求解方法,其中,将机械臂的末端位姿变量作为神经网络的输入、机械臂的关节变量作为神经网络的输出,神经网络的输出个数、机械臂的自由度个数及机械臂的关节个数相等,所述方法包括:对每个输入进行向量化,将其转化为对应的属性向量;将各属性向量输入第一权重计算模块,得到各属性向量对应的第一权重;利用各第一权重对相应的属性向量进行加权后求和,得到第一全连接神经网络模块的输入向量,第一全连接神经网络模块的输出为至少部分关节变量的预测值。
现实中存在多种不同自由度的机械臂,如四自由度机械臂、六自由度机械臂等,下面以六自由度机械臂为例对方法进行描述。六自由度机械臂位姿研究中,可将其简化为7个连杆通过6个关节相连的机构,通过旋转6个关节可以使机械臂的末端到达三维空间中一定范围内的任意点。六自由度机械臂逆解问题即给定代表机械臂末端位姿的变量,要求计算出六个关节变量θ0、θ1、θ2、θ3、θ4、θ5的值。在本实施例的方法中,具体基于神经网络进行机械臂逆运动学求解,将机械臂的末端位姿变量作为神经网络的输入、机械臂的关节变量作为神经网络的输出,神经网络的输出个数、机械臂的自由度个数及机械臂的关节个数相等,对于六自由度机械臂,神经网络的输出个数、机械臂的自由度个数及机械臂的关节个数均为6。关于作为神经网络输入的机械臂末端位姿变量,可以将表示位置的Px、Py、Pz和表示姿态的 nx、ny、nz、ox、oy、oz、ax、ay、az共12维代表机械臂末端位姿的变量均作为神经网络的输入,也可以仅将3维位置变量作为输入 (即输入为Px、Py、Pz),或者将姿态变量转化成3维欧拉角α、β、γ,然后再和位置变量一起输入神经网络(即输入为Px、Py、Pz、α、β、γ);这些实施方式均是可行的,本实施方式采用12维输入的方式,即神经网络输入为i,(i=nx,ny,…,Pz)。
本实施例中构建的一神经网络如图2所示。由于利用神经网络进行机械臂的逆运动学求解时,每一个输入都是一个实值,后面要在神经网络中计算其属性权重,为了便于后续计算处理,首先对每个输入进行向量化,将其转化为对应的属性向量,具体地,可以为每个输入设置对应的第一权值向量,输入与对应的第一权值向量相乘得到对应的属性向量,假设为每个输入设置对应的第一权值向量Wi,(i= nx,ny,…,Pz),每个输入乘以对应的权值向量,将每个输入都转化成对应的属性向量Vi,(i=nx,ny,…,Pz),即Vi=i*Wi,(i=nx,ny,…,Pz)。
而后,将各属性向量Vi输入第一权重计算模块,得到各属性向量对应的第一权重。图2中,第一权重计算模块为fw,第一权重计算模块fw的输入还引入一个辅助向量Vc,辅助向量Vc的作用是辅助各个属性权重的计算,它会在神经网络的学习过程中不断优化,用以捕捉关节空间的变化,然后运用到属性权重的计算中。第一权重计算模块fw将辅助向量Vc与各属性向量Vi进行运算,得到各属性向量对应的第一权重。其中,运算可以采用权重计算函数进行,假设权重计算函数也记为fw,各属性向量Vi对应的第一权重为αi,(i=nx,ny,…,Pz),则αi=fw(Vc,Vi),(i=nx,ny,…,Pz)。权重计算函数可以将向量之间的各个基本运算方法作为候选项,例如可为点积运算、曼哈顿距离运算、欧式距离运算或余弦距离运算等。可以理解的,前面所述的权值向量、属性向量及辅助向量的维数必然是一致的。
接着,利用各第一权重αi对相应的属性向量Vi进行加权求和,得到第一全连接神经网络模块的第一输入向量即 将第一输入向量输入第一全连接神经网络模块,经过第一全连接神经网络模块得到至少部分关节变量的预测值。图2中,第一全连接神经网络模块的输出为所有关节变量的预测值
图2的神经网络中,第一权值向量Wi,(i=nx,ny,…,Pz)和辅助向量Vc均为网络参数,会在网络训练过程中参与优化,以不断提高神经网络预测结果的准确性。
在利用神经网络进行机械臂逆运动学求解前,需要先对神经网络的超参数进行确定。对于图2中的神经网络,超参数包括全连接神经网络模块的隐层层数n、隐层神经元数目h和学习率α(所有神经网络共有的超参数),以及属性向量的维数k、权重计算函数fw(本发明神经网络特有的超参数)。对于各项超参数的确定,可以采用所属技术领域常用的操作方式进行调试确定。
例如,对于图2中的神经网络,由于输入属性只有12维,再权衡网络复杂度和时间效率,隐层的层数n直接按经验定为2,接下来只需利用采集的实验数据确定剩下的4个超参数即可,其中,隐层神经元数目h和学习率α由全连接神经网络模块来调试确定,全连接神经网络模块具体采用MLP结构,而属性向量的维数k和权重计算函数fw由图2中的神经网络来调试确定。
首先对隐层神经元数目h进行确定,综合考虑网络的复杂度和深度等结构特点,可先将学习率α固定为一个经验值0.005,训练轮数设置为500轮,对于h的候选项,考虑以2的幂次方递进,因此选择128、256、512、1024四个候选项。如图3所示是训练集上的损失函数loss在四种h候选值上的变化趋势(神经网络的损失函数选择均方误差),其中,横轴表示训练的轮数,从图中可以看出在训练 500轮的情况下loss基本上已经收敛,h从128到256时,loss呈现了大幅度的下降,而再增加到512时下降幅度明显减缓,再往上增加到1024之后loss出现了回升,由此看出h为512时,网络在训练集上的学习表现最佳。
h已经确定为512,接下来需要确定学习率α的取值。对于学习率α的候选项,以经验值0.005往前选取0.002和0.003两个值,往后选取0.008,因此确定四个候选值,分别为0.002、0.003、0.005、 0.008。以类似于确定h的方法,观察训练集上的损失函数loss在四种α候选值上的变化趋势,确定出学习率α为0.003时最佳。
对于属性向量的维数k的候选项的选择,考虑到输入维度只有 12维,为了不失公平性,k的取值不能跟12相差太大,因此选取8、 12、16、20四个值作为k的候选值。网络的学习率α和全连接神经网络模块的隐层神经元数目h则使用已经确定好的0.003和512,而权重计算函数fw则暂时固定为向量点积计算,即观察训练集上的损失函数loss在四种k候选值上的变化趋势,确定出属性向量的维数k为16时最佳。
最后是权重计算函数fw的确定,fw同样设置了4种候选项,分别为点积、曼哈顿距离、欧式距离和余弦距离。观察训练集上的损失函数loss在四种fw候选值上的变化趋势,确定出fw为余弦距离时最佳。
上述实施例中的方法考虑到关节变量的情况,当关节变量在其关节空间中变化时,各输入的属性重要程度可能也会随之变化,因此,引入属性权重,从而使神经网络可依据关节空间的变化,时刻聚焦于更重要的输入属性;但该权重只计算一次便用于预测整个关节空间,即同时预测6个关节变量,粒度比较粗。更细粒度地考虑到在预测不同的关节变量时,其属性的权重也会不同,因此可以将6个关节变量分开进行预测。
图4所示的一实施例中的神经网络,其为每个关节变量分别计算一套属性权重。该神经网络的前面部分与前述实施例是一致的,不再赘述。图4中,α0即为图2中αi,(i=nx,ny,…,Pz)的集合,其由辅助向量Vc与各属性向量Vi运算而得,图4中α0所连接的符号“·”即代表将α0中的元素αi与对应的属性向量Vi进行加权求和,得到第一全连接神经网络模块的第一输入向量即 将第一输入向量输入第一全连接神经网络模块,经过第一全连接神经网络模块输出第一关节变量θ0的预测值第一关节变量θ0所对应的关节距离机械臂末端最远。
为第一关节变量θ0的预测值设置对应的第二权值向量第一关节变量θ0的预测值与对应的第二权值向量相乘得到对应的标签向量将第一关节变量预测值对应的标签向量与各属性向量Vi输入第二权重计算模块,第一关节变量预测值对应的标签向量与各属性向量Vi进行运算,得到各属性向量对应的第二权重α1;利用第二权重α1中的各元素对相应的属性向量Vi进行加权后求和,得到第二全连接神经网络模块的输入向量第二全连接神经网络模块的输出为第二关节变量θ1的预测值第二关节变量θ1所对应的关节距离机械臂末端次远。
以求解第二关节变量预测值的方式进行类推,依次计算出剩余关节变量的预测值此处“依次”是指先计算距离机械臂末端较远的关节变量,后计算距离机械臂末端较近的关节变量,即θ0、θ1、θ2、θ3、θ5对应的关节距离机械臂末端由远及近。
该实施方式采用链式结构按顺序预测各个关节变量,且预测不同关节变量时,都重新计算其属性权重,即先预测θ0的值再重新计算属性权重,并且将用于预测θ1,再重新计算属性权重,并且将用于预测θ2,以此类推,直到预测出这样可以使属性权重随着关节空间适时变化,并且前序关节的预测信息会融合到标签向量中,用于预测后继关节变量,以充分利用各相邻关节之间的相关性,使预测更加精准,网络收敛更快。
图4中神经网络的超参数可与图2中神经网络的超参数保持一致。利用训练集对图2、图4中的神经网络进行训练,而后在验证集上测试其效果。具体地,可以先构造出六自由度机械臂的D-H参数表,然后在关节空间随机生成p条样本,每条样本以六元组 <θ0,θ1,θ2,θ3,θ4,θ5>表示,利用正运动学求解,求出每条样本对应的末端位姿<nx,ny,nz,ox,oy,oz,ax,ay,az,Px,Py,Pz>,将p条样本划分为训练集和验证集,训练集占q条,验证集占p-q条;以 <nx,ny,nz,ox,oy,oz,ax,ay,az,Px,Py,Pz>作为神经网络的输入,以 <θ0,θ1,θ2,θ3,θ4,θ5>作为输出,在训练集上训练神经网络;神经网络训练结束之后,在验证集上验证其性能。
取上述p为10万,q为8万,分别使用MLP神经网络和图2、图4所对应的神经网络验证其性能,预测出6个关节角的值,然后计算出6个关节角的平均绝对误差(Mean AbsoluteError,MAE),再通过正运动学求解,算出机械臂末端的位置,从而计算出末端真实位置和预测位置之间的平均欧式距离(Mean Euclidean Distance,MED)。
用MLP结构的神经网络可以使验证集上关节角的MAE达到 0.16098,即9.22°,而机械臂末端真实位置和预测位置之间的MED 为3.74488cm;使用图2中的自适应属性权重的神经网络(Adaptive Feature Weights Neural Network,AFWNN)将关节角的MAE降到了6.85°,将末端真实位置和预测位置之间的MED降到了2.7604cm;使用图4中的自适应属性权重的链式神经网络(Adaptive Feature Weights Chain Neural Network,AFWCNN)则将关节角的MAE降到了0.09825,即5.63°,即下降了38.94%,将末端真实位置和预测位置之间的MED 降到了1.1867cm,即下降了68.31%。
进一步地,如果分别考察MLP、AFWNN(图2的神经网络)、 AFWCNN(图4的神经网络)分别在6个关节变量上的MAE,例如可能发现如下情况:AFWCNN在θ0、θ1、θ2的预测上较另外两种神经网络的改进非常大,表明此时利用前序关节变量的信息对预测后继关节变量的帮助很大;而第四个关节变量θ3的预测的改进程度不及前面三个变量,由此可以看出机械臂的第四个关节和前三个关节分属于两个模块,相互之间的相关性并不大;第五个关节变量的改进程度也较好,说明第四个关节和第五个关节依然属于同一模块,相互之间相关性比较强;然而AFWCNN在最后一个关节变量θ5上的误差反而大于了AFWNN(但AFWCNN的误差仍然小于传统的MLP),由此表明机械臂最后一个关节相对独立,与前序关节没有相关性,因此前序关节的信息对其预测无法起到帮助作用,甚至出现了误导效应。
为此,可以根据机械臂各关节之间的相互关系,调整最终神经网络的结构。例如针对上面举出的情况,可以在第一全连接神经网络模块输出θ0、θ3以及θ5的预测值,而后利用θ0的预测值更新权重,在第二全连接神经网络模块输出θ1的预测值再利用θ1的预测值更新权重,在第三全连接神经网络模块输出θ2的预测值类似地,利用θ3的预测值更新权重,在第四全连接神经网络模块输出θ4的预测值从而得到所有的预测值预测的链条过程如图5所示。还可以在第一全连接神经网络模块输出θ0的预测值,而后利用θ0的预测值更新权重,在第二全连接神经网络模块输出θ1的预测值再利用θ1的预测值更新权重,在第三全连接神经网络模块输出θ2的预测值θ3的预测值(由于第四个关节和前三个关节关联性不大,因此无需单独更新权重);类似地,利用θ3的预测值更新权重,在第四全连接神经网络模块输出θ4的预测值θ5的预测值(由于最后一个关节相对独立,因此无需单独更新权重),从而得到所有的预测值预测的链条过程如图 6所示。
可见上述经调整后的AFWCNN神经网络充分考虑了关节之间的关联关系,使得神经网络中至少存在两个全连接神经网络,位于链条前端的全连接神经网络模块输出的预测值用于更新权重,从而更新后端全连接神经网络模块的输入,提高预测值的精度;其中,用于更新权重的预测值所对应的关节与后端全连接神经网络模块输出所对应关节之间直接串联,且前者较后者距离机械臂的末端更远。
图7为本申请实施例提供的一种电子设备结构示意图,该设备包括处理器71和存储器72,存储器72和处理器71之间通过总线相互连接。存储器包括但不限于是随机存储记忆体(random access memory, RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable read only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器用于相关指令及数据。
处理器可以包括是一个或多个处理器,例如包括一个或多个中央处理器(centralprocessing unit,CPU),在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。存储器用于存储网络设备的程序代码和数据。处理器用于调用该存储器中的程序代码和数据,执行上述方法实施例中的步骤。具体可参见方法实施例中的描述,在此不再赘述。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线 (digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:只读存储器(read-only memory,ROM)或随机存储存储器(random access memory, RAM)、磁碟或者光盘等各种可存储程序代码的介质。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于神经网络的机械臂逆运动学求解方法,其中,将机械臂的末端位姿变量作为神经网络的输入、机械臂的关节变量作为神经网络的输出,神经网络的输出个数、机械臂的自由度个数及机械臂的关节个数相等,其特征在于,所述方法包括:
对每个输入进行向量化,将其转化为对应的属性向量;
将各属性向量输入第一权重计算模块,得到各属性向量对应的第一权重;
利用各第一权重对相应的属性向量进行加权后求和,得到第一全连接神经网络模块的输入向量,第一全连接神经网络模块的输出为至少部分关节变量的预测值。
2.根据权利要求1所述的机械臂逆运动学求解方法,其特征在于,所述对每个输入进行向量化具体为,为每个输入设置对应的第一权值向量,输入与对应的第一权值向量相乘得到对应的属性向量。
3.根据权利要求1所述的机械臂逆运动学求解方法,其特征在于,所述第一权重计算模块的输入还包括辅助向量,所述辅助向量与各属性向量进行运算,得到各属性向量对应的第一权重。
4.根据权利要求1所述的机械臂逆运动学求解方法,其特征在于,所述第一全连接神经网络模块输出所有关节变量的预测值。
5.根据权利要求1所述的机械臂逆运动学求解方法,其特征在于,所述神经网络包括至少两个全连接神经网络模块;
所述第一全连接神经网络模块输出部分关节变量的预测值,其中包括第一关节变量的预测值,所述第一关节变量所对应的关节距离机械臂末端最远;
为所述第一关节变量的预测值设置对应的第二权值向量,所述第一关节变量的预测值与对应的第二权值向量相乘得到对应的标签向量;
将所述第一关节变量预测值对应的标签向量与各属性向量输入第二权重计算模块,所述第一关节变量预测值对应的标签向量与各属性向量进行运算,得到各属性向量对应的第二权重;
利用各第二权重对相应的属性向量进行加权后求和,得到第二全连接神经网络模块的输入向量,第二全连接神经网络模块的输出为至少部分剩余关节变量的预测值,其中包括第二关节变量的预测值,所述第二关节变量所对应的关节距离机械臂末端次远。
6.根据权利要求5所述的机械臂逆运动学求解方法,其特征在于,所述第一全连接神经网络模块仅输出第一关节变量的预测值,所述第二全连接神经网络模块仅输出第二关节变量的预测值;
以求解第二关节变量预测值的方式进行类推,依次计算出剩余关节变量的预测值。
7.根据权利要求3或5所述的机械臂逆运动学求解方法,其特征在于,所述运算采用权重计算函数进行,所述权重计算函数为点积运算、曼哈顿距离运算、欧式距离运算或余弦距离运算。
8.根据权利要求7所述的机械臂逆运动学求解方法,其特征在于,在利用神经网络进行机械臂逆运动学求解前,先对神经网络的超参数进行确定,其中,超参数包括全连接神经网络模块的隐层层数、隐层神经元数目和学习率,以及属性向量的维数、权重计算函数。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储计算机指令,其中,所述计算机指令被所述处理器运行时执行权利要求1-8任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010380188.2A CN113627584B (zh) | 2020-05-08 | 2020-05-08 | 一种基于神经网络的机械臂逆运动学求解方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010380188.2A CN113627584B (zh) | 2020-05-08 | 2020-05-08 | 一种基于神经网络的机械臂逆运动学求解方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113627584A true CN113627584A (zh) | 2021-11-09 |
CN113627584B CN113627584B (zh) | 2024-04-12 |
Family
ID=78377007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010380188.2A Active CN113627584B (zh) | 2020-05-08 | 2020-05-08 | 一种基于神经网络的机械臂逆运动学求解方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113627584B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5371834A (en) * | 1992-08-28 | 1994-12-06 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Adaptive neuron model--an architecture for the rapid learning of nonlinear topological transformations |
US20130166484A1 (en) * | 2009-07-30 | 2013-06-27 | Mitra J. Hartmann | Systems, methods, and apparatus for 3-d surface mapping, compliance mapping, and spatial registration with an array of cantilevered tactile hair or whisker sensors |
US20170106542A1 (en) * | 2015-10-16 | 2017-04-20 | Amit Wolf | Robot and method of controlling thereof |
CN106875008A (zh) * | 2017-03-02 | 2017-06-20 | 广东工业大学 | 一种机械手运动学逆解方法及系统 |
CN106914897A (zh) * | 2017-03-31 | 2017-07-04 | 长安大学 | 基于rbf神经网络的机械手运动学逆解方法 |
CN107589934A (zh) * | 2017-07-24 | 2018-01-16 | 大连理工大学 | 一种关节型机械臂逆运动学解析解的求取方法 |
CN108549237A (zh) * | 2018-05-16 | 2018-09-18 | 华南理工大学 | 基于深度增强学习的预观控制仿人机器人步态规划方法 |
CN109086557A (zh) * | 2018-09-26 | 2018-12-25 | 华南理工大学 | 一种基于欧拉型离散周期节律神经网络的冗余度机械臂重复运动规划方法 |
CN110000787A (zh) * | 2019-04-12 | 2019-07-12 | 清华大学深圳研究生院 | 一种超冗余机械臂的控制方法 |
CN110443364A (zh) * | 2019-06-21 | 2019-11-12 | 深圳大学 | 一种深度神经网络多任务超参数优化方法及装置 |
CN110489707A (zh) * | 2019-08-22 | 2019-11-22 | 苏州科技大学 | 一种基于gan网络的机器人逆运动学求解方法 |
CN110598285A (zh) * | 2019-08-29 | 2019-12-20 | 江西理工大学 | 机械手轨迹逆运动学求解方法、装置及存储介质 |
CN110909644A (zh) * | 2019-11-14 | 2020-03-24 | 南京理工大学 | 基于强化学习的机械臂末端执行器抓取姿态调整方法及系统 |
-
2020
- 2020-05-08 CN CN202010380188.2A patent/CN113627584B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5371834A (en) * | 1992-08-28 | 1994-12-06 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Adaptive neuron model--an architecture for the rapid learning of nonlinear topological transformations |
US20130166484A1 (en) * | 2009-07-30 | 2013-06-27 | Mitra J. Hartmann | Systems, methods, and apparatus for 3-d surface mapping, compliance mapping, and spatial registration with an array of cantilevered tactile hair or whisker sensors |
US20170106542A1 (en) * | 2015-10-16 | 2017-04-20 | Amit Wolf | Robot and method of controlling thereof |
CN106875008A (zh) * | 2017-03-02 | 2017-06-20 | 广东工业大学 | 一种机械手运动学逆解方法及系统 |
CN106914897A (zh) * | 2017-03-31 | 2017-07-04 | 长安大学 | 基于rbf神经网络的机械手运动学逆解方法 |
CN107589934A (zh) * | 2017-07-24 | 2018-01-16 | 大连理工大学 | 一种关节型机械臂逆运动学解析解的求取方法 |
CN108549237A (zh) * | 2018-05-16 | 2018-09-18 | 华南理工大学 | 基于深度增强学习的预观控制仿人机器人步态规划方法 |
CN109086557A (zh) * | 2018-09-26 | 2018-12-25 | 华南理工大学 | 一种基于欧拉型离散周期节律神经网络的冗余度机械臂重复运动规划方法 |
CN110000787A (zh) * | 2019-04-12 | 2019-07-12 | 清华大学深圳研究生院 | 一种超冗余机械臂的控制方法 |
CN110443364A (zh) * | 2019-06-21 | 2019-11-12 | 深圳大学 | 一种深度神经网络多任务超参数优化方法及装置 |
CN110489707A (zh) * | 2019-08-22 | 2019-11-22 | 苏州科技大学 | 一种基于gan网络的机器人逆运动学求解方法 |
CN110598285A (zh) * | 2019-08-29 | 2019-12-20 | 江西理工大学 | 机械手轨迹逆运动学求解方法、装置及存储介质 |
CN110909644A (zh) * | 2019-11-14 | 2020-03-24 | 南京理工大学 | 基于强化学习的机械臂末端执行器抓取姿态调整方法及系统 |
Non-Patent Citations (6)
Title |
---|
K.K. DASH等: "A neural network based inverse kinematic problem", 《2011 IEEE RECENT ADVANCES IN INTELLIGENT COMPUTATIONAL SYSTEMS》, pages 471 - 476 * |
N. REZZOUG等: "A multistage neural network architecture to learn hand grasping posture", 《 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS》, vol. 2, pages 1705 - 1710, XP010609665, DOI: 10.1109/IRDS.2002.1044001 * |
XINGYU BIAN等: "FILM: Fine-Grained Book Localization with Mobile RFID Scanning", 《2019 IEEE 25TH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS (ICPADS)》, pages 578 - 585 * |
刘佳等: "基于改进Udwadia-Kalaba方程的双机械臂动力学建模与仿真", 《机械传动》, vol. 44, no. 01, 15 January 2020 (2020-01-15), pages 94 - 98 * |
程唯: "基于自适应属性权重的链式神经网络的机械臂逆运动学求解", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》, no. 04, pages 140 - 100 * |
薄瑞峰等: "基于神经网络的机械运动方案多级模糊综合评价模型", 《工程设计学报》, no. 02, pages 65 - 69 * |
Also Published As
Publication number | Publication date |
---|---|
CN113627584B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bhardwaj et al. | Differentiable gaussian process motion planning | |
CN112101530B (zh) | 神经网络训练方法、装置、设备及存储介质 | |
WO2022068623A1 (zh) | 一种模型训练方法及相关设备 | |
CN110766044B (zh) | 一种基于高斯过程先验指导的神经网络训练方法 | |
CN109344477B (zh) | 一种6自由度机械臂逆运动学求解方法 | |
CN112959326B (zh) | 机器人正运动学求解方法、装置、可读存储介质及机器人 | |
Huang et al. | Stochastic ranking for offline data-driven evolutionary optimization using radial basis function networks with multiple kernels | |
CN113043278B (zh) | 一种基于改进型鲸鱼搜索方法的机械臂轨迹规划方法 | |
CN115293227A (zh) | 一种模型训练方法及相关设备 | |
Yin et al. | An equilibrium optimizer slime mould algorithm for inverse kinematics of the 7-DOF robotic manipulator | |
Wagaa et al. | Analytical and deep learning approaches for solving the inverse kinematic problem of a high degrees of freedom robotic arm | |
Köker | A neuro-genetic approach to the inverse kinematics solution of robotic manipulators | |
CN118298906A (zh) | 蛋白质和小分子对接方法、装置、电子设备和存储介质 | |
Bouzid et al. | Investigating feed-forward back-propagation neural network with different hyperparameters for inverse kinematics of a 2-DoF robotic manipulator: A comparative study | |
JP2022092189A (ja) | 経路計画システム、経路計画方法、および関節を備えたロボットアームの経路計画システム | |
CN115458040B (zh) | 蛋白质的生成方法、装置、电子设备及存储介质 | |
CN113627584B (zh) | 一种基于神经网络的机械臂逆运动学求解方法、电子设备及存储介质 | |
CN110114195B (zh) | 动作转移装置、动作转移方法和存储动作转移程序的非暂时性计算机可读介质 | |
Gusel et al. | Genetic based approach to predicting the elongation of drawn alloy | |
WO2020054402A1 (ja) | ニューラルネットワーク処理装置、コンピュータプログラム、ニューラルネットワーク製造方法、ニューラルネットワークデータの製造方法、ニューラルネットワーク利用装置、及びニューラルネットワーク小規模化方法 | |
Zhang et al. | Multi-objective evolutionary for object detection mobile architectures search | |
CN118163112B (zh) | 一种基于扩散模型的机械臂逆解控制方法及装置 | |
JP7218407B2 (ja) | ソフトロボットマニピュレータのためのジェネレーティブデザイン技術 | |
Kaszuba et al. | Automated development of latent representations for optimization of sequences using autoencoders | |
Remmach et al. | Reg-PointNet++: A CNN Network Based on PointNet++ Architecture for 3D Reconstruction of 3D Objects Modeled by Supershapes |
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 |