1.一种基于多目标优化平滑蚁群算法的路径规划方法,其特征在于,包括以下步骤:建立栅格地图,确定起始点和目标点;并初始化蚁群算法参数;
根据起始点和目标点,采用弗洛伊德算法生成的引导路径信息,并初始化信息素矩阵,初始化禁忌表;
根据禁忌表和障碍物信息构建可选节点,并按照改进后的状态转移函数构建候选解,由轮盘赌原则选择下一节点;其中,根据可选节点到目标节点的距离构建新的启发函数,引入人工势场法优化启发函数,替换原状态转移函数中的启发函数;
根据下一节点,更新禁忌表并记录蚂蚁的路径节点和路径长度;
根据路径长度、安全性和能耗性三个指标,结合多目标优化思想和动态原则优化信息素更新方式;
判断蚂蚁是否到达目标节点并判断是否达到预设的最大蚂蚁数量,若是,则根据优化信息素更新方式进行全局更新;
根据预设的最大迭代次数进行迭代,获得最优路径;
所述根据可选节点到目标节点的距离构建新的启发函数,并引入人工势场法优化启发函数,包括以下步骤:提出可选节点到目标节点的距离这一概念,取代原启发函数,如下所示:;
在新启发函数的基础上,引入人工势场法中目标节点对机器人的引力概念,优化启发函数,如下所示:;
;
;
式中, 为目标节点对可选节点的引力效应, 为引力常数, 为幂值函数,返回给定底数的指数次幂的值;为可选节点, 为目标节点;
引入正态分布函数,令其与启发函数相结合,如下所示:;
式中, 为标准正态分布函数的变形,省略了系数部分, 为当前迭代次数, 为最大迭代次数, 为优化后的状态转移概率;
所述根据路径长度、安全性和能耗性三个指标,结合多目标优化思想和动态原则优化信息素更新方式,包括以下步骤:基于多目标优化思想,提出了路径长度 、路径安全度 和路径能耗度三个优化目标,并以此为标准更新信息素矩阵;多目标优化函数如下所示:;
;
;
;
;
式中, 为路径所有节点的欧氏距离之和, 为路径的危险节点之和,危险节点是可选节点与障碍物节点之比小于1的节点; 为路径转角数量和转弯角度之和; 为综合质量,是路径长度、路径安全度和路径能耗度三个优化目标分别以不同比重组成的综合指标;
在此基础上,改进信息素更新方式如下所示:;
;
;
式中, 为局部最佳路径的综合质量,为局部最佳路径上的蚂蚁数量, 为全局最佳路径的综合质量; 为局部最差路径的综合质量, 为局部最差路径上的蚂蚁数量, 为全局最差路径的综合质量;
引入动态更新挥发系数的概念,动态挥发系数如下所示:;
式中, 和 分别为本次迭代和五次迭代之前最优路径的综合质量,在迭代后期,若连续五次迭代中最佳路径的质量没有变化,则挥发系数 增大,增强挥发作用,使得蚂蚁探索更优解,其上限为0.8。
2.根据权利要求1所述的基于多目标优化平滑蚁群算法的路径规划方法,其特征在于,所述蚁群算法参数包括:起始点、目标点、迭代次数、蚂蚁数量、信息素启发因子、期望启发因子、信息素挥发因子。
3.根据权利要求1所述的基于多目标优化平滑蚁群算法的路径规划方法,其特征在于,所述根据弗洛伊德算法生成的引导路径信息,并初始化信息素矩阵,包括以下步骤:初始化最短距离矩阵 为地图的邻接矩阵,路径节点矩阵 置为空矩阵;邻接矩阵中的元素初始化为无穷大,若两个节点存在边则对应元素置为权重值;
对于节点 与节点 ,遍历其余节点判断是否存在节点 令从节点 到节点 再到节点的距离比已知路径更短,若存在,则更新矩阵 和矩阵 ;
状态转移方程如下所示:
;
确定起始节点和目标节点之后,通过弗洛伊德算法获得最优路径,包括路径长度和路径节点,然后以生成路径为导向,增加该路径上的信息素浓度;
初始信息素矩阵设置方式如下所示:;
式中, 为初始信息素矩阵, 为弗洛伊德算法生成的引导路径,将引导路径的信息素浓度设置为其他节点的 倍。
4.根据权利要求1所述的基于多目标优化平滑蚁群算法的路径规划方法,其特征在于,还包括:当蚂蚁陷入死锁时,执行回退策略,直至脱离陷阱;包括以下步骤:蚂蚁陷入死锁时将满足以下公式:
;
式中, 为可选节点列表, 为禁忌列表;
当蚂蚁未到达目标节点且没有可选节点时,执行回退策略,将当前节点加入到禁忌表并退回到上一节点,并减少当前节点处的信息素浓度;若此时有新的可选节点出现,则结束回退策略,若没有,则继续执行,直到有可选节点供蚂蚁选择,从而脱离死锁困境;
回退时的信息素更新方式如下所示:;
式中,为信息素惩罚蒸发系数。
5.根据权利要求1所述的基于多目标优化平滑蚁群算法的路径规划方法,其特征在于,对路径采用连通性原理和二次B样条方法进行平滑处理,包括以下步骤:位于起始节点与距离最远的可连通节点之间的节点都为冗余节点,都将被舍弃;该最远节点作为下一次连通性判断的起始节点,直到与目标节点连通,则结束连通性处理;
引入二次B样条曲线优化方法,B样条曲线的定义如下所示:;
;
;
式中, 为原始端点, 为基函数, 为曲线上点的集合;
当式中的 时,B样条曲线为二次,通过样条基函数得到如下形式:。