CN108621159B - 一种基于深度学习的机器人动力学建模方法 - Google Patents

一种基于深度学习的机器人动力学建模方法 Download PDF

Info

Publication number
CN108621159B
CN108621159B CN201810408136.4A CN201810408136A CN108621159B CN 108621159 B CN108621159 B CN 108621159B CN 201810408136 A CN201810408136 A CN 201810408136A CN 108621159 B CN108621159 B CN 108621159B
Authority
CN
China
Prior art keywords
joint
information
hidden layer
input
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810408136.4A
Other languages
English (en)
Other versions
CN108621159A (zh
Inventor
邵振洲
孙鹏飞
渠瀛
关永
施智平
王晓东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Capital Normal University
Original Assignee
Capital Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Capital Normal University filed Critical Capital Normal University
Priority to CN201810408136.4A priority Critical patent/CN108621159B/zh
Publication of CN108621159A publication Critical patent/CN108621159A/zh
Application granted granted Critical
Publication of CN108621159B publication Critical patent/CN108621159B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Feedback Control In General (AREA)
  • Manipulator (AREA)

Abstract

本发明公开了一种基于深度学习的机器人动力学建模方法,属于智能机器人领域,收集数据划分为训练集和数据集,构建动力学模型搭建RNN循环神经网络;按时间步划分训练集输入到输入隐藏层,转化为三维数据到达GRU cell层,把当前输入的信息与之前的信息相结合,计算前一时刻的状态信息参与到新生成的状态的比例;然后将计算得到的当前的候选状态和前一个时间步时刻的信息通过更新门选择,得到当前时刻的隐藏层状态,传递到下一时间步,输出到输出隐藏层,得到预测值小于等于误差阈值采集的真实结果,为最优值。最后利用数据集对GRU门控循环单元网络进行检测。本发明提高扭矩预测的精度,大大减小输入信号的训练时间,减小了传统反向传播的梯度误差。

Description

一种基于深度学习的机器人动力学建模方法
技术领域
本发明属于智能机器人领域,具体是一种基于深度学习的机器人动力学建模方法。
背景技术
机器人动力学模型的重要应用是控制机器人,通过动力学方程可以准确地计算出机器人运动需要的力矩;但是,由于扰动、弹性、非线性摩擦以及负载变化等因素的影响,很多动力学模型的参数难以被确定,传统的动力学方法(如拉格朗日、牛顿欧拉、凯恩)很难对机器人进行精准的动力学建模,无法满足精准的实际应用。
近些年来,深度学习的发展使得这一问题的解决迎来了转机;神经网络具有极强的非线性映射能力,通过训练一定数量的数据,使得在建模的过程中不用人为的考虑不确定性因素的影响,可以很好提高机器人动力学模型的预测精度。
目前应用的ESN(Echo State Network,回声状态网络)机器学习算法已经应用于推断机器人的结构和环境特征,模拟复杂的机器人系统;该算法包括两个隐藏层:自组织层和递归层,它是一个实时的机器人模型学习算法,能够很好的适应环境的变化。但是,该ESN机器学习算法没有充分考虑输入信号的特性,通常忽略输出反馈连接。因此,ESN的回波状态特性在一定时间内不能完全满足,不能提供更高的精度和更快的收敛速度进行时间序列预测。
基于动力学模型的机器人运动控制需要对机器人各关节扭矩实时精确预测,对于实现机器人功能完美性和安全性是必要的;机器人动力学模型是变化的,由于输入信号的不断变化和机器人系统的非线性摩擦、负载变化等因素的影响,实际预测的扭矩可能和真正的运动扭矩有一些差别,这时需要我们对建好的动力学模型进行实时更新,以减小误差,提升精度。
发明内容
本发明为了在实时学习过程中,提高扭矩预测的精度,精确地模拟复杂的机器人系统;提出了一种基于深度学习的机器人动力学建模方法。
具体步骤如下:
步骤一、针对某机器人,收集该机器人的关节位置,关节速度,关节加速度以及对应的扭矩数据,并划分为训练集和数据集;
步骤二、构建针对机器人的关节位置,关节速度和关节加速度的动力学模型T;
Figure BDA0001645600710000021
矢量q表示关节位置;
Figure BDA0001645600710000022
表示关节速度;
Figure BDA0001645600710000023
表示关节加速度;
T表示要学习的扭矩,代表着控制关节运动的力(矢量)进而控制机械臂的运动趋势;M(q)表示惯性矩阵,
Figure BDA0001645600710000024
表示结合了科氏力、向心力、摩擦力和重力的作用;表达式为:
Figure BDA0001645600710000025
Figure BDA0001645600710000026
表示科氏力,
Figure BDA0001645600710000027
表示摩擦力;g(q)表示重力。
Figure BDA0001645600710000028
为模拟函数,模拟其他扰动、弹性、非线性摩擦或负载变化等因素;如:机械设计中的弹性、质量或惰性的模型参数误差、振动效应、摩擦、耦合和传感器噪音。
步骤三、根据动力学模型τ设置输入向量x的目标学习函数y;
y=f(x);y=τ,x为输入的矢量值,包括机器人的关节位置,关节速度和关节加速度。
步骤四、搭建包括输入隐藏层,GRU cell层和输出隐藏层的RNN循环神经网络,用于对目标学习函数y进行优化;
GRU cell层包括更新门(Update Gate)和重置门(Reset Gate);
步骤五、针对训练集,按时间步进行划分,并输入到RNN循环神经网络的输入隐藏层,经过运算转化为三维数据到达GRU cell层;
Xt=Wi·xt+bi
xt是t时刻起始输入,Xt是通过输入隐藏层后t时刻要输入GRU的向量,Wi为输入隐藏层的权重;bi为输入隐藏层的偏置值;
将原始的训练集三维数据转化为二维数据用weights矩阵乘法进行线性变换预处理,然后通过输入权重的Batch-Normalization批标准化处理,经过运算之后再转化为三维数据到达GRU cell层;
步骤六、当三维数据进入GRU cell层中,根据规则判断是否有用,如果是,进入重置门把当前输入的信息与之前的信息相结合,进入步骤七;否则,进入步骤九,通过更新门决定有多少之前的信息向下传递到当前状态。
规则是指:遇到新的关节q’的位置,速度和加速度;寻找和其相接近的对应关节的位置、速度加速度的信息,将其关联在一起,将其对应的扭矩添加到相关联的扭矩信息中,遇到和原来关节位置,速度,加速度一样的数据,在以前的信息中寻找前后序列相接近的序列数据;这里指关节位置,速度,加速度,将其对应的扭矩代替原来的,同时过滤掉原来的数据。
步骤七、当三维数据输入到达重置门时,计算前一时刻的状态信息参与到新生成的状态的比例rt
针对时间步t时刻,比例rt计算公式如下:
rt=σ(Wr·[ht-1,Xt]+br);
σ为sigmoid函数;Wr表示重置门的权重;br是重置门的偏置值;Xt为t时刻的输入向量,包括关节位置,关节速度和关节加速度;ht-1保存的是前一个时间步t-1时刻的信息;
步骤八、根据t时间步的比例rt,计算输入到达重置门的三维数据当前的候选状态
Figure BDA0001645600710000031
进入步骤十;
计算公式如下:
Figure BDA0001645600710000032
Figure BDA0001645600710000033
表示当前候选状态的权重;bh是隐藏层的偏置值;
步骤九、当三维数据输入到达更新门时,计算前一时刻的信息传递到当前状态的比例zt
针对t时间步,比例zt计算公式如下:
zt=σ(Wz·[ht-1,Xt]+bz);
Wz表示更新门的权重;bz是更新门的偏置值;
步骤十、把当前的候选状态
Figure BDA0001645600710000034
和前一个时间步t-1时刻的信息通过更新门的选择,得到当前时刻的隐藏层状态,并将其传递到下一时间步。
Figure BDA0001645600710000035
步骤十一、当前t时间步训练集的数据全部传输完毕,得到当前t时间步的时刻对应的隐藏层状态值ht
步骤十二、根据当前t时间步的时刻对应的隐藏层状态值ht,并输出到RNN循环神经网络的输出隐藏层,得到t时间步的动力学模型的预测值;
yt=WO·ht+bo
WO表示输出的权重;bo表示输出的偏置值;
步骤十三、利用均方误差训练公式MSE对输出隐藏层输出的最终测试结果和采集的真实结果进行对比;
均方误差训练公式如下:
Figure BDA0001645600710000036
d代表关节的数量,n代表数据的数量,j代表关节累加的基数为从1开始,t代表时间步累加的基数为从1开始,
Figure BDA0001645600710000037
代表采集的真实结果,即为输入的实际扭矩,
Figure BDA0001645600710000038
代表着通过动力学模型预测出来的扭矩,即最终的测试结果。
步骤十四、判断对比结果是否小于等于误差阈值,如果是,则结束,最终的Wr,Wz
Figure BDA0001645600710000041
WO,Wi,br,bh,bz,bo,bi为RNN循环神经网络的最优值。否则,通过优化器以一定的学习率朝着误差减小的方向来改变权重和偏置值,然后进入步骤五重复测试N次,直至得到RNN循环神经网络Wr,Wz
Figure BDA0001645600710000042
WO,Wi,br,bh,bz,bo,bi的最优值;
步骤十五、利用数据集对得到最优值Wr,Wz
Figure BDA0001645600710000043
WO,Wi,br,bh,bz,bo,bi的GRU门控循环单元网络进行检测。
本发明的优点在于:
1)、一种基于深度学习的机器人动力学建模方法,很好的适应动力学模型的实时变化,提高扭矩预测的精度,精确地模拟复杂的机器人系统。
2)、一种基于深度学习的机器人动力学建模方法,设计了GRU门控循环单元,减小了传统RNN神经网络的梯度消失和梯度爆炸使得训练的模型有较长时间范围的记忆功能,对处理时间和序列相关的问题有很大的优势,大大减小输入信号的训练时间,对于训练的样本在几秒内完成训练。
3、一种基于深度学习的机器人动力学建模方法,利用了一种时间的反向传播算法BPTT(back propagation through time),减小了传统反向传播的梯度误差,对动力学模型进行实时更新,大大提高预测的精度。
4)、一种基于深度学习的机器人动力学建模方法,可以动态的处理可变长度的序列,通过使用dynamic rnn,返回两个参数:outputs,last states,其中outputs是每一个迭代隐藏状态的输出,last_states是最终的状态。
附图说明
图1为本发明一种基于深度学习的机器人动力学建模方法流程图;
图2为本发明搭建的神经网络模型结构图;
图3为本发明GRU cell内部的实际工作流程;
具体实施方式
下面结合附图对本发明的具体实施方法进行详细说明。
本发明一种对于机器人动力学模型进行精准控制的方法,利用深度学习的方法对机器人动力学进行建模,在智能机器人领域进行运动控制和行为预测。为了从长时间序列数据中学习,采用基于RNN(Recurrent Neutral Network循环神经网络)中的GRU(GateRecurrent Unit门控循环单元)的深度学习方法,对机器人的动力学进行建模,为后续基于机器人动力学模型的准确运动控制提供保障。在RNN神经网络模型的输入端输入每个关节的位置、速度和加速度,输出端得到每个关节的扭矩,并对下一个动作进行预测,提高机器人运动控制精度。
与传统的前向神经网络(Feedforward Network)不同,LSTM(Long Short TimeMemory长短时记忆模型网络)对于之前的输入有选择的记忆,有助于判断当前的输入,在机器人的连续动作当中(位置、速度、加速度),处理时序输入有很大的优势,并且RNN是循环网络,可以很好的存储信息,其中LSTM解决了不同长度信息关联的问题。再此基础上,通过使用LSTM的变体GRU(Gate Recurrent Unit们控制循环单元),在相近预测精度的基础上,简化了网络结构,加快了收敛的时间。与传统的RNN相比,在输入端输入每个关节的位置、速度、加速度的信息可以随时关联,提高回归模型收敛的速度和准确性。
利用TENSORFLOW神经网络架构在Pycharm中进行的,可视化的部分是利用tensorboard实现的。
如图1所示,具体步骤如下:
步骤一、针对某机器人,收集该机器人的关节位置,关节速度,关节加速度以及对应的扭矩数据,并划分为训练集和数据集;
收集实验数据:包括对于机器人的位置,速度,加速度,以及对应的扭矩采集到19000个数据,为了达到很好的泛化效果,提取了15000个数据为训练集,4900个数据作为测试集。
机器人有7个关节的自由度,7个关节的机器人维度是RT*1。数据的每一行有28列,前21列代表着7自由度各个关节的位置,速度,加速度输入,后7列代表着每个关节的扭矩对应着输入的标签。分割好数据之后,保存为csv格式以便导入训练集和测试集。
步骤二、构建针对机器人的关节位置,关节速度和关节加速度的动力学模型τ;
Figure BDA0001645600710000051
矢量q表示关节位置;
Figure BDA0001645600710000052
表示关节速度;
Figure BDA0001645600710000053
表示关节加速度;
T表示要学习的预测扭矩,代表着控制关节运动的力(矢量)进而控制机械臂的运动趋势;M(q)表示惯性矩阵,
Figure BDA0001645600710000054
表示结合了科氏力、向心力、摩擦力和重力的作用;表达式为:
Figure BDA0001645600710000055
Figure BDA0001645600710000056
表示科氏力,
Figure BDA0001645600710000057
表示摩擦力;g(q)表示重力。
Figure BDA0001645600710000058
为模拟函数,模拟其他扰动、弹性、非线性摩擦或负载变化等因素;如:机械设计中的弹性、质量或惰性的模型参数误差、振动效应、摩擦、耦合和传感器噪音。
步骤三、根据动力学模型τ设置输入向量x的目标学习函数y;
y=f(x);y=τ,x为输入的矢量值,包括机器人的关节位置,关节速度和关节加速度。
步骤四、搭建包括输入隐藏层,GRU cell层和输出隐藏层的RNN循环神经网络,用于对目标学习函数y进行优化;
如图2所示,RNN的主体结构由三部分组成:in--hidden,GRU cell,out--hidden;
输入的部分input包括机器人关节位置、速度、加速度,还有实际的扭矩,其中关节位置、速度、加速度进入输入隐藏层in--hidden,到GRU cell,再通过输出隐藏层out--hidden得到预测的扭矩值,和实际的扭矩cost做误差分析,进行训练优化模型train。
使用GRU(门控循环单元)神经网络来处理实时的机器人模型,其中GRU cell层中包括更新门(Update Gate)和重置门(Reset Gate)。门的作用相当于一个数据信息的滤波器,把有用的信息筛选出来。重置门的作用是如何把当前输入的信息和之前的信息相结合,更新门的作用是决定留下多少之前的记忆。
当信息进入GRU神经网络当中,可以根据规则来判断是否有用。信息如果有则用进入重置门把当前输入的信息与之前的信息相结合,否则,通过更新门决定有多少之前的信息向下传递到当前状态。并且通过GRU网络模型的递归作用,使得之前隐藏层的状态也参与到当前的决策中,门控循环单元随着时间的变化不会遗忘以前的信息,它会保留相关的信息并传递到下一个单元,因此它利用全部信息而避免了梯度消失问题,从而提高了需要预测的扭矩。
步骤五、针对训练集,按时间步进行划分,并输入到RNN循环神经网络的输入隐藏层,经过运算转化为三维数据到达GRU cell层;
如图3所示,是GRU cell内部的实际工作流程,在当前神经单元,输入的机器人关节位置、速度、加速度,通过更新门和重置门,把以前的信息整合到一起,得到此时的输出,并向下传递。
设置RNN的参数:TIME_STEPS=5,BATCH_SIZE=100,NUM_UNITS=10,LR=0.9;
输入在in_hidden原始的数据是训练集三维数据,将其转化为二维数据后用weights矩阵乘法,通过输入权重的Batch-Normalization批标准化处理,之后再转化为三维数据到达GRU cell层;
Xt=Wi·xt+bi
xt是t时刻起始输入,Xt是通过输入隐藏层后t时刻要输入GRU的向量,Wi为输入隐藏层的权重;bi为输入隐藏层的偏置值;
步骤六、当三维数据进入GRU cell层中,根据规则判断是否有用,如果是,进入重置门把当前输入的信息与之前的信息相结合,进入步骤七;否则,进入步骤九,通过更新门决定有多少之前的信息向下传递到当前状态。
到达GRU门控循环单元的关键部分,设置初始的状态为0,在训练的过程中,在选择要忘记的数据,cell层选择的是GRU cell,调用了cell=tf.nn.rnn_cell.GRUCell(10)。并且outputs和states,用tf.nn.dynamic_rnn来进行更新循环;
规则是指:遇到新的关节q’的位置,速度和加速度;寻找和其相接近的对应关节的位置、速度加速度的信息,将其关联在一起,将其对应的扭矩添加到相关联的扭矩信息中,遇到和原来关节位置,速度,加速度一样的数据,在以前的信息中寻找前后序列相接近的序列数据(这里指关节位置,速度,加速度),将其对应的扭矩代替原来的,同时过滤掉原来的数据。
步骤七、当三维数据输入到达重置门时,计算前一时刻的状态信息参与到新生成的状态的比例rt
针对时间步t时刻,比例rt计算公式如下:
rt=σ(Wr·[ht-1,Xt]+br);
σ为sigmoid函数;Wr表示重置门的权重;br是重置门的偏置值;Xt为t时刻的输入向量;ht-1保存的是前一个时间步t-1时刻的信息;
ht-1和Xt先经过线性变换与更新门权重Wr相乘,再相加投入Sigmoid激活函数以输出激活值,所以rt在0到1之间,表示前一时刻的状态信息参与到新生成的状态的比例。
步骤八、根据t时间步的比例rt,计算输入到达重置门的三维数据当前的候选状态
Figure BDA0001645600710000071
进入步骤十;
计算公式如下:
Figure BDA0001645600710000072
Figure BDA0001645600710000073
表示t时刻加入到当前状态的候选值,
Figure BDA0001645600710000074
表示当前候选状态的权重;tanh为激活函数;bh是隐藏层的偏置值;
先计算rt与ht-t的Hadamard乘积,确定以前要保留多少信息,参与到当前的候选状态中,然后加上当前的输入Xt做线性变换,把结果投入tanh双曲正切的激活函数中,得到当前的候选状态。
步骤九、当三维数据输入到达更新门时,计算前一时刻的信息传递到当前状态的比例zt
针对t时间步,比例zt计算公式如下:
zt=σ(Wz·[ht-1,Xt]+bz);
Wz表示更新门的权重;bz是更新门的偏置值;
ht-1和Xt先经过线性变换与更新门权重Wz相乘。更新门将这两部分信息相加并投入到Sigmoid激活函数中,所以zt在0到1之间,表示前一时刻的信息传递到当前状态的比例。
步骤十、把当前的候选状态
Figure BDA0001645600710000075
和前一个时间步t-1时刻的信息通过更新门的选择,得到当前时刻的隐藏层状态,并将其传递到下一时间步。
Figure BDA0001645600710000081
该信息符合算法认证,将输入的序列数据和前一步的最终记忆相结合,结合后的信息作为这一时间步的最终记忆,并将其传递到下一时间步。
步骤十一、当前t时间步训练集的数据全部传输完毕,得到当前t时间步时刻对应的隐藏层状态值ht
步骤十二、根据当前t时间步时刻对应的隐藏层状态值ht,并输出到RNN循环神经网络的输出隐藏层,得到t时间步通过动力学模型的预测值;
在out_hidden层,首先把outputs转化为二维数据,然后对其进行BN处理,防止过拟合的现象发生,并且使数值可以有很好的分布,最后通过WX矩阵乘法得到预测的值。
预测值计算如下:
yt=WO·ht+bo
yt表示t时刻的输出,WO表示输出的权重;bo表示输出的偏置值;
步骤十三、利用均方误差训练公式MSE对输出隐藏层输出的最终测试结果和采集的真实结果进行对比;
采用loss=tf.nn.contrib.legacy_seq2seq.sequence_loss_by_example方程来计算每步的误差,最后的误差cost用均方误差(MSE)来计算,优化器选择tf.train.AdagradOptimizer,对于出现不同频率的参数,自动调整学习率。
均方误差训练公式如下:
Figure BDA0001645600710000082
d代表关节的数量,n代表数据的数量,j代表关节累加的基数为从1开始,t代表时间步累加的基数为从1开始,
Figure BDA0001645600710000083
代表采集的真实结果,即为输入的实际扭矩,
Figure BDA0001645600710000084
代表着通过动力学模型预测出来的网络,即最终的测试结果。
步骤十四、判断对比结果是否小于等于误差阈值,如果是,则结束,最终Wr,Wz
Figure BDA0001645600710000085
WO,Wi,br,bh,bz,bo,bi为RNN循环神经网络的最优值。否则,通过优化器以一定的学习率朝着误差减小的方向来改变权重和偏置值,然后进入步骤五重复测试N次,直至得到GRU门控循环单元网络Wr,Wz
Figure BDA0001645600710000086
WO,Wi,br,bh,bz,bo,bi的最优值;
本实施例选择循环100次,在训练的数据集里面BATCH_SIZE=100,有150组,每20个BATCH显示一次误差,在这100次循环中,观测误差训练的效果。
同时,对测试集循环50次,同样BATCH_SIZE=100,测试集有49组,每20个BATCH显示一次误差,在这10次循环中,观测误差测试的效果。
步骤十五、利用数据集对得到最优值Wr,Wz
Figure BDA0001645600710000091
WO,Wi,br,bh,bz,bo,bi的GRU门控循环单元网络进行检测。
实验误差达到10-3量级,收敛的时间也在几十秒内完成,在速度和误差方面有很好地实现。
本发明控制门本身是自我加权的,会在整个学习阶段中根据一个算法有选择性的更新,门网络会增加计算复杂度,从而增加参数化,进而引进额外的计算误差。
在训练GRU神经网络的过程中,采用误差的反向传播算法(BPTT)处理序列数据,在使用反向传播算法的时候需要将整个时间序列上的误差传回来。在这里输出ht-1的误差由ht决定,并且要对所有控制门传播回来的梯度求和,而ht在更新时需要加上ht+1;这样,ht的误差不仅仅包含当前时刻t的误差,还包括t时刻之后所有时刻的误差;就可以从t时刻向后计算任意时刻的梯度,利用随机梯度下降完成梯度的更新。利用此算法进行控制门的更新,从而实时的减小计算误差,提高预测扭矩的精度,来完善运动学模型。
本发明一种基于深度学习的机器人动力学建模的方法,采用了GRU(门控循环单元)神经网络,通过一种可根据输入信号的自相关特性自适应调整状态更新模式的可变存储长度的算法,和本身较长时间范围的记忆功能,使得可以很好的适应机器人动力学模型的实时变化,提高提高扭矩预测的精度和训练时间,精确地模拟复杂的机器人系统。

Claims (3)

1.一种基于深度学习的机器人动力学建模方法,其特征在于,具体步骤如下:
步骤一、针对某机器人,收集该机器人的关节位置,关节速度,关节加速度以及对应的扭矩数据,并划分为训练集和数据集;
步骤二、构建针对机器人的关节位置,关节速度和关节加速度的动力学模型;
Figure FDA0002400094310000011
矢量q表示关节位置;
Figure FDA0002400094310000012
表示关节速度;
Figure FDA0002400094310000013
表示关节加速度;
τ表示要学习的扭矩,代表着控制关节运动的力进而控制机械臂的运动趋势;M(q)表示惯性矩阵,
Figure FDA0002400094310000014
表示结合了科氏力、摩擦力和重力的作用;表达式为:
Figure FDA0002400094310000015
Figure FDA0002400094310000016
Figure FDA0002400094310000017
表示科氏力,
Figure FDA0002400094310000018
表示摩擦力;g(q)表示重力;
Figure FDA0002400094310000019
为模拟函数,模拟其他因素;
步骤三、根据动力学模型设置输入向量x的目标学习函数y;
y=f(x);y=τ,x为输入的矢量值,包括机器人的关节位置,关节速度和关节加速度;
步骤四、搭建包括输入隐藏层,GRU cell层和输出隐藏层的RNN循环神经网络,用于对目标学习函数y进行优化;
GRU cell层包括更新门和重置门;
步骤五、针对训练集,按时间步进行划分,并输入到RNN循环神经网络的输入隐藏层,经过运算转化为三维数据到达GRU cell层;
Xt=Wi·xt+bi
xt是t时刻起始输入,Xt是通过输入隐藏层后t时刻要输入GRU的向量,Wi为输入隐藏层的权重;bi为输入隐藏层的偏置值;
步骤六、当三维数据进入GRU cell层中,根据规则判断是否有用,如果是,进入重置门把当前输入的信息与之前的信息相结合,进入步骤七;否则,进入步骤九,通过更新门决定有多少之前的信息向下传递到当前状态;
步骤七、当三维数据输入到达重置门时,计算前一时刻的状态信息参与到新生成的状态的比例rt
针对时间步t时刻,比例rt计算公式如下:
rt=σ(Wr·[ht-1,Xt]+br);
σ为sigmoid函数;Wr表示重置门的权重;br是重置门的偏置值;Xt为t时刻的输入向量,包括关节位置,关节速度和关节加速度;ht-1保存的是前一个时间步t-1时刻的信息;
步骤八、根据t时间步的比例rt,计算输入到达重置门的三维数据当前的候选状态
Figure FDA00024000943100000110
进入步骤十;
计算公式如下:
Figure FDA00024000943100000111
Figure FDA0002400094310000021
表示当前候选状态的权重;bh是隐藏层的偏置值;
步骤九、当三维数据输入到达更新门时,计算前一时刻的信息传递到当前状态的比例zt
针对t时间步,比例zt计算公式如下:
zt=σ(Wz·[ht-1,Xt]+bz);
Wz表示更新门的权重;bz是更新门的偏置值;
步骤十、把当前的候选状态
Figure FDA0002400094310000022
和前一个时间步t-1时刻的信息通过更新门的选择,得到当前时刻的隐藏层状态,并将其传递到下一时间步;
Figure FDA0002400094310000023
步骤十一、当前t时间步训练集的数据全部传输完毕,得到当前t时间步时刻对应的隐藏层状态值ht
步骤十二、根据当前t时间步时刻对应的隐藏层状态值ht,并输出到RNN循环神经网络的输出隐藏层,得到t时间步通过动力学模型的预测值;
yt=Wo·ht+bo
Wo表示输出的权重;bo表示输出的偏置值;
步骤十三、利用均方误差训练公式MSE对输出隐藏层输出的最终测试结果和采集的真实结果进行对比;
均方误差训练公式如下:
Figure FDA0002400094310000024
d代表关节的数量,n代表数据的数量,j代表关节累加的基数为从1开始,t代表时间步累加的基数为从1开始,
Figure FDA0002400094310000025
代表采集的真实结果,即为输入的实际扭矩,
Figure FDA0002400094310000026
代表着通过动力学模型预测出来的扭矩,即最终的测试结果;
步骤十四、判断对比结果是否小于等于误差阈值,如果是,则结束,最终的Wr,Wz
Figure FDA0002400094310000027
Wo,Wi,br,bh,bz,bo,bi为RNN循环神经网络的最优值;否则,通过优化器以一定的学习率来改变权重和偏置值,进而减小误差,然后进入步骤五重复测试N次,直至得到RNN循环神经网络Wr,Wz
Figure FDA0002400094310000028
Wo,Wi,br,bh,bz,bo,bi的最优值;
步骤十五、利用数据集对得到最优值Wr,Wz
Figure FDA0002400094310000029
Wo,Wi,br,bh,bz,bo,bi的GRU门控循环单元网络进行检测。
2.如权利要求1所述的一种基于深度学习的机器人动力学建模方法,其特征在于,所述的步骤五具体为:将原始的训练集三维数据转化为二维数据用weights矩阵乘法进行线性变换预处理,然后通过输入权重的Batch-Normalization批标准化处理,经过运算之后再转化为三维数据到达GRU cell层。
3.如权利要求1所述的一种基于深度学习的机器人动力学建模方法,其特征在于,步骤六中所述的规则是指:
遇到新的关节q’的位置,速度和加速度;寻找和其相接近的对应关节的位置、速度、加速度的信息,将其关联在一起,将其对应的扭矩添加到相关联的扭矩信息中,遇到和原来关节位置,速度,加速度一样的数据,在以前的信息中寻找前后序列相接近的序列数据;这里指关节位置,速度,加速度,将其对应的扭矩代替原来的扭矩,同时过滤掉原来的数据。
CN201810408136.4A 2018-04-28 2018-04-28 一种基于深度学习的机器人动力学建模方法 Active CN108621159B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810408136.4A CN108621159B (zh) 2018-04-28 2018-04-28 一种基于深度学习的机器人动力学建模方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810408136.4A CN108621159B (zh) 2018-04-28 2018-04-28 一种基于深度学习的机器人动力学建模方法

Publications (2)

Publication Number Publication Date
CN108621159A CN108621159A (zh) 2018-10-09
CN108621159B true CN108621159B (zh) 2020-05-19

Family

ID=63695181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810408136.4A Active CN108621159B (zh) 2018-04-28 2018-04-28 一种基于深度学习的机器人动力学建模方法

Country Status (1)

Country Link
CN (1) CN108621159B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502770A (zh) * 2018-10-11 2019-11-26 起动科技有限公司 基于ann预测力学参数的方法、装置、设备及存储介质
CN109291052B (zh) * 2018-10-26 2021-11-09 山东师范大学 一种基于深度强化学习的按摩机械手训练方法
CN111207739A (zh) * 2018-11-22 2020-05-29 千寻位置网络有限公司 基于gru神经网络的行人步行零速检测方法及装置
CN109702745B (zh) * 2019-01-18 2021-10-22 华南理工大学 一种机器人关节波动摩擦力矩的建模方法
CN109559826A (zh) * 2019-01-30 2019-04-02 福州大学 一种基于表面肌电和运动信号的膝关节力矩估计方法
CN110414033B (zh) * 2019-05-31 2023-04-18 太原理工大学 结合边缘计算和数字孪生的机械设备预测性维护方法
CN110450153B (zh) * 2019-07-08 2021-02-19 清华大学 一种基于深度强化学习的机械臂物品主动拾取方法
CN110705105B (zh) * 2019-10-08 2022-06-10 首都师范大学 一种机器人逆动力学模型的建模方法及系统
CN111208783B (zh) * 2019-12-30 2021-09-17 深圳市优必选科技股份有限公司 一种动作模仿方法、装置、终端及计算机存储介质
CN111497868A (zh) * 2020-04-09 2020-08-07 余姚市浙江大学机器人研究中心 一种基于bn-lstm网络的汽车传感器故障分类方法
CN113821006B (zh) * 2020-05-07 2022-10-14 牧今科技 用于确定指示机器人校准质量的误差参数的值的方法和计算系统
US11691285B2 (en) 2020-05-07 2023-07-04 Mujin, Inc. Method and computing system for estimating parameter for robot operation
CN112171677B (zh) * 2020-09-30 2021-09-17 桂林电子科技大学 基于lstm迟滞模型的机器人柔性关节补偿控制方法
CN112247992B (zh) * 2020-11-02 2021-07-23 中国科学院深圳先进技术研究院 一种机器人前馈力矩补偿方法
CN112906291B (zh) * 2021-01-25 2023-05-19 武汉纺织大学 一种基于神经网络的建模方法及装置
CN112906887B (zh) * 2021-02-20 2023-03-24 上海大学 稀疏gru神经网络加速的实现方法和装置
CN113706827A (zh) * 2021-09-03 2021-11-26 浙江远图互联科技股份有限公司 一种居家老人生命体征的无线采集系统
CN113942009B (zh) * 2021-09-13 2023-04-18 苏州大学 机器人仿生手抓取方法
CN113987679A (zh) * 2021-10-30 2022-01-28 福州大学 基于mogrifier-gru深度学习的列车稳定性预测方法及系统
CN114970305B (zh) * 2021-12-17 2024-01-19 西安交通大学 一种磁控软体机器人磁性颗粒分布的预测方法
CN114970374B (zh) * 2022-07-28 2022-10-28 深圳华数机器人有限公司 一种基于增量式动力学的负载辨识方法、系统和介质
CN117292421B (zh) * 2023-09-12 2024-05-28 南通大学 一种基于gru的连续性视线估计深度学习方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002205289A (ja) * 2000-12-28 2002-07-23 Sony Corp ロボット装置の動作制御方法、プログラム、記録媒体及びロボット装置
JP2002239960A (ja) * 2001-02-21 2002-08-28 Sony Corp ロボット装置の動作制御方法、プログラム、記録媒体及びロボット装置
JP4818716B2 (ja) * 2005-12-27 2011-11-16 富士通株式会社 ロボット制御装置
JP6148316B2 (ja) * 2015-07-31 2017-06-14 ファナック株式会社 故障条件を学習する機械学習方法及び機械学習装置、並びに該機械学習装置を備えた故障予知装置及び故障予知システム
DE102016008987B4 (de) * 2015-07-31 2021-09-16 Fanuc Corporation Maschinenlernverfahren und Maschinenlernvorrichtung zum Lernen von Fehlerbedingungen, und Fehlervorhersagevorrichtung und Fehlervorhersagesystem, das die Maschinenlernvorrichtung einschließt
CN107122736B (zh) * 2017-04-26 2020-06-12 北京邮电大学 一种基于深度学习的人体朝向预测方法及装置
CN107563122B (zh) * 2017-09-20 2020-05-19 长沙学院 基于交织时间序列局部连接循环神经网络的犯罪预测方法
CN107748566B (zh) * 2017-09-20 2020-04-24 清华大学 一种基于强化学习的水下自主机器人固定深度控制方法
AU2018101513A4 (en) * 2018-10-11 2018-11-15 Hui, Bo Mr Comprehensive Stock Prediction GRU Model: Emotional Index and Volatility Based

Also Published As

Publication number Publication date
CN108621159A (zh) 2018-10-09

Similar Documents

Publication Publication Date Title
CN108621159B (zh) 一种基于深度学习的机器人动力学建模方法
CN110262511B (zh) 基于深度强化学习的双足机器人自适应性行走控制方法
CN108115681B (zh) 机器人的模仿学习方法、装置、机器人及存储介质
Han et al. Adaptive computation algorithm for RBF neural network
CN108596327B (zh) 一种基于深度学习的地震速度谱人工智能拾取方法
Bianchi et al. Accelerating autonomous learning by using heuristic selection of actions
CN110705105B (zh) 一种机器人逆动力学模型的建模方法及系统
CN114162146B (zh) 行驶策略模型训练方法以及自动驾驶的控制方法
CN108983605B (zh) 一种基于深度强化学习进行流体导向的刚体控制的方法
CN113091768B (zh) 一种mimu整体动态智能标定补偿方法
Hochlehnert et al. Learning contact dynamics using physically structured neural networks
CN109227550A (zh) 一种基于rbf神经网络的机械臂控制方法
Wang et al. Inference-based posteriori parameter distribution optimization
CN113156473A (zh) 信息融合定位系统卫星信号环境的自适应判别方法
CN112525194A (zh) 一种基于海马-纹状体内源性和外源性信息的认知导航方法
Almalki et al. Exploration of reinforcement learning to play snake game
CN115562258A (zh) 基于神经网络的机器人社会自适应路径规划方法及系统
El-Fakdi et al. Autonomous underwater vehicle control using reinforcement learning policy search methods
CN114995106A (zh) 基于改进小波神经网络的pid自整定方法、装置和设备
CN114118371A (zh) 一种智能体深度强化学习方法及计算机可读介质
CN114186477A (zh) 一种基于Elman神经网络的轨道预测算法
CN113850366B (zh) 一种基于lstm的预测目标运动的方法
Li et al. Covid-19 Epidemic Trend Prediction Based on CNN-StackBiLSTM
CN115292154A (zh) 一种基于对抗式强化学习的安全场景加速测试方法及系统
JP4267726B2 (ja) 制御装置における動作信号と操作量との関係を決定する装置、制御装置、データ生成装置、入出力特性決定装置及び相関関係評価装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant