1.一种融合人工势场与对数蚁群算法的机器人路径规划方法,其特征在于,包括以下步骤:S1:初始化蚁群算法以及人工势场算法中的各个参数,人工势场是障碍物与目标点对机器人的影响,规划出来的路径是机器人后面要走的路径;
并且初始化路径规划任务;
S2:根据机器人传感器提取的环境信息,建立包含障碍物信息的栅格地图;
S3:根据当前蚂蚁所处位置,建立蚂蚁可移动的栅格表,并更新路径上的信息素;
S4:计算当前蚂蚁所在位置在人工势场中受到的引力和斥力,并得到人工势场的影响函数q(t),计算蚂蚁在人工势场中所受合力与相邻栅格方向的最小夹角,其中将蚂蚁所在栅格附近8个栅格每45°划分一个方向;
S5:将人工势场中待转移节点到目标点的欧式距离djg引入到蚁群算法的启发函数中对蚁群算法的启发函数ηij进行改进,并利用对数函数对信息素跟新策略进行改进;
S6:计算改进后的蚁群算法转移概率密度,并对禁忌表进行更新;禁忌表用于后续的路径规划,就是告诉蚂蚁哪里是能走的,哪里是有障碍物的;
S7:判断路径规划探索是否完成,未完成则进入S3,完成则进入S8;
S8:判断是否达到最大迭代次数,未完成则进入S9,完成则进入S10;
S9:判断机器人是否到达预定目标位置;未完成则机器人路径规划失败,完成则结束机器人路径规划;
S10:判断机器人是否到达预定目标位置;未完成则调整各个参数后进入S3,完成则结束机器人路径规划;
所述步骤S4的计算当前蚂蚁所在位置在人工势场中收到的引力,斥力,并得到人工势场的影响函数q(t),具体步骤如下:S41:计算势场的总场强Utot(pm)就是由引力场和斥力场进行矢量叠加;
Utot(pm)=Uatt(pm)+Urep(pm)其中,Uatt(pm)表示引力场,Urep(pm)表示斥力场;
S42:计算合力Ftot(pm),如下式表示:
Ftot(pm)=‑▽Utot(pm)
=Fatt(pm)+Frep(pm)S43:计算Fatt(pm)和Frep(pm)为引力和斥力,可以用如下式子表示:Fatt(pm)=katt·dg
其中,katt和krep为引力和斥力的系数因子,dg表示机器人与目标点的距离,d0表示机器人与附近障碍物的最短距离,dt为障碍物势场所能影响到的最大距离;
S44:计算障碍物和目标点到机器人的欧式距离:
(xm,ym)为当前机器人所在位置坐标,(x0,y0)为障碍物所处位置坐标,(xg,yg)为目标点所处位置坐标;
S45:假设,蚂蚁所受合力方向的角度为θ,蚂蚁向下一个相邻栅格转移的角度为ω,则:θ=∠(Fatt+∑Frep)
l=|sin(ω‑θ)|
式中,l∈(0,1]为动态调整权重因子,当蚂蚁转移方向与斥力方向夹角越小时,l也就越小;
S46:计算人工势场影响函数:
其中,表示最终的转移角度;
所述步骤S5改进蚁群算法启发函数ηij和信息素跟新策略,具体包括:S51:改进蚁群算法的启发函数
其中,η′ij表示改进后从i点到j点的启发函数,ζ∈(0,1]为启发调整因子,NCmax为最大迭代次数,NC为当前迭代次数,djg为待转移节点到目标的欧式距离,dij为当前点到目标点的欧式距离;
S52:对信息素跟新策略改进:
其中,τij(t+Δt)表示改进后的信息素更新函数,Δτij(t)表示路径上信息素的改变量,m表示当前出动的蚂蚁数,n表示最大出动蚂蚁素,ρ表示信息素的挥发因子,ρ∈(0,1];Q表示为常数的信息素强度;Lm表示此次循环结束时蚂蚁所走过的路径总长度;
所述步骤S6计算改进后的蚁群算法转移概率密度,并对禁忌表进行更新,具体内容如下:其中, 表示蚂蚁从i点向j点的转移概率函数,α、β分别表示信息启发因子和期望启发因子,η′is(t)表示改进后从i点到目标点的启发函数,qis(t)表示栅格i到目标点的势场影响函数,Aa表示蚂蚁在地图内允许行走的节点,qij(t)为栅格i到栅格j的势场影响函数,γ为势场的影响启发因子。
2.根据权利要求1所述的融合人工势场与对数蚁群算法的机器人路径规划方法,其特征在于,所述步骤S1初始化蚁群算法以及人工势场算法中的各个参数,具体包括:蚂蚁的个数M,迭代的最大次数N,以及蚁群算法信息启发因子α,期望启发因子β,以及势场影响因子γ在内的各项影响因子,并且初始化路径规划任务。
3.根据权利要求1或2所述的融合人工势场与对数蚁群算法的机器人路径规划方法,其特征在于,所述步骤S2建立包含障碍物信息的栅格地图,具体包括:c为障碍物的覆盖率,当覆盖率大于0.5时,就假设当前栅格内全被障碍物覆盖;当障碍物的覆盖率小于0.5时,就假设当前栅格未被占用,栅格全占用时,就用黑色表示,当未被占用时,就用白色栅格表示。
4.根据权利要求3所述的融合人工势场与对数蚁群算法的机器人路径规划方法,其特征在于,所述步骤S3根据当前蚂蚁所处位置,建立蚂蚁可移动的栅格表,并更新路径上的信息素,具体包括:S31:根据步骤S2所建立的栅格地图,建立当前蚂蚁可以行进的栅格位置的栅格表;
S32:根据步骤S5利用对数函数进行改进的信息素更新策略τij(t+Δt)对路径上的信息素含量进行跟新。