一种基于神经网络的机器人自主物流运输导航方法

文档序号:28603434发布日期:2022-01-22 11:42阅读:149来源:国知局
一种基于神经网络的机器人自主物流运输导航方法

1.本技术涉及机器人运输导航这一领域,更具体地说,尤其涉及一种基于神经网络的机器人自主物流运输导航方法。


背景技术:

2.物流行业机器人自主导航要求该机器人能够独立地从起点到达终点,并且在移动过程中不与任何障碍物发生碰撞。
3.相关的研究如:
4.cn113240331a公开了一种全程智能物流机器人系统,其包括机器人自动行驶系统、用户取件寄件系统、服务器和物流柜系统,所述机器人自动行驶系统用于控制机器人自动避障行驶,并将快递物件转移到所述用户取件寄件系统指定的寄取件位置;所述服务器用于所述用户取件寄件系统和所述机器人自动行驶系统之间的信息交互。
5.cn107436610a公开了一种智能室外环境的车辆及机器人运载导航方法及系统,技术要点在于步骤1:依据跨楼栋运输任务将户外环境空间划分成对应的跨楼栋运输区域,每个跨楼栋运输区域配备有对应的无人机;步骤2:无人机通过kinect识别空中无人机轮廓;步骤3:无人机依据运输任务为运载机器人进行导航,运载机器人通过定位传感器实时识别无人机上携带的地标,跟随无人机前行,直到运载机器人到达运输任务终点;步骤4:无人机与运载机器人的通信中出现障碍物,运载机器人通过kinect识别障碍物轮廓,计算最大阻碍角,并对无人机位置进行调整。
6.从上述现有技术可知:网联和自主导航机器人有良好的未来发展潜力,它们能够颠覆传统的运输行业,并促进按需服务和应用程序的运营。自主导航能力对于网联移动机器人极其重要,是其执行各项指令的基础,因此受到广泛关注。基于路径规划的导航策略根据所知的环境信息可分为两大类,一类是全局导航,也被称为经典导航,在进行路径规划之前已经完全掌握周围环境,常用的策略有细胞分解法、路线图法、人工势场法等,这些方法通常是通过某种方式避开障碍物所在的位置,同时选择尽可能短的路径。但是,该类导航方法的精确度取决于对环境所建模型的精确度,如果模型与现实场景存在较大偏差会导致在导航过程中出现严重错误,而且对环境的建模也会消耗大量计算资源。此外,现实环境通常是动态变化的,已规划好的路径难以应对环境中出现的突发状况。
7.面对日趋复杂的导航任务,科研人员提出了相关的局部导航算法,它们能够更好地解决环境中的不确定性。常见的算法有遗传算法、模糊逻辑、萤火虫算法、粒子群优化算法等。这些算法能够根据环境的动态变化实时做出反应,不仅可以在未知环境中进行搜索,也能实现多机器人联网协同路径规划。尽管局部导航算法比经典方法更智能、更高效、更便于实施,但它们可能需要高计算负载以便规划联网机器人的移动路径,这与现有设备的性能相矛盾,例如,安装在联网机器人上的微处理器可能没有如此高效的计算负载即时找出正确路径,导致这些方法并不适用于低成本交通工具。


技术实现要素:

8.本技术的目的在于针对上述现有技术的不足,旨在从人工智能的角度解决物流运输场景中移动机器人的自主导航问题,即提供一种基于神经网络的机器人自主物流运输导航方法。具体而言,通过自主搭建的数据采集平台收集相关联的任务场景和人类行为两种信息,通过设计一个合适的神经网络,并通过收集到的信息数据调整神经网络的参数,使其能够复刻人类行为;采用该发明训练的神经网络模型不仅能够根据场景做出正确的导航决定,而且具有相对较小的实时计算负载。
9.本技术的技术方案如下:
10.一种基于神经网络的机器人自主物流运输导航方法,包括如下步骤:
11.s1,搭建数据采集平台:
12.在机器人上搭载若干个激光传感器、雷达定位装置和陀螺仪;所述激光传感器用于探测前方障碍物的分布;所述雷达定位装置和所述陀螺仪分别用来判断终点方向和机器人运行方向,两者的差值表示为机器人的相对前进方向;
13.用若干个黑色线条与方块代表障碍物随机组合形成类似迷宫的室内场景,模拟真实仓储环境的场景;
14.s2,收集人类数据:
15.通过计算机键盘控制机器人的移动;同时,记录每束激光探测的距离信息、机器人相对前进方向的角度信息、键盘控制的人类行为信息;
16.s3,搭建神经网络
17.根据输入和输出信息维度搭建合适的神经网络,相关参数包括神经网络的层数、连接方式、激活函数、损失函数、训练数据集容量、小批量数据容量、学习率、总训练次数;
18.s4,训练神经网络
19.将步骤s2收集到的数据作为训练数据集训练神经网络;每束激光探测的距离信息以及机器人相对前进方向的角度信息作为输入层,输出层为人类行为信息。
20.s5,将训练好的神经网络加载至机器人上。
21.进一步,步骤s2中,记录每束激光探测的距离信息、机器人相对前进方向的角度信息、键盘控制的人类行为信息,具体如下:
22.激光传感器的数量为n个,记录t0
……
tm时刻下各个激光探测的距离信息数据矩阵d为:
[0023][0024]
其中,d
h,td
表示第h个激光传感器下第td时刻下测得的距离;
[0025]
机器人相对前进方向的角度信息的矩阵v为:
[0026][0027]
其中,v
td
表示第td时刻下的机器人相对前进方向的角度;
[0028]
键盘控制的人类行为信息的矩阵at为:
[0029][0030]
at
td
可以是1个数值,也可以是1个向量,其对应的是td时刻下的人类行为信息。
[0031]
进一步,机器人有p个车轮,人类行为信息的矩阵为:
[0032][0033]
其中,at
f,td
表示任意第f个车轮任意第td时刻下的运动指令状态;
[0034]
进一步,步骤s4中,训练神经网络:
[0035]
d、v作为输入层数据,at作为输出层数据,对神经网络进行训练:
[0036]
即:d
1,td
......d
h,td
......d
n,td
,v
td
(n+1)个数据作为输入层数据,at
1,td
...at
f,td
...at
p,td
(p个数据)作为输出层数据。
[0037]
进一步,n=17,p=3;s3搭建的神经网络结构为:7层神经网络,其中第一层节点数r1=18,第二层节点数r2=64,第三层节点数r3=128,第四层节点数r4=64,第五层节点数r5=32,第六层节点数r6=8,第七层节点数r7=3(对应于3个车轮),其中,第一层为输入层,第七层采用输出层;采用全连接形式、5层隐藏层添加rrelu()激活函数,输出层使用softmax()函数。
[0038]
进一步,训练数据集容量c=640、小批量数据容量n
batch
=10、学习率lr=0.0008、总训练次数n
epoch
=1000。
[0039]
进一步,激光传感器的数量为n个,将n束激光探测的距离和相对前进角度组成n+1维向量作为神经网络的输入,人类行为用0、1、2等数字表示(0表示左转,1表示前进,2表示右转),分批量计算输出值和标签值之间的误差,通过误差反向传递调整神经网络的各个权
重和神经元阈值直至所有数据都被抽取。若神经网络无法收敛,则返回步骤(3)改变神经网络参数,直到神经网络能够收敛。
[0040]
进一步,在步骤s4与步骤s5之间,还包括:测试训练好的神经网络:不同于步骤s4的其他数据作为测试数据集,在每一回合训练结束,将训练数据集和测试数据集神经网络输入,对比输出与人类行为数据得到神经网络复刻人类行为的准确率,若准确率超过理想值,则保存训练好的神经网络,若准确率较低,则返回步骤s3中调整神经网络参数。
[0041]
本技术的有益效果在于:
[0042]
第一,本技术从人工智能的角度处理上述导航问题,利用收集到的历史信息训练神经网络,使其能够复制人类行为从而自主做出正确决定。该方法能够运用在智能仓库,使网联移动机器人能够自主将货物安全运输到指定位置。
[0043]
第二,本技术提出的基于神经网络的机器人自主物流运输导航方法,通过多次的测试,其复制人类行为准确性可以高达85%。由于机器人的同一状态信息可能对应多种可执行的人类行为,导致其神经网络输出存在些许偏差,但实际上并不妨碍成功完成导航任务。因此,该方法的准确性应超过85%,这个数据高于同场景下其他的一些导航方法。
[0044]
第三,本技术的第三个优点在于:根据场景信息实时输出动作信息需要消耗大量的计算负载,但是本技术将训练和执行分开,有效降低了对计算能力的要求。首先是通过人类操作收集信息,每一组信息都是独立的,对于实时性和动作的连续性要求较低;通过收集到的信息在计算机上训练神经网络,不需要机器人独立安装运算模块,训练好的神经网络加载在机器人上即可使用。
附图说明
[0045]
下面结合附图中的实施例对本技术作进一步的详细说明,但并不构成对本技术的任何限制。
[0046]
图1是本技术的移动机器人模型的设计图。
[0047]
图2是本技术的室内导航场景模型的设计图。
[0048]
图3是本技术的神经网络结构图。
[0049]
图4是本技术的机器人碰撞警告的示意图。
[0050]
图5是本技术的机器人到达终点提示的示意图。
[0051]
图6是本技术的移动机器人移动路径案例的示意图。
具体实施方式
[0052]
实施例一,一种基于神经网络的机器人自主物流运输导航方法,包括以下步骤:
[0053]
第一步:通过搭建的仿真平台用以模拟现实场景,其中包含移动机器人和障碍物。
[0054]
其中,对于移动机器人而言,在移动机器人上搭载激光传感器、雷达定位装置和陀螺仪。如图1所示17条射线表示17束激光,图1中的箭头指向终点方向。
[0055]
其中,对于障碍物而言,如图2所示,用若干个黑色线条与方块(实质上,也可以用其他方式)代表障碍物随机组合形成类似迷宫的室内场景,模拟仓储环境中经常出现的狭窄、曲折的l型场景,。
[0056]
第二步:收集人类数据,令人类被试者通过敲击机械键盘上相应方向键选择机器
人在不同环境下的移动姿态。
[0057]
保存当前回合机器人在每个时间步下的移动数据,包括若干束激光的探测距离、距离终点的长度、机器人相对前进角度以及在当前状态下机器人采取的动作(例如前进、原地左转和原地右转)。
[0058]
第三步:搭建神经网络,如图3所示,为选择的神经网络结构(神经网络结构设计属于现有技术,不再熬述)。
[0059]
第四步:从第二步收集到的数据中随机抽取c条作为训练数据集训练神经网络,将n束激光探测的距离和相对前进角度组成n+1维向量作为神经网络的输入,人类作为标签用0、1、2等整数数字表示,每次抽取n
batch
条数据计算输出值和标签值之间的误差,用损失函数表示,通过误差反向传递调整神经网络各个权重和神经元阈值直至数据全部被抽取。若神经网络无法收敛,则返回第三步修改神经网络参数,直到神经网络能够收敛。可以选用7层神经网络(r1=18,r2=64,r3=128,r4=64,r5=32,r6=8,r7=3)、采用全连接形式、5层隐藏层添加rrelu()激活函数,输出层使用softmax()函数。具体参数设置:交叉熵损失函数、训练数据集容量c=640、小批量数据容量n
batch
=10、学习率lr=0.0008、总训练次数n
epoch
=1000。通过实验,这些参数设置满足对神经网络训练结果的要求。
[0060]
第五步:每一个训练回合结束,分别使用训练数据集和测试数据集作为神经网络输入,对比输出与人类行为数据得到神经网络复刻人类行为的准确率,若准确率均超过理想值,则保存训练好的神经网络,若准确率较低,则返回第三步调整神经网络参数。
[0061]
第六步:自主搭建的机器人运动模拟平台同样支持导航算法测试,将人工操作改成算法输出(即采用前面的神经网络),该平台可以清楚观察到机器人的运行状态。机器人运动过程中如果发生碰撞,界面将出现“collisionwarning”字样,如图4所示。当机器人成功到达终点,系统会提示“task complete”,如图5所示,在导航界面中始终显示距离终点的长度。平台中的地图界面能够完整呈现机器人走过的路径。在数据采集平台上对训练好的神经网络进行重复测试,可以观察到距离信息不断缩小且不会出现警告信息,任务完成后可以看到机器人的移动路径平滑且相对较短,图6展示了机器人各种移动路径。
[0062]
以上所举实施例为本技术的较佳实施方式,仅用来方便说明本技术,并非对本技术作任何形式上的限制,任何所属技术领域中具有通常知识者,若在不脱离本技术所提技术特征的范围内,利用本技术所揭示技术内容所作出局部更动或修饰的等效实施例,并且未脱离本技术的技术特征内容,均仍属于本技术技术特征的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1