CN105527964A - 一种机器人路径规划方法 - Google Patents

一种机器人路径规划方法 Download PDF

Info

Publication number
CN105527964A
CN105527964A CN201510996618.2A CN201510996618A CN105527964A CN 105527964 A CN105527964 A CN 105527964A CN 201510996618 A CN201510996618 A CN 201510996618A CN 105527964 A CN105527964 A CN 105527964A
Authority
CN
China
Prior art keywords
path
point
paths
robot
current
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
Application number
CN201510996618.2A
Other languages
English (en)
Other versions
CN105527964B (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.)
Guilin University of Electronic Technology
Original Assignee
Guilin University of Electronic Technology
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 Guilin University of Electronic Technology filed Critical Guilin University of Electronic Technology
Priority to CN201510996618.2A priority Critical patent/CN105527964B/zh
Publication of CN105527964A publication Critical patent/CN105527964A/zh
Application granted granted Critical
Publication of CN105527964B publication Critical patent/CN105527964B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0217Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本发明公开一种机器人路径规划方法,在人工鱼群算法基础上引入方向算子来提升聚群、追尾、甚至是觅食等鱼群行为的准确度和成功率,增加免疫记忆操作来提高算法的全局搜索能力并减少局部极值出现的概率。在两种典型栅格地图环境下的仿真实验表明,这一免疫-方向性人工鱼群算法与快速遗传算法和常规人工鱼群算法相比,具有更好的结果稳定性、更短的计算时间和更接近最优路径的可行解。

Description

一种机器人路径规划方法
技术领域
本发明属于机器人人工智能技术领域,具体涉及一种机器人路径规划方法。
背景技术
路径规划作为移动机器人导航关键技术之一受到广泛重视。机器人路径规划是在一定环境下,满足一定的优化准则,如工作代价最小、行走路线最短、行走时间最少或能量消耗最少等标准,在运动空间中找到一条从起始状态到目标状态、可以避开障碍物的最优或者接近最优的路径。传统优化方法,如人工势场法、可视图法和栅格法等,在机器人路径规划这类复杂非线性优化问题中缺乏足够的鲁棒性。
随着人工智能技术的不断发展,神经网络算法、遗传算法、粒子群算法和人工鱼群算法等智能仿生路径规划算法得到应用,已取得一系列研究成果,形成一系列典型规划算法。J.Lee引入遗传算法,在自然选择过程中采用两种评估函数,得到了一种简单环境下的快速遗传算法(FastGeneticAlgorithm,FGA)。实验表明该算法能满足实时性的要求,但是路径长度偏长。莫宏伟在粒子群优化算法(ParticleSwarmOptimization,PSO)基础上,引入生物地理中迁移算子之间的信息共享解决方案,将仿生优化(Biogeography-basedOptimization,BBO)思想与之结合,形成一种新的仿生粒子群算法BPSO,优点是编程易于实现,算法运算速度快,缺点是路径长度过大,难以准确得到路径规划的最优解。Joon-WooLee等人针对蚁群算法(AntColonyOptimization,ACO)会导致局部最优的问题,提出异构蚁群算法(HeterogeneousACO,HACO),但是该算法运行时间长,实时性能不高。Z.-H.Yao等人将人工鱼群算法(ArtificialFishSwarmAlgorithm,AFSA)应用于机器人路径规划,具有鲁棒性强等优点,但也存在后期收敛速度低、易陷入局部最优解,导致最终结果精度下降等缺点。
发明内容
本发明所要解决的是传统人工鱼群算法应用于机器人路径规划存在后期收敛速度低和易陷入局部最优解的问题,提供一种机器人路径规划方法。
为解决上述问题,本发明是通过以下技术方案实现的:
一种机器人路径规划方法,包括如下步骤:
步骤1,将移动机器人的行走区域分割成规则且均匀的栅格,每个栅格只有占据或自由两种状态,占据状态的栅格表示障碍物,自由状态的栅格表示可行点;在可行点中决定好机器人的起点与终点;
步骤2,随机生成N条初始的路径,这些路径中的每一条路径的第一个路径点为起点,最后一个路径点为终点;
步骤3,每条路径随机选择鱼群的聚群行为或者追尾行为,根据聚群行为描述或追尾行为描述来改变该条路径中除起点终点之外的其他路径点的位置,以生成一条新的路径;
步骤4,经过步骤3的处理后,每条路径都会得到一条新的路径,由此得到2N条路径,其中N条为原路径,N条为新路径;
步骤4.1,找出这2N条路径中路径长度最小的一条路径,并记录该条最小路径的路径长度及其路径点;
步骤4.2,计算这2N条路径的适应度函数值,并从2N条原路径中选出X条适应度函数值大的路径;
步骤4.3,分别对这X条路径的适应度函数值进行矢量距运算,得到每条路径的矢量距,并将每条路径的矢量距除以X条路径的总的矢量距,得到每条路径的选择概率;
步骤5,将步骤4.1所记录的最小路径的路径长度和上一次循环迭代所选定的最小路径的路径长度进行比较,选定两者中路径长度相对小的路径作为本次循环迭代所选定的最小路径;同时从X条路径中选择N条选择概率相对大的路径作为下一次迭代的初始的路径;
步骤6,循环执行步骤3-5,直至选定的最小路径保持不变的次数达到预设的次数不变阈值或循环次数达到预设的循环次数阈值时,则将该选定的最小路径作为最优路径,将最优路径的路径点依次连起来便为机器人的行走路径;
其中N≥1,N≤X≤2N。
上述步骤3中,所述的聚群行为描述具体为:
步骤3.1.1,遍历N条路径;
步骤3.1.2,对于当前路径D,其中D∈N,计算其余N-1条路径的中心位置之间与当前路径的中心位置的中心距离,选出中心距离在预设中心距离范围visual内的路径作为选中路径;
步骤3.1.3,判定是否需要进行聚群学***均值,则认为当前路径D需要向选中路径学习,并进入步骤3.1.4;否则,进入步骤4;
步骤3.1.4,遍历当前路径D中除了起点跟终点的其他路径点;对每个路径点来说,做两条矢量,其中一条矢量方向是路径点到所有选中路径的平均中心位置方向,另一条矢量方向是路径点到终点位置,得到的这两个矢量方向进行一个矢量运算,得到一个最终的前进方向;
步骤3.1.5,当前路径点再向前进方向移动随机路径长度;若路径点不能顺利前进,即超出行走区域边界、或者前进到障碍点上、或者移动前当前路径D的路径长度比移动后当前路径D的路径长度小,则此路径点不执行前进操作,并将失败次数加1,并进入下一个路径点;当失败次数达到预设的失败次数阈值时,则视为此路径前进失败,放弃前进,进入步骤4;若路径点能顺利前进,则直接进入步骤4;
其中0<δ<1。
上述步骤3中,所述的追尾行为描述具体为:
步骤3.2.1,遍历N条路径;
步骤3.2.2,对于当前路径D,其中D∈N,计算其余N-1条路径的中心位置之间与当前路径的中心位置的中心距离,选出中心距离在预设中心距离范围visual内的路径作为选中路径,并从选中路径中选出路径长度最小的路径Y;
步骤3.2.3,判定是否需要进行追尾学***均值,则认为当前路径D需要向路径Y学习,并进入步骤3.2.4;否则,进入步骤4;
步骤3.2.4,遍历当前路径D中除了起点跟终点的其他路径点;对每个路径点来说,做两条矢量,其中一条矢量方向是路径点到路径Y的中心位置方向,另一条矢量方向是路径点到终点位置,得到的这两个矢量方向进行一个矢量运算,得到一个最终的前进方向;
步骤3.2.5,当前路径点再向前进方向移动随机路径长度;若路径点不能顺利前进,即超出行走区域边界、或者前进到障碍点上、或者移动前当前路径D的路径长度比移动后当前路径D的路径长度小,则此路径点不执行前进操作,并将失败次数加1,并进入下一个路径点;当失败次数达到预设的失败次数阈值时,则视为此路径前进失败,放弃前进,进入步骤4;若路径点能顺利前进,则直接进入步骤4;
其中0<δ<1。
上述步骤3还进一步包括:每条路径在执行完聚群或者追尾行为后,如果该条路径的路径长度不能变得更小,则需要进一步执行觅食行为。
上述步骤3中,所述的觅食行为描述具体为:
步骤3.3.1,遍历当前执行觅食行为的路径中除了起点跟终点的每一个路径点;
步骤3.3.2,对于当前路径点,首先随机选取一个方向,然后做两条矢量,其中一条矢量方向是路径点到随机选取的方向,另一条矢量方向是路径点到终点位置,得到的这两个矢量方向进行一个矢量运算,得到一个最终的前进方向F;
步骤3.3.3,当前路径点再向前进方向移动随机路径长度;若路径点不能顺利前进,即超出行走区域边界、或者前进到障碍点上、或者移动前当前路径D的路径长度比移动后当前路径D的路径长度小,则此路径点不执行前进操作,并将失败次数加1,并进入下一个路径点;当失败次数达到预设的失败次数阈值时,则视为此路径前进失败,放弃前进,进入步骤4;否则,返回步骤3.3.2,下一个路径点尝试移动,直至当前执行觅食行为的路径的所有路径点均移动完成。
上述方案中,当前路径点D再向前进方向移动的随机路径长度需要小于预设移动路径长度范围step。
上述步骤4.2和4.3中,X条路径包括从N条原路径中选出的p条适应度函数值大的路径和从N条新路径中选出的w条适应度函数值大的路径;其中N≤X≤2N,0≤p≤N,0≤w≤N。
上述步骤4.3之后还进一步包括,步骤4.4,按选择概率的大小,对X条路径进行排序的步骤,其中N≤X≤2N。
上述步骤5中,在进行第一次循环迭代时,用于与记录的最小路径的路径长度进行比较的上一次循环迭代所选定的最小路径的路径长度为设定的初始值0。
与现有技术相比,本发明为免疫-方向性人工鱼群算法IDAFSA(Immune-DirectionalArtificialFishSwarmAlgorithm,其在人工鱼群算法基础上引入方向算子来提升聚群、追尾、以及觅食鱼群行为的准确度和成功率,增加免疫记忆操作来提高算法的全局搜索能力并减少局部极值出现的概率。在两种典型栅格地图环境下的仿真实验表明,这一免疫-方向性人工鱼群算法IDAFSA算法与快速遗传算法(FGA)和常规人工鱼群算法(AFSA)相比,具有更好的结果稳定性、更短的计算时间和更接近最优路径的可行解。
附图说明
图1为一种机器人路径规划方法的流程图。
图2为一种机器人路径规划方法的仿真路径结果图。
具体实施方式
针对传统AFSA算法后期收敛速度降低的情况,本发明对鱼群中单条鱼的状态增加方向算子来提升鱼群觅食、聚群、追尾等行为能力与成功率,有利于加快收敛速度。同时将免疫记忆特性引入到人工鱼群算法中来提高算法的全局搜索能力并增强避免限于局部解的能力,我们将这一改进算法称为免疫-方向性人工鱼群算法(Immune-DirectionalArtificialFishSwarmAlgorithm,IDAFSA)算法。
基于免疫-方向性人工鱼群算法的一种机器人路径规划方法,如图1所示,具体包括如下步骤:首先确定整个环境模型,包括起点、终点、障碍物以及可行点,精确描述适应度函数。然后将免疫特性引入人工鱼群算法的优化,求解出最优的可行解。最后对两个栅格地图的仿真实验获得的数据进行分析。
IDAFSA算法开始优先选择聚群或追尾行为,如果不能变得更好则选择觅食行为。然后对原来的数据进行修改,然后进行免疫选择。没有满足结束条件则重新选择聚群或追尾行为。
1基础定义
1.1对路径进行定义
利用Dijkstra算法的路径编码方法,将第k条鱼游动的路径点从起点S到终点T逐一连接,生成路径结果Pk,连接的过程中不会触碰到障碍物。每个路径点都有一个唯一的坐标,设第i个路径点的坐标为Ai=(xi,yi),则第k条鱼的路径结果Pk
Pk={S,A1,…,Ai,…An,T}
(1)
={(Sx,Sy),(x1,y1),…,(xi,yi),…(xn,yn),T}
其中n为路径点的总数。这里需要注意起点S=(Sx,Sy)和终点T=(Tx,Ty)对所有人工鱼都是相同的。优化工作就是调整Ai(i=1,…,n)的位置,寻找具有最短路径的人工鱼,从而得到机器人在规划空间的最优(或近似最优)移动路径。
1.2路径长度(即路径值)的定义
路径长度就是将路径上的各个路径点依次连起来的之后,计算每条连线的长度总和。
假设一个路径的路径点坐标分别是{(x1,y1),(x2,y2),……,(xn,yn)},则该条路径的路径长度为: ( x 1 - x 2 ) 2 + ( y 1 - y 2 ) 2 + ( x 2 - x 3 ) 2 + ( y 2 - y 3 ) 2 + ... + ( x n - 1 - x n ) 2 + ( y n - 1 - y n ) 2 .
1.3平均路径长度的定义
假设总共有n条路径,则这n个路径的路径长度的平均值就是平均路径长度。
1.4中心位置的定义
每条路径都有一个中心位置,其具体体现为一个坐标值,该坐标值是该条路径的所有路径点的坐标值加起来的平均值。
假设一个路径的路径点坐标分别是{(x1,y1),(x2,y2),……,(xn,yn)},则该条路径的中心位置为: ( x 1 + x 2 + ... x n n , y 1 + y 2 + ... y n n ) .
1.5平均中心位置的定义
假设总共有n条路径,则这n个路径的中心位置的平均值就是平均中心位置。
1.6对适应度函数进行改进定义
路径规划要求满足两个条件:免碰撞和路径最优。免碰撞是路径规划的基本条件,是机器安全通过工作空间的保证。免碰撞条件是任意路径点不在障碍物集合内,同时前后路径点的连线与各障碍物区域不相交;路径最优是指路径长度最小。因此路径的全局适应度函数应能有效区分碰撞可能并能体现出每条路径的优劣性,这里全局适应度函数由免碰撞适应度和路径适应度两部分构成。
1.6.1免碰撞适应度函数
任意路径点不在障碍物集合B内。对第k条鱼的某个路径点Ai的局部适应度函数可表示为
fit 1 i ( P k ) = 1 , A i ∉ B 0 , A i ∈ B - - - ( 2 )
即路径点Ai若落在障碍物集合B区域内,则其局部适应度为0,反之为1。第k条鱼的路径点全局适应度函数为
fit 1 ( P k ) = Π i = 1 n fit 1 i ( P k ) - - - ( 3 )
前后路径点的连线与各障碍物区域不相交。第k条鱼的当前路径点Ai与下一路径点Ai+1的连线为AiAi+1(1≤i≤n),若与障碍物集合B区域不相交则相应的局部适应度为1,相交则局部适应度为0,即:
fit 2 i ( P k ) = 1 , A i A i +1 ∩ B = φ 0 , A i A i +1 ∩ B ≠ φ - - - ( 4 )
考虑第k条鱼整个路径连线的全局适应度函数为
fit 2 ( P k ) = Π i = 1 n fit 2 i ( P k ) - - - ( 5 )
1.6.2路径长度适应度函数
路径最优是指路径越短越优,路径长度适应度函数fit3可表示为:
fit 3 = ( T x - S x ) 2 + ( T y - S y ) 2 ( S x - x 1 ) 2 + ( S y - y 1 ) 2 + Σ i = 2 n - 1 ( ( x i - x i - 1 ) 2 + ( y i - y i - 1 ) 2 ) + ( T x - x n ) 2 + ( T y - x n ) 2 - - - ( 6 )
fit3取值在0-1之间,路径越优,fit3越小,说明机器人走过的路径越长。
1.6.3平滑度适应度函数
在路径优化过程中,不仅考虑路径长度还考虑路径线段的平滑度。设有向线段AiAi-1、AiAi+1间的夹角为αi(0≤αi≤π),则定义对应的平滑度适应度函数为:
fit 4 i = α i π - - - ( 7 )
fit4取值在0-1之间,当αi=0,相当于下一路径段折返,fit4=0,为最差情况;当αi=π时,相当于下一路径段保持原方向前进,fit4=1,为最优情况。第k条鱼整个路径的平滑度适应度函数为
fit 4 = Π i = 2 n α i π - - - ( 8 )
1.6.4总全局适应度函数
将以上约束条件有机结合在一起,得到总全局适应度函数Fit
Fit=fit1*fit2*fit3*fit4(9)
总全局适应度越高,路径越优。
2进行初始化
2.1对地图进行初始化
用栅格法对地图进行二维空间建模,如图2所示将移动机器人所在环境分割成规则且均匀的栅格,每个栅格只有占据或自由两种状态。占据状态的栅格表示障碍物,自由状态的栅格表示可行点。然后在可行点中决定好机器人的起点与终点。例如图2的起点坐标为(2,4),终点坐标为(47,46)。
2.2对机器人的行走路径进行初始化
首先随机生成100个可行路径,这100个路径中的每一条路径的第一个点为起点,最后一个点为终点,并且要求每一条路径的每两个连续的点之间的连线不能覆盖障碍物。
2.3对于参数进行初始化
预定预设中心距离范围为visual,预设移动路径长度范围为step,表示路径密集程度的拥挤度因子为δ(0<δ<1),总路径数量为N个,当次迭代中执行到的当前路径为D。初始失败次数设为tryNumber。
2.3对于失败的认定
对于失败的认定,可以采用以下两种方式:方式一:递增方式,此时初始失败次数设为0,每次失败一次,失败次数加1,当失败次数达到预设的失败次数阈值时,则视为前进失败。方式二:递减方式,此时初始失败次数设为非零的数值,每次失败一次,失败次数减1,当失败次数由初始失败次数减为0时,则视为前进失败。以上两种方式仅仅是描述上的不同而已,但对整个算法的实质上没有任何影响。权利要求采用方式一进行描述,本实施例中采用方式二进行描述。
3改进的鱼群算法推演
3.1聚群与追尾行为
每条路径随机选择鱼群的聚群行为或者追尾行为,根据各自行为描述来改变除起点终点之外,其他路径可行点的位置。
3.1.1改进的聚群行为描述
1)路径D搜索除了D自身之外的路径,也就是搜索N-1个路径。找到这N-1个路径中中心距离距离路径D在0~visual范围的这些路径,这些路径个数为L。计算这L条路径的平均路径长度以及平均中心位置。平均路径长度取L个路径长度的平均值,平均中心位置取L个路径包含的所有路径点的平均值。
2)如果(D的路径长度×δ×L)小于L个路径的路径长度的平均值,则会认为D可以向这L个路径学习,则执行3)。不然直接执行5)。
3)然后D中遍历除了起点跟终点的其他路径点们。对这些路径点中的每个路径点来说,做两条矢量,一条矢量方向是点到L个路径的中心位置方向,一条矢量方向是点到D的终点位置,得到的这两个矢量方向进行一个矢量运算,得到一个最终的前进方向F。
4)路径点再向F移动0至step的随机路径长度,如果路径点不能顺利移动,即超出边界,或者前进到障碍点上,或者移动之后D的路径长度大于移动前D的路径长度,则此路径点不执行前进操作,但是tryNuLber减1。当tryNuLber到0时,则视为此路径前进失败,进入觅食行为。若路径点能顺利移动则进入下一步,免疫选择。
5)如果上面的2)中的条件不能满足,则不执行聚群行为,则当前路径不会变得更好,则进入下一步觅食行为。
3.1.2改进的追尾行为描述
1)D搜索除了D自身的路径,也就是搜索N-1个。找到这N-1个路径中中心距离距离路径D在0至visual范围的这些路径,这些路径个数为M。通过比较M个路径的路径长度,得到M个路径里面路径值最小的路径Y,路径Y即为M个路径中的最优路径。
2)如果(D的路径长度×δ×M)小于Y的路径长度,则会认为D可以向Y学习,则执行3)。否则执行5)。
3)然后D中遍历除了起点跟终点的其他路径点们。对这些路径点中的每个路径点来说,做两条矢量,一条矢量方向是点到X中心位置的方向,一条矢量方向是点到D的终点位置,得到的这两个矢量方向进行一个矢量运算,得到一个最终的前进方向F。
4)路径点再向F移动0至step的随机路径长度,如果路径点不能顺利移动,即超出边界,或者前进到障碍点上,或者移动之后D的路径长度大于移动前D的路径长度,则此路径点不执行前进操作,但是tryNuLber减1。当tryNuLber到0时,则视为此路径前进失败,进入觅食行为。若路径点能顺利移动则进入下一步,免疫选择。
5)如果上面的2)中的条件不能满足,则不执行追尾行为,则当前路径不会变得更好,则进入下一步觅食行为。
3.2觅食行为
当路径D执行完聚群或者追尾行为后,如果路径D的路径值不能变得更小,则需要执行觅食行为。
3.2.1改进的觅食行为描述
1)D遍历路径中除了起点跟终点的每一个路径点。对每个路径点来说,随机选取一个方向,然后做两条矢量,一条矢量方向是点到随机选取的方向,一条矢量方向是点到终点位置,得到的这两个矢量方向进行一个矢量运算,得到一个最终的前进方向F。
2)路径点再向F移动0至step的随机路径长度。如果路径点不能顺利移动(超出边界或者前进到障碍点上),或者移动之后D的路径长度大于移动前D的路径长度,则此路径点不执行前进操作,但是tryNuLber减1。当tryNuLber到0时,则视为此路径移动失败,放弃前进,进入下一步免疫选择。若能顺利前进则进入下一步,免疫选择。
3.3免疫选择
1)预设原来有100个路径,在经过了聚群行为、追尾行为以及觅食行为的过程后,每个路径都会得到一个新路径。这样我们会得到新的100个路径,也就是总数是200个路径。找到这200里面中的路径最小值以及其路径点,并记录下来。
2)然后对这200的路径的适应度函数值进行计算,并记录。
3)从旧的100个路径中选出适应度函数值大的p个路径,从新的100个路径中选出w个路径,满足(100<p+w<=200)。现在就有p+w个路径。对这p+w个路径的适应度函数值分别进行免疫算法中的矢量距运算,再除以p+w个路径的总矢量距,就得到每个路径的选择概率。
4)按选择概率的大小,从大到小排序p+w个路径。进入下一步,修改数据。
3.4修改数据
1)当执行完免疫选择之后,免疫选择得到的200路径中的最小值跟之前的最小值比较,如果新得到的比之前的路径值要小,则取代。如果比之前的大,则不取代(程序执行的第一次迭代必然取代)。
2)免疫选择中已排序好的p+w个路径,选择前100个,取代原来的100个路径成为下一次遍历的初始路径。然后进入下一步,判断程序是否结束。
3.5判断程序是否结束
当修改完数据后,我们得到了新的100个路径以及新的最小值路径。此时需要判断程序结束还是进入下一次的遍历。程序结束需要满足以下其中一个条件,否则进入下一次循环。最后得出的结果就是最后一次修改数据中的最小值数值,也就是程序的最小值。
1)判断程序是否已经执行了100次,如果达到100次,则允许程序结束。
2)判断程序的最小值路径是否连续50次不变,如果连续50次不变,则允许程序结束。
3.6结果
程序结束时得到的路径最小值以及其相应的路径点,则为这次程序的最优路径。如结构图中把最优路径的路径点依次连起来,则得到了机器人的行走路径。行走路径与最小的路径值,这就是得到的最后结果。
为了分析IDAFSA全局搜索路径的性能,我们设计了两个网格地图环境,跟普通的FGA以及AFSA在相同情况下进行算法性能上的比较。在本文中,三个算法都是用C++编程语言,在VisualStudio2012中模拟仿真,计算机配置为Intel(R)Core(TL)i7-4700LPCPU2.40GHz,内存(RAL)8GB,64位Window7操作***。采用栅格法对机器人路径规划进行建模,如图2,黑色方块为地图中的障碍物,构成障碍物集合B={B1,B2,...,BL},其它区域表示了机器人能安全通过的区域。机器人行走的路径点Ai,将路径点相连形成一条完整的机器人行走路径,即人工鱼群中的单条鱼,不同的路径点相连就生成不同的单条鱼,这样就形成了人工鱼群。αi为有向线段的夹角。这次实验选择了一个网格地图环境用以检测算法的可行性。机器人行走路径的起始结点为(2,4),目标结点为(47,46)。IDAFSA的拥挤因子设为δ=0.618,允许失败次数Try_nuLber=10。实验中算法在图2地形下运行100次,每次100代,最终的结果都是取这100次的平均值。终止条件:I.如果算法在一次中连续50代最优解不变,则停止运行。II.算法运行了100代,则停止运行。仿真实验结果表明,IDAFSA算法和普通的AFSA相比,改进的算法具有较好的全局寻优能力,实时性能好,算法稳定,并且能在可接受的时间内产生很好的路径。
在人工鱼群机器人路径规划算法中加入方向算子,可有效地提高觅食、聚群和追尾三种鱼群行为的效率。在人工鱼群算法中增加免疫算法操作可有效地提高算法的全局搜索能力并减少局部极值出现的概率。仿真实验结果很好地证明了所得改进人工鱼群机器人路径规划算法IDAFSA在机器人路径规划中具有更好的结果稳定性、更短的计算时间和更接近最优路径的可行解,意味着IDAFSA在机器人路径规划中有很好的应用前景。

Claims (9)

1.一种机器人路径规划方法,其特征是,包括如下步骤:
步骤1,将移动机器人的行走区域分割成规则且均匀的栅格,每个栅格只有占据或自由两种状态,占据状态的栅格表示障碍物,自由状态的栅格表示可行点;在可行点中决定好机器人的起点与终点;
步骤2,随机生成N条初始的路径,这些路径中的每一条路径的第一个路径点为起点,最后一个路径点为终点;
步骤3,每条路径随机选择鱼群的聚群行为或者追尾行为,根据聚群行为描述或追尾行为描述来改变该条路径中除起点终点之外的其他路径点的位置,以生成一条新的路径;
步骤4,经过步骤3的处理后,每条路径都会得到一条新的路径,由此得到2N条路径,其中N条为原路径,N条为新路径;
步骤4.1,找出这2N条路径中路径长度最小的一条路径,并记录该条最小路径的路径长度及其路径点;
步骤4.2,计算这2N条路径的适应度函数值,并从2N条原路径中选出X条适应度函数值大的路径;
步骤4.3,分别对这X条路径的适应度函数值进行矢量距运算,得到每条路径的矢量距,并将每条路径的矢量距除以X条路径的总的矢量距,得到每条路径的选择概率;
步骤5,将步骤4.1所记录的最小路径的路径长度和上一次循环迭代所选定的最小路径的路径长度进行比较,选定两者中路径长度相对小的路径作为本次循环迭代所选定的最小路径;同时从X条路径中选择N条选择概率相对大的路径作为下一次迭代的初始的路径;
步骤6,循环执行步骤3-5,直至选定的最小路径保持不变的次数达到预设的次数不变阈值或循环次数达到预设的循环次数阈值时,则将该选定的最小路径作为最优路径,将最优路径的路径点依次连起来便为机器人的行走路径;
其中N≥1,N≤X≤2N。
2.根据权利要求1所述的一种机器人路径规划方法,其特征是,步骤3中,所述的聚群行为描述具体为:
步骤3.1.1,遍历N条路径;
步骤3.1.2,对于当前路径D,其中D∈N,计算其余N-1条路径的中心位置之间与当前路径的中心位置的中心距离,选出中心距离在预设中心距离范围visual内的路径作为选中路径;
步骤3.1.3,判定是否需要进行聚群学***均值,则认为当前路径D需要向选中路径学习,并进入步骤3.1.4;否则,进入步骤4;
步骤3.1.4,遍历当前路径D中除了起点跟终点的其他路径点;对每个路径点来说,做两条矢量,其中一条矢量方向是路径点到所有选中路径的平均中心位置方向,另一条矢量方向是路径点到终点位置,得到的这两个矢量方向进行一个矢量运算,得到一个最终的前进方向;
步骤3.1.5,当前路径点再向前进方向移动随机路径长度;若路径点不能顺利前进,即超出行走区域边界、或者前进到障碍点上、或者移动前当前路径D的路径长度比移动后当前路径D的路径长度小,则此路径点不执行前进操作,并将失败次数加1,并进入下一个路径点;当失败次数达到预设的失败次数阈值时,则视为此路径前进失败,放弃前进,进入步骤4;若路径点能顺利前进,则直接进入步骤4;
其中0<δ<1。
3.根据权利要求1所述的一种机器人路径规划方法,其特征是,步骤3中,所述的追尾行为描述具体为:
步骤3.2.1,遍历N条路径;
步骤3.2.2,对于当前路径D,其中D∈N,计算其余N-1条路径的中心位置之间与当前路径的中心位置的中心距离,选出中心距离在预设中心距离范围visual内的路径作为选中路径,并从选中路径中选出路径长度最小的路径Y;
步骤3.2.3,判定是否需要进行追尾学***均值,则认为当前路径D需要向路径Y学习,并进入步骤3.2.4;否则,进入步骤4;
步骤3.2.4,遍历当前路径D中除了起点跟终点的其他路径点;对每个路径点来说,做两条矢量,其中一条矢量方向是路径点到路径Y的中心位置方向,另一条矢量方向是路径点到终点位置,得到的这两个矢量方向进行一个矢量运算,得到一个最终的前进方向;
步骤3.2.5,当前路径点再向前进方向移动随机路径长度;若路径点不能顺利前进,即超出行走区域边界、或者前进到障碍点上、或者移动前当前路径D的路径长度比移动后当前路径D的路径长度小,则此路径点不执行前进操作,并将失败次数加1,并进入下一个路径点;当失败次数达到预设的失败次数阈值时,则视为此路径前进失败,放弃前进,进入步骤4;若路径点能顺利前进,则直接进入步骤4;
其中0<δ<1。
4.根据权利要求1所述的一种机器人路径规划方法,其特征是,步骤3还进一步包括。
5.根据权利要求4所述的一种机器人路径规划方法,其特征是,步骤3中,所述的觅食行为描述具体为:
步骤3.3.1,遍历当前执行觅食行为的路径中除了起点跟终点的每一个路径点;
步骤3.3.2,对于当前路径点,首先随机选取一个方向,然后做两条矢量,其中一条矢量方向是路径点到随机选取的方向,另一条矢量方向是路径点到终点位置,得到的这两个矢量方向进行一个矢量运算,得到一个最终的前进方向F;
步骤3.3.3,当前路径点再向前进方向移动随机路径长度;若路径点不能顺利前进,即超出行走区域边界、或者前进到障碍点上、或者移动前当前路径D的路径长度比移动后当前路径D的路径长度小,则此路径点不执行前进操作,并将失败次数加1,并进入下一个路径点;当失败次数达到预设的失败次数阈值时,则视为此路径前进失败,放弃前进,进入步骤4;否则,返回步骤3.3.2,下一个路径点尝试移动,直至当前执行觅食行为的路径的所有路径点均移动完成。
6.根据权利要求2、3或5所述的一种机器人路径规划方法,其特征是,当前路径点D再向前进方向移动的随机路径长度需要小于预设移动路径长度范围step。
7.根据权利要求1所述的一种机器人路径规划方法,其特征是,步骤4.2和4.3中,X条路径包括从N条原路径中选出的p条适应度函数值大的路径和从N条新路径中选出的w条适应度函数值大的路径;其中N≤X≤2N,0≤p≤N,0≤w≤N。
8.根据权利要求1或7所述的一种机器人路径规划方法,其特征是,步骤4.3之后还进一步包括,步骤4.4,按选择概率的大小,对X条路径进行排序的步骤,其中N≤X≤2N。
9.根据权利要求1所述的一种机器人路径规划方法,其特征是,步骤5中,在进行第一次循环迭代时,用于与记录的最小路径的路径长度进行比较的上一次循环迭代所选定的最小路径的路径长度为设定的初始值0。
CN201510996618.2A 2015-12-28 2015-12-28 一种机器人路径规划方法 Active CN105527964B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510996618.2A CN105527964B (zh) 2015-12-28 2015-12-28 一种机器人路径规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510996618.2A CN105527964B (zh) 2015-12-28 2015-12-28 一种机器人路径规划方法

Publications (2)

Publication Number Publication Date
CN105527964A true CN105527964A (zh) 2016-04-27
CN105527964B CN105527964B (zh) 2018-04-17

Family

ID=55770247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510996618.2A Active CN105527964B (zh) 2015-12-28 2015-12-28 一种机器人路径规划方法

Country Status (1)

Country Link
CN (1) CN105527964B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106647754A (zh) * 2016-12-20 2017-05-10 安徽农业大学 一种果园履带机器人路径规划方法
CN107697180A (zh) * 2017-10-26 2018-02-16 桂林电子科技大学 基于人工势场的球形全向车轮机构
CN108037758A (zh) * 2017-11-30 2018-05-15 重庆邮电大学 一种基于改进afsa的移动机器人路径规划方法
CN108803332A (zh) * 2018-06-20 2018-11-13 桂林电子科技大学 基于改进生物地理学的路径规划方法
CN109214757A (zh) * 2018-09-19 2019-01-15 武汉轻工大学 粮食运输路径的规划方法、用户设备、存储介质及装置
CN109506655A (zh) * 2018-10-19 2019-03-22 哈尔滨工业大学(威海) 基于非均匀建模的改进蚁群路径规划算法
CN109726853A (zh) * 2018-12-04 2019-05-07 东莞理工学院 基于机器视觉的工业协作机器人路径规划算法
CN109947129A (zh) * 2019-03-29 2019-06-28 华南理工大学 基于Dijkstra与改进粒子群算法的旋翼无人机路径规划方法
CN109997089A (zh) * 2016-11-23 2019-07-09 洁菲士清洁***股份公司 地面处理机和地面处理方法
CN110893618A (zh) * 2018-09-13 2020-03-20 皮尔茨公司 用于机械手的无碰撞运动规划的方法和装置
CN112231793A (zh) * 2020-09-14 2021-01-15 重庆大学产业技术研究院 一种基于二进制粒子群优化算法的钢筋混凝土构件交叉区域钢筋自动避障排布方法
CN112269382A (zh) * 2020-10-21 2021-01-26 桂林电子科技大学 一种机器人多目标路径规划方法
CN112269381A (zh) * 2020-10-20 2021-01-26 安徽工程大学 基于改进人工鱼群算法的移动机器人路径规划方法
CN115145261A (zh) * 2022-04-07 2022-10-04 哈尔滨工业大学(深圳) 人机共存下遵循行人规范的移动机器人全局路径规划方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101866384A (zh) * 2010-06-18 2010-10-20 杭州电子科技大学 一种基于车辆路径规划的改进人工鱼群优化方法
KR101309527B1 (ko) * 2012-09-28 2013-09-24 군산대학교산학협력단 네트워크 유지를 위한 군집 로봇의 행동 제어 방법 및 시스템
CN103576680A (zh) * 2012-07-25 2014-02-12 中国原子能科学研究院 一种机器人路径规划方法及装置
CN104571113A (zh) * 2015-01-20 2015-04-29 博康智能网络科技股份有限公司 移动机器人的路径规划方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101866384A (zh) * 2010-06-18 2010-10-20 杭州电子科技大学 一种基于车辆路径规划的改进人工鱼群优化方法
CN103576680A (zh) * 2012-07-25 2014-02-12 中国原子能科学研究院 一种机器人路径规划方法及装置
KR101309527B1 (ko) * 2012-09-28 2013-09-24 군산대학교산학협력단 네트워크 유지를 위한 군집 로봇의 행동 제어 방법 및 시스템
CN104571113A (zh) * 2015-01-20 2015-04-29 博康智能网络科技股份有限公司 移动机器人的路径规划方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
徐晓晴等: "动态环境下基于多人工鱼群算法和避碰规则库的机器人路径规划", 《电子学报》 *
聂黎明等: "基于人工鱼群算法的机器人路径规划", 《计算机工程与应用》 *
肖本贤等: "基于免疫遗传算法的移动机器人全局路径规划", 《计算机工程与应用》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109997089B (zh) * 2016-11-23 2022-07-01 洁菲士清洁***股份公司 地面处理机和地面处理方法
CN109997089A (zh) * 2016-11-23 2019-07-09 洁菲士清洁***股份公司 地面处理机和地面处理方法
CN106647754A (zh) * 2016-12-20 2017-05-10 安徽农业大学 一种果园履带机器人路径规划方法
CN107697180A (zh) * 2017-10-26 2018-02-16 桂林电子科技大学 基于人工势场的球形全向车轮机构
CN107697180B (zh) * 2017-10-26 2023-10-17 桂林电子科技大学 基于人工势场的球形全向车轮机构
CN108037758A (zh) * 2017-11-30 2018-05-15 重庆邮电大学 一种基于改进afsa的移动机器人路径规划方法
CN108803332A (zh) * 2018-06-20 2018-11-13 桂林电子科技大学 基于改进生物地理学的路径规划方法
CN108803332B (zh) * 2018-06-20 2021-01-19 桂林电子科技大学 基于改进生物地理学的路径规划方法
CN110893618A (zh) * 2018-09-13 2020-03-20 皮尔茨公司 用于机械手的无碰撞运动规划的方法和装置
CN109214757A (zh) * 2018-09-19 2019-01-15 武汉轻工大学 粮食运输路径的规划方法、用户设备、存储介质及装置
CN109506655B (zh) * 2018-10-19 2023-05-05 哈尔滨工业大学(威海) 基于非均匀建模的改进蚁群路径规划算法
CN109506655A (zh) * 2018-10-19 2019-03-22 哈尔滨工业大学(威海) 基于非均匀建模的改进蚁群路径规划算法
CN109726853A (zh) * 2018-12-04 2019-05-07 东莞理工学院 基于机器视觉的工业协作机器人路径规划算法
CN109947129A (zh) * 2019-03-29 2019-06-28 华南理工大学 基于Dijkstra与改进粒子群算法的旋翼无人机路径规划方法
CN112231793A (zh) * 2020-09-14 2021-01-15 重庆大学产业技术研究院 一种基于二进制粒子群优化算法的钢筋混凝土构件交叉区域钢筋自动避障排布方法
CN112269381A (zh) * 2020-10-20 2021-01-26 安徽工程大学 基于改进人工鱼群算法的移动机器人路径规划方法
CN112269382A (zh) * 2020-10-21 2021-01-26 桂林电子科技大学 一种机器人多目标路径规划方法
CN115145261A (zh) * 2022-04-07 2022-10-04 哈尔滨工业大学(深圳) 人机共存下遵循行人规范的移动机器人全局路径规划方法
CN115145261B (zh) * 2022-04-07 2024-04-26 哈尔滨工业大学(深圳) 人机共存下遵循行人规范的移动机器人全局路径规划方法

Also Published As

Publication number Publication date
CN105527964B (zh) 2018-04-17

Similar Documents

Publication Publication Date Title
CN105527964A (zh) 一种机器人路径规划方法
Li et al. Path planning of mobile robots based on an improved A* algorithm
CN110083165B (zh) 一种机器人在复杂狭窄环境下路径规划方法
CN107990903B (zh) 一种基于改进a*算法的室内agv路径规划方法
CN110231824B (zh) 基于直线偏离度方法的智能体路径规划方法
CN102778229B (zh) 未知环境下基于改进蚁群算法的移动Agent路径规划方法
CN109885891A (zh) 一种智能车gpu并行加速轨迹规划方法
Dong et al. Mobile robot path planning based on improved DDPG reinforcement learning algorithm
CN110110763B (zh) 一种基于最大公共子图的栅格地图融合方法
CN113110520B (zh) 一种多智能优化并行算法的机器人路径规划方法
CN113296520B (zh) 融合a*与改进灰狼算法的巡检机器人路径规划方法
Peng et al. Robot path planning based on improved A* algorithm
CN107357295B (zh) 一种基于栅格地图的路径搜索方法和芯片及机器人
CN108413963A (zh) 基于自学习蚁群算法的条形机器人路径规划方法
CN113917925B (zh) 一种基于改进遗传算法的移动机器人路径规划方法
Liu et al. Robot search path planning method based on prioritized deep reinforcement learning
Zhao et al. A fast robot path planning algorithm based on bidirectional associative learning
Liu et al. A prior information heuristic based robot exploration method in indoor environment
CN109781126A (zh) 一种基于矢量法的全局静态路径规划方法
Li et al. SP-NN: A novel neural network approach for path planning
CN115454070A (zh) 一种K-Means蚁群算法多机器人路径规划方法
Huang et al. A multi-robot coverage path planning algorithm based on improved darp algorithm
Chang et al. Shortest Distance Maze Solving Robot
CN101477689A (zh) 一种基于自适应蚁群智能的空中机器人视觉分层匹配方法
Saboori et al. Optimal robot path planning based on fuzzy model of obstacles

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant