CN109344477B - 一种6自由度机械臂逆运动学求解方法 - Google Patents
一种6自由度机械臂逆运动学求解方法 Download PDFInfo
- Publication number
- CN109344477B CN109344477B CN201811098865.0A CN201811098865A CN109344477B CN 109344477 B CN109344477 B CN 109344477B CN 201811098865 A CN201811098865 A CN 201811098865A CN 109344477 B CN109344477 B CN 109344477B
- Authority
- CN
- China
- Prior art keywords
- mechanical arm
- population
- individuals
- random
- inverse kinematics
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/17—Mechanical parametric or variational design
Landscapes
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种6自由度机械臂逆运动学求解方法,涉及工业机器人领域,本方法首先利用蒙特卡洛方法,为机械臂关节空间赋予一定数量的随机样本,通过计算每个样本对应的机械臂末端位置,选取其中满足目标位置条件的样本作为遗传算法初始种群的一部分;遗传算法初始种群的另外部分由随机个体组成,再通过遗传算法求解机械臂的运动学逆解。本发明一方面通过蒙特卡洛方法优化遗传算法的初始种群,有效提高遗传算法的搜索速度与搜索成功率;另一方面通过随机个体的加入保证了遗传种群的多样性,提高了遗传算法的全局搜索能力。
Description
技术领域
本发明涉及工业机器人领域,尤其涉及一种基于蒙特卡洛方法与遗传算法相结合的混合求解多自由度机械臂逆运动学求解方法。
背景技术
机械臂的逆运动学求解是工业机器人应用的基础,是机械臂控制的先决条件,直接关系到机器人离线编程、轨迹规划、实时控制等任务。运动学逆解在机器人学中占有重要地位,只有将空间位姿转换为关节变量,才能实现对机器人末端执行器按空间位姿进行编程控制。
串联机械臂的运动学逆解较为困难,各国学者进行了大量的探索和研究。运动学逆解的求解方法主要分为解析法、数值法、几何法等。如解析方法简单直观,运算速度快,但是只有满足特定几何条件的机械臂结构才能使用解析法求解:即后3个关节轴相交于一点或有3个关节轴相互平行。通过学者Doty的分析,24类6自由度正交机械臂结构,只有5类有解析解,其余结构是否有解析解尚不能确定。雅可比矩阵求解关节变量的迭代算法是数值法的基本思想,多种非线性优化方法被应用于逆解的数值方法,但是普遍存在运算量大,收敛速度慢的特点。近年来,有学者采用解析与数值计算相结合的方法,在一定程度上提高了计算速度。上述方法涉及矩阵的逆运算和反三角函数的运算,计算量及限制条件等方面存在不足。
运动学逆解的另外一类流派是采用智能算法进行求解,如遗传算法、粒子群算法、神经网络等。智能算法求解运动学逆解,限制条件少、适用范围广,但是存在收敛慢,陷于局部极小致使结果的精度无法保证等缺陷。此类方法通过一组随机的初始关节角度作为初始种群,通过不断迭代更新,使得每次迭代的结果逐渐向真实解收敛。但是相关算法对初始种群的选择依赖较高,初始种群的好坏直接影响到计算结果。
发明内容
本发明的目的在于提供一种6自由度机械臂逆运动学求解方法,从而解决了现有运动学逆解求解速度慢、精度不高的缺点。
为实现上述目的,本发明提供了一种6自由度机械臂逆运动学求解方法,包括以下步骤:
S1、根据机械臂的参数建立机械臂的D-H矩阵;
S2、根据机械臂的结构和机械臂的参数,确定S3的阈值,即机械臂末端位置与目标位置PE的最大距离;
S3、采用蒙特卡洛方法为机械臂全部关节赋予随机角度生成随机样本,通过所述D-H矩阵计算每个所述随机样本对应的机械臂末端位置,保留满足条件的机械臂末端位置为样本;
S4、以S3保留的样本为种群组,增加新的随机种群组合成遗传算法的初始种群,利用遗传算法求得运动学逆解。
进一步的,所述机械臂的参数包括:每个所述机械臂的长度、扭转角度、偏移量及关节角度。
进一步的,所述S3具体包括以下步骤:
S31、为机械臂全部关节赋予随机角度,生成随机样本;
S33、判断保留PM同时满足如下条件,如公式(1)所示;
式(1)中,thx,thy,thz为所述阈值在x,y,z三个方向的标识;
S34、若所述随机样本对应的末端位置PM满足S33的条件,则将所述对应样本保存至种群数组D1;
S35、循环S32-S34的操作,直至完成全部随机样本的计算;
S36、循环结束,得到种群数组D1。
进一步的,所述S4具体包括以下步骤:
S40、在种群数组D1的基础,增加新的关节角度的随机样本组D2,组成遗传算法的初始种群D;
S41、为初始种群D编码;
S42、设定遗传算法的参数;
S43、计算种群中每个个体的对应的机械臂末端位姿矩阵的适应度函数值;
S44、根据S43的适应度函数值,对S41种群中的个体进行遗传选择;
S45、判断S44得到的遗传选择的个体是否满***叉概率,如果所述遗传选择的个体满***叉概率,则进行遗传交叉并保存到新的种群中;如果所述遗传选择的个体不满***叉概率,则进入S46;
S46、判断不满***叉概率的遗传选择的个体是否满足变异概率,如果满足变异概率,则进行变异交叉并保存到新的种群中,否则去除;
S47、在经过S45和S46操作得到的新种群的基础上增加新的随机个体,使得新种群保持原有种群的规模;
S48、判断S47得到的种群是否达到完成条件,完成条件包括种群中最佳个体的适应度函数值Fit<ε或者S43-S47循环的次数在100-300次内,达到任意一个条件均视为达到完成条件,ε的取值范围为1*10-7-2*10-7;若没有达到完成条件,则用S47所得新种群替换前一次迭代的种群,重复S43-S47的操作;若达到完成条件则退出;
S49、输出结果,即运动学逆解。
进一步的,所述S41的编码方式为实数编码。
进一步的,所述S44中的选择采用竞赛选择法,舍弃适应度函数值过大的个体。
进一步的,所述S45交叉选用多点交叉。
进一步的,所述S40中,设定种群D中个体的数量为T,随机种群D2中个体的数量T2的计算公式为:
式(2)中,T1为S36所得的种群数组D1中个体的数量。
进一步的,所述S44中的适应度的函数的构造如公式(3)所示:
Fit=|ΔP|+|ΔO| (3)
式(3)中,|ΔP|为位置偏移量,|ΔO|为姿态偏移量;
与现有的技术相比,本发明具有如下有益效果:
1、本发明所提供的6自由度机械臂逆运动学求解方法避免了计算矩阵的逆以及反三角函数,运算量小,且没有限制条件。
2、本发明所提供的6自由度机械臂逆运动学求解方法,通过蒙特卡洛方法优化遗传算法的初始样本,能够有效提高遗传算法的搜索速度与搜索成功率,同时保留部分随机样本保持种群的多样性,保证算法的全局搜索能力。
3、本发明所提供的6自由度机械臂逆运动学求解方法简单,误差小于1%,可操作性强。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一个实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是UR5机器人的结构示意图;
图2是遗传算法的编码格式;
图3是S3的流程图;
图4是S4的流程图;
图5是本发明的运动学逆解求解结果示意图;
图6是本发明一种6自由度机械臂逆运动学求解方法的流程图。
具体实施方式
下面结合本发明实施例中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的实施例以UR5机器人(6自由度机械臂)为例对本发明的6自由度机械臂逆运动学求解方法进行详细的描述。
UR5机械臂各关节的主要参数为:ai为第i个连杆的长度,αi为第i个连杆的扭转角度,di为连杆的偏移量,θi为第i个连杆对应的关节角度。
表1 UR5机械臂主要参数
i | a<sub>i</sub>(m) | α<sub>i</sub>(°) | d<sub>i</sub>(m) | θ<sub>i</sub> |
1 | 0 | 90 | 0.08916 | (-360,360) |
2 | -0.425 | 0 | 0 | (-360,360) |
3 | -0.39225 | 0 | 0 | (-360,360) |
4 | 0 | -90 | 0.10915 | (-360,360) |
5 | 0 | -90 | 0.09456 | (-360,360) |
6 | 0 | 0 | 0.0823 | (-360,360) |
如图1所示,本发明所提供的6自由度机械臂逆运动学求解方法包括以下步骤:
S1、根据机械臂的参数建立机械臂的D-H矩阵。
S2、根据机械臂的结构和机械臂的参数,确定S3的阈值,阈值即机械臂末端与目标位置PE的最大距离,机械臂的参数包括:每个机械臂的长度、扭转角度、偏移量及关节角度。在本实施例中,x,y,z三个方向的阈值thx,thy,thz均取0.1cm。
S3、采用蒙特卡洛方法为机械臂全部关节赋予随机角度生成随机样本,通过D-H矩阵计算每个随机样本对应的机械臂末端位置,仅保留满足条件的机械臂末端位置为样本,即种群数组D1。本实例中,样本数为20万个。根据UR5机器人的机械臂的特性,全部6个关节的转动角度取值范围均为[0,360)。样本数据形如:[θ1,θ2,θ3,θ4,θ5,θ6]。如图3所示,S3具体包括以下步骤:
S31、为机械臂全部关节赋予随机角度,生成关节角度的随机样本;
S33、判断保留PM同时满足如下条件,如公式(1)所示;
式(1)中,thx,thy,thz为阈值在x,y,z三个方向的标识;
S34、若关节角度的随机样本对应的末端位置PM满足S33的条件,则将对应样本保存至种群数组D1;
S35、循环S32-S34的操作,直至完成全部随机样本的计算;
S36、循环结束,获得满足S33条件的种群数组D1。
S4、以S36保留的种群数组D1为基础,增加新的关节角度的种群D2,组合成遗传算法的初始种群D,利用遗传算法求得运动学逆解,如图4所示,S4具体包括以下步骤:
S40、在种群数组D1的基础,增加新的关节角度的随机样本D2,组成遗传算法的初始种群D;设定种群D个体的数量为T,种群D2中个体的数量T2由公式(2)确定:
式(2)中,T1为S36所得的种群数组D1中个体的数量;
S41、为初始种群D编码,编码方式为实数编码,编码格式如图2所示,其中J1-J6对应机械臂的6个关节,J11、J12及J13分别关节1角度的百位、十位和个位的数值;
S42、设定遗传算法的参数,本实施例中,交叉概率为0.8,变异概率为0.4;
S43、计算种群中每个个体的对应的机械臂末端位姿矩阵的适应度函数值。机械臂末端位姿矩阵由D-H计算得来,适应度函数的构造如公式(3)所示:
Fit=|ΔP|+|ΔO| (3)
式(3)中,|ΔP|为位置偏移量,|ΔO|为姿态偏移量;
S44、根据S43的适应度函数值,对S41种群中的个体进行遗传选择,本实施例中选用竞赛选择法,舍弃适应度函数值过大的个体;
S45、判断S44得到的遗传选择的个体是否满***叉概率,如果遗传选择的个体满***叉概率,则进行遗传交叉并保存到新的种群中;如果遗传选择的个体不满***叉概率,则进入S46;本实施例选用多点交叉;
S46、判断不满***叉概率的遗传选择的个体是否满足变异概率,如果满足变异概率,则进行变异交叉并保存到新的种群中,否则去除;
S47、在经过S45和S46操作得到的新种群的基础上增加新的随机个体,使得新种群保持原有种群的规模;
S48、判断S47得到的种群个体是否达到完成条件,完成条件包括适应度函数值Fit<ε或者S43-S47循环的次数在100-300次内,达到任意一个条件均视为达到完成条件,ε的取值范围为1*10-7-2*10-7;若没有达到完成条件,则用新的种群替换前一次迭代的种群,重复S43-S47的操作;若达到完成条件则退出;本实施例的完成条件为适应度函数值Fit<ε,ε=0.0000002,迭代次数为300次;
S49、输出结果,即运动学逆解,如图5所示,横坐标为迭代次数,纵坐标为适应度函数值,通过图5能够发现,本实施例能够通过40次左右的迭代即可获得机械臂运动学逆解,且逆解的误差约等于零,即迭代后的数值的误差小于1%,因此本发明的可操作性强。
综上,本发明一种6自由度机械臂逆运动学求解方法,通过采用蒙特卡洛方法生成遗传算法的初始样本,通过优化遗传算法的初始样本,提高了遗传算法收敛速度,又通过随机样本保持样本的多样性,保证了遗传算法的全局搜索能力,从而采用本发明方法求解逆运动学问题速度快,精度高,适用于离线与在线轨迹规划的情景。
以上所揭露的仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或变型,都应涵盖在本发明的保护范围之内。
Claims (6)
1.一种6自由度机械臂逆运动学求解方法,其特征在于:包括以下步骤:
S1、根据机械臂的参数建立机械臂的D-H矩阵;
S2、根据机械臂的结构和机械臂的参数,确定S3的阈值,即机械臂末端位置与目标位置PE的最大距离;
S3、采用蒙特卡洛方法为机械臂全部关节赋予随机角度生成随机样本,通过所述D-H矩阵计算每个所述随机样本对应的机械臂末端位置,保留满足条件的机械臂末端位置为样本;
所述S3具体包括以下步骤:
S31、为机械臂全部关节赋予随机角度,生成随机样本;
S33、判断保留PM同时满足如下条件,如公式(1)所示;
式(1)中,thx,thy,thz为所述阈值在x,y,z三个方向的标识;
S34、若所述随机样本对应的末端位置PM满足S33的条件,则将所述对应样本保存至种群数组D1;
S35、循环S32-S34的操作,直至完成全部随机样本的计算;
S36、循环结束,得到种群数组D1;
S4、以S3保留的样本为种群组,增加新的随机种群组合成遗传算法的初始种群,利用遗传算法求得运动学逆解;
所述S4具体包括以下步骤:
S40、在种群数组D1的基础,增加新的关节角度的随机样本组D2,组成遗传算法的初始种群D;
S41、为初始种群D编码;
S42、设定遗传算法的参数;
S43、计算种群中每个个体的对应的机械臂末端位姿矩阵的适应度函数值;
S44、根据S43的适应度函数值,对S41种群中的个体进行遗传选择;
所述S44中的适应度的函数的构造如公式(3)所示:
Fit=|ΔP|+|ΔO| (3)
式(3)中,|ΔP|为位置偏移量,|ΔO|为姿态偏移量;
S45、判断S44得到的遗传选择的个体是否满***叉概率,如果所述遗传选择的个体满***叉概率,则进行遗传交叉并保存到新的种群中;如果所述遗传选择的个体不满***叉概率,则进入S46;
S46、判断不满***叉概率的遗传选择的个体是否满足变异概率,如果满足变异概率,则进行变异交叉并保存到新的种群中,否则去除;
S47、在经过S45和S46操作得到的新种群的基础上增加新的随机个体,使得新种群保持原有种群的规模;
S48、判断S47得到的种群是否达到完成条件,完成条件包括种群中最佳个体的适应度函数值Fit<ε或者S43-S47循环的次数在100-300次内,达到任意一个条件均视为达到完成条件,ε的取值范围为1*10-7-2*10-7;若没有达到完成条件,则用S47所得新种群替换前一次迭代的种群,重复S43-S47的操作;若达到完成条件则退出;
S49、输出结果,即运动学逆解。
2.根据权利要求1所述的6自由度机械臂逆运动学求解方法,其特征在于:所述机械臂的参数包括:每个所述机械臂的长度、扭转角度、偏移量及关节角度。
3.根据权利要求1所述的6自由度机械臂逆运动学求解方法,其特征在于:所述S41的编码方式为实数编码。
4.根据权利要求1所述的6自由度机械臂逆运动学求解方法,其特征在于:所述S44中的选择采用竞赛选择法,舍弃适应度函数值过大的个体。
5.根据权利要求1所述的6自由度机械臂逆运动学求解方法,其特征在于:所述S45交叉选用多点交叉。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811098865.0A CN109344477B (zh) | 2018-09-20 | 2018-09-20 | 一种6自由度机械臂逆运动学求解方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811098865.0A CN109344477B (zh) | 2018-09-20 | 2018-09-20 | 一种6自由度机械臂逆运动学求解方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109344477A CN109344477A (zh) | 2019-02-15 |
CN109344477B true CN109344477B (zh) | 2022-06-24 |
Family
ID=65306178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811098865.0A Active CN109344477B (zh) | 2018-09-20 | 2018-09-20 | 一种6自由度机械臂逆运动学求解方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109344477B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111241747B (zh) * | 2020-01-13 | 2023-07-25 | 佛山科学技术学院 | 机械臂逆运动学求解方法、***、计算机设备及存储介质 |
CN111283681B (zh) * | 2020-02-28 | 2022-03-15 | 东南大学 | 一种基于切换scapso的六自由度机械臂逆解方法 |
CN111914980B (zh) * | 2020-05-30 | 2023-12-01 | 中南大学 | 一种基于解析解和改进遗传算法的冗余机械臂运动学解算方法 |
CN112347409A (zh) * | 2020-09-30 | 2021-02-09 | 北京工业大学 | 一种基于遗传算法优化bp神经网络的冗余机械臂求逆解的方法 |
CN116160444B (zh) * | 2022-12-31 | 2024-01-30 | 中国科学院长春光学精密机械与物理研究所 | 基于聚类算法的机械臂运动学逆解的优化方法、装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104678766A (zh) * | 2015-01-29 | 2015-06-03 | 苏州大学 | 仿人机械臂飞行球体作业最优击球构型一种求取方法 |
CN206230507U (zh) * | 2016-10-27 | 2017-06-09 | 桂林电子科技大学 | 一种具有带自动稳定装置的激光雷达的室外自主移动机器人 |
-
2018
- 2018-09-20 CN CN201811098865.0A patent/CN109344477B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104678766A (zh) * | 2015-01-29 | 2015-06-03 | 苏州大学 | 仿人机械臂飞行球体作业最优击球构型一种求取方法 |
CN206230507U (zh) * | 2016-10-27 | 2017-06-09 | 桂林电子科技大学 | 一种具有带自动稳定装置的激光雷达的室外自主移动机器人 |
Non-Patent Citations (4)
Title |
---|
东辉 等."基于工作空间密度函数的平面冗余机器人的逆运动学求解算法".《机械工程学报》.2015,第51卷(第17期), * |
彭翊."脊柱微创手术机器人结构设计与手术仿真研究".《中国优秀硕士学位论文全文数据库 (信息科技辑)》.2017, * |
林阳 等."基于多种群遗传算法的一般机器人逆运动学求解".《机械工程学报》.2017,第53卷(第3期), * |
王俊龙 等."一种新的六自由度机械臂运动学反解方法研究".《计算机工程与应用》.2013,第49卷(第22期), * |
Also Published As
Publication number | Publication date |
---|---|
CN109344477A (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109344477B (zh) | 一种6自由度机械臂逆运动学求解方法 | |
CN110682286B (zh) | 一种协作机器人实时避障方法 | |
CN111347429A (zh) | 一种基于改进蚁群算法的可碰撞检测机械臂路径规划方法 | |
CN111761582B (zh) | 一种基于随机采样的移动机械臂避障规划方法 | |
CN111409077A (zh) | 一种基于关节角代偿的机器人末端多目标位姿逼近方法 | |
CN110489707B (zh) | 一种基于gan网络的机器人逆运动学求解方法 | |
CN111914980B (zh) | 一种基于解析解和改进遗传算法的冗余机械臂运动学解算方法 | |
CN113325799B (zh) | 一种曲面工件的点焊机器人操作空间平滑路径规划方法 | |
Yoon et al. | Optimum design of 6-DOF parallel manipulator with translational/rotational workspaces for haptic device application | |
CN112109084A (zh) | 基于机器人关节角度补偿的末端位置补偿方法及其应用 | |
CN111645079B (zh) | 一种带电作业机器人机械臂路径规划控制装置及其方法 | |
CN116038702B (zh) | 一种七轴机器人逆解方法及七轴机器人 | |
CN113119109A (zh) | 基于伪距离函数的工业机器人路径规划方法和*** | |
CN111660296A (zh) | 一种基于全域空间条件数的优化机器人灵活度的方法 | |
Zhao et al. | A learning-based multiscale modelling approach to real-time serial manipulator kinematics simulation | |
CN113043278B (zh) | 一种基于改进型鲸鱼搜索方法的机械臂轨迹规划方法 | |
CN117444958A (zh) | 基于gru神经网络和烟花算法的机械臂关节角快速提取方法 | |
CN116237950A (zh) | 基于分段运动规划策略的机器人末端精确控制方法及设备 | |
CN113434982B (zh) | 一种电力智能仿生攀爬机器人的运动学逆解方法 | |
Nagata et al. | Neural network-based inverse kinematics for an industrial robot and its learning method | |
CN113021345A (zh) | 机械臂逆运动学控制方法、装置、设备及可读存储介质 | |
Li et al. | Path planning of a robotic manipulator for pruning apple trees based on RRT-connect algorithm | |
Dong et al. | A novel algorithm by combining nonlinear workspace partition with neural networks for solving the inverse kinematics problem of redundant manipulators | |
CN112828891B (zh) | 机器人路径规划有效性的检测方法、检测装置及计算机可读存储介质 | |
CN117733872B (zh) | 一种基于方向性能的串联机器人逆运动学控制方法 |
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 |