一种机器人多目标路径规划方法
文献发布时间:2023-06-19 09:40:06
技术领域
本发明涉及人工智能技术领域,具体涉及一种机器人多目标路径规划方法。
背景技术
人工智能技术发展神速,机器人作为实现人工智能的重要载体,对其的技术要求也在不断提升,路径规划技术是各类移动机器人处理各种不同环境不同要求的任务的关键。在实际应用之中,许多问题需要考虑的是多个目标点之间的移动,以及任务的分配问题,解决多目标点的路径规划问题具有十分重要的现实意义。基于智能优化的路径规划算法是通过模拟自然界中种群的各种行为过程来实现算法的功能定义,这一类智能优化算法在解决优化问题的时候,利用群体行为自发地在解空间中寻找全局最优解,具有随机性、并行性和分布式的特点。典型的智能优化算法有遗传算法(Genetic algorithm, GA)、粒子群优化算法(Particle swarms optimization,PSO)、蚁群优化算法(Ant colonyoptimization,ACO)等。曹洁采用自适应调整信息素与种群规模的方法提高算法搜搜速度,并引入交叉操作来增加解的多样性,改善算法停滞问题,将改进算法应用到了捡球机器人的多目标路径规划问题中。浦兴成提出一种基于改进粒子群算法和蚁群算法相结合的路径规划方法,该算法向粒子群算法中加入了反向学习策略,改进了粒子群算法的惯性权重和学习因子。白天提出基于快速随机搜索树算法多目标点路径规划方法。该算法将路径规划任务细分为“探索层”和“规划层”两部分来完成,由“探索层”随机探索自由空间生成随机树,再由“规划层”基于最小生成树得到多个树之间的最短路径。然而,上述这些智能算法都存在因为随机搜索而导致收敛速度慢,过于依赖正反馈机制而容易陷入局部最优解的问题。
发明内容
本发明所要解决的是现有智能优化算法在应用于路径规划时存在路径结果容易陷入局部最小值的问题,提供一种机器人多目标路径规划方法。
为解决上述问题,本发明是通过以下技术方案实现的:
一种机器人多目标路径规划方法,包括步骤如下:
步骤1、将机器人要进行多目标路径规划的环境地图栅格化,在栅格化的环境地图中,每个单元格大小相同且分布均匀;栅格化的环境地图中包括 1个机器人当前所处单元格即起始点、2个以上机器人待到达的目标所处单元格即目标点、障碍物区域和可行区域;
步骤2、利用求解旅行商问题的蚁群算法得到从机器人的起始点开始,并能够遍历机器人的所有目标点,且路径长度最短的机器人访问顺序;该机器人访问顺序的第一个访问点为起始点,第二个访问点开始均为目标点;
步骤3、根据步骤2所得到的机器人访问顺序,利用基于强化学习的蚁群优化算法规划每2个访问点之间的路径,并将每2个访问点之间的路径按照访问顺序进行组合,即可得到机器人的多目标路径。
上述步骤3中,基于强化学习的蚁群优化算法的具体过程如下:
步骤3.1、建立强化学习模型,其中:
强化学习模型的输入为种群状态,其中第t次迭代的种群状态s
强化学习模型的奖励函数是第t次迭代和第t-1次迭代的局部最优路径结果的适应度的差值;
强化学习模型的输出为种群动作,其中第t次迭代的种群动作a
步骤3.2、给定初始的信息素挥发系数ρ、初始的信息素矩阵、初始的迭代次数t、最大迭代次数N_max和蚂蚁个数M;
步骤3.3、首先,利用当前信息素矩中的信息素浓度计算转移概率;然后,根据转移概率的大小,每一只蚂蚁采用轮盘赌的方法,完成从起点到终点的路径搜索,得到每一只蚂蚁的最终路径结果;最后,比较所有蚂蚁的最终路径结果,并将适应度最大的路径结果记录为第t次迭代的局部最优路径结果;
步骤3.4、判断是否达到迭代终止条件:如果是,则第t次迭代的局部最优路径结果即为全局最优路径结果,该全局最优路径结果即为本轮路径规划的起点和终点之间的路径;否则,则转至步骤步骤3.5;
步骤3.5、计算第t次迭代的种群多样性div(t),并将第t次迭代的种群状态 s
步骤3.6、根据步骤3.5所得到的第t次迭代的种群动作a
步骤3.7、利用步骤3.6调整后的挥发系数ρ对信息素矩阵进行更新,并令迭代次数t加1后返回步骤3.3。
上述步骤3.1和3.5中,第t次迭代的种群多样性div(t)为:
式中,M表示蚂蚁的总数,f(x
上述步骤3.4中,达到迭代终止的条件具体为:当前迭代次数达到最大迭代次数,或者局部最优路径结果在预定迭代次数下的变化差值处于给定的变化阈值。
与现有技术相比,本发明具有如下特点:
1、引入了种群多样性概念,提高了算法的自主调种群密度的能力,减少了出现大量结果陷入局部最优解的情况;
2、考虑了算法探索和利用之间的平衡问题,使用了强化学习模型来控制信息素的更新策略,调高了算法对环境状态的感知能力,减少了算法收后期收敛速度慢的,路径结果不是最优的情况;
3、算法的适应性更强,能自适应的在算法迭代过程中调整信息素更新策略,提高了算法搜索速度且路径结果较优。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实例,对本发明进一步详细说明。
一种机器人多目标路径规划方法,具体包括以下步骤:
步骤1、将机器人要进行多目标路径规划的环境地图栅格化,在栅格化的环境地图中,每个单元格大小相同且分布均匀;栅格化的环境地图中包括 1个机器人当前所处单元格即起始点、2个以上机器人待到达的目标所处单元格即目标点、障碍物区域和可行区域。
栅格化环境地图,将环境地图转化为二维空间,空间由大小相同的单元网格组成,机器人在栅格化的地图中看作一个单元格的质点,障碍物在未占满一个单元格的情况,按一个单元格处理。假设地图环境大小为m*n,为了方便计算环境数据,我们使用地图矩阵G(m*n)从序号0开始给每一个单元格编号。其中,地图矩阵G记录了地图环境信息,值为1表示对应的单元格为可自由通行的非障碍物区域,值为0表示对应的单元格为不可通行的障碍物区域。
步骤2、利用求解旅行商问题的蚁群算法得到从机器人的起始点开始,并能够遍历机器人的所有目标点,且路径长度最短的机器人访问顺序;该机器人访问顺序的第一个访问点为起始点,第二个访问点开始均为目标点。
旅行商问题是Dantzig于1959年提出的一个经典的组合优化问题。其概念可用如下的例子来说明:一位旅行商从一个城市出发,访问列表中所有城市,且每个城市只访问一次,最终回到首次出发的城市,其目标是旅行商访问所有城市的总距离最小。利用传统蚁群算法求解机器人的各个目标点的访问顺序时,其能够将起始点和目标点进行排序,假设起始点用S表示,目标点用C
步骤3、根据步骤2所得到的机器人访问顺序,利用基于强化学习的蚁群优化算法规划每2个访问点之间的路径,并将每2个访问点之间的路径按照访问顺序进行组合,即可得到机器人的多目标路径。
针对传统蚁群算法后期收敛速度慢,容易陷入局部最优解的情况,本发明在蚁群中引入种群多样性的概念,避免过多的蚂蚁个体聚集在局部最优解附近,同时采用蚁群算法迭代过程中的状态信息构建强化学习模型,控制信息素更新策略,提高算法自适应性,我们将这一改进的蚁群算法算法称为基于强化学习的蚁群优化算法(Reinforcementlearning based ant colony algorithm, RLACO)。
(1)路径
假设机器人从起始点S(S的单元格坐标为C
P
路径规划的过程就是调整S与C
(2)路径长度
在栅格化地图中,路径是由不同的路径节点相连而成,而每两个路径节点的之间的距离可以近似的通过坐标计算,因为单元格的大小是相同的正方形,为了减少计算复杂度,我们构建了每一个栅格点到达其它栅格点的距离代价矩阵,障碍物单元格与其它所有单元格的距离代价都为0,代表该单元格不能被选择作为下一路径节点。
对于未发生碰撞的路径,路径中第i个节点A
其中,abs(·)表示取绝对值。
(3)全局适应度函数
全局适应度函数f为:
f=f
其中,f
(3.1)路径的无碰撞适应度函数
路径的无碰撞适应度函数f
f
其中,f
(3.1.1)路径节点无碰撞适应度函数
假设某一路径的路径节点集合为A,则路径节点A
其中,B表示障碍物集合。
假设该条路径的路径节点个数为n,那么整条路径的所有路径节点无碰撞适应度函数f
(3.1.2)路径线段无碰撞适应度函数
假设第i个路径节点和第i+1个路径节点的之间的路径线段为A
其中,B表示障碍物集合。
假设该条路径的路径线段个数为n+1,那么整条路径的所有路径线段的无碰撞函数f
(3.2)路径长度适应度函数
处理路径规划问题的时候,所得路径的长度直接影响着移动机器人的运行时间。通常来说,应当尽可能得到一条最短的路径,所以路径的长短也是评价路径优劣的一个重要指标。然后,用S表示起始点,C
(4)强化学习模型
(4.1)模型的输入,即状态
结合当前迭代次数为t和当前种群的多样新div(t)定义种群的状态空间为一个二元组<t,div(t)>。其中s
种群的多样新div(t)可表示为:
其中,f(x
(4.2)模型的输出,即动作
动作空间A={a1,a2,a3}为调整蚁群算法挥发系数ρ的行为。其中动作a1是让挥发系数ρ增大一个定值,即ρ=ρ+Δ,以增强算法的随机性,算法更多地去探索未知空间。动作a2是让挥发系数ρ减小一个定值,即ρ=ρ-Δ,让最优解包含的节点上的信息素发挥更久的影响,加速算法收敛的速度。动作a3表示保持挥发系数ρ不变。Δ为设定的定值。
(4.3)奖励函数
奖励函数R是强化学习过程中的一个重要环节,我们将直接奖励定义为本次迭代与上次迭代的适应度之间的差值,其作用是奖励当前状态下较好的动作,同时惩罚使种群退化的动作。
在本次迭代时,当前状态为s
r
(4.4)Q值表
Q值表,该表存放的是所有的状态-动作对的值Q(s,a)。可将整个蚁群视为一个Agent,与环境交互的过程中,得到每一个状态-动作对的奖励值r
1)观察当前状态s
2)根据动作选择策略选要择执行的动作a
3)观察下一状态s
4)得到奖励值r
5)查询Q值表,估计之后状态的Q值Q
6)更新Q值表:
Q
其中,Q
(4.5)强化学习模型的动作选择策略
在强化学习的训练过程中,通常使用概率的行为选择方法,具有较大Q值的动作将会有较大的概率被选中作为下一个动作,而具有较小Q值的动作也具有一定的概率被选中。本发明使用的动作选择策略是Boltzmann方法,该方法会将其它状态-动作对的值也考虑在内,动作a被选中的概率P
其中,maxQ(s,b)表示当前状态s上所有动作能够产生的最大Q值;T>0被称为温度系数,T越小,动作选择策略越趋向于“仅利用”,T越大,动作选择策略越趋向于“仅探索”。
为了获得整个机器人的多目标路径,基于步骤2所得到的机器人访问顺序,依次对每2个访问点之间的路径进行规划。在第一轮路径规划时,利用基于强化学习的蚁群优化算法去规划起始点到第一个目标点之间的路径。第二轮路径规划时,利用基于强化学习的蚁群优化算法去规划第一个目标点到第二个目标点之间的路径。……。最后一轮路径规划时,利用基于强化学习的蚁群优化算法去规划第g-1个目标点到第g个目标点之间的路径。
由于每2个访问点之间的路径规划方法相同,因此下面以第一轮路径规划(即起始点到第一个目标点之间的路径规划)为例,对基于强化学习的蚁群优化算法进行说明:
步骤3.1、建立强化学习模型。
模型的输入即状态空间S为一个由蚁群算法的迭代次数和当前种群的多样性组成的二元组
模型的输出即动作空间A={a1,a2,a3},动作a1为把挥发系数ρ的值增加 0.1,a2为把挥发系数ρ的值减小0.1,动作a3为保持挥发系数ρ的值不变。
模型的奖励函数R为两次迭代的路径结果的适应度的差值,假设在第t 次迭代执行的动作为a
r
模型的Q值表为一张二维表,其每一行表示的是蚁群算法在迭代过程中种群可能出现的所有状态,每一列表示的是可以执行的动作。Q值表中存放的状态-动作对的值越大,说明这一对状态和动作越符合。
步骤3.2、初始化:确定本轮路径规划的起点(起始点)和终点(第一个目标点);设定初始信息素矩阵Tau=0.1,初始信息素挥发系数ρ=0.7,蚂蚁个数M=20和最大迭代次数N_max=500;初始的迭代次数t=0。
步骤3.3、将每一只蚂蚁的路径的第一个路径节点为起点,并将起点加入禁忌表Tabu中,之后的路径不在选择禁忌表中的节点。
步骤3.4、利用当前信息素矩中的信息素浓度计算转移概率;
式中τ
步骤3.5、每一只蚂蚁根据转移概率的大小,采用轮盘赌的方法,选择下一个路径节点,并将该路径节点加入路径禁忌表中,同时更新该蚂蚁的路径信息。
步骤3.6、当一只蚂蚁抵达终点,该蚂蚁完成了在本次迭代过程中路径搜索任务,记录其最终路径结果。未抵达终点的蚂蚁继续搜索路径节点,直到抵达终点。当连续多次未搜多到终点的时候,该蚂蚁搜搜路径失败,记录其最终路径结果为0。
步骤3.7、比较所有蚂蚁的最终路径结果,并将适应度函数值最大的路径结果记录为本次迭代的局部最优路径结果。
步骤3.8、判断是否达到迭代终止条件:如果是,则本次迭代的局部最优路径结果即为全局最优路径结果,该全局最优路径结果即为本次路径规划的起始点和终端之间的路径;否则,则转至步骤步骤3.9;
上述迭代终止条件为:
1)当前迭代次数t达到最大迭代次数N_max,若达到最大迭代次数N_max,则算法停止迭代。
2)若局部最优路径结果在连续多次迭代中不出现变化,或者变化的差值处于一定阈值(在本实施例中,阈值设置为1E-6),则说明局部最优路径结果已无提升,算法停止迭代。
步骤3.9、计算第t次迭代的种群多样性div(t),并将第t次迭代的种群状态 s
第t次迭代的种群多样性div(t)为:
式中,M表示蚂蚁的总数,f(x
步骤3.10、根据所得到的第t次迭代的种群动作a
当种群动作a
当种群动作a
当种群动作a
其中Δ为设定的定值。
步骤3.11、利用调整后的挥发系数ρ对信息素矩阵Tau进行更新:
τ
其中,ρ(0<ρ<1)为信息素挥发系数,在迭代过程中由强化学习模型控制其具体数值,Δτ
步骤3.12、令迭代次数t=t+1,并返回步骤3.3。
本发明公开了一种多目标路径规划方法,结合了蚁群算法构建了强化学习模型,在蚁群算法迭代过程中对蚁群算法的信息素更新策略进行控制,并将其应用于多目标的路径规划任务中。该方法能够对算法运行状态进行感知,动态的调整更新策略,保证算法在不同状态下采取适当的策略,一方面增加算法探索位置区域的速度,另一方面避免算法陷入局部最优解中,提高算法后期的收敛精度。
需要说明的是,尽管以上本发明所述的实施例是说明性的,但这并非是对本发明的限制,因此本发明并不局限于上述具体实施方式中。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。
- 一种机器人多目标路径规划方法
- 一种基于改进多目标萤火虫算法的机器人路径规划方法