一种基于深度学习的机器人避障轨迹规划方法及系统与流程

文档序号:16645934发布日期:2019-01-16 08:17阅读:425来源:国知局
一种基于深度学习的机器人避障轨迹规划方法及系统与流程

本发明涉及工业自动化领域,具体地,涉及一种基于深度学习的机器人避障轨迹规划方法及系统。



背景技术:

在现代化工业生产环境中,越来越多的机器人被引入流水线参与生产制造工作,较为常见的应用场景有机械加工制造、焊接、装配、喷涂、包装等。通过机器人代替人工劳作,可以有效地提高工作效率、提高生产良品率、减少人工成本。

但常见的机器人对工作环境的要求比较高,需要确保在机器人工作范围内没有障碍物阻隔机器人的运动。现有的常见处理方法是在机器人工作区域设置保护围栏,但该方法一定程度上降低了工厂生产的空间利用率,且对于复杂的生产环境中临时突发的障碍物不具有适用意义。如何实现机器人的自主避障,是提高工业自动化生产能力的关键问题。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种基于深度学习的机器人避障轨迹规划方法及系统。

根据本发明提供的一种基于深度学习的机器人避障轨迹规划方法,包括:

图像输入步骤:在仿真环境中加入照相机,从多个角度拍摄图像并同时输入到卷积神经网络中;

新姿态获取步骤:根据输入信息得到机械臂更新角度的信息,通过接口调用仿真软件进行更新,获取姿态;

网络训练步骤:用深度学习进行卷积神经网络训练,输入的图像经过卷积运算后,将得到的特征图变成一个一维向量,将一维向量输入到后续的全连接层中,得到每个动作对应的q值,选择q值最大的动作并更新姿态,将更新姿态传入仿真环境得到新的图像输入,循环执行网络训练步骤,直至达到目标点。

较佳的,所述网络训练步骤中,每个动作都会得到一个奖励,奖励分为三部分:

第一部分:每次动作之后都会得到一个负的奖励;

第二部分:每次动作之后都会得到一个负的奖励,在没有触碰到障碍物之前,距离障碍物越近则得到的负的奖励越大,碰到障碍物后则停止循环,并给予一个更大的负的奖励;

第三部分:每次动作之后都会得到一个正的奖励,在没有到达目标点之前,距离目标点越近,则得到的正的奖励越大,在到达目标点之后,得到一个更大的正的奖励并结束此次循环,进行下一次探索。

较佳的,在所述网络训练步骤之后还包括:

经验池采样步骤:所有探索得到的结果都放入经验池中,后续每选择完一个动作都要在经验池中进行采样并使用采样的数据对卷积神经网络进行训练。

较佳的,在所述经验池采样步骤之后还包括:

输出步骤:根据训练好的卷积神经网络输出的最优的路径规划轨迹。

较佳的,在所述图像输入步骤之前还包括:

算法初始化步骤:确定算法的初始条件,并进行算法初始化;

机械臂建模步骤:对算法中使用的机械臂进行建模,将得到的模型导入仿真软件,对各个关节进行约束设置。

根据本发明提供的一种基于深度学习的机器人避障轨迹规划系统,包括:

图像输入模块:在仿真环境中加入照相机,从多个角度拍摄图像并同时输入到卷积神经网络中;

新姿态获取模块:根据输入信息得到机械臂更新角度的信息,通过接口调用仿真软件进行更新,获取姿态;

网络训练模块:用深度学习进行卷积神经网络训练,输入的图像经过卷积运算后,将得到的特征图变成一个一维向量,将一维向量输入到后续的全连接层中,得到每个动作对应的q值,选择q值最大的动作并更新姿态,将更新姿态传入仿真环境得到新的图像输入,循环执行,直至达到目标点。

较佳的,所述网络训练模块中,每个动作都会得到一个奖励,奖励分为三部分:

第一部分:每次动作之后都会得到一个负的奖励;

第二部分:每次动作之后都会得到一个负的奖励,在没有触碰到障碍物之前,距离障碍物越近则得到的负的奖励越大,碰到障碍物后则停止循环,并给予一个更大的负的奖励;

第三部分:每次动作之后都会得到一个正的奖励,在没有到达目标点之前,距离目标点越近,则得到的正的奖励越大,在到达目标点之后,得到一个更大的正的奖励并结束此次循环,进行下一次探索。

较佳的,还包括:

经验池采样模块:所有探索得到的结果都放入经验池中,后续每选择完一个动作都要在经验池中进行采样并使用采样的数据对卷积神经网络进行训练。

较佳的,还包括:

输出模块:根据训练好的卷积神经网络输出的最优的路径规划轨迹。

较佳的,还包括:

算法初始化模块:确定算法的初始条件,并进行算法初始化;

机械臂建模模块:对算法中使用的机械臂进行建模,将得到的模型导入仿真软件,对各个关节进行约束设置。

与现有技术相比,本发明具有如下的有益效果:

本发明可实现工业机器人的自主避障,提高工业自动化生产能力。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明的网络训练流程图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

如图1所示,本发明提供的一种基于深度学习的机器人避障轨迹规划方法,包括:

1.对于算法的初始情况进行确定,例如物体的位置,障碍物的位置,机械臂的各个关节参数。之后在算法的初始条件上进行初始化。

2.对于算法中使用的机械臂用solidworks进行建模,之后将建好的模型导入到仿真软件vrep当中,对于各个关节进行约束的设置,使得机械臂可以在vrep下进行正常的模拟。在模型设置完整后需要根据步骤1中所得的条件对于障碍物和目标物体进行建模,此处要将各个不同的部分进行不同颜色的渲染使得后期的卷积神经网络识别过程更方便。

3.本方法在模拟的环境下进行训练,因而需要从模拟的环境中获得图片。此处本方法采用了在vrep环境中加入照相机来模拟拍照的实现。由于机械臂在三维空间中进行运动,此处本方法的输入需要是包含三维信息的图像类型输入。由于三维图像的输入对于计算资源要求较高,同时三维图像较难获取,因而本方法中采用了从多个角度的拍摄并同时作为输入信息输入到卷积神经网络当中。

4.使用vrep的python接口对于机械臂的模拟进行调用。在本方法中,算法根据输入的信息得到一个机械臂更新角度的信息,并通过接口调用vrep进行更新,得到新的姿态,并进行后续的操作。

5.本方法的主要框架使用了深度增强学习进行网络的训练。主网络的输入为步骤3中获取的不同角度的图片输入。主网络的框架为常见的卷积神经网络,对于图片的输入首先经过一系列的卷积运算,之后将得到的特征图变成一个一维的向量,将向量输入到后续的全连接层当中,最后可以得到每个动作对应的q值,本方法需要在每个输入中选出最大的q值的动作,并进行执行。对于主网络一共用两倍于机械臂关节数的动作可以供选择,分别对应了每个关节的正转和反转。对于本方法,每次的动作更新大小都被设置为一度。

主循环建立在主网络之上。首先回到设定的初始位置,使用vrep得到图片的输入,把图片输入进主网络当中,得到每个动作的q值,选择q值最大的动作,并对于姿态进行更新。更新姿态传入到vrep中得到新的图片输入,此时判断是否到达目标点。如果到达目标点则停止此次循环,进行下一次探索。

每一个动作都可以得到一个奖励,奖励越大,认为路径更优。其中路径最优的判定原则为机械臂在满足最终能碰到目标点和避开障碍的前提下,机械臂运动步数最少,本方法中的奖励分为三个部分。第一个部分是希望算法可以找到尽可能快的路径,因而每次动作之后都会得到一个负的奖励。第二部分是与障碍物有关的奖励,此部分分为两块。在机械臂没有触碰到障碍物之前机械臂距离障碍物越近则得到的负的奖励越大。如果机械臂碰到了障碍物,则停止主循环,并给予一个很大的负的奖励。第三部分与是否到达目标点有关,这部分的奖励也分为两个部分,第一个部分是在没有到达目标点之前,距离目标点越近,则得到的正的奖励越大,在到达目标点之后会得到一个较大的正的奖励并结束循环。

对于每一次循环都设置了一个最大的循环次数,以防止陷入死循环当中。

6.对于本方法由于没有样本因而需要对于空间进行探索,因而不是所有的更新都是根据主网络得到的,部分的动作是随机产生的。在算法的初期有较大的概率可以进行随机的探索,及根据随机数决定移动的方向,在后期算法的训练开始收敛之后,根据随机生成移动方向的概率被降到较低。

7.网络的训练根据的是前几步中探索得到的结果,所有探索得到的结果都会被放入经验池当中,在后续的步骤中,每选择完一个动作都要在经验池中进行采样并使用采样的数据对主网络进行训练。

8.在实际工况中目标点的位置可能会略有偏移,对于该情况。本方法采用下述步骤解决。首先固定目标点的位置,对于主网络进行训练。之后在训练好的主网络的基础上对于目标点的位置进行改变并再次训练主网络,以使得主网络可以完成上述的任务。如果直接进行训练则有可能结果较差。

9.根据训练好的网络输出的最优的路径规划轨迹。给出工业机器人各关节参数q与时间t的关系。

在上述一种基于深度学习的机器人避障轨迹规划方法的基础上,本发明还提供一种基于深度学习的机器人避障轨迹规划系统,包括:

算法初始化模块:确定算法的初始条件,并进行算法初始化。

机械臂建模模块:对算法中使用的机械臂进行建模,将得到的模型导入仿真软件,对各个关节进行约束设置。

图像输入模块:在仿真环境中加入照相机,从多个角度拍摄图像并同时输入到卷积神经网络中。

新姿态获取模块:根据输入信息得到机械臂更新角度的信息,通过接口调用仿真软件进行更新,获取姿态。

网络训练模块:用深度学习进行卷积神经网络训练,输入的图像经过卷积运算后,将得到的特征图变成一个一维向量,将一维向量输入到后续的全连接层中,得到每个动作对应的q值,选择q值最大的动作并更新姿态,将更新姿态传入仿真环境得到新的图像输入,循环执行直至达到目标点。

经验池采样模块:所有探索得到的结果都放入经验池中,后续每选择完一个动作都要在经验池中进行采样并使用采样的数据对卷积神经网络进行训练。

输出模块:根据训练好的卷积神经网络输出的最优的路径规划轨迹,给出机器人各关节参数与时间的关系。

其中,网络训练模块中的每个动作都会得到一个奖励,奖励分为三部分:

第一部分:每次动作之后都会得到一个负的奖励;

第二部分:每次动作之后都会得到一个负的奖励,在没有触碰到障碍物之前,距离障碍物越近则得到的负的奖励越大,碰到障碍物后则停止循环,并给予一个更大的负的奖励;

第三部分:每次动作之后都会得到一个正的奖励,在没有到达目标点之前,距离目标点越近,则得到的正的奖励越大,在到达目标点之后,得到一个更大的正的奖励并结束此次循环,进行下一次探索。

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1