1.一种面向动态环境的移动机器人路径规划方法,其特征在于,包括以下步骤:S1.建立静态栅格地图,在该静态栅格地图上设置移动机器人的起始节点与目标节点;
S2.基于双层蚁群算法在静态栅格地图中进行移动机器人全局路径规划,并在双层蚁群算法的伪随机状态转移规则中引入下一节点到目标节点的欧氏距离的倒数;
在双层蚁群算法中采用伪随机状态转移规则选择下一节点,伪随机状态转移规则包括:其中,j表示寻找的下一节点,τij(t)表示在第t次迭代中,路径<i,j>上的信息素浓度;ηij(t)表示在第t次迭代中,当前节点i到下一节点j的启发信息; 表示下一节点j到目标节点E的欧氏距离的倒数,α表示信息素启发式因子,β表示期望启发式因子,χ表示目标点启发式因子,q表示在区间(0,1)内的随机数,q0表示根据迭代次数定义的选择因子,表示在第t次迭代中,第k只蚂蚁由当前节点i选择下一节点j的状态转移概率,allowedk表示第k只蚂蚁在当前节点i可选择的下一节点j的集合;
选择因子q0的计算公式为:
其中,t∈Tmax表示当前的迭代次数,Tmax表示最大迭代次数;
S3.在全局路径规划过程中采用改进的信息素更新策略更新信息素浓度,并利用死锁处理策略惩罚陷入死锁的蚂蚁和使用回退策略的蚂蚁;直到迭代完成,得到静态最优路径;
当所有蚂蚁完成一次路径搜索后,统计到达目标节点的蚂蚁所走过的成功路径,通过所有成功路径的长度总和计算平均路径长度,采用改进的信息素更新策略更新每一条成功路径的信息素浓度,具体包括:若成功路径为最优路径,信息素浓度更新公式为:
τi′j(t+1)=(1‑ρ)×τij(t)+λ1×ρ×Δτij(t+1)若成功路径的长度大于最优路径,且小于平均路径长度,信息素浓度更新公式为:τi′j(t+1)=(1‑ρ)×τij(t)+λ2×ρ×Δτij(t+1)若成功路径的长度大于平均路径长度,信息素浓度更新公式为:
τi′j(t+1)=(1‑ρ)×τij(t)‑λ3×ρ×Δτij(t+1)其中,λ1、λ2、λ3为信息素增减比例系数,ρ表示信息素挥发因子,τij(t)表示在t次迭代后,路径<i,j>上的最终信息素浓度;τi′j(t+1)表示在t+1次迭代后,路径<i,j>上的更新信息素浓度;Δτij(t+1)表示在t+1次迭代后,路径<i,j>上的信息素浓度增量,其表达式如下:k
式中Q为信息素强度,L表示第k只蚂蚁在本次迭代中所走过路径的总长度, 表示第k只蚂蚁在本次迭代中所走过路径转折点个数,λ是一个常数,取值范围为(0,1);
死锁处理策略包括:若蚂蚁进行路径搜索时陷入死锁,记录陷入死锁的位置并采用回退策略;若该蚂蚁的回退步数大于2,则将该蚂蚁抹杀并惩罚该蚂蚁陷入死锁的位置的信息素浓度;若该蚂蚁的回退步数小于等于2,则惩罚该蚂蚁陷入死锁的位置的信息素浓度;
死锁处理策略中的惩罚公式为:
其中,τi′j(t+1)表示在t次迭代后,路径<i,j>上的更新信息素浓度;Ndeadlock表示在路径<i,j>上陷入死锁且回退步数大于2的蚂蚁数量;Nstepsback表示在路径<i,j>上陷入死锁且回退步数小于等于2的蚂蚁数量,τij(t+1)表示在t次迭代后,对路径<i,j>上的更新信息素浓度进行惩罚后的最终信息素浓度,λdl表示死锁惩罚因子,λsb表示回退惩罚因子,Nsteps表示回退步数;
S4.采用关键点筛选策略对静态最优路径进行关键点筛选,得到平滑静态最优路径;
S5.在静态栅格地图中加入未知静态障碍物和动态障碍物,采用改进动态窗口法对平滑静态最优路径进行局部规划,最终输出动态最优路径。
2.根据权利要求1所述的一种面向动态环境的移动机器人路径规划方法,其特征在于,限制路径的信息素浓度上下限,避免陷入局部最优,限制公式为:其中,τmax表示信息素浓度最大值,τmin表示信息素浓度最小值。
3.根据权利要求1所述的一种面向动态环境的移动机器人路径规划方法,其特征在于,采用改进动态窗口法对平滑静态最优路径进行局部规划的过程为:S51.初始化参数;
S52.设置移动机器人的运动学模型,根据运动学模型确定移动机器人的速度范围Vs;结合线加速度和角加速度确定移动机器人实际的速度范围Vd以及移动机器人不与障碍物碰撞的速度范围Va;最终得到移动机器人的运动速度空间为Vr=Vs∩Vd∩Va;最后设计评价函数G(v,w);
S53.确定起始节点S(xs,ys)与第一子目标节点K1(xK1,yK1),连接起始节点与第一子目标节点得到线段SK1,计算线段SK1与x轴正方向的夹角,将该夹角作为初始航向角;
S54.采用移动机器人的运动速度空间和运动学模型模拟多条轨迹,通过评价函数筛选最优轨迹到达第一子目标节点,继续选取下一子目标节点进行局部路径规划,直到到达目标节点。
4.根据权利要求3所述的一种面向动态环境的移动机器人路径规划方法,其特征在于,移动机器人的运动学模型表示为:其中,xt表示t时刻移动机器人在x轴方向上的坐标,xt‑1表示t‑1时刻移动机器人在x轴方向上的坐标,yt表示t时刻移动机器人在y轴方向上的坐标,θt表示t时刻移动机器人运动方向与x轴的夹角,vt表示t时刻移动机器人的线速度,wt表示t时刻移动机器人的角速度,Δt表示的是采样间隔时间;
速度范围Vs表示为:
Vs={(v,w)|v∈[vmin,vmax],w∈[wmin,wmax]}其中,vmin表示最小线速度,vmax表示最大线速度,wmin表示最小角速度,wmax表示最大角速度;
速度范围Vd表示为:
其中,vc表示采样时间间隔Δt内的线速度, 表示最小线加速度, 表示最大线加速度,wc表示采样时间间隔Δt内的角速度, 表示最小角加速度, 表示最大角加速度,速度范围Va表示为:其中,dist(v,w)表示速度(v,w)对应轨迹上离障碍物最近的距离;
评价函数表示为:
G(v,w)=σ(δ×heading(v,w)+ε×dist(v,w)+γ×vel(v,w))其中,σ表示平滑系数,δ表示目标方向评价子函数权重系数,ε表示障碍物间隙评价子函数权重系数,γ表示速度评价子函数权重系数,heading(v,w)为方位角评价函数,表示移动机器人在当前设定的速度下,预测轨迹末端朝向与目标点之间的角度差距,vel(v,w)表示移动机器人在对应轨迹上的线速度。