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

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

A robot dynamic modeling method based on deep learning

The invention discloses a robot dynamics modeling method based on depth learning, which belongs to the field of intelligent robots. The collected data is divided into training set and data set, and the dynamic model is constructed to build RNN cyclic neural network. Combining the current input information with the previous information, calculating the proportion of the state information of the previous moment participating in the newly generated state, and then selecting the current candidate state and the information of the previous time step through the update gate, the current hidden layer state of the current moment is obtained and transmitted to the next time step. Output to the output hidden layer, the prediction value is less than or equal to the true result of the error threshold acquisition, the optimal value. Finally, the GRU gated loop cell network is detected by data sets. The invention improves the accuracy of torque prediction, greatly reduces the training time of the input signal, and reduces the gradient error of the traditional reverse propagation.

【技术实现步骤摘要】
一种基于深度学习的机器人动力学建模方法
本专利技术属于智能机器人领域,具体是一种基于深度学习的机器人动力学建模方法。
技术介绍
机器人动力学模型的重要应用是控制机器人,通过动力学方程可以准确地计算出机器人运动需要的力矩;但是,由于扰动、弹性、非线性摩擦以及负载变化等因素的影响,很多动力学模型的参数难以被确定,传统的动力学方法(如拉格朗日、牛顿欧拉、凯恩)很难对机器人进行精准的动力学建模,无法满足精准的实际应用。近些年来,深度学习的发展使得这一问题的解决迎来了转机;神经网络具有极强的非线性映射能力,通过训练一定数量的数据,使得在建模的过程中不用人为的考虑不确定性因素的影响,可以很好提高机器人动力学模型的预测精度。目前应用的ESN(EchoStateNetwork,回声状态网络)机器学习算法已经应用于推断机器人的结构和环境特征,模拟复杂的机器人系统;该算法包括两个隐藏层:自组织层和递归层,它是一个实时的机器人模型学习算法,能够很好的适应环境的变化。但是,该ESN机器学习算法没有充分考虑输入信号的特性,通常忽略输出反馈连接。因此,ESN的回波状态特性在一定时间内不能完全满足,不能提供更高的精度和更快的收敛速度进行时间序列预测。基于动力学模型的机器人运动控制需要对机器人各关节扭矩实时精确预测,对于实现机器人功能完美性和安全性是必要的;机器人动力学模型是变化的,由于输入信号的不断变化和机器人系统的非线性摩擦、负载变化等因素的影响,实际预测的扭矩可能和真正的运动扭矩有一些差别,这时需要我们对建好的动力学模型进行实时更新,以减小误差,提升精度。
技术实现思路
本专利技术为了在实时学习过程中,提高扭矩预测的精度,精确地模拟复杂的机器人系统;提出了一种基于深度学习的机器人动力学建模方法。具体步骤如下:步骤一、针对某机器人,收集该机器人的关节位置,关节速度,关节加速度以及对应的扭矩数据,并划分为训练集和数据集;步骤二、构建针对机器人的关节位置,关节速度和关节加速度的动力学模型T;矢量q表示关节位置;表示关节速度;表示关节加速度;T表示要学习的扭矩,代表着控制关节运动的力(矢量)进而控制机械臂的运动趋势;M(q)表示惯性矩阵,表示结合了科氏力、向心力、摩擦力和重力的作用;表达式为:表示科氏力,表示摩擦力;g(q)表示重力。为模拟函数,模拟其他扰动、弹性、非线性摩擦或负载变化等因素;如:机械设计中的弹性、质量或惰性的模型参数误差、振动效应、摩擦、耦合和传感器噪音。步骤三、根据动力学模型τ设置输入向量x的目标学习函数y;y=f(x);y=τ,x为输入的矢量值,包括机器人的关节位置,关节速度和关节加速度。步骤四、搭建包括输入隐藏层,GRUcell层和输出隐藏层的RNN循环神经网络,用于对目标学习函数y进行优化;GRUcell层包括更新门(UpdateGate)和重置门(ResetGate);步骤五、针对训练集,按时间步进行划分,并输入到RNN循环神经网络的输入隐藏层,经过运算转化为三维数据到达GRUcell层;Xt=Wi·xt+bixt是t时刻起始输入,Xt是通过输入隐藏层后t时刻要输入GRU的向量,Wi为输入隐藏层的权重;bi为输入隐藏层的偏置值;将原始的训练集三维数据转化为二维数据用weights矩阵乘法进行线性变换预处理,然后通过输入权重的Batch-Normalization批标准化处理,经过运算之后再转化为三维数据到达GRUcell层;步骤六、当三维数据进入GRUcell层中,根据规则判断是否有用,如果是,进入重置门把当前输入的信息与之前的信息相结合,进入步骤七;否则,进入步骤九,通过更新门决定有多少之前的信息向下传递到当前状态。规则是指:遇到新的关节q’的位置,速度和加速度;寻找和其相接近的对应关节的位置、速度加速度的信息,将其关联在一起,将其对应的扭矩添加到相关联的扭矩信息中,遇到和原来关节位置,速度,加速度一样的数据,在以前的信息中寻找前后序列相接近的序列数据;这里指关节位置,速度,加速度,将其对应的扭矩代替原来的,同时过滤掉原来的数据。步骤七、当三维数据输入到达重置门时,计算前一时刻的状态信息参与到新生成的状态的比例rt;针对时间步t时刻,比例rt计算公式如下:rt=σ(Wr·[ht-1,Xt]+br);σ为sigmoid函数;Wr表示重置门的权重;br是重置门的偏置值;Xt为t时刻的输入向量,包括关节位置,关节速度和关节加速度;ht-1保存的是前一个时间步t-1时刻的信息;步骤八、根据t时间步的比例rt,计算输入到达重置门的三维数据当前的候选状态进入步骤十;计算公式如下:表示当前候选状态的权重;bh是隐藏层的偏置值;步骤九、当三维数据输入到达更新门时,计算前一时刻的信息传递到当前状态的比例zt;针对t时间步,比例zt计算公式如下:zt=σ(Wz·[ht-1,Xt]+bz);Wz表示更新门的权重;bz是更新门的偏置值;步骤十、把当前的候选状态和前一个时间步t-1时刻的信息通过更新门的选择,得到当前时刻的隐藏层状态,并将其传递到下一时间步。步骤十一、当前t时间步训练集的数据全部传输完毕,得到当前t时间步的时刻对应的隐藏层状态值ht;步骤十二、根据当前t时间步的时刻对应的隐藏层状态值ht,并输出到RNN循环神经网络的输出隐藏层,得到t时间步的动力学模型的预测值;yt=WO·ht+boWO表示输出的权重;bo表示输出的偏置值;步骤十三、利用均方误差训练公式MSE对输出隐藏层输出的最终测试结果和采集的真实结果进行对比;均方误差训练公式如下:d代表关节的数量,n代表数据的数量,j代表关节累加的基数为从1开始,t代表时间步累加的基数为从1开始,代表采集的真实结果,即为输入的实际扭矩,代表着通过动力学模型预测出来的扭矩,即最终的测试结果。步骤十四、判断对比结果是否小于等于误差阈值,如果是,则结束,最终的Wr,Wz,WO,Wi,br,bh,bz,bo,bi为RNN循环神经网络的最优值。否则,通过优化器以一定的学习率朝着误差减小的方向来改变权重和偏置值,然后进入步骤五重复测试N次,直至得到RNN循环神经网络Wr,Wz,WO,Wi,br,bh,bz,bo,bi的最优值;步骤十五、利用数据集对得到最优值Wr,Wz,WO,Wi,br,bh,bz,bo,bi的GRU门控循环单元网络进行检测。本专利技术的优点在于:1)、一种基于深度学习的机器人动力学建模方法,很好的适应动力学模型的实时变化,提高扭矩预测的精度,精确地模拟复杂的机器人系统。2)、一种基于深度学习的机器人动力学建模方法,设计了GRU门控循环单元,减小了传统RNN神经网络的梯度消失和梯度爆炸使得训练的模型有较长时间范围的记忆功能,对处理时间和序列相关的问题有很大的优势,大大减小输入信号的训练时间,对于训练的样本在几秒内完成训练。3、一种基于深度学习的机器人动力学建模方法,利用了一种时间的反向传播算法BPTT(backpropagationthroughtime),减小了传统反向传播的梯度误差,对动力学模型进行实时更新,大大提高预测的精度。4)、一种基于深度学习的机器人动力学建模方法,可以动态的处理可变长度的序列,通过使用dynamicrnn,返回两个参数:outputs,last本文档来自技高网...
一种基于深度学习的机器人动力学建模方法

【技术保护点】
1.一种基于深度学习的机器人动力学建模方法,其特征在于,具体步骤如下:步骤一、针对某机器人,收集该机器人的关节位置,关节速度,关节加速度以及对应的扭矩数据,并划分为训练集和数据集;步骤二、构建针对机器人的关节位置,关节速度和关节加速度的动力学模型τ;

【技术特征摘要】
1.一种基于深度学习的机器人动力学建模方法,其特征在于,具体步骤如下:步骤一、针对某机器人,收集该机器人的关节位置,关节速度,关节加速度以及对应的扭矩数据,并划分为训练集和数据集;步骤二、构建针对机器人的关节位置,关节速度和关节加速度的动力学模型τ;矢量q表示关节位置;表示关节速度;表示关节加速度;τ表示要学习的扭矩,代表着控制关节运动的力(矢量)进而控制机械臂的运动趋势;M(q)表示惯性矩阵,表示结合了科氏力、向心力、摩擦力和重力的作用;表达式为:表示科氏力,表示摩擦力;g(q)表示重力;为模拟函数,模拟其他因素;步骤三、根据动力学模型τ设置输入向量x的目标学习函数y;y=f(x);y=τ,x为输入的矢量值,包括机器人的关节位置,关节速度和关节加速度;步骤四、搭建包括输入隐藏层,GRUcell层和输出隐藏层的RNN循环神经网络,用于对目标学习函数y进行优化;GRUcell层包括更新门和重置门;步骤五、针对训练集,按时间步进行划分,并输入到RNN循环神经网络的输入隐藏层,经过运算转化为三维数据到达GRUcell层;Xt=Wi·xt+bixt是t时刻起始输入,Xt是通过输入隐藏层后t时刻要输入GRU的向量,Wi为输入隐藏层的权重;bi为输入隐藏层的偏置值;步骤六、当三维数据进入GRUcell层中,根据规则判断是否有用,如果是,进入重置门把当前输入的信息与之前的信息相结合,进入步骤七;否则,进入步骤九,通过更新门决定有多少之前的信息向下传递到当前状态;步骤七、当三维数据输入到达重置门时,计算前一时刻的状态信息参与到新生成的状态的比例rt;针对时间步t时刻,比例rt计算公式如下:rt=σ(Wr·[ht-1,Xt]+br);σ为sigmoid函数;Wr表示重置门的权重;br是重置门的偏置值;Xt为t时刻的输入向量,包括关节位置,关节速度和关节加速度;ht-1保存的是前一个时间步t-1时刻的信息;步骤八、根据t时间步的比例rt,计算输入到达重置门的三维数据当前的候选状态进入步骤十;计算公式如下:表示当前候选状态的权重;bh是隐藏层的偏置值;步骤九、当三维数据输入到达更新门时,计算前一时刻的信息传递到当前状态的比例zt;针对t时间步,比例zt计算公式如下:zt=σ(Wz·[ht-1,Xt]+b...

【专利技术属性】
技术研发人员:邵振洲孙鹏飞渠瀛关永施智平王晓东
申请(专利权)人:首都师范大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1