本发明涉及移动机器人智能算法技术领域,具体涉及一种基于改进遗传算法的路径规划方法。
背景技术:
移动机器人路径规划是机器人技术的一个重要研究领域,除用于宇宙探测、海洋开发和原子能等领域外,在工厂自动化、建筑、采矿、排险、军事、服务、农业等方面也有广泛的应用前景。路径规划的方法有很多,比如A*算法,人工势场法,模糊推理法,蚁群算法等,使用A*算法虽然对于比较简单的地图,它的搜索速度非常快,也能找到最优路径,但是全局性较差,启发函数选择不当容易陷入死循环;使用人工势场法便于底层的实时控制,但缺乏全局信息,存在局部最优值问题;使用模糊推理法最大的优点是实时性非常好,但是模糊隶属函数的设计、模糊控制规则的制定主要靠人的经验;使用蚁群算法虽然全局性强,能得到较好的最优解,但容易陷入局部最优。
遗传算法通过引入达尔文生物进化学说中的选择、交换、变异等概念,对经过编码的多个个体组成的群体进行遗传进化操作,在进化过程中可以并行地对解空间的不同区域进行搜索。因具有并行性、鲁棒性、灵活性等优点而被广泛应用于移动机器人的路径规划。
遗传算法证明是一种全局搜索能力强的算法,具有很强的鲁棒性,并行性。从宏观的角度看,遗传算法具有一定的方向性,因此它不同于一般的随机算法,它所使用的随机选择只是在有方向的搜索过程中的一种工具,正是由于它的方向性,使得它比一般的随机算法效率更高。
技术实现要素:
本发明的目的是提供一种移动机器人路径规划方法及系统,以解决现有遗传算法容易陷入局部最优、运行速度慢的技术问题。
为了解决上述技术问题,本发明提供了一种移动机器人路径规划方法,包括如下步骤:
步骤S1,环境建模;以及
步骤S2,执行遗传算法以输出最优路径。
进一步,所述步骤S1环境建模,即
对移动机器人的工作环境进行建模以建立坐标系,其方法包括:
利用移动机器人自带传感器组采集工作环境信息,并进行地图建模;其中,将移动机器人作为质点,将移动机器人和障碍物按照二维坐标系建模,用尺寸相同的栅格划分二维工作空间,使移动机器人在该空间中自由运动;
若某一栅格内有障碍物,定义此栅格为障碍栅格,否则为自由栅格;以及
用序号对每个栅格编号,每个编号N都与其直角坐标一一对应,其映射关系为:
N=x+10y;或
其中mod表示取余操作,int表示取整操作。
进一步,所述步骤S2中执行遗传算法以输出最优路径的方法包括如下子步骤:
步骤S21,执行种群初始化操作;
步骤S22,计算个体的适应度值;
步骤S23,执行选择、交叉、变异操作;
步骤S24,执行路径优化策略;
步骤S25,终止条件判定;以及
步骤S26,输出最优路径。
进一步,所述步骤S21中执行种群初始化操作的方法包括:
从起始点出发,随机选取与起始点相邻的一个自由栅格作为下一路径点,该路径点与目标点距离最短,如此循环,一直找到目标点为止,且同一栅格有且只能经过一次,以获得一条初始路径,即产生一种群。
进一步,所述步骤S22中计算个体的适应度值的方法包括:
首先确定适应度函数,且选取路径长度、路径安全度和路径平滑度,即
适应度函数如下:F(T)=μ1D(T)+μ2S(T)+μ3L(T) (1);
式(1)中,μ1,μ2,μ3分别为路径长度、路径安全度、路径平滑度的权重系数;D(T)表示路径长度,其计算公式为:
该式(2)中,d(ki,ki+1)表示节点ki到节点ki+1的距离;
S(T)表示路径安全度,其计算公式为:
该式(3)中,li表示第i条路径距离最近障碍物的距离;
L(T)表示路径平滑度,计算公式为:
该式(4)中,N(T)表示路径的转弯次数,表示路径li与路径li+1的夹角。
进一步,所述步骤S23中执行选择、交叉、变异操作的方法包括:
步骤S231,执行选择操作,即
从种群中随机选择两个个体进行适应度值比较,适应度值较高的个体进入下一代,适应度值较低的个体则被舍去;
步骤S232,执行交叉操作,即
对于两个待交叉的染色体,选择在它们共有节点处进行交叉,以形成的连续路径,若两染色体不存在共有节点,则不进行交叉操作;
步骤S233,执行变异操作,即
从当代群体中随机选择待变异的个体,选择路径转弯处的基因进行删除,并随机选择该基因周围的一个基因来替代,重新连接形成一条连续的新路径。
进一步,所述步骤S24,执行路径优化策略的方法包括如下子步骤:
步骤S241,删除算子的引入,即
将相同栅格序号之间的栅格和相同栅格之一删除掉,将形成的新路径作为下一代种群个体;
步骤S242,平滑算子的引入,即
平滑算子是在路径段之间的转角处两端添加两个节点;
若连接后的线段不经过障碍物,则用该线段替换该处原有路径,并删除原有的转角处节点,从而生成一条更加平滑优化的新路径。
进一步,所述步骤S25中终止条件判定的方法包括:
通过两代之间的平均适应度之差小于Δ,以终止算法,输出最优路径,Δ取0.1;
若两代之间的平均适应度之差大于Δ,则返回步骤S22。
又一方面,本发明还提供了一种移动机器人路径规划系统。
所述移动机器人路径规划系统包括:
建模单元,对移动机器人的工作环境进行建模以建立坐标系;
路径计算单元,执行遗传算法以输出最优路径。
进一步,所述移动机器人自带传感器组采集工作环境信息,并进行地图建模;其中,将移动机器人作为质点,将移动机器人和障碍物按照二维坐标系建模,用尺寸相同的栅格划分二维工作空间,使移动机器人在该空间中自由运动;
若某一栅格内有障碍物,定义此栅格为障碍栅格,否则为自由栅格;以及
用序号对每个栅格编号,每个编号N都与其直角坐标一一对应,其映射关系为:
N=x+10y;或
其中mod表示取余操作,int表示取整操作。
进一步,所述路径计算单元执行遗传算法以输出最优路径,即
先执行种群初始化操作,再计算个体的适应度值,并进行选择、交叉、变异操作后,执行路径优化策略,经终止条件判定输出最优路径。
本发明的有益效果是,本发明的移动机器人路径规划方法及系统加快机器人的搜索效率,避免陷入局部最优,提高了算法的性能,并且有效避免了局部最优解以及克服了传统遗传算法收敛速度慢的问题。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1本发明改进遗传算法路径规划流程图
图2基本遗传算法路径规划图
图3基本遗传算法个体平均适应值随进化代数变化的关系曲线图
图4改进遗传算法路径规划图
图5改进遗传算法个体平均适应值随进化代数变化的关系曲线图
具体实施方式
现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
移动机器人路径规划方法及系统的原理是对移动机器人工作环境进行建模并进行种群初始化;根据计算的各个个体的适应度值进行选择、交叉、变异操作,最后执行路径优化策略,根据优化结果输出移动机器人的运动路径。
以下通过实施例1和实施例2进行详细说明。
实施例1
如图1所示,本实施1提供了一种移动机器人路径规划方法,包括如下步骤:
步骤S1,环境建模;以及
步骤S2,执行遗传算法以输出最优路径。
所述步骤S1环境建模,即对移动机器人的工作环境进行建模以建立坐标系,其方法包括:利用移动机器人自带传感器组(例如但不限于摄像头、声呐环、红外传感器)采集工作环境信息,并进行地图建模;其中,将移动机器人作为质点,将移动机器人和障碍物按照二维坐标系建模,用尺寸相同的栅格划分二维工作空间,使移动机器人在该空间中自由运动;
若某一栅格内有障碍物,定义此栅格为障碍栅格,否则为自由栅格;以及
用序号对每个栅格编号,每个编号N都与其直角坐标一一对应,其映射关系为:
N=x+10y;或
其中mod表示取余操作,int表示取整操作。
具体的,所述步骤S2中执行遗传算法以输出最优路径的方法包括如下子步骤:
步骤S21,执行种群初始化操作;
步骤S22,计算个体的适应度值;
步骤S23,执行选择、交叉、变异操作;
步骤S24,执行路径优化策略;
步骤S25,终止条件判定;以及
步骤S26,输出最优路径。
其中,所述步骤S21中执行种群初始化操作的方法包括:机器人初始路径产生过程为从起始点出发,随机选取与起始点相邻的一个自由栅格作为下一路径点,该路径点要求与目标点距离最短,如此循环,一直找到目标点为止,这就找到了一条初始路径,也就产生了一个种群。为了防止出现环路,同一栅格有且只能经过一次。该方法优点在于产生的路径都是连续路径,不会产生间断路径,为接下来的遗传进化提供了很好的导向作用。
所述步骤S22中计算个体的适应度值的方法包括:
首先确定适应度函数,本发明适应度函数的选取考虑了路径长度、路径安全度和路径平滑度。路径长度是最优路径评价的关键因素,直接影响到路径质量的好坏。路径安全度也是路径评价不可或缺的因素,关系到路径是否与障碍物相碰。路径平滑度充分考虑路径的转弯角度以及转弯次数,是评价机器人耗能指标的重要参数。
因此,适应度函数如下:F(T)=μ1D(T)+μ2S(T)+μ3L(T) (1);
式(1)中,μ1,μ2,μ3分别为路径长度、路径安全度、路径平滑度的权重系数;D(T)表示路径长度,其计算公式为:
该式(2)中,d(ki,ki+1)表示节点ki到节点ki+1的距离;
S(T)表示路径安全度,其计算公式为:
该式(3)中,li表示第i条路径距离最近障碍物的距离;
L(T)表示路径平滑度,计算公式为:
该式(4)中,N(T)表示路径的转弯次数,表示路径li与路径li+1的夹角。
所述步骤S23中执行选择、交叉、变异操作的方法包括:
步骤S231,执行选择操作。
具体的,执行选择操作的关键是选择算子的选择,本发明选择算子采用两两竞争模式。它的基本思想是从种群中随机选择两个个体进行适应度值比较,适应度值较高的个体进入下一代,适应度值较低的个体则被舍去。这种方法是一种基于局部竞争机制的选择,而且只是适应度相对值的比较,具有一定的随机性,因而它能避免出现局部最优,在一定程度上避免了过早收敛和停滞现象的发生。
步骤S232,执行交叉操作。
具体的,本发明初始种群产生的路径都是连续的,如采用随机交叉的方法很容易产生断路,因而会影响寻优效率。所以本发明采用共有节点处交叉策略,即对于两个待交叉的染色体,我们选择在它们共有节点处进行交叉,这样形成的路径依然是连续路径。如果不存在共有节点,则不进行交叉操作。
步骤S233,执行变异操作。
具体的,传统的变异操作都会导致种群中优良个体遭到破坏,使连续路径变成间断路径,尤其是路径直线部分的变异更将导致该路径变为无效路径,无疑给算法增加复杂程度,增加算法计算时间。本发明采用的变异操作为:从当代群体中随机选择待变异的个体,选择路径转弯处的基因进行删除,并随机选择该基因周围的一个基因来替代它,重新连接形成一条连续的新路径。
所述步骤S24,执行路径优化策略的方法包括如下子步骤:
步骤S241,删除算子的引入。
具体的,在产生个体路径时,由于初始化路径的随机性和变异操作的连接过程,可能会出现重复的栅格序号,所以要将相同栅格序号之间的栅格和相同栅格之一删除掉,所形成的的新路径作为下一代种群个体。
步骤S242,平滑算子的引入。
具体的,对于路径段之间偏转角度较小,则会增加机器人行走过程的复杂性和消耗较多的能量。因此,本文采用平滑算子对其进行优化,对路径长度及平滑度都有一定的改进,提高种群中可行路径的适应度,从而提高算法的准确性。
平滑算子是在路径段之间的转角处两端添加两个节点,这两个节点不宜离转角处节点太远,并连接这两个节点,若连接后的线段不经过障碍物,则用该线段替换该处原有路径,并删除原有的转角处节点,从而生成一条更加平滑优化的新路径。
所述步骤S25中终止条件判定的方法包括:通过两代之间的平均适应度之差小于Δ,以终止算法,输出最优路径,Δ取0.1;若两代之间的平均适应度之差大于Δ,则返回步骤S22。
实施例2
在实施例1基础上,本实施例2提供了一种移动机器人路径规划系统,
所述移动机器人路径规划系统包括:
建模单元,对移动机器人的工作环境进行建模以建立坐标系;
路径计算单元,执行遗传算法以输出最优路径。
具体的,所述移动机器人自带传感器组采集工作环境信息,并进行地图建模;其中,将移动机器人作为质点,将移动机器人和障碍物按照二维坐标系建模,用尺寸相同的栅格划分二维工作空间,使移动机器人在该空间中自由运动;
若某一栅格内有障碍物,定义此栅格为障碍栅格,否则为自由栅格;以及
用序号对每个栅格编号,每个编号N都与其直角坐标一一对应,其映射关系为:
N=x+10y;或
其中mod表示取余操作,int表示取整操作。
进一步,所述路径计算单元执行遗传算法以输出最优路径,即先执行种群初始化操作,再计算个体的适应度值,并进行选择、交叉、变异操作后,执行路径优化策略,经终止条件判定输出最优路径。
关于本实施例2涉及的先执行种群初始化操作,再计算个体的适应度值,并进行选择、交叉、变异操作后,执行路径优化策略,经终止条件判定输出最优路径的具体步骤详见实施例1的相关论述。
在实施例1和实施例2基础上,将本发明涉及的移动机器人路径规划方法及系统与传统遗传算法输出的最优路线图相对比。
具体的,根据输出的最优路线图,图2是传统遗传算法输出的最优路线图,图4是改进的遗传算法输出的最优路线图,结合这两张最优路线图不难发现,图4相对于图2虽然缩短的路径长度较少,但是明显少走了一些弯路,因此移动机器人的工作效率也就得到了提升,这也就达到了弥补传统遗传算法存在不足的目的。
在简单条件下进行仿真对比实验。从图3和图5中不难发现,传统遗传算法要到36代才能近似收敛到最优解,改进后的遗传算法只要迭代不到20次就能收敛到最优解,效率提升了将近一倍。本发明对传统遗传算法所做改进的优势显而易见,改进后的遗传算法让蚂蚁在前期少走许多弯路,提高了算法前期的收敛性,大大提高了提高机器人的工作效率和工作可靠性。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。