CN108645411B - 基于粒子群算法的机器人路径规划方法、装置及终端设备 - Google Patents
基于粒子群算法的机器人路径规划方法、装置及终端设备 Download PDFInfo
- Publication number
- CN108645411B CN108645411B CN201810464127.7A CN201810464127A CN108645411B CN 108645411 B CN108645411 B CN 108645411B CN 201810464127 A CN201810464127 A CN 201810464127A CN 108645411 B CN108645411 B CN 108645411B
- Authority
- CN
- China
- Prior art keywords
- path
- paths
- particle
- particle swarm
- robot
- 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
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Feedback Control In General (AREA)
Abstract
本发明适用于人工智能技术领域,提供了一种基于粒子群算法的机器人路径规划方法、装置及终端设备,包括:根据机器人活动场地的信息进行建模,生成模拟环境;根据所述机器人活动的起点和终点随机生成N条不与所述障碍物相交的初始路径,采用基于粒子群算法的方法在所述模拟环境中,对N条初始路径进行优化,在优化产生的路径中选出M条全局最优路径;采用基于Dijkstra算法的方法从所述M条全局最优路径中选出最终路径。本发明结合了粒子群算法与Dijkstra算法的优点进行机器人路径规划,既增加了最优路径的平滑度,也提升了计算效率。
Description
技术领域
本发明属于人工智能技术领域,尤其涉及一种基于粒子群算法的机器人路径规划方法、装置及终端设备。
背景技术
随着社会发展的需要和机器人应用领域的扩大,人们对移动机器人的要求越来越高。移动机器人关键技术主要涉及:导航,定位,避障和路径规划。而路径规划的关键就是算法的研究和设计。
在现有技术中,可将路径规划算法分为传统路径规划算法和智能仿生学路径规划算法。传统路径规划算法如:Dijkstra算法,Dijkstra算法是一种单源的路径规划算法,因为运用穷举所以存在运算时间过长且效率低等问题;智能仿生学算法如粒子群算法,粒子群算法虽然计算简单,全局寻优能力强,但是规划出的路径具有转弯次数多,累计转折角大等缺陷。
发明内容
有鉴于此,本发明实施例提供了一种基于粒子群算法的机器人路径规划方法及终端设备,以解决现有技术中机器人路径规划算法规划路径不平滑且效率低的问题。
本发明实施例的第一方面提供了一种基于粒子群算法的机器人路径规划方法,包括:
S1:根据机器人活动场地的信息进行建模,生成模拟环境,具体包括:
S101:根据所述活动场地的信息建立直角坐标系,在所述直角坐标系中确定机器人活动的起点和终点;
S102:对所述活动场地中的障碍物进行规则化处理,获得所述障碍物在所述直角坐标系中的顶点坐标;
S103:使用数组表示所述障碍物的各个顶点坐标;
S2:根据所述机器人活动的起点和终点随机生成N条不与所述障碍物相交的初始路径,采用基于粒子群算法的方法在所述模拟环境中,对N条初始路径进行优化,在优化产生的路径中选出M条全局最优路径,其中M,N均为大于1的正整数,M为预先设定的值;
S3:采用基于Dijkstra算法的方法从所述M条全局最优路径中选出最终路径。
本发明实施例的第二方面提供了一种基于粒子群算法的机器人路径规划装置,包括:
建模模块,用于根据机器人活动场地的信息进行建模,生成模拟环境;
第一优化模块,根据所述机器人活动的起点和终点随机生成N条不与所述障碍物相交的初始路径,采用基于粒子群算法的方法在所述模拟环境中,对N条初始路径进行优化,在优化产生的路径中选出M条全局最优路径;
第二优化模块,采用基于Dijkstra算法的方法从所述M条全局最优路径中选出最终路径。
本发明实施例的第三方面提供了一种基于粒子群算法的机器人路径规划终端设备,包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上第一方面所提供的方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上第一方面所提供的方法的步骤。
本发明实施例与现有技术相比存在的有益效果是:首先根据机器人活动场地的信息进行建模,生成模拟环境,将所述模拟环境作为算法的环境背景;根据粒子群算法产生M条备选路径;在所述M条备选路径上,由Dijkstra算法对所述M条备选路径做平滑处理,从M条备选路径的所有结点中搜索出一条从起始点到目标点的最优路径作为最终路径。本发明相较于粒子群算法,由于使用了Dijkstra算法,产生的最优解比粒子群算法产生的最优解更平滑,路径更短;相较于Dijkstra算法,本发明通过处理效率高的粒子群算法缩小路径计算范围,减少了Dijkstra算法进行后续处理的计算量,从而提升了计算效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于粒子群算法的机器人路径规划方法的实现流程示意图;
图2是本发明实施例提供的基于粒子群算法的机器人路径规划装置的结构框图;
图3是本发明实施例提供的基于粒子群算法的机器人路径规划终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一
图1示出了本发明实施例一提供的基于粒子群算法的机器人路径规划方法的实现流程,详述如下:
步骤S1,根据机器人活动场地的信息进行建模,生成模拟环境。
在本发明实施例中,所述根据机器人活动场地的信息进行建模生成模拟环境,即环境建模过程包括:
步骤S101,根据所述活动场地的信息建立直角坐标系,在所述直角坐标系中确定机器人活动的起点和终点。
可选地,首先获取机器人活动场地的信息,其中所述机器人活动场地的信息包括活动场地中所有障碍物的位置和形状,机器人的尺寸信息,机器人在活动场地中运动的起点和终点。
进一步地,在机器人活动场地中建立直角坐标系,在所述直角坐标系中,根据上述获取到的机器人活动的起点和终点,记录下所述机器人活动的起点和终点的坐标。
步骤S102,对所述活动场地中的障碍物进行规则化处理,获得所述障碍物在所述直角坐标系中的顶点坐标。
可选地,根据所述根据所述障碍物的形状和位置信息,使用能够完全覆盖所述障碍物的最小矩形进行初步建模,其中所述矩形与所述直角坐标系的坐标轴平行;
将所述初步建模的矩形的四边分别向外延伸二分之一机器人的长度,获得延伸后得到的矩形的各个顶点坐标。
可选地,为了方便路径规划,可对环境中的障碍物进行抽象描述:由于不存在障碍物的区域对机器人的行动不造成影响,所以将所述不存在障碍物的区域取为自由空间;相反对于存在障碍物的区域,因为直接阻碍了机器人的行动,所以将其取为障碍物空间。同时为了区分障碍物区域和机器人可通行区域,可以用无色表示指环境中的可行空间,黑色表示环境中的障碍物区域,此处不做限定。
步骤S103,使用数组表示所述障碍物的各个顶点坐标。
可选地,因为障碍物为矩形,所以可以用包含所有障碍物顶点坐标的数组表示所述障碍物。进一步地,采用直角坐标法表示环境信息,即环境中的每一个点都可以用二维平面坐标系中的坐标进行唯一表示。
进行上述处理后,就完成了障碍物建模,即环境中所有障碍物由包含每个障碍物矩形的四个顶点坐标的数组表示。
步骤S2,根据所述机器人活动的起点和终点随机生成N条不与所述障碍物相交的初始路径,采用基于粒子群算法的方法在所述模拟环境中,对N条初始路径进行优化,在优化产生的路径中选出M条全局最优路径,其中M,N均为大于1的正整数,M为预先设定的值。
在本发明实施例中,所述采用基于粒子群算法的方法在所述模拟环境中对N条初始路径进行优化,在优化产生的路径中选出M条全局最优路径包括:
步骤S201:初始化粒子群,其中所述粒子群中包含N个粒子,每个粒子均为与所述障碍物不相交的初始路径。
可选地,初始化粒子群,将初始粒子群表示为N个粒子,即N条随机生成的与障碍物不相交的初始路径,用Xi代表第i个粒子,即第i条路径,可用数学表示成如公式(1)所示:
X={X1,X2,…XN} (1)
可选地,粒子i是由D个路径结点构成,即D个位置坐标点构成,可以描述成粒子i是D维粒子,Xi表示第i个粒子中所有元素的位置集合。数学描述可以表示为公式(2):
Xi={S,xid,T},d=2,…,D-1;i=1,2,…,N (2)
其中,S是起点,T是终点。
步骤S202:根据预设更新规则从每个粒子的起点开始进行路径节点更新,从而生成若干条优化路径。
示例地,本实施例中D维粒子i中的每一维元素的位置置更新变量用速度Vi来表示,由于D维粒子i中的第一个元素S表示路径的起点,D维粒子i中的最后一个元素T表示路径的终点,这两个点的位置不发生变化,所以粒子i的第一个元素和最后一个元素速度不发生变化,即vi1和viD都为0。最终D维粒子i的速度表示如公式
(3)所示:
进一步地,粒子i的位置是当前粒子i中的第d个元素的位置xid与第d个元素的速度之和,公式表示如(4):
其中,S表示路径起点,T表示终点,均为固定值。
具体地,将粒子i的第d维元素(路径的第d个结点)位置更新为x’id后,需要判断其与第d-1维元素(路径的第d-1个结点)连成的直线段是否和环境中的障碍物相交,即对(xid-1,x’id)直线段与障碍物是否相交进行判断。
进一步地,若(xid-1,x’id)直线段与环境中的障碍物不相交,则x’id作为粒子i的第d维元素(路径的第d个结点)更新后的位置合适,继续进行下一步的位置更新;若(xid-1,x’id)直线段和环境中的障碍物有交点,则采用速度更新公式重新生成粒子i的第d维元素的(路径的第d个结点)速度,速度更新公式如公式(5)所示:
其中,r1和r2是[0,1]区间内的任意值,c1=2及c2=2,t表示粒子位置更新的时间;
pid(t)表示时间为t时,粒子i从起点到第d维元素的自身最优解;pgd(t)表示时间为t时的全局最优解。可选地,在算法迭代过程中,通过适应度函数计算出D维粒子i的适应度值(粒子i的路径总长度)将粒子i的自身历史所有路径进行比较,将适应度值最小(路径最短)的路径,记为自身最优解Pi;将适应度函数计算出的粒子群中适应度值最小(路径最短)的粒子,记为全局最优解Pg。
ω为速度更新公式中第k次迭代的惯性权重,可由公式(6)计算得出:
其中,在本实施例中令ωmax=0.9,ωmin=0.4,迭代次数itermax=50。
步骤S203:对每个粒子自身产生的所有优化路径进行适应度函数计算,从所有粒子的所有优化路径中选出M个适应度值最小的路径作为全局最优路径。
在步骤S202的迭代中每个粒子i都产生了若干条备选路径,分别计算每条路径的适应度值,对所有粒子的所有产生的路径进行比对,选出M条适应度值最小的路径作为全局最优路径。可选地,M为预先设定的值,此处不做限定。
步骤S3,采用基于Dijkstra算法的方法从所述M条全局最优路径中选出最终路径。
可选地,首先将步骤S2中产生的所述M条全局最优路径表示成集合P:
其中,S表示路径的起始位置,T表示目标位置,S和T均为定值;nmi表示第m个粒子中的第i个路径节点。
进一步地,对集合P中的任意两结点(ni,nj)用直线连成线段,判断所述线段是否与所述障碍物相交,若不相交,则计算结点ni和结点nj之间的欧氏距离dij并作为ninj弧的权值;若相交,则ninj弧的权值为∞。
可选地,更新完M条路径的加权图后,将所述加权图保存在一个邻接矩阵A中;
步骤S304:根据最优粒子Dijkstra算法从所述邻接矩阵A中选出最小加权值对应的路径为最终路径。其中,所述Dijkstra算法是用来计算从一个顶点到其余各个顶点的最短路径的算法,所述邻接矩阵可表示为公式(8):
A=(aij)((D-2)×M+2)×((D-2)×M+2) (8)
其中,((D-2)×M+2)表示加权图中的结点个数。
可选地,最后将Dijkstra算法选出的路径作为最终路径。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
实施例二
图2示出了本发明实施例提供的基于粒子群算法的机器人路径规划装置的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该基于粒子群算法的机器人路径规划装置2包括:建模模块21,第一优化模块22,第二优化模块23。
其中,建模模块21,用于根据机器人活动场地的信息进行建模,生成模拟环境;
第一优化模块,根据所述机器人活动的起点和终点随机生成N条不与所述障碍物相交的初始路径,采用基于粒子群算法的方法在所述模拟环境中,对N条初始路径进行优化,在优化产生的路径中选出M条全局最优路径;
第二优化模块,采用基于Dijkstra算法的方法从所述M条全局最优路径中选出最终路径。
可选地,所述建模模块21包括:
建立坐标系单元,用于根据所述活动场地的信息建立直角坐标系,在所述直角坐标系中确定机器人活动的起点和终点;
障碍物处理单元,用于对所述活动场地中的障碍物进行规则化处理,获得所述障碍物在所述直角坐标系中的顶点坐标;
数组单元,用于使用数组表示所述障碍物的各个顶点坐标。
进一步地,所述障碍物处理单元包括:
坐标获取单元,用于根据所述根据所述障碍物的形状和位置信息,使用能够完全覆盖所述障碍物的最小矩形进行初步建模,其中所述矩形与所述直角坐标系的坐标轴平行;
将所述初步建模的矩形的四边分别向外延伸二分之一机器人的长度,获得延伸后得到的矩形的各个顶点坐标。
可选地,所述第一优化22包括:
初始化单元,用于初始化粒子群,其中所述粒子群中包含N个粒子,每个粒子均为与所述障碍物不相交的初始路径;
路径更新单元,根据预设更新规则从每个粒子的起点开始进行路径节点更新,从而生成若干条优化路径;
适应度计算单元,对每个粒子自身产生的所有优化路径进行适应度函数计算,从所有粒子的所有优化路径中选出M个适应度值最小的路径作为全局最优路径。
进一步地,所述路径更新单元包括:
第一单元,用于根据当前第d个路径节点的位置更新速度Vd对相应的粒子进行路径节点更新,判断所述更新后的第d+1个路径节点与所述第d个路径节点连成的直线段是否与所述障碍物相交;
第二单元,用于若所述更新后的第d+1个路径节点与所述第d个路径节点连成的直线段与所述障碍物相交,则采用粒子群算法速度更新公式重新生成所述上一个第d个路径节点的位置更新速度Vd并返回第一单元;
第三单元,用于若所述更新后的第d+1个路径节点与所述第d个路径节点连成的直线段不与所述障碍物相交,则继续对所述粒子进行路径节点更新,直至到达所述终点为止。
可选地,所述第二优化单元23包括:
集合单元,用于将所述M条全局最优路径表示成集合P:
其中,S表示路径的起始位置,T表示目标位置,S和T均为定值;nmi表示第m个粒子中的第i个路径节点;
权值计算单元,用于对集合P中的任意两结点(ni,nj)用直线连成线段,判断所述线段是否与所述障碍物相交,若不相交,则计算结点ni和结点nj之间的欧氏距离dij并作为ninj弧的权值;若相交,则ninj弧的权值为∞;
加权图单元,用于新完M条路径的加权图后,将所述加权图保存在一个邻接矩阵A中;
最终路径单元,用于根据最优粒子Dijkstra算法从所述邻接矩阵A中选出最小加权值对应的路径为最终路径。
实施例三
图3是本发明一实施例提供的基于粒子群算法的机器人路径规划终端设备的示意图。如图3所示,该实施例的基于粒子群算法的机器人路径规划终端设备3包括:处理器30、存储器31以及存储在所述存储器31中并可在所述处理器30上运行的计算机程序32,例如基于粒子群算法的机器人路径规划程序。所述处理器30执行所述计算机程序32时实现上述各个基于粒子群算法的机器人路径规划方法实施例中的步骤,例如图1所示的步骤101至103。或者,所述处理器30执行所述计算机程序32时实现上述各装置实施例中各模块/单元的功能,例如图2所示模块21至23的功能。
示例性的,所述计算机程序32可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器31中,并由所述处理器30执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序32在所述基于粒子群算法的机器人路径规划终端设备3中的执行过程。例如,所述计算机程序32可以被分割成建模模块、第一优化模块、第二优化模块,各模块具体功能如下:
建模模块,用于根据机器人活动场地的信息进行建模,生成模拟环境;
第一优化模块,根据所述机器人活动的起点和终点随机生成N条不与所述障碍物相交的初始路径,采用基于粒子群算法的方法在所述模拟环境中,对N条初始路径进行优化,在优化产生的路径中选出M条全局最优路径;
第二优化模块,采用基于Dijkstra算法的方法从所述M条全局最优路径中选出最终路径。
所述基于粒子群算法的机器人路径规划终端设备3可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述基于粒子群算法的机器人路径规划终端设备可包括,但不仅限于,处理器30、存储器31。本领域技术人员可以理解,图3仅仅是基于粒子群算法的机器人路径规划终端设备3的示例,并不构成对基于粒子群算法的机器人路径规划终端设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述基于粒子群算法的机器人路径规划终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器31可以是所述基于粒子群算法的机器人路径规划终端设备3的内部存储单元,例如基于粒子群算法的机器人路径规划终端设备3的硬盘或内存。所述存储器31也可以是所述基于粒子群算法的机器人路径规划终端设备3的外部存储设备,例如所述基于粒子群算法的机器人路径规划终端设备3上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器31还可以既包括所述基于粒子群算法的机器人路径规划终端设备3的内部存储单元也包括外部存储设备。所述存储器31用于存储所述计算机程序以及所述基于粒子群算法的机器人路径规划终端设备所需的其他程序和数据。所述存储器31还可以用于暂时地存储已经输出或者将要输出的数据。
由上可见,本实施例通过首先根据机器人活动场地的信息进行建模,生成模拟环境,将所述模拟环境作为算法的环境背景;根据粒子群算法产生M条备选路径;在所述M条备选路径上,由Dijkstra算法对所述M条备选路径做平滑处理,从M条备选路径的所有结点中搜索出一条从起始点到目标点的最优路径作为最终路径。本实施例相较于粒子群算法,由于使用了Dijkstra算法,产生的最优解比粒子群算法产生的最优解更平滑,路径更短;相较于Dijkstra算法,本实施例通过处理效率高的粒子群算法缩小路径计算范围,减少了Dijkstra算法进行后续处理的计算量,从而提升了计算效率。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于粒子群算法的机器人路径规划方法,其特征在于,包括:
步骤S1:根据机器人活动场地的信息进行建模,生成模拟环境,具体包括:
步骤S101:根据所述活动场地的信息建立直角坐标系,在所述直角坐标系中确定机器人活动的起点和终点;
步骤S102:对所述活动场地中的障碍物进行规则化处理,获得所述障碍物在所述直角坐标系中的顶点坐标;
步骤S103:使用数组表示所述障碍物的各个顶点坐标;
步骤S2:根据所述机器人活动的起点和终点随机生成N条不与所述障碍物相交的初始路径,采用基于粒子群算法的方法在所述模拟环境中,对N条初始路径进行优化,在优化产生的路径中选出M条全局最优路径,其中M,N均为大于1的正整数,M为预先设定的值;
步骤S3:采用基于Dijkstra算法的方法从所述M条全局最优路径中选出最终路径。
2.如权利要求1所述的基于粒子群算法的机器人路径规划方法,其特征在于,所述步骤S2采用基于粒子群算法的方法在所述模拟环境中,对N条初始路径进行优化,在优化产生的路径中选出M条全局最优路径包括:
步骤S201:初始化粒子群,其中所述粒子群中包含N个粒子,每个粒子均为与所述障碍物不相交的初始路径;
步骤S202:根据预设更新规则从每个粒子的起点开始进行路径节点更新,从而生成若干条优化路径;
步骤S203:对每个粒子自身产生的所有优化路径进行适应度函数计算,从所有粒子的所有优化路径中选出M个适应度值最小的路径作为全局最优路径。
3.如权利要求1所述的基于粒子群算法的机器人路径规划方法,其特征在于,所述步骤S3采用基于Dijkstra算法的方法从所述M条全局最优路径中选出最终路径包括:
步骤S301:将所述M条全局最优路径表示成集合P:
其中,S表示路径的起始位置,T表示目标位置,S和T均为定值;nmi表示第m个粒子中的第i个路径节点,D为大于2的正整数;
步骤S302:对集合P中的任意两节点(nmi,nmj)用直线连成线段,判断所述线段是否与所述障碍物相交,若不相交,则计算节点nmi和节点nmj之间的欧氏距离dij并作为nminmj弧的权值;若相交,则nminmj弧的权值为∞;
步骤S303:更新完M条路径的加权图后,将所述加权图保存在一个邻接矩阵A中;
步骤S304:根据最优粒子Dijkstra算法从所述邻接矩阵A中选出最小加权值对应的路径为最终路径。
4.如权利要求2所述的基于粒子群算法的机器人路径规划方法,其特征在于,所述步骤S202根据预设更新规则从每个粒子的起点开始进行路径节点更新,从而生成若干条优化路径包括:
步骤S2021:根据当前第d个路径节点的位置更新速度Vd对相应的粒子进行路径节点更新,判断所述更新后的第d+1个路径节点与所述第d个路径节点连成的直线段是否与所述障碍物相交;所述d为小于或等于D的正整数,所述D为大于2的正整数,其中,每个粒子由D个路径节点构成,所述位置更新速度Vd为由D个路径节点构成的粒子的第d个路径节点的位置更新速度;
步骤S2022:若是,则采用粒子群算法速度更新公式重新生成所述上一个第d个路径节点的位置更新速度Vd并返回执行步骤S2021;
步骤S2023:若否,继续对所述粒子进行路径节点更新,直至到达所述终点为止。
5.如权利要求1所述的基于粒子群算法的机器人路径规划方法,其特征在于,所述步骤S102对所述活动场地中的障碍物进行规则化处理,获得所述障碍物在所述直角坐标系中的顶点坐标具体包括:
步骤S1021:根据所述障碍物的形状和位置信息,使用能够完全覆盖所述障碍物的最小矩形进行初步建模,其中所述矩形与所述直角坐标系的坐标轴平行;
步骤S1022:将所述初步建模的矩形的四边分别向外延伸二分之一机器人的长度,获得延伸后得到的矩形的各个顶点坐标。
6.一种基于粒子群算法的机器人路径规划装置,其特征在于,包括:
建模模块,用于根据机器人活动场地的信息进行建模,生成模拟环境;
第一优化模块,根据所述机器人活动的起点和终点随机生成N条不与所述障碍物相交的初始路径,采用基于粒子群算法的方法在所述模拟环境中,对N条初始路径进行优化,在优化产生的路径中选出M条全局最优路径;
第二优化模块,采用基于Dijkstra算法的方法从所述M条全局最优路径中选出最终路径。
7.如权利要求6所述的基于粒子群算法的机器人路径规划装置,其特征在于,所述第一优化模块包括:
初始化单元,用于初始化粒子群,其中所述粒子群中包含N个粒子,每个粒子均为与所述障碍物不相交的初始路径;
路径更新单元,根据预设更新规则从每个粒子的起点开始进行路径节点更新,从而生成若干条优化路径;
适应度计算单元,对每个粒子自身产生的所有优化路径进行适应度函数计算,从所有粒子的所有优化路径中选出M个适应度值最小的路径作为全局最优路径。
8.如权利要求6所述的基于粒子群算法的机器人路径规划装置,其特征在于,所述第二优化模块包括:
集合单元,用于将所述M条全局最优路径表示成集合P:
其中,S表示路径的起始位置,T表示目标位置,S和T均为定值;nmi表示第m个粒子中的第i个路径节点,D为大于2的正整数;
权值计算单元,用于对集合P中的任意两节点(nmi,nmj)用直线连成线段,判断所述线段是否与所述障碍物相交,若不相交,则计算节点nmi和节点nmj之间的欧氏距离dij并作为nminmj弧的权值;若相交,则nminmj弧的权值为∞;
加权图单元,用于新完M条路径的加权图后,将所述加权图保存在一个邻接矩阵A中;
最终路径单元,用于根据最优粒子Dijkstra算法从所述邻接矩阵A中选出最小加权值对应的路径为最终路径。
9.一种基于粒子群算法的机器人路径规划的终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810464127.7A CN108645411B (zh) | 2018-05-15 | 2018-05-15 | 基于粒子群算法的机器人路径规划方法、装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810464127.7A CN108645411B (zh) | 2018-05-15 | 2018-05-15 | 基于粒子群算法的机器人路径规划方法、装置及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108645411A CN108645411A (zh) | 2018-10-12 |
CN108645411B true CN108645411B (zh) | 2020-07-10 |
Family
ID=63755965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810464127.7A Active CN108645411B (zh) | 2018-05-15 | 2018-05-15 | 基于粒子群算法的机器人路径规划方法、装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108645411B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019218159A1 (zh) * | 2018-05-15 | 2019-11-21 | 深圳大学 | 一种基于粒子群算法的机器人路径规划方法、装置及终端设备 |
CN109828564B (zh) * | 2019-01-28 | 2022-06-17 | 广州杰赛科技股份有限公司 | 一种无人驾驶汽车路径规划的优化方法、装置及终端设备 |
CN109947100B (zh) * | 2019-03-12 | 2022-05-24 | 深圳优地科技有限公司 | 路径规划方法、系统及终端设备 |
CN109901594A (zh) * | 2019-04-11 | 2019-06-18 | 清华大学深圳研究生院 | 一种除草机器人的定位方法及系统 |
CN112116120B (zh) * | 2019-06-20 | 2024-09-20 | 北京京东振世信息技术有限公司 | 物流路径规划方法和装置 |
WO2021016920A1 (zh) * | 2019-07-31 | 2021-02-04 | 深圳市大疆创新科技有限公司 | 可通行性的识别方法、系统、设备及计算机可读存储介质 |
CN110928297B (zh) * | 2019-10-28 | 2020-10-30 | 中南大学 | 基于多目标动态粒子群优化的智能公交车辆路径规划方法 |
CN110954124A (zh) * | 2019-12-13 | 2020-04-03 | 山东大学 | 一种基于a*-pso算法的自适应路径规划方法及系统 |
CN111766875B (zh) * | 2020-06-18 | 2023-07-14 | 珠海格力智能装备有限公司 | 吸尘设备的避障方法及装置、电子设备 |
CN111998859B (zh) * | 2020-09-16 | 2022-08-05 | 杭州海康消防科技有限公司 | 一种路径规划方法、装置、电子设备及路径指示系统 |
CN114115286B (zh) * | 2021-12-06 | 2024-03-19 | 国网山东省电力公司汶上县供电公司 | 变电站机器人巡检系统与方法 |
CN116164753B (zh) * | 2023-04-18 | 2023-08-08 | 徐州徐工重型车辆有限公司 | 矿山无人车路径导航方法和装置、计算机设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980741A (zh) * | 2017-05-05 | 2017-07-25 | 桂林电子科技大学 | 一种面向分支线缆自动布线的路径搜索方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105717929B (zh) * | 2016-04-29 | 2018-06-15 | 中国人民解放军国防科学技术大学 | 一种多分辨率障碍物环境下移动机器人混合路径规划方法 |
-
2018
- 2018-05-15 CN CN201810464127.7A patent/CN108645411B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980741A (zh) * | 2017-05-05 | 2017-07-25 | 桂林电子科技大学 | 一种面向分支线缆自动布线的路径搜索方法 |
Non-Patent Citations (1)
Title |
---|
基于粒子群算法的移动机器人路径规划;秦元庆, 孙德宝, 李宁, 马强;《机器人》;20040531;第26卷(第3期);第222-225页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108645411A (zh) | 2018-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108645411B (zh) | 基于粒子群算法的机器人路径规划方法、装置及终端设备 | |
CN109828564B (zh) | 一种无人驾驶汽车路径规划的优化方法、装置及终端设备 | |
CN110307838B (zh) | 机器人重定位方法、装置、计算机可读存储介质及机器人 | |
CN110955242A (zh) | 机器人导航方法、系统、机器人及存储介质 | |
CN110471409B (zh) | 机器人巡检方法、装置、计算机可读存储介质及机器人 | |
CN112541786A (zh) | 一种网点选址方法、装置、电子设备和存储介质 | |
CN111079533B (zh) | 无人车驾驶决策方法、无人车驾驶决策装置及无人车 | |
CN113139696B (zh) | 一种轨迹预测模型构建方法及轨迹预测方法、装置 | |
CN110955241A (zh) | 移动机器人避障方法、装置、移动机器人及存储介质 | |
CN109974699B (zh) | 一种机器人及其地图自主探索方法和装置 | |
CN110633843B (zh) | 园区巡检方法、装置、设备及存储介质 | |
WO2022121207A1 (zh) | 轨迹规划方法、装置、设备、存储介质和程序产品 | |
CN111288995B (zh) | 移动机器人的路径规划方法、路径规划装置及终端设备 | |
CN111707279A (zh) | 一种激光点云与地图的匹配评价方法、介质、终端和装置 | |
CN111707262B (zh) | 基于最近点向量投影的点云匹配方法、介质、终端和装置 | |
CN111731326A (zh) | 避障策略确定方法、装置及存储介质 | |
CN111522335B (zh) | 基于改进粒子群算法的机器人路径优化方法及系统 | |
WO2019218159A1 (zh) | 一种基于粒子群算法的机器人路径规划方法、装置及终端设备 | |
Kapadia et al. | Dynamic search on the GPU | |
CN111368860A (zh) | 重定位方法及终端设备 | |
CN113850904A (zh) | 发丝模型的确定方法、装置、电子设备及可读存储介质 | |
Zoev et al. | Convolutional neural networks of the YOLO class in computer vision systems for mobile robotic complexes | |
CN110887490B (zh) | 一种激光定位导航的关键帧选取方法、介质、终端和装置 | |
CN114986524B (zh) | 基于脑机接口的机械臂轨迹规划方法、装置以及电子设备 | |
CN113119996B (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 |