基于遗传蚁群算法的移动机器人路径规划方法及系统技术领域
本发明涉及机器人智能算法技术领域,具体涉及一种基于遗传蚁群算法的
移动机器人路径规划方法。
背景技术
移动机器人是智能控制技术中的一个重要领域,除用于宇宙探测、海洋开
发和原子能等领域外,在工厂自动化、建筑、采矿、排险、军事、服务、农业
等方面也有广泛的应用前景。路径规划的方法有很多,比如最速下降法,人工
势场法,模糊推理法等,使用最速下降法收敛慢,效率不高,有时达不到最优
解;使用人工势场法便于底层的实时控制,但缺乏全局信息,存在局部最优值
问题;使用模糊推理法最大的优点是实时性非常好,但是模糊隶属函数的设计、
模糊控制规则的制定主要靠人的经验。
遗传算法证明是一种全局搜索能力强的算法,具有很强的鲁棒性,并行性。
从宏观的角度看,遗传算法具有一定的方向性,因此它不同于一般的随机算法,
它所使用的随机选择只是在有方向的搜索过程中的一种工具,正是由于它的方
向性,使得它比一般的随机算法效率更高。
蚁群算法是人们受到真实世界蚂蚁寻实行为的影响而提出的一种新型的基
于种群寻优的启发式算法,它是一种自组织的,并行的,正反馈的仿生学算法,
具有较强的鲁棒性,能在实际路径搜索中对外界影响作出动态响应,使得它在
路径规划中得到了广泛的应用。
发明内容
本发明的目的是提供一种移动机器人路径规划方法及系统,以解决蚁群算
法初期阶段出现盲目性的技术问题。
为了解决上述技术问题,本发明提供了一种移动机器人路径规划方法,包
括如下步骤:
步骤S1,通过建立坐标系对环境进行建模;
步骤S2,将遗传算法得到的一部分优化解转化为蚁群算法的信息素初始值;
步骤S3,通过蚁群算法再进行路径寻优,寻优结束后对符合条件的路径进
行交叉操作,最终得到最优路径。
进一步,所述步骤1中通过建立坐标系对环境进行建模的方法包括:
利用移动机器人自带的环境探测装置对环境进行建模以生成一条随机初始
路径。
进一步,所述步骤S2中将遗传算法得到的一部分优化解转化为蚁群算法的
信息素初始值的方法包括:
步骤S21,初始化遗传参数,以产生初始种群;
步骤S22,设置适应度函数,计算每个种群的适应度;
步骤S23,将适应度较高的前50%组解转换为蚁群算法的信息素初始值
进一步,所述步骤S3中通过蚁群算法再进行路径寻优,寻优结束后对符合
条件的路径进行交叉操作,最终得到最优路径的方法包括如下步骤:
步骤S31,设置蚁群规模m2,最大迭代次数Nc以及迭代次数初值u为0,并
按下式初始化剩余信息素:
式中:dij表示节点i和节点j之间的距离;
步骤S32,每只蚂蚁按照状态转移公式选择下一节点,直到到达目标点则输
出路径,若比当前迭代最优路径短,则对其更新,状态转移公式如下:
P i j k = [ τ i j ( t ) ] α · [ η i j ( t ) ] β Σ s ∈ allow k [ τ i s ( t ) ] α · [ η i s ( t ) ] β , s ∈ allow k 0 , s ∉ allow k ; ]]>
式中:allowk(k=1,2...m2)为蚂蚁k待访问节点的集合,开始时,allowk中有(m2-1)
个元素,即包括除了蚂蚁k出发节点的其他所有节点,随着时间的推进,allowk中
的元素逐渐减少,直至为空,即表示所有的节点均访问完毕;
τij(t)表示在t时刻节点i、节点j间路径上的信息素浓度;α为信息素重要
程度因子;β为启发函数重要程度因子,即蚂蚁会以较大的概率转移到距离短的
节点;
ηij(t)为启发函数,表示t时刻蚂蚁从节点i转移到节点j的期望程度,计算
公式如下:dij表示节点i和节点j之间的距离;
步骤S33,对寻优过的路径按如下公式进行全局信息素更新,同时输出本次
迭代的最优路径,同时判断本次迭代最优路径与当前全局最优路径是否有除起
始点和目标点以外的相同点;
若有,则以该节点为交叉点,对两条路径进行交叉操作,产生新路径与全
局最优路径比较,若新路径短,则更新全局最优路径;
对寻优过的路径进行全局信息素更新的公式如下:
τij(t+1)=(1-ρ)τij(t)+ρΔτij(t)+Δ1τij-Δ2τij;
Δτ i j = Σ k = 1 m 2 Δτ i j k ; ]]>
式中,ρ表示全局信息素挥发系数,表示第k只蚂蚁在节点i与节点j
连接路径上释放的信息素浓度,Δ1τij表示经过本轮最优路径的信息素增量,Δ2τij
表示经过本轮最差路径的信息素增量;L1、L2分别表示本次循环中的局部最优
长度、局部最差长度;k1、k2分别表示本次循环局部最优、局部最差蚂蚁个数;
步骤S34,循环次数u=u+1;
步骤S35,把蚂蚁重新放回起始点,进行下一轮迭代;
步骤S36,若迭代次数u>Nc,则寻优结束,输出最优路径;否则转入步骤
S35。
又一方面,本发明还提供了一种移动机器人路径规划系统,包括:
环境建模模块,通过建立坐标系对环境进行建模;
用于获得蚁群算法的信息素初始值的信息素获得模块,以及
与信息素获得模块相连的最优路径获得模块。
进一步,所述环境建模模块通过利用移动机器人自带的环境探测装置对环
境进行建模以生成一条随机初始路径;
所述环境探测装置包括:移动机器人自带的摄像头、声呐环、红外传感器。
进一步,所述信息素获得模块适于将遗传算法得到的一部分优化解转化为
蚁群算法的信息素初始值;即
初始化遗传参数,以产生初始种群;设置适应度函数,计算每个种群的适
应度;以及将适应度较高的前50%组解转换为蚁群算法的信息素初始值
进一步,所述最优路径获得模块适于通过蚁群算法再进行路径寻优,寻优结
束后对符合条件的路径进行交叉操作,最终得到最优路径;即
设置蚁群规模m2,最大迭代次数Nc以及迭代次数初值u为0,并按下式初
始化剩余信息素:
式中:dij表示节点i和节点j之间的距离;
每只蚂蚁按照状态转移公式选择下一节点,直到到达目标点则输出路径,
若比当前迭代最优路径短,则对其更新,状态转移公式如下:
P i j k = [ τ i j ( t ) ] α · [ η i j ( t ) ] β Σ s ∈ allow k [ τ i s ( t ) ] α · [ η i s ( t ) ] β , s ∈ allow k 0 , s ∉ allow k ; ]]>
式中:allowk(k=1,2...m2)为蚂蚁k待访问节点的集合,开始时,allowk中有(m2-1)
个元素,即包括除了蚂蚁k出发节点的其他所有节点,随着时间的推进,allowk中
的元素逐渐减少,直至为空,即表示所有的节点均访问完毕;
τij(t)表示在t时刻节点i、节点j间路径上的信息素浓度;α为信息素重要
程度因子;β为启发函数重要程度因子,即蚂蚁会以较大的概率转移到距离短的
节点;
ηij(t)为启发函数,表示t时刻蚂蚁从节点i转移到节点j的期望程度,计算
公式如下:dij表示节点i和节点j之间的距离;
对寻优过的路径按如下公式进行全局信息素更新,同时输出本次迭代的最
优路径,同时判断本次迭代最优路径与当前全局最优路径是否有除起始点和目
标点以外的相同点;
若有,则以该节点为交叉点,对两条路径进行交叉操作,产生新路径与全
局最优路径比较,若新路径短,则更新全局最优路径;
对寻优过的路径进行全局信息素更新的公式如下:
τij(t+1)=(1-ρ)τij(t)+ρΔτij(t)+Δ1τij-Δ2τij;
Δτ i j = Σ k = 1 m 2 Δτ i j k ; ]]>
式中,ρ表示全局信息素挥发系数,表示第k只蚂蚁在节点i与节点j
连接路径上释放的信息素浓度,Δ1τij表示经过本轮最优路径的信息素增量,Δ2τij
表示经过本轮最差路径的信息素增量;L1、L2分别表示本次循环中的局部最优
长度、局部最差长度;k1、k2分别表示本次循环局部最优、局部最差蚂蚁个数;
循环次数u=u+1;
把蚂蚁重新放回起始点,进行下一轮迭代;
若迭代次数u>Nc,则寻优结束,输出最优路径;否则继续迭代。
本发明的有益效果是,本发明的移动机器人路径规划方法及系统克服了单
个蚁群算法存在的不可避免的弊端,即蚁群算法在搜索初始阶段盲目性太大,
实现了蚁群和遗传算法的优势互补,缩小了路径搜索的查找范围,提高了最优
路径的搜索效率。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明的移动机器人路径规划方法的流程框图;
图2是本发明的移动机器人路径规划方法的算法流程图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,
仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
本发明的移动机器人路径规划方法及系统的工作原理:由于蚁群算法在搜
索初始阶段盲目性太大,而遗传算法在搜索初期有较好的全局搜索能力;因此,
把遗传算法产生的最优解转化为蚁群算法信息素的初始值,就有效避免了蚁群
算法初期的盲目性。
实施例1
如图1和图2所示,本实施例1提供了一种移动机器人路径规划方法,包
括如下步骤:
步骤S1,通过建立坐标系对环境进行建模;
步骤S2,将遗传算法得到的一部分优化解转化为蚁群算法的信息素初始值;
步骤S3,通过蚁群算法再进行路径寻优,寻优结束后对符合条件的路径进
行交叉操作,最终得到最优路径。
作为环境进行建模的一种可选的实施方式,所述步骤1中通过建立坐标系
对环境进行建模的方法包括:利用移动机器人自带的环境探测装置对环境进行
建模以生成一条随机初始路径。
具体的,所述环境建模,即以移动机器人起始点为坐标原点,起始点和目
标点的连线为x轴,在坐标原点处与x轴的垂线为y轴建立坐标系;将起始点
与目标点的线段n等分,等分点为xr(r=1,2...n-1),过xr作垂直于x轴的垂线
lr,随机地在lr上选择一点pr,从起点开始依次将这些路径点连接起来,直到目
标点为止,以形成一条随机初始路径。
作为蚁群算法的信息素初始值的一种可选的实施方式。
所述步骤S2中将遗传算法得到的一部分优化解转化为蚁群算法的信息素初
始值的方法包括:
步骤S21,初始化遗传参数,以产生初始种群;
即设置种群规模m1,交叉概率Pc,变异概率Pm,以及最大迭代次数Nmax,
初始化循环次数s为0,以及产生初始种群,产生初始种群可以有两种方法生成,
第一种方法是在x轴上在起始点与目标点之间作不同幅值和周期的正弦曲线,
沿着正弦曲线的轨迹得到一组方向序列来生成初始个体;另一种方法是按照随
机生成初始路径方法,该两种方法生成的个体数都为m1/2。
步骤S22,设置适应度函数,计算每个种群的适应度;
按下式确定适应度函数f,计算每个种群的适应度:
f = 1 ( n 1 - n 2 ) A + n 2 2 A ; ]]>
式中:n1为路径所包含的栅格总数,n2为位置为对角关系的栅格对数,A为
相邻栅格中心点间的距离,即为栅格边长;
并且执行选择、交叉、变异操作,循环次数s=s+1。
选择操作采用两两竞争的模式,即在种群中随机选择两个个体进行适应度
值比较,选择其中较大适应度值的个体进入下一代,而适应度值相对较低的个
体则被淘汰,这种方法在一定程度上避免了过早收敛和停滞的发生。
交叉操作采用共有节点处一点交叉,即找到两个待交叉个体的共有节点,
交换它们共有节点前面或者后面的染色体,从而形成两条新的连续路径个体。
变异操作结合基因突变原理,对需要变异的染色体,随机选择除首尾节点
以外的节点进行变异,引入动态确定变异概率规则,对适应值大的采用较小的
变异率,以防止优良基因被破坏,也可在陷入局部最优解时引入新的基因;适
应值小的采用较大的变异率,可以有效提高个体的适应值。并且在变异时,所
涉及的较小变异率和较大变异率分别采用0.01和0.4。
若循环次数s>Nmax,则遗传算法终止;否则重复上述迭代步骤;
步骤S23,将适应度较高的前50%组解转换为蚁群算法的信息素初始值
将遗传算法中适应度值较高的解作为蚁群算法信息素的初始值,有效解决了蚁
群算法前期收敛速度慢的问题,结合两者的优势大大提高了搜索的效率及精度。
具体的,所述步骤S3中通过蚁群算法再进行路径寻优,寻优结束后对符合
条件的路径进行交叉操作,最终得到最优路径的方法包括如下步骤:
步骤S31,初始化蚁群参数,即设置蚁群规模m2,最大迭代次数Nc以及迭
代次数初值u为0,并按下式初始化剩余信息素:
式中:dij表示节点i和节点j之间的距离;
步骤S32,状态转移公式选择下一节点,直到到达目标点,即每只蚂蚁按照
状态转移公式选择下一节点,直到到达目标点则输出路径;
将所得路径与当前迭代最优路径比较,并对其更新,即若比当前迭代最优
路径短,则对其更新,状态转移公式如下:
P i j k = [ τ i j ( t ) ] α · [ η i j ( t ) ] β Σ s ∈ allow k [ τ i s ( t ) ] α · [ η i s ( t ) ] β , s ∈ allow k 0 , s ∉ allow k ; ]]>
式中:allowk(k=1,2...m2)为蚂蚁k待访问节点的集合,开始时,allowk中有(m2-1)
个元素,即包括除了蚂蚁k出发节点的其他所有节点,随着时间的推进,allowk中
的元素逐渐减少,直至为空,即表示所有的节点均访问完毕;
τij(t)表示在t时刻节点i、节点j间路径上的信息素浓度;α为信息素重要
程度因子;β为启发函数重要程度因子,即蚂蚁会以较大的概率转移到距离短的
节点;
ηij(t)为启发函数,表示t时刻蚂蚁从节点i转移到节点j的期望程度,计算
公式如下:dij表示节点i和节点j之间的距离;
步骤S33,对寻优过的路径按如下公式进行全局信息素更新,同时输出本次
迭代的最优路径,同时判断本次迭代最优路径与当前全局最优路径是否有除起
始点和目标点以外的相同点,即迭代最优与全局最优是否有交叉点;
若有,则以该节点为交叉点,对两条路径进行交叉操作,产生新路径与全
局最优路径比较,若新路径短,则更新全局最优路径;
对寻优过的路径进行全局信息素更新的公式如下:
τij(t+1)=(1-ρ)τij(t)+ρΔτij(t)+Δ1τij-Δ2τij(该公式中t+1所指的下个时刻);
Δτ i j = Σ k = 1 m 2 Δτ i j k ; ]]>
式中,ρ表示全局信息素挥发系数,表示第k只蚂蚁在节点i与节点j
连接路径上释放的信息素浓度,Δ1τij表示经过本轮最优路径的信息素增量,Δ2τij
表示经过本轮最差路径的信息素增量;L1、L2分别表示本次循环中的局部最优
长度、局部最差长度;k1、k2分别表示本次循环局部最优、局部最差蚂蚁个数;
步骤S34,循环次数u=u+1;
步骤S35,把蚂蚁重新放回起始点,进行下一轮迭代;
步骤S36,若迭代次数u>Nc,则寻优结束,输出最优路径;否则转入步骤
S35。
实施例2
如图1和图2所示,在实施例1基础上,本实施例2提供了一种移动机器
人路径规划系统,包括:
环境建模模块,通过建立坐标系对环境进行建模;
用于获得蚁群算法的信息素初始值的信息素获得模块,以及
与信息素获得模块相连的最优路径获得模块。
其中,所述环境建模模块通过利用移动机器人自带的环境探测装置对环境
进行建模以生成一条随机初始路径;所述环境探测装置包括:移动机器人自带
的摄像头、声呐环、红外传感器。
并且,所述信息素获得模块适于将遗传算法得到的一部分优化解转化为蚁
群算法的信息素初始值;即初始化遗传参数,以产生初始种群;设置适应度函
数,计算每个种群的适应度;以及将适应度较高的前50%组解转换为蚁群算法的
信息素初始值获得信息素初始值所涉及的具体方法可以参见实施例1的相
关论述。
所述最优路径获得模块适于通过蚁群算法再进行路径寻优,寻优结束后对
符合条件的路径进行交叉操作,最终得到最优路径;即
设置蚁群规模m2,最大迭代次数Nc以及迭代次数初值u为0,并按下式初
始化剩余信息素:
式中:dij表示节点i和节点j之间的距离;
每只蚂蚁按照状态转移公式选择下一节点,直到到达目标点则输出路径,
若比当前迭代最优路径短,则对其更新,状态转移公式如下:
P i j k = [ τ i j ( t ) ] α · [ η i j ( t ) ] β Σ s ∈ allow k [ τ i s ( t ) ] α · [ η i s ( t ) ] β , s ∈ allow k 0 , s ∉ allow k ; ]]>
式中:allowk(k=1,2...m2)为蚂蚁k待访问节点的集合,开始时,allowk中有(m2-1)
个元素,即包括除了蚂蚁k出发节点的其他所有节点,随着时间的推进,allowk中
的元素逐渐减少,直至为空,即表示所有的节点均访问完毕;
τij(t)表示在t时刻节点i、节点j间路径上的信息素浓度;α为信息素重要
程度因子;β为启发函数重要程度因子,即蚂蚁会以较大的概率转移到距离短的
节点;
ηij(t)为启发函数,表示t时刻蚂蚁从节点i转移到节点j的期望程度,计算
公式如下:dij表示节点i和节点j之间的距离;
对寻优过的路径按如下公式进行全局信息素更新,同时输出本次迭代的最
优路径,同时判断本次迭代最优路径与当前全局最优路径是否有除起始点和目
标点以外的相同点;
若有,则以该节点为交叉点,对两条路径进行交叉操作,产生新路径与全
局最优路径比较,若新路径短,则更新全局最优路径;
对寻优过的路径进行全局信息素更新的公式如下:
τij(t+1)=(1-ρ)τij(t)+ρΔτij(t)+Δ1τij-Δ2τij(该公式中t+1所指的下个时刻);
Δτ i j = Σ k = 1 m 2 Δτ i j k ; ]]>
式中,ρ表示全局信息素挥发系数,表示第k只蚂蚁在节点i与节点j
连接路径上释放的信息素浓度,Δ1τij表示经过本轮最优路径的信息素增量,Δ2τij
表示经过本轮最差路径的信息素增量;L1、L2分别表示本次循环中的局部最优
长度、局部最差长度;k1、k2分别表示本次循环局部最优、局部最差蚂蚁个数;
循环次数u=u+1;
把蚂蚁重新放回起始点,进行下一轮迭代;
若迭代次数u>Nc,则寻优结束,输出最优路径;否则继续迭代。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作
人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。
本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围
来确定其技术性范围。