首页> 中国专利> 一种基于双神经网络的机器人动力学运动控制方法及装置

一种基于双神经网络的机器人动力学运动控制方法及装置

摘要

本发明公开了一种基于双神经网络的机器人动力学运动控制方法及装置,其中,所述方法包括:建立机器人数学模型,基于机器人数学模型和期望位置进行机器人末端执行器的速度修正,获得修正速度;设计第一神经网络模型,并基于机器人的关节角速度和所述机器人的末端速度在第一神经网络模型中实时输出当前机器人的关节角速度指令;在线计算机器人的参考关节角速度指令;基于关节角速度指令与参考关节角速度指令获得跟踪误差指令;设计第二神经网络模型,并基于跟踪误差指令在所述第二神经网络模型中实时输出机器人的关节控制力矩。在本发明实施例中,解决机器人动力学运动控制中空间不一致、系统非线性强耦合、传统方法依赖精确模型的问题。

著录项

说明书

技术领域

本发明涉及机器人控制技术领域,尤其涉及一种基于双神经网络的机器人动力学运动控制方法及装置。

背景技术

机器人运动控制能够实现机器人对给定轨迹任务的高精度跟踪,是机器人完成一切任务的基础。目前机器人的运动可以分为运动学控制与动力学控制两大类。运动学控制旨在求解运动层面的指令,达到控制机器人的目的,如关节角度指令、关节角速度指令等;动力学控制则考虑机器人的动力学特性,此时机器人的控制量一般为控制力矩。随着机器人的应用日益广泛,在人机交互、多机协作等任务中,纯运动指令的控制方式可能导致机器人的刚度过大,进而导致人员受伤或任务失败。相对而言动力学控制的方式直接提供机器人关节的力矩,具备天然的柔顺性。因此,基于动力学的机器人运动控制是现在机器人运动控制的重要方向。

对机器人的运动控制而言,目前存在以下几方面的挑战:一方面,机器人的运动控制问题通常关注机器人末端执行器的运动任务,而机器人的控制量则施加在各个关节,需要克服这种空间的不一致性,从而得到与末端执行器对应的关节运动指令;另一方面,由于机器人动力学模型的高度非线性、强耦合性,如何求解机器人的控制力矩实现机器人对关节运动的高精度跟踪,也是一个富有挑战性的问题。

发明内容

本发明的目的在于克服现有技术的不足,本发明提供了一种基于双神经网络的机器人动力学运动控制方法及装置,解决机器人动力学运动控制中空间不一致、系统非线性强耦合、传统方法依赖精确模型的问题。

为了解决上述技术问题,本发明实施例提供了一种基于双神经网络的机器人动力学运动控制方法,所述方法包括:

建立机器人数学模型,基于所述机器人数学模型和期望位置进行所述机器人末端执行器的速度修正,获得修正速度;

设计第一神经网络模型,并基于所述机器人的关节角速度和所述机器人的末端速度在所述第一神经网络模型中实时输出当前机器人的关节角速度指令;

基于所述修正速度和所述机器人的关节角速度在线计算所述机器人的参考关节角速度指令;

基于所述关节角速度指令与所述参考关节角速度指令获得跟踪误差指令;

设计第二神经网络模型,并基于所述跟踪误差指令在所述第二神经网络模型中实时输出所述机器人的关节控制力矩。

可选的,所述机器人数学模型如下:

x=f(θ) (1);

其中,θ表示机器人的关节角度;

可选的所述基于所述机器人数学模型和期望位置进行所述机器人末端执行器的速度修正的计算公式如下:

其中,

可选的,所述第一神经网络模型依次包括输入层、模糊隶属度计算层、归一化运算层和输出层;

所述输出层的神经元个数为所述修正速度和所述机器人实际末端速度的差值的维数;所述模糊隶属度计算层的神经元个数为n1;所述归一化运算层的神经元个数为n2。

可选的,所述归一化运算层中的第j个神经元的输出如下:

其中,l

可选的,所述输出层表示为:

将式(5)以矩阵形式描述时,为:

Y=W

所述第一神经网络模型的在线更新率为:

其中,y

可选的,基于所述修正速度和所述机器人的关节角速度在线计算所述机器人的参考关节角速度指令,包括:

设置与所述第一神经网络模型相同的第一相同神经网络模型,将所述关节角速度指令与所所述修正速度输入所述第一相同神经网络模型中进行在线计算并输出所述机器人的参考关节角速度指令。

可选的,所述基于所述机器人的关节角速度和所述机器人的末端速度在所述第一神经网络模型中实时输出当前机器人的关节角速度指令,包括:

将所述机器人的关节角速度和所述机器人的末端速度输入所述第一神经网络模型中,并在所述第一神经网络模型中基于所述机器人的关节角速度和所述机器人的末端速度输出当前机器人的关节角速度指令。

可选的,所述基于所述跟踪误差指令在所述第二神经网络模型中实时输出所述机器人的关节控制力矩如下:

其中,ε表示跟踪误差指令;τ表示机器人的关节控制力矩;L

另外,本发明实施例还提供了一种基于双神经网络的机器人动力学运动控制装置,所述装置包括:

速度修正模块:用于建立机器人数学模型,基于所述机器人数学模型和期望位置进行所述机器人末端执行器的速度修正,获得修正速度;

第一输出模块:用于设计第一神经网络模型,并基于所述机器人的关节角速度和所述机器人的末端速度在所述第一神经网络模型中实时输出当前机器人的关节角速度指令;

在线计算模块:用于基于所述修正速度和所述机器人的关节角速度在线计算所述机器人的参考关节角速度指令;

跟踪误差获得模块:用于基于所述关节角速度指令与所述参考关节角速度指令获得跟踪误差指令;

第二输出模块:用于设计第二神经网络模型,并基于所述跟踪误差指令在所述第二神经网络模型中实时输出所述机器人的关节控制力矩。

在本发明实施例中,解决机器人动力学运动控制中空间不一致、系统非线性强耦合、传统方法依赖精确模型的问题;是一种无需模型的控制方法,无需精确的机器人模型,具有效率高、适应性好等优点;采用两个神经网络用于解决机器人的轨迹跟踪控制问题,该方法不需要精确的机器人运动学与动力学模型,具有良好的适应性特点;采用了两个完全相同的神经网络FNN1,通过在线训练(输入:关节角度、机器人实时末端角速度,训练输出关节角速度,驱动误差为输出角度与实际关节角速度的差值),同时采用该神经网络在线计算机器人的修正角速度指令(输入:关节角度、机器人末端的修正速度,输出机器人的修正关节角速度),这种方式能够有效减小计算量;基于FNN2的动力学控制算法不仅不依赖机器人的动力学模型,同时对机器人所收到的不确定扰动有一定的鲁棒性。

附图说明

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

图1是本发明实施例中的基于双神经网络的机器人动力学运动控制方法的流程示意图;

图2是本发明实施例中的基于双神经网络的机器人动力学运动控制装置的结构组成示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

实施例

请参阅图1,图1是本发明实施例中的基于双神经网络的机器人动力学运动控制方法的流程示意图。

如图1所示,一种基于双神经网络的机器人动力学运动控制方法,所述方法包括:

S11:建立机器人数学模型,基于所述机器人数学模型和期望位置进行所述机器人末端执行器的速度修正,获得修正速度;

在本发明具体实施过程中,所述机器人数学模型如下:

x=f(θ) (1);

其中,θ表示机器人的关节角度;

进一步的,所述基于所述机器人数学模型和期望位置进行所述机器人末端执行器的速度修正的计算公式如下:

其中,

具体的,在建立机器人数学模型时,需要获得机器人的关节角度、关节角速度、末端位置和末端速度;然后根据机器人的关节角度、关节角速度、末端位置和末端速度建立机器人数学模型,该机器人数学模型如下:

x=f(θ) (1);

其中,θ表示机器人的关节角度;

在建立好机器人数学模型之后,需要根据机器人数学模型和期望位置来计算机器人末端执行器的速度修正,从而得到修正速度,具体计算过程如下:

其中,

S12:设计第一神经网络模型,并基于所述机器人的关节角速度和所述机器人的末端速度在所述第一神经网络模型中实时输出当前机器人的关节角速度指令;

在本发明具体实施过程中,所述第一神经网络模型依次包括输入层、模糊隶属度计算层、归一化运算层和输出层;所述输出层的神经元个数为所述修正速度和所述机器人实际末端速度的差值的维数;所述模糊隶属度计算层的神经元个数为n1;所述归一化运算层的神经元个数为n2。

进一步的,所述归一化运算层中的第j个神经元的输出如下:

其中,l

进一步的,所述输出层表示为:

将式(5)以矩阵形式描述时,为:

Y=W

所述第一神经网络模型的在线更新率为:

其中,y

具体的,设计第一神经网络模型,该第一神经网络模型用于克服复杂的机器人运动学规划问题,用根据机器人的末端期望位置,实时输出当前时刻的机器人的关节角速度指令。

由于机器人运动参数的高度非线性问题,难以直接根据机器人末端的期望位置的末端运动指令计算关节的关节角速度指令;因此,定义机器人的末端的修正速度和末端的实际速度的差值,并将其作为神经网络模型的输入;采用第一神经网络模型,该第一神经网络模型为Mamdani型神经网络模型,其输出的为机器人的关节角速度指令,此时第一神经网络模型可以描述为

在第一神经网络模型中的第三层,即归一化运算层中的第j个神经元的输出如下:

其中,l

第四层,即输出层表示为:

将式(5)以矩阵形式描述时,为:

Y=W

所述第一神经网络模型的在线更新率为:

其中,y

S13:基于所述修正速度和所述机器人的关节角速度在线计算所述机器人的参考关节角速度指令;

在本发明具体实施过程中,基于所述修正速度和所述机器人的关节角速度在线计算所述机器人的参考关节角速度指令,包括:设置与所述第一神经网络模型相同的第一相同神经网络模型,将所述关节角速度指令与所述修正速度输入所述第一相同神经网络模型中进行在线计算并输出所述机器人的参考关节角速度指令。

具体的,利用与第一神经网络模型相同的神经网络模型,即第一相同神经网络模型来在线计算机器人的参考关节角速度指令;该第一相同神经网络模型与上述的第一神经网络模型的区别在于输入的不同,第一相同神经网络模型输入为关节角速度指令与所述修正速度,并且在第一相同神经网络模型中进行在线计算,并输出机器人的参考关节角速度指令。

S14:基于所述关节角速度指令与所述参考关节角速度指令获得跟踪误差指令;

在本发明具体实施过程中,是在获得关节角速度指令与参考关节角速度指令,利用关节角速度指令与参考关节角速度指令相减,即可得到跟踪误差指令。

S15:设计第二神经网络模型,并基于所述跟踪误差指令在所述第二神经网络模型中实时输出所述机器人的关节控制力矩。

在本发明具体实施过程中,所述基于所述跟踪误差指令在所述第二神经网络模型中实时输出所述机器人的关节控制力矩如下:

其中,ε表示跟踪误差指令;τ表示机器人的关节控制力矩;L

具体的,设计第二神经网络模型,该第二神经网络模型用于机器人的内环动力学控制,其结构与第一神经网络模型相同,但其输入为跟踪误差指令,输出为机器人的关节控制力矩,具体如下:

其中,ε表示跟踪误差指令;τ表示机器人的关节控制力矩;L

在本发明实施例中,解决机器人动力学运动控制中空间不一致、系统非线性强耦合、传统方法依赖精确模型的问题;是一种无需模型的控制方法,无需精确的机器人模型,具有效率高、适应性好等优点;采用两个神经网络用于解决机器人的轨迹跟踪控制问题,该方法不需要精确的机器人运动学与动力学模型,具有良好的适应性特点;采用了两个完全相同的神经网络FNN1,通过在线训练(输入:关节角度、机器人实时末端角速度,训练输出关节角速度,驱动误差为输出角度与实际关节角速度的差值),同时采用该神经网络在线计算机器人的修正角速度指令(输入:关节角度、机器人末端的修正速度,输出机器人的修正关节角速度),这种方式能够有效减小计算量;基于FNN2的动力学控制算法不仅不依赖机器人的动力学模型,同时对机器人所收到的不确定扰动有一定的鲁棒性。

实施例

请参阅图2,图2是本发明实施例中的基于双神经网络的机器人动力学运动控制装置的结构组成示意图。

如图2所示,一种基于双神经网络的机器人动力学运动控制装置,所述装置包括:

速度修正模块21:用于建立机器人数学模型,基于所述机器人数学模型和期望位置进行所述机器人末端执行器的速度修正,获得修正速度;

在本发明具体实施过程中,所述机器人数学模型如下:

x=f(θ) (1);

其中,θ表示机器人的关节角度;

进一步的,所述基于所述机器人数学模型和期望位置进行所述机器人末端执行器的速度修正的计算公式如下:

其中,

具体的,在建立机器人数学模型时,需要获得机器人的关节角度、关节角速度、末端位置和末端速度;然后根据机器人的关节角度、关节角速度、末端位置和末端速度建立机器人数学模型,该机器人数学模型如下:

x=f(θ) (1);

其中,θ表示机器人的关节角度;

在建立好机器人数学模型之后,需要根据机器人数学模型和期望位置来计算机器人末端执行器的速度修正,从而得到修正速度,具体计算过程如下:

其中,

第一输出模块22:用于设计第一神经网络模型,并基于所述机器人的关节角速度和所述机器人的末端速度在所述第一神经网络模型中实时输出当前机器人的关节角速度指令;

在本发明具体实施过程中,所述第一神经网络模型依次包括输入层、模糊隶属度计算层、归一化运算层和输出层;所述输出层的神经元个数为所述修正速度和所述机器人实际末端速度的差值的维数;所述模糊隶属度计算层的神经元个数为n1;所述归一化运算层的神经元个数为n2。

进一步的,所述归一化运算层中的第j个神经元的输出如下:

其中,l

进一步的,所述输出层表示为:

将式(5)以矩阵形式描述时,为:

Y=W

所述第一神经网络模型的在线更新率为:

其中,y

具体的,设计第一神经网络模型,该第一神经网络模型用于克服复杂的机器人运动学规划问题,用根据机器人的末端期望位置,实时输出当前时刻的机器人的关节角速度指令。

由于机器人运动参数的高度非线性问题,难以直接根据机器人末端的期望位置的末端运动指令计算关节的关节角速度指令;因此,定义机器人的末端的修正速度和末端的实际速度的差值,并将其作为神经网络模型的输入;采用第一神经网络模型,该第一神经网络模型为Mamdani型神经网络模型,其输出的为机器人的关节角速度指令,此时第一神经网络模型可以描述为

在第一神经网络模型中的第三层,即归一化运算层中的第j个神经元的输出如下:

其中,l

第四层,即输出层表示为:

将式(5)以矩阵形式描述时,为:

Y=W

所述第一神经网络模型的在线更新率为:

其中,y

在线计算模块23:用于基于所述修正速度和所述机器人的关节角速度在线计算所述机器人的参考关节角速度指令;

在本发明具体实施过程中,基于所述修正速度和所述机器人的关节角速度在线计算所述机器人的参考关节角速度指令,包括:设置与所述第一神经网络模型相同的第一相同神经网络模型,将所述关节角速度指令与所述修正速度输入所述第一相同神经网络模型中进行在线计算并输出所述机器人的参考关节角速度指令。

具体的,利用与第一神经网络模型相同的神经网络模型,即第一相同神经网络模型来在线计算机器人的参考关节角速度指令;该第一相同神经网络模型与上述的第一神经网络模型的区别在于输入的不同,第一相同神经网络模型输入为关节角速度指令与所述修正速度,并且在第一相同神经网络模型中进行在线计算,并输出机器人的参考关节角速度指令。

跟踪误差获得模块24:用于基于所述关节角速度指令与所述参考关节角速度指令获得跟踪误差指令;

在本发明具体实施过程中,是在获得关节角速度指令与参考关节角速度指令,利用关节角速度指令与参考关节角速度指令相减,即可得到跟踪误差指令。

第二输出模块25:用于设计第二神经网络模型,并基于所述跟踪误差指令在所述第二神经网络模型中实时输出所述机器人的关节控制力矩。

在本发明具体实施过程中,所述基于所述跟踪误差指令在所述第二神经网络模型中实时输出所述机器人的关节控制力矩如下:

其中,ε表示跟踪误差指令;τ表示机器人的关节控制力矩;L

具体的,设计第二神经网络模型,该第二神经网络模型用于机器人的内环动力学控制,其结构与第一神经网络模型相同,但其输入为跟踪误差指令,输出为机器人的关节控制力矩,具体如下:

其中,ε表示跟踪误差指令;τ表示机器人的关节控制力矩;L

在本发明实施例中,解决机器人动力学运动控制中空间不一致、系统非线性强耦合、传统方法依赖精确模型的问题;是一种无需模型的控制方法,无需精确的机器人模型,具有效率高、适应性好等优点;采用两个神经网络用于解决机器人的轨迹跟踪控制问题,该方法不需要精确的机器人运动学与动力学模型,具有良好的适应性特点;采用了两个完全相同的神经网络FNN1,通过在线训练(输入:关节角度、机器人实时末端角速度,训练输出关节角速度,驱动误差为输出角度与实际关节角速度的差值),同时采用该神经网络在线计算机器人的修正角速度指令(输入:关节角度、机器人末端的修正速度,输出机器人的修正关节角速度),这种方式能够有效减小计算量;基于FNN2的动力学控制算法不仅不依赖机器人的动力学模型,同时对机器人所收到的不确定扰动有一定的鲁棒性。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。

另外,以上对本发明实施例所提供的进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号