CN112347409A - 一种基于遗传算法优化bp神经网络的冗余机械臂求逆解的方法 - Google Patents
一种基于遗传算法优化bp神经网络的冗余机械臂求逆解的方法 Download PDFInfo
- Publication number
- CN112347409A CN112347409A CN202011056368.1A CN202011056368A CN112347409A CN 112347409 A CN112347409 A CN 112347409A CN 202011056368 A CN202011056368 A CN 202011056368A CN 112347409 A CN112347409 A CN 112347409A
- Authority
- CN
- China
- Prior art keywords
- neural network
- genetic algorithm
- mechanical arm
- inverse solution
- optimizing
- 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.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000002068 genetic effect Effects 0.000 title claims abstract description 25
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 22
- 239000011159 matrix material Substances 0.000 claims abstract description 28
- 230000009466 transformation Effects 0.000 claims abstract description 9
- 238000005457 optimization Methods 0.000 claims abstract description 5
- 238000012360 testing method Methods 0.000 claims abstract description 4
- 210000002569 neuron Anatomy 0.000 claims description 14
- 230000035772 mutation Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 108090000623 proteins and genes Proteins 0.000 claims description 3
- 238000004321 preservation Methods 0.000 claims description 2
- 239000012636 effector Substances 0.000 claims 1
- 230000006870 function Effects 0.000 description 7
- 230000004913 activation Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 238000002945 steepest descent method Methods 0.000 description 1
- 210000001364 upper extremity Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- 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/044—Recurrent networks, e.g. Hopfield networks
-
- 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/08—Learning methods
- G06N3/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computing Systems (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Feedback Control In General (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种基于遗传算法优化BP神经网络的冗余机械臂求逆解的方法。机械臂在各关节运动范围内均分为180份,计算相邻两关节之间的变换矩阵,得到七组4*4大小的矩阵,通过矩阵连乘得到机械臂末端的位姿矩阵,提取姿态信息元素和位置信息元素作为一组输入样本,提取位姿矩阵对应的七个关节角度作为一组输出样本,累积收集180份输入输出样本,其中150份作为训练样本,其余30份作为测试样本。搭建BP神经网络,随机给定40组权值和阈值,对样本进行训练并返回误差,根据误差大小分配相应概率,采用遗传算法通过选择、交叉、变异生成子代,从中择优进入下一代训练运算,通过30代遗传运算得到最优权值和阈值,得到求逆解的网络,提高运算速率和精度。
Description
技术领域
本发明涉及冗余机械臂运动学逆解求解领域,尤其涉及一种基于遗传算法优化BP神经网络的冗余机械臂逆运动学的求解方法。
背景技术
一般常见的通用机器人通常为6自由度,其逆解的个数和各连杆长度参数有关,至多有16组逆解,但是对于某些常见特殊机械臂构型,一般逆解个数之多有8组甚至更少。现在对于6自由度机械臂逆解方法已经有了较多的方法,例如常见特殊构型机械臂的封闭解。而对于冗余机械臂,常见的有7自由度串联机械臂,其逆解具有无数组,会产生较大的计算量,而机械臂需具备较强的实时性。几何法求冗余机械臂的逆解,需要利用前四个关节的位置信息求得关节角,在通过姿态求得后三关节角,推导过程较为复杂,常规的数值解法运算时间长,神经网络属于特殊的数值解法,因为其具有并行计算、逼近任意复杂系统的能力,所以被广泛应用于各种场景。
对于冗余机械臂的逆运动学问题亟需一种可靠且快速的计算方法,能够实现求得更加准确的结果。BP神经网络是一种前馈式的多层网络,目前应用范围最广泛,其并行分布式处理能力是其他解法所不具备的。尤其BP神经网络是仿人脑的思维,对于非线性问题的处理能力有很强的适应性。它的学习规则采用梯度下降法(也成最速下降法),输出层通过误差反向传播不断调整权值和阈值,最终达到所要求的误差范围,解决了这一技术问题。
发明内容
冗余机械臂的市场前景越来越广阔,针对不同结构的机械臂,亟需一种快速且精确的求解运动学逆解的方法。为解决此问题,本文提出了一种基于遗传算法优化BP神经网络的冗余机械臂求逆解的方法,保证了求解速度和准确性。
一种七自由度冗余机械臂求逆解的方法,包括以下步骤:
步骤一,根据冗余机械臂机构及参数按照改进D-H法列出参数表,描述机械臂各关节的坐标系,相邻坐标系之间通过坐标转换得到变换矩阵i的取值范围为1~7。求得七个变换矩阵后,通过连乘得到首末坐标系的变换矩阵一般的,求得的坐标变换矩阵满足表达式(1):
其中n、o、a所包含的3*3的矩阵表达了机械臂姿态信息,p所包含的3*1的矩阵表达了机械臂位置信息,最后一行的信息对于本发明来说没有特别的作用。提取位姿信息并建立大小位12*1的新矩阵A,将七个关节的运动范围均分为180份,计算180次机械臂的正运动学的解,提取到有效信息并添加至新矩阵A中,最终组成12*180的矩阵,将此数据存入数据库。同时,将A矩阵对应位置的七个关节角添加到新矩阵B中,最终形成7*180的矩阵B,将A矩阵和B矩阵分别分为两组,其中0~140列作为训练样本的输入Ain和输出Aout,141~180列作为测试样本的输入Bin和输出Bout,利用式(2)对数据进行归一化处理,区间为[0,1]。
y=(x-min)/(max-min) (2)
步骤二,建立三层BP神经网络,输入层神经元设定为12,输出层神经元设定为7,隐藏层的神经元数量没有明确规定,若选取过多会增加运算量,若选取过少无法全面概括样本规律。一般的有经验公式(3)计算隐藏层神经元个数。
其中Hide代表隐藏层神经元个数,Input代表输入层神经元个数,Output代表输出层神经元个数。α默认取值区间为1~10。求得隐藏层神经元个数后,需要确定隐藏层的激活函数,激活函数的选取对整个网络的质量有很大的影响,激活函数有理解学习非线性问题的重要作用,本发明选取(4)式作为本网络的激活函数。
elliot2sig(n) (4)
创建新矩阵X,矩阵X包含随机权值和阈值所组成的矩阵,同时矩阵X也作为遗传算法的个人(父代)进行遗传。对网络的参数进行设置,其中包括训练次数、训练目标和学习速率,计算得到误差e。
步骤三,建立改进的遗传算法,步骤二中的矩阵X为二进制数,具体位数通过式(5)求得。
其中a、b分别为上下界,eps为精度,L若为小数则四舍五入取整数,矩阵X中存放40组随机个体,每个个体通过步骤二计算出误差e,根据40组误差的大小,通过线性变换函数分配每个个体的适应度,并采用排序法将40个个体进行降序排列,采用精英保存策略,将最好的个体不参与交叉、变异保留到下一代的群体当中,其余个体进行交叉和变异运算,用本代最优个体替换掉下一代最差的个体,交叉算子采用两点交叉法对个体基因进行交换,最后通过离散变异算子对个体进行变异,完成预定的遗传代数。
步骤四,不断重复步骤二和步骤三,直到满足设定的精度要求,获得最优的一组权值和阈值X{i},最后将其从二进制转换为十进制数,至此则求得针对某七自由度机械臂的最优求逆解网络。
附图说明
以下通过附图对本发明做进一步描述。
图1为本发明冗余机械臂逆解快速求解流程示意图。
图2为本发明所提供的未优化的均方误差曲线图。
图3为本发明所提供的经过遗传算法优化后的均方误差曲线图。
具体实施方式
本发明的具体技术方案如下:
第一步,根据仿人体上肢机械臂7DOF-ROBOT采用改进法建立冗余机械臂D-H参数模型,如下表1。表中i为连杆编号,α为连杆扭转角,a为连杆长度,d为连杆偏距,θ为关节角,ω为关节角转动范围。
i | α<sub>i-1</sub> | a<sub>i-1</sub> | d<sub>i</sub> | θ<sub>i</sub> | ω<sub>i</sub> |
1 | 0 | 0 | 0 | 0 | [-Pi/2,Pi/4] |
2 | Pi/2 | 0 | 0 | -Pi/2 | [0,Pi] |
3 | Pi/2 | 0 | 0.3 | -Pi/2 | [0,(Pi*11)/18] |
4 | Pi/2 | 0 | 0 | 0 | [-(Pi*11)/18,0] |
5 | -Pi/2 | 0 | 0.27 | 0 | [-Pi/4,Pi/4] |
6 | Pi/2 | 0 | 0 | Pi/2 | [-(Pi*7)/36,(5*Pi)/18] |
7 | -Pi/2 | 0 | 0 | 0 | [-(Pi*7)/36,(5*Pi)/18] |
第三步,将七个关节等分为180份,并存放在矩阵中,采用m语言实现,仅以一个关节为例,inputdataTemPart1为存放的矩阵名称。
inputdataTemPart1=[];
for a=-90:0.75:45
inputdataTemPart=[(a/180)*pi];
inputdataTemPart1=[inputdataTemPart1;inputdataTemPart];
End
第四步,重复第二步180次,建立并拆分新的矩阵Ain、Aout、Bin、Bout,通过式(2)完成数据归一化处理。
第五步,建立神经网络,根据式(3)求得隐藏层为14,设置神经网络参数信息,括训练次数为1000次、训练目标为0.000001和学习速率0.1,激活函数选用elliot2sig,计算权值和阈值的总个数为287。
第六步,本发明的网络运行结果显示上下界的取值为-5、5,精度取0.00001,α取10,根据式(5)求得二进制数长度为8,一个个体为权值阈值总数与二进制数长度的乘积,随机生成40个长度为2296的个体组成初始种群。
第七步,将初始种群带入第五步进行网络训练,得到40组不同的误差ei(i=1~40),将e最小的一个个体保存,然后将40组进行交叉和变异得到新种群,若新种群中最大的e大于父代中最小的e,则对其进行替换;若新种群中最大的e小于或等于父代中最小的e,则放弃替换。
第八步,重复第七步30次,若网络满足精度要求0.000001,停止计算,并取得最优权值和阈值X{i},随后转换为十进制数回带到网络。至此则求得本例7DOF-ROBOT的最优求逆解网络。
Claims (10)
1.一种基于遗传算法优化BP神经网络的冗余机械臂求逆解的方法,其特征在于,包括如下步骤:
步骤一,根据冗余机械臂关节数据建立D-H参数模型,并根据一般正运动学求得末端4*4的位姿矩阵;
步骤二,建立BP神经网络,所述BP网络包括输入、输出、隐藏层神经元,传递函数;
步骤三,建立遗传算法流程,神经网络中的权值和阈值作为个体参加遗传,通过多代遗传后,使得权值和阈值快速收敛,得到最优值;
步骤四,将所述冗余机械臂末端执行器的有效位姿数据输入BP神经网络中,得到该机械臂对应的关节角度。
2.如权利要求1所述的一种基于遗传算法优化BP神经网络的冗余机械臂求逆解的方法,其特征在于,所述BP神经网络的训练过程包括如下步骤:
步骤一,创建三层网络,确定每层网络的神经元个数;
步骤二,根据实际计算案例选取相应的隐藏层的传递函数,并对输入数据归一化;
步骤三,通过不断修正权值和阈值都网络进行训练和测试,并输出测试误差。
3.如权利要求1所述的一种基于遗传算法优化BP神经网络的冗余机械臂求逆解的方法,其特征在于,所述遗传算法的过程包括如下步骤:
步骤一,合并权值和阈值的二进制数成为一个个体,并随机生成初始种群;
步骤二,通过线性变换函数,采用排序的方法分配各个个体的适应度;
步骤三,通过精英保存策略对个体进行选择;
步骤四,通过两点交叉算子对个体进行交叉;
步骤五,通过离散变异算子对个体进行变异;
步骤六,重复步骤三至步骤五,直至满足遗传代数,输出遗传算法后的权值和阈值。
4.如权利要求2所述的一种基于遗传算法优化BP神经网络的冗余机械臂求逆解的方法,其特征在于,输入层神经元个数和隐藏神经元个数相同。
5.如权利要求2所述的一种基于遗传算法优化BP神经网络的冗余机械臂求逆解的方法,其特征在于,传递函数采取elliot2sig,并对所述冗余机械臂输入数据进行归一化处理。
6.如权利要求3所述的一种基于遗传算法优化BP神经网络的冗余机械臂求逆解的方法,其特征在于,精英策略算子流程包括以下步骤:
步骤一,在父代找出适应度最高的个体并保留基因信息;
步骤二,进行交叉变异后产生子代,用父代最优个体替换子代适应度最低的个体;
步骤三,组成的新种群进行下一次迭代。
7.如权利要求3所述的一种基于遗传算法优化BP神经网络的冗余机械臂求逆解的方法,其特征在于,两点交叉算子内容是只交叉两标记点之间的基因。
8.如权利要求1所述的方一种基于遗传算法优化BP神经网络的冗余机械臂求逆解的方法,其特征在于,根据D-H参数求解相邻关节的变换矩阵,对七组矩阵累乘,求解得到4*4的齐次矩阵,提取前三行的位姿元素作为输入层数据。
9.如权利要求1所述的一种基于遗传算法优化BP神经网络的冗余机械臂求逆解的方法,其特征在于,将七个关节分别在其运动范围内均分为180份,分别求解180次齐次矩阵,提取有效元素,作为神经网络输入样本写入数据库,同时记录180个齐次矩阵分别对应的七个关节角度,作为神经网络输出样本写入数据库。
10.如权利要求1所述的一种基于遗传算法优化BP神经网络的冗余机械臂求逆解的方法,其特征在于,分别计算未优化和优化后的神经网络输出误差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011056368.1A CN112347409A (zh) | 2020-09-30 | 2020-09-30 | 一种基于遗传算法优化bp神经网络的冗余机械臂求逆解的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011056368.1A CN112347409A (zh) | 2020-09-30 | 2020-09-30 | 一种基于遗传算法优化bp神经网络的冗余机械臂求逆解的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112347409A true CN112347409A (zh) | 2021-02-09 |
Family
ID=74361429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011056368.1A Pending CN112347409A (zh) | 2020-09-30 | 2020-09-30 | 一种基于遗传算法优化bp神经网络的冗余机械臂求逆解的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112347409A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113601515A (zh) * | 2021-10-08 | 2021-11-05 | 北京中海兴达建设有限公司 | 基于bp神经网络逆运动学的建筑机械臂控制方法和系统 |
CN114835022A (zh) * | 2022-07-04 | 2022-08-02 | 长沙孚盛科技有限公司 | 伸缩臂的控制方法、装置、伸缩臂和起重机 |
WO2022205844A1 (zh) * | 2021-03-29 | 2022-10-06 | 深圳市优必选科技股份有限公司 | 机器人正运动学求解方法、装置、可读存储介质及机器人 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109344477A (zh) * | 2018-09-20 | 2019-02-15 | 桂林电子科技大学 | 一种6自由度机械臂逆运动学求解方法 |
CN110434851A (zh) * | 2019-06-24 | 2019-11-12 | 浙江工业大学 | 一种5自由度机械臂逆运动学求解方法 |
-
2020
- 2020-09-30 CN CN202011056368.1A patent/CN112347409A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109344477A (zh) * | 2018-09-20 | 2019-02-15 | 桂林电子科技大学 | 一种6自由度机械臂逆运动学求解方法 |
CN110434851A (zh) * | 2019-06-24 | 2019-11-12 | 浙江工业大学 | 一种5自由度机械臂逆运动学求解方法 |
Non-Patent Citations (5)
Title |
---|
丁雷鸣,等: "基于遗传BP神经网络的双目相机手眼标定研究", 合肥工业大学学报(自然科学版), vol. 43, no. 09, 28 September 2020 (2020-09-28), pages 1159 - 1163 * |
李文博,等: "基于BP神经网络的排爆机械臂逆运动学分析", 计算机测量与控制, vol. 24, no. 01, 25 January 2016 (2016-01-25), pages 207 - 211 * |
李进,等: "基于RBF神经网络间接求取运动学逆解的研究", 机床与液压, vol. 47, no. 23, 15 December 2019 (2019-12-15), pages 32 - 37 * |
欧群文,等: "基于神经网络的冗余机械臂运动学逆解研究", 机电工程, vol. 33, no. 06, 16 June 2016 (2016-06-16), pages 663 - 667 * |
骆俊,等: "基于人工神经网络的机械臂运动学分析", 信息与电脑(理论版), no. 03, 15 February 2018 (2018-02-15), pages 55 - 58 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022205844A1 (zh) * | 2021-03-29 | 2022-10-06 | 深圳市优必选科技股份有限公司 | 机器人正运动学求解方法、装置、可读存储介质及机器人 |
CN113601515A (zh) * | 2021-10-08 | 2021-11-05 | 北京中海兴达建设有限公司 | 基于bp神经网络逆运动学的建筑机械臂控制方法和系统 |
CN113601515B (zh) * | 2021-10-08 | 2021-12-14 | 北京中海兴达建设有限公司 | 基于bp神经网络逆运动学的建筑机械臂控制方法和系统 |
CN114835022A (zh) * | 2022-07-04 | 2022-08-02 | 长沙孚盛科技有限公司 | 伸缩臂的控制方法、装置、伸缩臂和起重机 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112347409A (zh) | 一种基于遗传算法优化bp神经网络的冗余机械臂求逆解的方法 | |
Ishibuchi et al. | Fuzzy neural networks with fuzzy weights and fuzzy biases | |
Köker et al. | A study of neural network based inverse kinematics solution for a three-joint robot | |
Bingul et al. | Comparison of inverse kinematics solutions using neural network for 6R robot manipulator with offset | |
CN114925800A (zh) | 基于麻雀搜索优化的神经网络的机器人逆运动学求解方法 | |
Zilouchian | Fundamentals of neural networks | |
Sheng et al. | Forward kinematics of the Stewart platform using hybrid immune genetic algorithm | |
CN114170454A (zh) | 基于关节分组策略的智能体元动作学习方法 | |
Bayro-Corrochano | Geometric neural computing | |
Wang et al. | Unsupervising adaption neural-network control | |
CN106503795A (zh) | 一种基于多神经元覆盖的神经网络结构设计方法 | |
Ramírez et al. | Human behavior learning in joint space using dynamic time warping and neural networks | |
Manakkadu et al. | ACO based Adaptive RBFN Control for Robot Manipulators | |
Hong et al. | Planning for redundant manipulator based on back-propagation neural network | |
Ashek-Al-Aziz et al. | No Regular Behavior Pattern in Neural Network Execution–A Matlab Experience | |
Berreto et al. | Unsupervised context-based learning of multiple temporal sequences | |
Araújo et al. | A partially recurrent neural network to perform trajectory planning, inverse kinematics, and inverse dynamics | |
Poulton | Multi-layer perceptrons and back-propagation learning | |
Ghorbani et al. | Forward kinematics of a 6x6 upu parallel mechanism by anfis method | |
Juang | Application of genetic algorithm and recurrent network to nonlinear system identification | |
Bebis et al. | BACK-PROPAGATIONleCREASING RATE OF CONVERGENCE BY PREDICTABLE PATTERN LOADING | |
Kuroe et al. | A new neural network approach to the inverse kinematics problem in robotics | |
Teshnehlab et al. | Flexible structural leaning control of a robotic manipulator using artificial neural networks | |
Sayers | Self Organizing Feature Maps and Their Application to Robotics | |
Fukuda et al. | Heuristic learning by genetic algorithm for recurrent neural network |
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 |