CN111531542B - 一种基于改进a*算法的机械臂无碰撞路径规划方法 - Google Patents

一种基于改进a*算法的机械臂无碰撞路径规划方法 Download PDF

Info

Publication number
CN111531542B
CN111531542B CN202010390382.9A CN202010390382A CN111531542B CN 111531542 B CN111531542 B CN 111531542B CN 202010390382 A CN202010390382 A CN 202010390382A CN 111531542 B CN111531542 B CN 111531542B
Authority
CN
China
Prior art keywords
mechanical arm
collision
configuration
free
configurations
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
CN202010390382.9A
Other languages
English (en)
Other versions
CN111531542A (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202010390382.9A priority Critical patent/CN111531542B/zh
Publication of CN111531542A publication Critical patent/CN111531542A/zh
Application granted granted Critical
Publication of CN111531542B publication Critical patent/CN111531542B/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/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
    • B25J9/1666Avoiding collision or forbidden zones

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

本发明实施例提供了一种基于改进A*算法的机械臂无碰撞路径规划方法,实现了机械臂无碰撞路径搜索,包括:以关节坐标方式表征机械臂构型,通过碰撞检测剔除发生碰撞的机械臂构型,获得机械臂的无碰撞构型集合,进而依据路径规划算法时间复杂度、机械臂构型间差异程度,获得机械臂的无碰撞构型集合的划分数量,然后依据同一区域的属性、不同区域的属性、邻接区域的属性,获得机械臂的无碰撞构型集合划分后的多个单元区域,接着构建机械臂的枢纽构型集合,通过连通得到构型变换网,将构型变换网引入A*算法,完成基于改进A*算法的机械臂无碰撞路径规划。根据本发明实施例提供的技术方案,可实现更高效的机械臂无碰撞路径规划。

Description

一种基于改进A*算法的机械臂无碰撞路径规划方法
【技术领域】
本发明涉及一种基于改进A*算法的机械臂无碰撞路径规划方法,属于机械臂运动规划领域。
【背景技术】
随着科学技术的飞速发展,机械臂因其独特的操作灵活性,已广泛应用于航空航天、军事、医疗、工业等领域,被用来执行捕获、排爆、手术、装配等工作。为快速、准确执行任务,机械臂需具备自主规划路径的能力,即规划出一条从初始构型运动到目标构型的路径。然而由于工作环境中障碍物的存在,机械臂若执行未考虑障碍物情况下的自主路径规划结果,则极可能与障碍物发生碰撞,威胁机械臂的安全,并导致后续任务无法顺利执行,因此针对机械臂的无碰撞路径规划展开研究非常必要。
现有关于机械臂的无碰撞路径规划,A*算法是现阶段应用较为典型的算法之一,其基本思想是使用启发式函数进行路径搜索。但是A*算法的使用前提是将机械臂工作环境空间使用栅格地图进行表征。栅格地图的构建原理是,将机械臂的工作环境空间按照一定的划分粒度分解为相互连接且不重叠的网格单元(即栅格),并对障碍物存在的栅格进行标记,从而将机械臂复杂的工作环境信息转化为离散的栅格信息。此过程中栅格的划分大小人为设定,如果栅格边长过小,则会造成路径搜索过程中所占用的存储空间呈指数增加,同时搜索时间过长、搜索获得的路径节点过多,如果栅格边长过大,则会造成每个栅格体现的环境信息不足,导致环境分辨率下降。
【发明内容】
有鉴于此,本发明提供了一种基于改进A*算法的机械臂无碰撞路径规划方法,以实现机械臂的无碰撞路径规划。
本发明实施例提供了一种基于改进A*算法的机械臂无碰撞路径规划方法,包括:
以关节坐标方式表征机械臂构型,通过碰撞检测剔除与障碍物或机械臂自身发生碰撞的机械臂构型,获得机械臂的无碰撞构型集合;
依据机械臂的无碰撞构型集合和路径规划算法时间复杂度、机械臂构型间差异程度,获得机械臂的无碰撞构型集合的划分数量;
依据同一区域的属性、不同区域的属性、邻接区域的属性,结合机械臂的无碰撞构型集合和划分数量,获得机械臂的无碰撞构型集合划分后的多个单元区域;
依据机械臂的无碰撞构型集合划分后的多个单元区域,构建机械臂的枢纽构型集合,通过连通得到构型变换网,将构型变换网引入A*算法,完成基于改进A*算法的机械臂无碰撞路径规划。
上述方法中,所述以关节空间坐标方式表征机械臂构型,通过碰撞检测剔除与障碍物或机械臂自身发生碰撞的机械臂构型,获得机械臂的无碰撞构型集合,包括:
将k自由度机械臂在工作空间内的某一状态表述为一个k维向量P=[q1,q2,…,qk]T,qi(i=1,2,…,k)为第i个关节的关节角度,在机械臂关节角的限度内,对每个关节角使用步长ε进行离散化,并依次进行碰撞检测,剔除所有与障碍物或机械臂自身发生碰撞的机械臂构型,并使用集合形式进行表征,获得机械臂的无碰撞构型集合:
S={P1,P2,…,PN}
其中S表示机械臂的无碰撞构型集合,Pi(i=1,2,…,N)表示N个机械臂的无碰撞构型,N表示机械臂的无碰撞构型的数量,ε的选取按照任务需求进行设定。
上述方法中,所述依据机械臂的无碰撞构型集合和路径规划算法时间复杂度、机械臂构型间差异程度,获得机械臂的无碰撞构型集合的划分数量,包括:
依据机械臂路径规划算法时间复杂度O(n3),构建机械臂的无碰撞构型集合的划分数量评价函数h1(x):
Figure BDA0002484656060000031
其中x表示机械臂的无碰撞构型集合的划分数量,n表示机械臂臂杆的个数;
构建机械臂两个构型之间的距离评价函数dist(Q1,Q2),用于表示机械臂构型间差异程度:
Figure BDA0002484656060000032
其中Q1=[q11,q12,…,q1k]T和Q2=[q21,q22,…,q2k]T分别表示机械臂的2个构型,q1i(i=1,2,…,k)表示第一个构型的第i个关节的关节角度,q2i(i=1,2,…,k)表示第二个构型的第i个关节的关节角度;
依据机械臂构型间差异程度,构建机械臂的无碰撞构型集合的划分数量评价函数h2(x):
Figure BDA0002484656060000033
其中x表示机械臂的无碰撞构型集合的划分数量,Ωi表示按照当前x划分后的区域i,P表示区域Ωi中的任意一个构型,wi表示区域Ωi的中心,
Figure BDA0002484656060000041
i|表示区域Ωi中的构型数目,dist(P,wi)表示构型P和wi之间的距离;
依据机械臂的无碰撞构型集合的划分数量评价函数h1(x)和评价函数h2(x),获得综合评价函数h(x):
h(x)=μ1h1(x)+μ2h2(x)
其中μ1、μ2分别表示评价函数h1(x)和h2(x)的权重系数,数值大小按照实际需求进行设置,x表示机械臂的无碰撞构型集合的划分数量;
依据机械臂的无碰撞构型集合和综合评价函数,求取h(x)取最小值所对应的正整数x,获得机械臂的无碰撞构型集合的划分数量。
上述方法中,所述依据同一区域的属性、不同区域的属性、邻接区域的属性,结合机械臂的无碰撞构型集合和划分数量,获得机械臂的无碰撞构型集合划分后的多个单元区域,包括:
构建机械臂两个构型之间的距离评价函数dist(Q1,Q2),用于表示机械臂构型间差异程度:
Figure BDA0002484656060000042
其中Q1=[q11,q12,…,q1k]T和Q2=[q21,q22,…,q2k]T分别表示机械臂的2个构型,q1i(i=1,2,…,k)表示第一个构型的第i个关节的关节角度,q2i(i=1,2,…,k)表示第二个构型的第i个关节的关节角度;
构建函数CP,用于表示同一区域的属性:
Figure BDA0002484656060000043
Figure BDA0002484656060000044
其中x表示机械臂的无碰撞构型集合的划分数量,wi表示区域Ωi的中心,
Figure BDA0002484656060000051
i|表示区域Ωi中的构型数目,P表示区域Ωi中的任一构型,CPi表示区域Ωi的紧密度;
构建函数SP,用于表示不同区域的属性:
Figure BDA0002484656060000052
其中wi表示区域Ωi的中心,wj表示区域Ωj的中心,x表示机械臂的无碰撞构型集合的划分数量;
构建函数I,用于表示邻接区域的属性:
Figure BDA0002484656060000053
其中x表示机械臂的无碰撞构型集合的划分数量,ωij表示空间权重矩阵W的元素,
Figure BDA0002484656060000054
依据函数CP、函数SP、函数I,基于K均值聚类算法获得机械臂的无碰撞构型集合划分后的多个单元区域。
上述方法中,所述构建函数I,用于表示邻接区域的属性,包括:
空间权重矩阵W表示各个区域之间的邻接关系:
Figure BDA0002484656060000055
其中x表示机械臂的无碰撞构型集合的划分数量,ωij表示区域Ωi和区域Ωj的邻接关系,当区域Ωi和区域Ωj邻接时,ωij=1,当区域Ωi和区域Ωj不邻接时,ωij=0。
上述方法中,所述依据机械臂的无碰撞构型集合划分后的多个单元区域,得到构型变换网,将构型变换网引入A*算法,完成基于改进A*算法的机械臂无碰撞路径规划,包括:
枢纽构型指具有特殊性能的构型,特殊性能指到达同一区域内其余构型的路径搜索时间最短、所得的路径关节行程最短;
依据机械臂的无碰撞构型集合划分后的多个单元区域,基于遗传算法优化挑选机械臂每个单元区域内的枢纽构型,构成机械臂的构型枢纽集合,并设计优化过程中的目标函数:
Figure BDA0002484656060000061
f(PPj)=k1D(P→Pj)+k2T(P→Pj)
其中f(PPj)表示从构型P到构型Pj的关节行程和路径搜索时间的综合函数,N表示单元区域所包含的机械臂的无碰撞构型的数量,D(P→Pj)表示从构型P到构型Pj使用任一路径搜索算法进行路径搜索的结果所对应的关节行程,T(P→Pj)表示相同情况下的路径搜索时间,k1和k2分别表示关节行程和路径搜索时间的权重系数,按照实际任务需求进行设定;
构型变换网指以枢纽构型作为节点,以枢纽构型之间的可达路径为边的网络;
依据机械臂的枢纽构型集合,基于路径规划算法搜索任意两个枢纽构型之间的可达路径,获得机械臂的构型变化网;
依据构型变换网和A*算法,在构型变化网中使用A*算法进行机械臂的无碰撞路径搜索,实现基于改进A*算法的机械臂无碰撞路径规划。
由以上技术方案可以看出,本发明实施例具有以下有益效果:
本发明实施例的技术方案中,以关节坐标方式表征机械臂构型,通过碰撞检测剔除与障碍物或机械臂自身发生碰撞的机械臂构型,获得机械臂的无碰撞构型集合,依据机械臂的无碰撞构型集合和路径规划算法时间复杂度、机械臂构型间差异程度,获得机械臂的无碰撞构型集合的划分数量,依据同一区域的属性、不同区域的属性、邻接区域的属性,结合机械臂的无碰撞构型集合和划分数量,获得机械臂的无碰撞构型集合划分后的多个单元区域,依据机械臂的无碰撞构型集合划分后的多个单元区域,构建机械臂的枢纽构型集合,通过连通得到构型变换网,将构型变换网引入A*算法,完成基于改进A*算法的机械臂无碰撞路径规划,因此可以实现基于改进A*算法的机械臂无碰撞路径规划,与机械臂实际工作环境相结合,避免使用栅格地图所带来的存储空间占用过大、搜索时间过长或环境分辨率不高等问题,实现更高效的机械臂无碰撞路径规划。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单介绍,显而易见,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性和劳动性的前提下,还可以根据这些附图获得其它附图。
图1是本发明实施例所提供的基于改进A*算法的机械臂无碰撞路径规划方法的流程示意图;
图2是本发明实施例中机械臂的无碰撞构型空间示意图;
图3是本发明实施例中机械臂的无碰撞构型空间的划分数量获取示意图;
图4是本发明实施例中基于A*算法的机械臂无碰撞路径规划方法和基于改进A*算法的机械臂无碰撞路径规划方法的规划时间对比图;
图5是本发明实施例中基于A*算法的机械臂无碰撞路径规划方法和基于改进A*算法的机械臂无碰撞路径规划方法的路径中间点个数对比图。
【具体实施例】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例给出一种基于改进A*算法的机械臂无碰撞路径规划方法,请参考图1,其为本发明实施例所提供的基于改进A*算法的机械臂无碰撞路径规划方法的流程示意图,如图1所示,该方法包括以下步骤:
步骤101,以关节坐标方式表征机械臂构型,通过碰撞检测剔除与障碍物或机械臂自身发生碰撞的机械臂构型,获得机械臂的无碰撞构型集合。
具体的,将k自由度机械臂在工作空间内的某一状态表述为一个k维向量P=[q1,q2,…,qk]T,qi(i=1,2,…,k)为第i个关节的关节角度,在机械臂关节角的限度内,对每个关节角使用步长ε=10°进行离散化,并依次进行碰撞检测,剔除所有与障碍物或机械臂自身发生碰撞的机械臂构型,并使用集合形式进行表征,获得机械臂的无碰撞构型集合:
S={P1,P2,…,PN}
其中S表示机械臂的无碰撞构型集合,Pi(i=1,2,…,N)表示N个机械臂的无碰撞构型,N表示机械臂的无碰撞构型的数量,ε的选取按照任务需求进行设定。
步骤102,依据机械臂的无碰撞构型集合和路径规划算法时间复杂度、机械臂构型间差异程度,获得机械臂的无碰撞构型集合的划分数量。
具体的,依据机械臂路径规划算法时间复杂度O(n3),构建机械臂的无碰撞构型集合的划分数量评价函数h1(x):
Figure BDA0002484656060000091
其中x表示机械臂的无碰撞构型集合的划分数量,n表示机械臂臂杆的个数;
构建机械臂两个构型之间的距离评价函数dist(Q1,Q2),用于表示机械臂构型间差异程度:
Figure BDA0002484656060000092
其中Q1=[q11,q12,…,q1k]T和Q2=[q21,q22,…,q2k]T分别表示机械臂的2个构型,q1i(i=1,2,…,k)表示第一个构型的第i个关节的关节角度,q2i(i=1,2,…,k)表示第二个构型的第i个关节的关节角度;
依据机械臂构型间差异程度,构建机械臂的无碰撞构型集合的划分数量评价函数h2(x):
Figure BDA0002484656060000093
其中x表示机械臂的无碰撞构型集合的划分数量,Ωi表示按照当前x划分后的区域i,P表示区域Ωi中的任意一个构型,wi表示区域Ωi的中心,
Figure BDA0002484656060000094
i|表示区域Ωi中的构型数目,dist(P,wi)表示构型P和wi之间的距离;
依据机械臂的无碰撞构型集合的划分数量评价函数h1(x)和评价函数h2(x),获得综合评价函数h(x):
h(x)=μ1h1(x)+μ2h2(x)
其中μ1、μ2分别表示评价函数h1(x)和h2(x)的权重系数,数值大小按照实际需求进行设置,设定μ1=0.1,μ2=1,x表示机械臂的无碰撞构型集合的划分数量;
依据机械臂的无碰撞构型集合和综合评价函数,求取h(x)取最小值所对应的正整数x,获得机械臂的无碰撞构型集合的划分数量。
步骤103,依据同一区域的属性、不同区域的属性、邻接区域的属性,结合机械臂的无碰撞构型集合和划分数量,获得机械臂的无碰撞构型集合划分后的多个单元区域。
具体的,构建机械臂两个构型之间的距离评价函数dist(Q1,Q2),用于表示机械臂构型间差异程度:
Figure BDA0002484656060000101
其中Q1=[q11,q12,…,q1k]T和Q2=[q21,q22,…,q2k]T分别表示机械臂的2个构型,q1i(i=1,2,…,k)表示第一个构型的第i个关节的关节角度,q2i(i=1,2,…,k)表示第二个构型的第i个关节的关节角度;
构建函数CP,用于表示同一区域的属性:
Figure BDA0002484656060000102
Figure BDA0002484656060000103
其中x表示机械臂的无碰撞构型集合的划分数量,wi表示区域Ωi的中心,|Ωi|表示区域Ωi中的构型数目,P表示区域Ωi中的任一构型,CPi表示区域Ωi的紧密度;
构建函数SP,用于表示不同区域的属性:
Figure BDA0002484656060000111
其中wi表示区域Ωi的中心,wj表示区域Ωj的中心,
Figure BDA0002484656060000112
x表示机械臂的无碰撞构型集合的划分数量;
构建函数I,用于表示邻接区域的属性:
Figure BDA0002484656060000113
其中x表示机械臂的无碰撞构型集合的划分数量,ωij表示空间权重矩阵W的元素,
Figure BDA0002484656060000114
空间权重矩阵W表示各个区域之间的邻接关系:
Figure BDA0002484656060000115
其中x表示机械臂的无碰撞构型空间的划分数量,ωij表示区域i和区域j的邻接关系,当区域i和区域j邻接时,ωij=1,当区域i和区域j不邻接时,ωij=0;
依据函数CP、函数SP、函数I,基于K均值聚类算法获得机械臂的无碰撞构型集合划分后的多个单元区域。
使用K均值聚类算法进行区域划分的步骤为:
第一步:选定x个初始区域中心构型组成集合C,记为C={Pc1,Pc2,…,Pcx},其中Pc1,Pc2,…,Pcx为从机械臂的无碰撞构型集合S中挑选出的x个构型;
第二步:构建x个集合,记为R1,R2,…,Rx,依次将挑选出的x个构型放入每个集合中,即构型Pc1放入集合R1,构型Pc2放入集合R2,以此类推;
第三步:计算构型Pc∈(S-C)至集合C中每个构型的距离,挑选最短距离所对应的的构型Pci∈C,将构型Pc放入构型Pci所对应的集合Ri中;
第四步:判断是否遍历集合(S-C)的所有机械臂构型,如果是,则进行第四步,如果不是,则返回第二步;
第五步:重新计算每个区域的中心
Figure BDA0002484656060000121
更新集合C;
第六步:使用函数CP、函数SP、函数I对划分的结果进行评价;
第七步:判断函数CP、函数SP、函数I的值是否满足阈值要求,如果满足,则停止迭代;如果不满足,则返回第二步。
步骤104,依据机械臂的无碰撞构型集合划分后的多个单元区域,构建机械臂的枢纽构型集合,通过连通得到构型变换网,将构型变换网引入A*算法,完成基于改进A*算法的机械臂无碰撞路径规划。
具体的,枢纽构型指具有特殊性能的构型,特殊性能指到达同一区域内其余构型的路径搜索时间最短、所得的路径关节行程最短;
依据机械臂的无碰撞构型集合划分后的多个单元区域,基于遗传算法优化挑选机械臂每个单元区域内的枢纽构型,构成机械臂的构型枢纽集合,并设计优化过程中的目标函数:
Figure BDA0002484656060000122
f(PPj)=k1D(P→Pj)+k2T(P→Pj)
其中f(PPj)表示从构型P到构型Pj的关节行程和路径搜索时间的综合函数,N表示单元区域所包含的机械臂的无碰撞构型的数量,D(P→Pj)表示从构型P到构型Pj使用任一路径搜索算法进行路径搜索的结果所对应的关节行程,T(P→Pj)表示相同情况下的路径搜索时间,k1和k2分别表示关节行程和路径搜索时间的权重系数,按照实际任务需求进行设定;按照任务需求设定k1=0.5、k2=0.5;
基于遗传算法挑选一个单元区域Ωi的枢纽构型的步骤为:
第一步:初始化。由于机械臂关节角度为十进制数值,且包含小数,故确定编码机制为浮点数编码,同时设置初始进化代数t=0,设置最大进化代数为Tmax=3,按照机械臂的自由度数确定变量数,按照机械臂的关节限度确定各关节角最大值和最小值;
第二步:个体评价,即适应度比较。选择关节行程和路径规划时间的加权和作为评价指标,加权和中权重的挑选按照实际应用过程中的需求进行设置,因此设置适应度函数来计算每个机械臂构型的适应度函数值。按照上述描述,适应度函数可表示为
Figure BDA0002484656060000131
f(PχPj)=k1D(Pχ→Pj)+k2T(Pχ→Pj)
其中Pχ(χ=1,2,…,Ni)为机械臂构型,可用关节角序列表示为[θ12,…,θn],T(Pχ→Pj)表示构型Pχ到达此区域其他任意构型Pj的时间,D(Pχ→Pj)表示构型Pχ到达此区域其他任意构型Pj的距离,k1、k2表示关节角线程和路径规划时间的权重系数,0≤k1,k2≤1,且k1+k2=1,Ni表示单元区域Ωi中的构型数,按照任务需求设定k1=0.5、k2=0.5;
通过适应度函数值寻找minF(Pχ)所对应的构型;
第三步:选择运算。将选择算子作用于此区域所有构型,将优化构型直接遗传给下一代或者通过配对交叉产生新的构型再遗传给下一代。本实例采用轮盘赌法选择构型,即适应度最高的构型一定被选择,且每个构型的选择概率与适应度值成比例。计算每个构型被选择的概率为
Figure BDA0002484656060000141
接着计算累计概率为
Figure BDA0002484656060000142
然后随机生成[0,1]之间的与此区域构型总数相等个数的随机数r,依次判断每个r所属的区间,当gk-1≤rk≤gk时,挑选构型Pk
第四步:交叉运算。将交叉算子作用于此区域所有构型。按照交叉概率Pc=0.6挑选父体进行配对,然后将其按照某一交叉算法的规则产生新构型。本文采用线性交叉,即将父体和母体的每一部分进行线性交叉,从而产生新构型;
第五步:变异运算。将变异算子作用于此区域所有构型。按照变异概率Pm=0.001挑选变异构型,对其关节角进行变异操作;
第六步:终止条件判断。当进化代数t=Tmax时,则将进化过程中具有最大适应度的构型作为最优情况,即枢纽构型,对关节角线程和路径规划时间进行综合考量的最优构型。反之,回到第二步继续进化过程。
构型变换网指以枢纽构型作为节点,以枢纽构型之间的可达路径为边的网络;
依据机械臂的枢纽构型集合,基于路径规划算法搜索任意两个枢纽构型之间的可达路径,获得机械臂的构型变化网;
依据构型变换网和A*算法,将构型变换网引入A*算法,进行机械臂的无碰撞路径搜索,实现基于改进A*算法的机械臂无碰撞路径规划;
基于改进A*算法的机械臂无碰撞路径规划方法的使用步骤为:
第一步:构建机械臂的构型变换网;
第二步:确定机械臂的初始构型Pini和目标构型Ptar所属的单元区域Ωini和Ωtar,以及对应单元区域的枢纽构型Hini和Htar
第三步:分别规划机械臂初始构型Pini和目标构型Ptar到各自对应枢纽构型Hini和Htar的可行路径;
第四步:在构型变换网中查询枢纽构型Hini和Htar之间的可行路径;
第五步:将Pini至Hini、Hini至Htar、Htar至Ptar之间的可行路径进行组合,即可得到Pini至Ptar的可行路径。
依据本发明实施例提供的上述方法,对3自由度机械臂的无碰撞路径规划进行了仿真,k=3。
表1为仿真对象3R机械臂的DH参数。
表1机械臂的DH参数
Figure BDA0002484656060000151
设定机械臂各关节允许的运动范围依次为θ1∈[-180°,180°],θ2∈[-30°,90°],θ3∈[-60°,60°],使用步长ε=10°对机械臂的构型空间进行遍历并剔除会发生碰撞的构型,获得机械臂自由构型空间如图2所示,其中图(a)是机械臂无碰撞构型空间的三维表示,图(b)是机械臂无碰撞构型空间俯视图。
使用综合评价函数h(x)确定机械臂的无碰撞构型空间的划分数量结果如图3所示。
基于遗传算法挑选单元区域的枢纽构型后,基于路径规划算法搜索任意两个枢纽构型之间的可达路径,获得机械臂的构型变化网。
在相同的工作环境下,使用A*算法和改进的A*算法执行100组相同的路径规划任务,规划时间如图4所示,规划所得路径的中间点个数如图5所示。通过对比可以得出:路径规划时间缩短近48.4%,路径中间点减少近45.5%,由此可以证明基于改进A*算法的机械臂无碰撞路径规划方法的正确性与有效性。
本发明实施例的技术方案具有以下有益效果:
本发明实施例的技术方案中,以关节坐标方式表征机械臂构型,通过碰撞检测剔除与障碍物或机械臂自身发生碰撞的机械臂构型,获得机械臂的无碰撞构型集合,依据机械臂的无碰撞构型集合和路径规划算法时间复杂度、机械臂构型间差异程度,获得机械臂的无碰撞构型集合的划分数量,依据同一区域的属性、不同区域的属性、邻接区域的属性,结合机械臂的无碰撞构型集合和划分数量,获得机械臂的无碰撞构型集合划分后的多个单元区域,依据机械臂的无碰撞构型集合划分后的多个单元区域,构建机械臂的枢纽构型集合,通过连通得到构型变换网,将构型变换网引入A*算法,完成基于改进A*算法的机械臂无碰撞路径规划,因此可以实现基于改进A*算法的机械臂无碰撞路径规划,与机械臂实际工作环境相结合,避免使用栅格地图所带来的存储空间占用过大、搜索时间过长或环境分辨率不高等问题,实现更高效的机械臂无碰撞路径规划。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。

Claims (2)

1.一种基于改进A*算法的机械臂无碰撞路径规划方法,其特征在于,所述方法包括:
以关节坐标方式表征机械臂构型,通过碰撞检测剔除与障碍物或机械臂自身发生碰撞的机械臂构型,获得机械臂的无碰撞构型集合;
依据机械臂的无碰撞构型集合和路径规划算法时间复杂度、机械臂构型间差异程度,获得机械臂的无碰撞构型集合的划分数量;
依据同一区域的属性、不同区域的属性、邻接区域的属性,结合机械臂的无碰撞构型集合和划分数量,获得机械臂的无碰撞构型集合划分后的多个单元区域;
依据机械臂的无碰撞构型集合划分后的多个单元区域,构建机械臂的枢纽构型集合,通过连通得到构型变换网,将构型变换网引入A*算法,完成基于改进A*算法的机械臂无碰撞路径规划;
其中,依据机械臂的无碰撞构型集合和路径规划算法时间复杂度、机械臂构型间差异程度,获得机械臂的无碰撞构型集合的划分数量,包括:
依据机械臂路径规划算法A*算法的时间复杂度O(n3),构建机械臂的无碰撞构型集合的划分数量评价函数h1(x):
Figure FDA0003024298570000011
其中x表示机械臂的无碰撞构型集合的划分数量,n表示机械臂臂杆的个数;
构建机械臂两个构型之间的距离评价函数dist(Q1,Q2),用于表示机械臂构型间差异程度:
Figure FDA0003024298570000012
其中Q1=[q11,q12,...,q1k]T和Q2=[q21,q22,...,q2k]T分别表示机械臂的2个构型,q1i(i=1,2,...,k)表示第一个构型的第i个关节的关节角度,q2i(i=1,2,...,k)表示第二个构型的第i个关节的关节角度;
依据机械臂构型间差异程度,构建机械臂的无碰撞构型集合的划分数量评价函数h2(x):
Figure FDA0003024298570000021
其中x表示机械臂的无碰撞构型集合的划分数量,Ωi表示按照当前x划分后的区域i,P表示区域Ωi中的任意一个构型,wi表示区域Ωi的中心,
Figure FDA0003024298570000022
i|表示区域Ωi中的构型数目,dist(P,wi)表示构型P和wi之间的距离;
依据机械臂的无碰撞构型集合的划分数量评价函数h1(x)和评价函数h2(x),获得综合评价函数h(x):
h(x)=μ1h1(x)+μ2h2(x)
其中μ1、μ2分别表示评价函数h1(x)和h2(x)的权重系数,数值大小按照实际需求进行设置,x表示机械臂的无碰撞构型集合的划分数量;
依据机械臂的无碰撞构型集合和综合评价函数,求取h(x)取最小值所对应的正整数x,获得机械臂的无碰撞构型集合的划分数量;
依据同一区域的属性、不同区域的属性、邻接区域的属性,结合机械臂的无碰撞构型集合和划分数量,获得机械臂的无碰撞构型集合划分后的多个单元区域,包括:
构建机械臂两个构型之间的距离评价函数dist(Q1,Q2),用于表示机械臂构型间差异程度:
Figure FDA0003024298570000031
其中Q1=[q11,q12,...,q1k]T和Q2=[q21,q22,...,q2k]T分别表示机械臂的2个构型,q1i(i=1,2,...,k)表示第一个构型的第i个关节的关节角度,q2i(i=1,2,...,k)表示第二个构型的第i个关节的关节角度;
构建函数CP,用于表示同一区域的属性:
Figure FDA0003024298570000032
Figure FDA0003024298570000033
其中x表示机械臂的无碰撞构型集合的划分数量,wi表示区域Ωi的中心,
Figure FDA0003024298570000034
i|表示区域Ωi中的构型数目,P表示区域Ωi中的任一构型,CPi表示区域Ωi的紧密度;
构建函数SP,用于表示不同区域的属性:
Figure FDA0003024298570000035
其中wi表示区域Ωi的中心,wj表示区域Ωj的中心,x表示机械臂的无碰撞构型集合的划分数量;
构建函数I,用于表示邻接区域的属性:
Figure FDA0003024298570000036
其中x表示机械臂的无碰撞构型集合的划分数量,ωij表示空间权重矩阵W的元素,
Figure FDA0003024298570000037
依据函数CP、函数SP、函数I,基于K均值聚类算法获得机械臂的无碰撞构型集合划分后的多个单元区域;
空间权重矩阵W表示各个区域之间的邻接关系:
Figure FDA0003024298570000041
其中x表示机械臂的无碰撞构型集合的划分数量,ωij表示区域Ωi和区域Ωj的邻接关系,当区域Ωi和区域Ωj邻接时,ωij=1,当区域Ωi和区域Ωj不邻接时,ωij=0;
依据机械臂的无碰撞构型集合划分后的多个单元区域,得到构型变换网,将构型变换网引入A*算法,完成基于改进A*算法的机械臂无碰撞路径规划,包括:
枢纽构型指具有特殊性能的构型,特殊性能指到达同一区域内其余构型的路径搜索时间最短、所得的路径关节行程最短;
依据机械臂的无碰撞构型集合划分后的多个单元区域,基于遗传算法优化挑选机械臂每个单元区域内的枢纽构型,构成机械臂的构型枢纽集合,并设计优化过程中的目标函数:
Figure FDA0003024298570000042
f(PPj)=k1D(P→Pj)+k2T(P→Pj)
其中f(PPj)表示从构型P到构型Pj的关节行程和路径搜索时间的综合函数,N表示单元区域所包含的机械臂的无碰撞构型的数量,D(P→Pj)表示从构型P到构型Pj使用任一路径搜索算法进行路径搜索的结果所对应的关节行程,T(P→Pj)表示相同情况下的路径搜索时间,k1和k2分别表示关节行程和路径搜索时间的权重系数,按照实际任务需求进行设定;
构型变换网指以枢纽构型作为节点,以枢纽构型之间的可达路径为边的网络;
依据机械臂的枢纽构型集合,基于路径规划算法搜索任意两个枢纽构型之间的可达路径,获得机械臂的构型变化网;
依据构型变换网和A*算法,在构型变化网中使用A*算法进行机械臂的无碰撞路径搜索,实现基于改进A*算法的机械臂无碰撞路径规划。
2.根据权利要求1所述的方法,其特征在于,所述以关节空间坐标方式表征机械臂构型,通过碰撞检测剔除与障碍物或机械臂自身发生碰撞的机械臂构型,获得机械臂的无碰撞构型集合,包括:
将k自由度机械臂在工作空间内的某一状态表述为一个k维向量P=[q1,q2,...,qk]T,qi(i=1,2,...,k)为第i个关节的关节角度,在机械臂关节角的限度内,对每个关节角使用步长ε进行离散化,并依次进行碰撞检测,剔除所有与障碍物或机械臂自身发生碰撞的机械臂构型,并使用集合形式进行表征,获得机械臂的无碰撞构型集合:
S={P1,P2,...,PN}
其中S表示机械臂的无碰撞构型集合,Pi(i=1,2,...,N)表示N个机械臂的无碰撞构型,N表示机械臂的无碰撞构型的数量,ε的选取按照任务需求进行设定。
CN202010390382.9A 2020-05-09 2020-05-09 一种基于改进a*算法的机械臂无碰撞路径规划方法 Active CN111531542B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010390382.9A CN111531542B (zh) 2020-05-09 2020-05-09 一种基于改进a*算法的机械臂无碰撞路径规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010390382.9A CN111531542B (zh) 2020-05-09 2020-05-09 一种基于改进a*算法的机械臂无碰撞路径规划方法

Publications (2)

Publication Number Publication Date
CN111531542A CN111531542A (zh) 2020-08-14
CN111531542B true CN111531542B (zh) 2021-08-17

Family

ID=71977626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010390382.9A Active CN111531542B (zh) 2020-05-09 2020-05-09 一种基于改进a*算法的机械臂无碰撞路径规划方法

Country Status (1)

Country Link
CN (1) CN111531542B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114528737A (zh) * 2022-02-21 2022-05-24 哈尔滨思哲睿智能医疗设备有限公司 一种腔镜手术机器人构型评价方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101732902B1 (ko) * 2010-12-27 2017-05-24 삼성전자주식회사 로봇의 경로 계획 장치 및 그 방법
CN102129249B (zh) * 2011-01-10 2013-03-13 中国矿业大学 一种危险源环境下的机器人全局路径规划方法
CN107443373B (zh) * 2017-07-20 2018-09-28 广东工业大学 基于关节臂机器人的避碰轨迹规划方法和装置
CN107685343B (zh) * 2017-08-28 2020-05-26 北京邮电大学 一种机械臂运动学参数标定构型优化方法
CN108015767B (zh) * 2017-11-30 2020-09-15 北京邮电大学 一种空间机械臂应急操作方法
CN108356819B (zh) * 2018-01-17 2020-08-14 西安交通大学 基于改进a*算法的工业机械臂无碰撞路径规划方法
CN108582073B (zh) * 2018-05-02 2020-09-15 北京邮电大学 一种基于改进的随机路标地图法的机械臂快速避障方法
CN110370270B (zh) * 2018-10-12 2021-10-01 北京京东乾石科技有限公司 一种防止机器人碰撞的方法和装置

Also Published As

Publication number Publication date
CN111531542A (zh) 2020-08-14

Similar Documents

Publication Publication Date Title
Han et al. Adaptive gradient multiobjective particle swarm optimization
Juang et al. Wall-following control of a hexapod robot using a data-driven fuzzy controller learned through differential evolution
KR101105325B1 (ko) 실제 로봇의 다중 경로계획 방법
Šeda Roadmap methods vs. cell decomposition in robot motion planning
Wang et al. Multivehicle task assignment based on collaborative neurodynamic optimization with discrete Hopfield networks
Kala et al. Robotic path planning in static environment using hierarchical multi-neuron heuristic search and probability based fitness
Wang et al. A modified membrane-inspired algorithm based on particle swarm optimization for mobile robot path planning
CN113467472A (zh) 一种复杂环境下的机器人路径规划方法
CN110473592A (zh) 基于图卷积网络的有监督的多视角人类协同致死基因预测方法
CN114494650B (zh) 一种分布式非结构网格跨处理器面对接方法及系统
CN111474925B (zh) 一种非规则形状移动机器人的路径规划方法
Lavin A Pareto front-based multiobjective path planning algorithm
Alatartsev et al. Constricting insertion heuristic for traveling salesman problem with neighborhoods
Wu et al. A local multiobjective optimization algorithm using neighborhood field
CN111531542B (zh) 一种基于改进a*算法的机械臂无碰撞路径规划方法
Sadiq et al. Robot arm path planning using modified particle swarm optimization based on D* algorithm
Menon et al. On the role of hyperdimensional computing for behavioral prioritization in reactive robot navigation tasks
CN116011691A (zh) 一种针对最优路径规划的分布式反馈混联注意力网络模型
Calderón-Arce et al. Swarm robotics and rapidly exploring random graph algorithms applied to environment exploration and path planning
Kim et al. GraphDistNet: A graph-based collision-distance estimator for gradient-based trajectory optimization
Yevsieiev et al. Route constructing for a mobile robot based on the D-star algorithm
Liang et al. Global path planning for mobile robot based genetic algorithm and modified simulated annealing algorithm
Rooban et al. A detailed review of swarm robotics and its significance
Yunqiang et al. Research on multi-objective path planning of a robot based on artificial potential field method
Zhang et al. Multi-objective layout optimization of aircraft multi-branch cable harness based on MOPSO/D

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