掌桥专利:专业的专利平台
掌桥专利
首页

一种神经网络优化启发函数的移动机器人路径规划方法

文献发布时间:2023-06-19 13:46:35


一种神经网络优化启发函数的移动机器人路径规划方法

技术领域

本发明涉及移动机器人路径规划、信号处理的技术领域,尤其涉及一种神 经网络优化启发函数的移动机器人路径规划方法。

背景技术

自导航机器人技术近年来得到了快速地发展,各式各样的移动机器人被用 于科学研究、工业生产、家居生活等应用场景,自导航机器人(AGV,Automated Guided Vehicle)的算法部分主要分为定位算法、导航控制算法及路径规划算法。

在路径规划领域,比较经典的算法有Dijkstra算法(D算法)和A*算法, 这两种算法均采用最小化目标函数的方法,逐个节点地进行单向或双向的最短 路径搜索。其中A*算法通过采用一个启发信息提升了Dijkstra算法的低搜索效 率。它们均是最为基础的图论方法,广泛地应用于游戏编程、数学建模、机器 人导航、网络路由选择等领域。

同时,为了适应各式各样的实际应用环境,国内外相关领域的研究者们进行 了多方面的探索,提出了许多种改进和创新。首先是对经典Dijkstra算法和经典 A*算法的改进。例如DongKai Fan等人提出的一种应用于路径规划的改进D算 法,这种算法优化调整了地图信息的存储结构,将邻接矩阵替换为一种链表,从 而降低了路径搜索的时间消耗。而Wang ShuXi等人提出了D算法的另一种改 进,此算法针对无向图提出了一种算法停止机制,从而防止算法陷入死循环,提 高算法效率。

相对于可以保证路径最短且计算出发点到网络中所有点最短路径的D算法, A*算法使用了一个启发信息函数来估计当前节点到目标节点的距离。评价一个 启发函数好坏的标准是它和实际距离间的误差,这种误差越小,则可以认为这 个启发函数的设计越好。

发明内容

本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较 佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或 省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略 不能用于限制本发明的范围。

鉴于上述现有存在的问题,提出了本发明。

因此,本发明提供了一种神经网络优化启发函数的移动机器人路径规划方 法,能够解决无法在一定范围内考虑障碍物对路径的影响给出相对准确的搜索 方向的难题。

为解决上述技术问题,本发明提供如下技术方案:包括,基于分类神经网 络中的Softmax函数对输出向量和输入向量进行归一化处理;利用神经网络作 为机器人路径搜索过程中的启发函数时,将栅格地图中8个方向的节点定义为 分类输出网络的8个输出类别;定义输入向量与输出向量的格式;利用Adam 算法对所述启发函数进行优化训练;求解所述启发函数,利用增益或抑制的策 略体现出神经网络输出结果对所述启发函数的影响。

作为本发明所述的神经网络优化启发函数的移动机器人路径规划方法的 一种优选方案,其中:所述分类神经网络包括,全连接隐藏层;所述全连接隐 藏层包括,在当前隐层中的每一个节点都与上一层的所有节点相连,用于将之 前提取到的特征综合起来。

作为本发明所述的神经网络优化启发函数的移动机器人路径规划方法的一 种优选方案,其中:所述Softmax函数包括,定义已知一个数组V,V

其中,所述Softmax函数对该函数的输入向量做了归一化操作,其输出可 以被当作概率,即用来评价对于当前的神经网络输出来说,属于哪一种类别的 概率最大,从而给出分类结果。

作为本发明所述的神经网络优化启发函数的移动机器人路径规划方法的 一种优选方案,其中:所述神经网络的网络结构包括,输入层、全连接层1、 全连接层2、全连接层3、Softmax层和输出层;其中,所述输入层为一个1× 18的向量,所述全连接层1有48个节点,所述全连接层2有24个节点,所述 全连接层3有8个节点,经过Softmax函数做归一化后,输出为1×8的向量, 代表各个类别的概率。

作为本发明所述的神经网络优化启发函数的移动机器人路径规划方法的 一种优选方案,其中:所述输入向量的格式包括,所述输入向量由18个元素 组成,其中,前12个元素代表空间内3个最大或最近的障碍物的信息,若障 碍物不足3个,则以0占位;第13-14个元素表示当前点相对于目标点的角度 和距离;第15-16个元素表示当前点的横坐标和纵坐标;第17-18个元素表示 目标点的横坐标和纵坐标。

作为本发明所述的神经网络优化启发函数的移动机器人路径规划方法的 一种优选方案,其中:所述输出向量的格式包括,所述输出向量由8个元素组 成,每一个元素代表了一个近邻点,即一个运动方向的选择;

其中,定义所述输出向量为one-hot向量,则输出向量如下:

V

作为本发明所述的神经网络优化启发函数的移动机器人路径规划方法的 一种优选方案,其中:计算所述启发函数包括,

此时,A*算法在路径搜索时候的代价函数可以更新为:

F(n)=G(n)+H

其中,H

作为本发明所述的神经网络优化启发函数的移动机器人路径规划方法的 一种优选方案,其中:还包括,将所有的节点放入集合C,初始化其代价F(n)为无 穷,将起始节点v

本发明的有益效果:本发明对于较大范围的栅格地图,提升A*算法的搜 索效率,以达到在实际应用中可以实现快速响应的效果,相比于Dijkstra算法, A*算法之所以能有明显的效率提升,是因为其创造性地引入了启发函数,使得 搜索过程具有一定的方向性,鉴于常用的启发函数计算方法,如曼哈顿距离、 对角线距离、欧式距离等,在有障碍物的条件下不能准确的估计距离,造成搜 索效率偏低,本发明可以在一定范围内考虑障碍物对路径的影响,给出相对准 确的搜索方向,在应用于A*算法的优化时,可以明显的提高算法的计算效率, 在降低算法时间复杂度上有着明显的优势。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需 要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的 一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下, 还可以根据这些附图获得其它的附图。其中:

图1为本发明一个实施例所述的神经网络优化启发函数的移动机器人路径 规划方法的神经网络结构示意图;

图2为本发明一个实施例所述的神经网络优化启发函数的移动机器人路径 规划方法的输入向量示意图;

图3为本发明一个实施例所述的神经网络优化启发函数的移动机器人路径 规划方法的输入向量中障碍物的描述示意图;

图4为本发明一个实施例所述的神经网络优化启发函数的移动机器人路径 规划方法的输出向量示意图;

图5为本发明一个实施例所述的神经网络优化启发函数的移动机器人路径 规划方法的传统方法路径搜索结果对比示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书 附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的 一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员 在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的 保护的范围。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明 还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不 违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例 的限制。

其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少 一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在 一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施 例互相排斥的实施例。

本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明, 表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例, 其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及 深度的三维空间尺寸。

同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等 指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述 本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、 以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第 一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广 义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械 连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件 内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在 本发明中的具体含义。

实施例1

参照图1~图4,为本发明的第一个实施例,提供了一种神经网络优化启发 函数的移动机器人路径规划方法,包括:

S1:基于分类神经网络中的Softmax函数对输出向量和输入向量进行归一 化处理。

S2:利用神经网络作为机器人路径搜索过程中的启发函数时,将栅格地图 中8个方向的节点定义为分类输出网络的8个输出类别。

S3:定义输入向量与输出向量的格式。

S4:利用Adam算法对启发函数进行优化训练。

S5:求解启发函数,利用增益或抑制的策略体现出神经网络输出结果对启 发函数的影响。

分类神经网络包括,全连接隐藏层;

全连接隐藏层包括,在当前隐层中的每一个节点都与上一层的所有节点相 连,用于将之前提取到的特征综合起来。

具体的,Softmax函数包括:

定义已知一个数组V,V

其中,Softmax函数对该函数的输入向量做了归一化操作,其输出可以被 当作概率,即用来评价对于当前的神经网络输出来说,属于哪一种类别的概率 最大,从而给出分类结果。

不难理解的是,分类神经网络是ANN(Artificial Neural Network,人工神 经网络)的一种,常被用来解决已知类别数量的分类问题,近年来随着GPU 并行计算和人工智能相关技术的发展,分类神经网络已经被广泛用于人脸检测、 自动驾驶、安全验证和图片分类等和我们日常生活息息相关的各个领域。

人工神经网络的命名源自于其类似于大脑神经突触联接的结构,人们仿照 这种结构建立了一种信息可以在各层之间传递的数学模型,理论上可以拟合线 性或非线性的模型。

参照图1,神经网络的网络结构包括:

输入层、全连接层1、全连接层2、全连接层3、Softmax层和输出层;

其中,输入层为一个1×18的向量,全连接层1有48个节点,全连接层2 有24个节点,全连接层3有8个节点,经过Softmax函数做归一化后,输出为 1×8的向量,代表各个类别的概率。

参照图2,输入向量的格式包括:

输入向量由18个元素组成,其中,前12个元素代表空间内3个最大或最 近的障碍物的信息,若障碍物不足3个,则以0占位;

第13-14个元素表示当前点相对于目标点的角度和距离;

第15-16个元素表示当前点的横坐标和纵坐标;

第17-18个元素表示目标点的横坐标和纵坐标。

进一步的,在障碍物信息数量的选择上要做权衡考虑,这是因为过少的障 碍物信息不足以反应空间中障碍物情况,使得算法最终的效果趋向于传统的启 发函数;而过多的障碍物信息会造成信息的冗余与计算力的浪费,以当前节点 作为起始点将空间粗略地分为4个方向,除去与目标点相反的方向,在最不理 想的状态下,3个障碍物也足以描述当前点决定搜索方向所需要的信息;由于 A*算法本质上是通过已确定节点的代价值来确定最终路径,而且启发函数的计 算方法最终不会像机器人体积信息和转弯角度信息一样加入到最终的路径代 价信息中,因此在每一个点的决策时不需要过多考虑整体信息。

参照图3,对于每一个障碍物,使用4个数字来描述其属性,由于在当前 节点中选择8个点作决策,实质上相当于对机器人的下一步的运动方向做出决 策,因此,在描述障碍物的时候会突出其方向和距离两个方面的信息;在4个 数字中,使用前两个数字来描述当前节点相对于障碍物上边缘点的角度和距离 信息,使用后两个数字来描述当前节点相对于障碍物下边缘点的角度和距离信 息。

参照图4,输出向量的格式包括:

输出向量由8个元素组成,每一个元素代表了一个近邻点,即一个运动方 向的选择;

其中,定义输出向量为one-hot向量,则输出向量如下:

V

优选的,常见的神经网络训练方法有随机梯度下降算法(SGD,Stochasticgradient descent)和Adam算法(自适应矩估计),在神经网络的训练中,最常 见的是随机梯度下降法,相比于标准梯度下降法,随机梯度下降的每次训练利 用mini-batch(小批量)样本数据代替全部样本数据,并利用随机样本的误差 更新权值,但是这种方法可能会在某个方向的梯度更大的时候被困在局部最优 值;Adam算法在随机梯度下降算法的基础上增加了一阶动量和二阶动量,本 实施例采用了Adam算法作为神经网络的训练优化算法,利用其前期快速收敛 的特性,在较少的迭代次数内达到比较理想的训练效果,对于其在后期可能的 学习率振荡和错过最优解的问题,每隔几次迭代即记录其当前在测试集上的准 确率,并在后续的模型运用中选取最佳的模型。

本实施例还需要说明的是,分类神经网络的输出结果仅仅给出了对于当前 节点最佳的下一个搜索节点或方向,为了将此结果应用于A*算法的优化中, 必须将其结果转换为启发函数的形式以便放入搜索路径时代价的计算公式中; 由于在标准的A*算法中,其代价函数均是以距离为基础的,因此本实施例所 计算出的启发函数值也应该以距离值为基准,利用增益或抑制的方式来体现出 神经网络输出结果对启发函数的影响。

具体的,计算启发函数包括:

此时,A*算法在路径搜索时候的代价函数可以更新为:

F(n)=G(n)+H

其中,H

将所有的节点放入集合C,初始化其代价F(n)为无穷,将起始节点v

考察在集合B和集合C中与加入集合A中的起始节点v

若边等权重d

在集合B中,找到F(n)值最小的节点,并将其移入集合A中,重复初始化 操作,直至目标点v

G

H

其中,D

即提出的优化A*算法中,需要最小化的目标代价函数变为:

F(n)=G(n)+w

经过优化后的目标代价函数修改了原经典A*函数的启发函数一项,增加 R1和R2两种其它考量因素,并利用权重系数完成归一化。

实施例2

参照图5,为本发明的第二个实施例,该实施例不同于第一个实施例的是, 提供了一种神经网络优化启发函数的移动机器人路径规划方法的验证,包括:

为了验证本发明方法的有效性和准确性,本实施例设计了一组仿真实验来 展示算法的实际应用效果,本次仿真实验利用MATLAB自带的Deep Learning Toolbox(深度学习工具箱)作为神经网络的实现方法,并将相关启发函数的 计算方法加入A*算法的代价计算函数中,在随机生成有障碍物的80×80地图 上随机选择起始点和目标点,分别使用经典A*算法、Dijkstra算法、贪心算法 和采用了基于神经网络启发函数的A*算法进行路径的搜索,其结果如图5所 示,在路径计算的过程中,每种算法所遍历的节点数和时间消耗如表1所示。

表1:几种方法的搜索节点数。

参照表1,可以直观地看出,虽然贪心算法所搜索的节点数最少,时间效率 最高,但其搜索的路径总距离明显比其他路径长;Dijkstra算法搜索了地图上 超过75%的节点,时间效率非常低;经典A*算法和本发明方法路径结果非常 相近,而本发明方法在搜索节点数上有明显的优势,在时间效率上高了将近一 倍。

因此,经过仿真实验的对比,证明了本发明所提出的基于神经网络的启发 函数在应用于A*算法的优化时,可以明显的提高算法的计算效率,在降低算 法时间复杂度上有着明显的优势。

应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参 照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可 以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精 神和范围,其均应涵盖在本发明的权利要求范围当中。

技术分类

06120113808414