一种基于BP神经网络和SG滤波的机器人关节力矩预测方法

文档序号:38029955发布日期:2024-05-17 13:08阅读:11来源:国知局
一种基于BP神经网络和SG滤波的机器人关节力矩预测方法

本发明涉及机器人动力学领域,尤其提出一种基于bp神经网络和sg滤波的机器人关节力矩预测方法。


背景技术:

1、机器人具有良好的协作性和灵活性,可以协助甚至代替人工进行劳动。然而,机器人在与环境交互时,容易受到外部力的影响,导致任务失败甚至机器人受损。为了保证机器人能够安全、稳定且精确的完成交互式任务,获取机器人关节力矩的信息以便对机器人进行有效的力控制至关重要。

2、获得机器人关节力矩的最直接的方法是在末端执行器或基座处安装力/扭矩传感器,或在每个关节处安装关节扭矩传感器。然而,传感器的安装和维护较为困难,这不仅增加了系统复杂性,还大幅提高了成本。此外,传感器的集成需要考虑通信、机制、电气技术和算法研究,这也是一个耗时的过程。

3、基于动力学模型预测的方法可以间接获得机器人关节力矩,这种方法不需要额外的传感器,成本相对较低。然而,这种方法引入了关节动力学,因此带来了关节摩擦力建模和非线性模型辨识的困难,限制了其应用范围。

4、随着人工智能算法的进步,有许多机器学习和统计算法可以用来构建基于数据的数学模型,以取代传统的物理模型。其中,神经网络有着广泛的应用。它可以通过数据学习系统的行为,具有良好的非线性映射能力。因此,神经网络非常适合用于预测机器人的关节力矩。


技术实现思路

1、针对上述问题,本发明提供一种基于bp神经网络和sg滤波的机器人关节力矩预测方法,旨在提出一种建模简单,通用性好,自适应能力出色的解决方案,以解决现有的机器人关节力矩监测方法中存在的传感器成本昂贵,摩擦力建模困难的问题。

2、为了实现上述目的,本发明提供了一种基于bp神经网络和sg滤波的机器人关节力矩预测方法,包括:

3、步骤s1:利用单自由度机器人实验平台进行实验,采集启动阶段和恒速运转阶段的数据;

4、步骤s2:构建数据样本库,对采集的数据进行预处理,然后将数据分为训练集、验证集和测试集;

5、步骤s3:构建初始的bp神经网络模型,设置结构参数和训练参数;

6、步骤s4:利用训练集对初始的bp神经网络模型进行训练,并使用验证集验证模型性能,以得到经过训练的有效模型;

7、步骤s5:将测试集数据输入到已训练的bp神经网络模型,得到预测结果,为提高预测准确度,通过sg滤波对输出结果进行进一步处理;

8、优选地,利用单自由度机器人实验平台进行实验,采集启动阶段和恒速运转阶段的数据,具体为:针对启动阶段和恒速运转阶段分别设计相应的实验方案,每个实验方案包含多组分项实验,以2ms为采样周期获取实验数据。

9、优选地,构建数据样本库,对采集的数据进行预处理,然后将数据分为训练集、验证集和测试集,具体为:针对不同的实验方案构建各自的样本数据库,具体包括关节角速度角加速度电机驱动器的电流i以及关节力矩τ。在预处理阶段,采用归一化方法对数据进行处理,将其转化为统一的尺度。随后将85%的数据作为训练集用于训练bp神经网络模型,而剩余的15%则作为验证集用于评估bp神经网络模型的性能。以不同于训练集和验证集实验条件下采集的实验数据作为测试集。所述归一化公式如下:

10、

11、其中,y*为归一化后的数据,y为原始数据,ymax为原始数据中的最大值,ymin为原始数据中的最小值。

12、优选地,构建初始的bp神经网络模型,设置结构参数和训练参数,具体为:构建初始的bpnn模型,设置结构参数和训练参数,结构参数包括输入层节点数nin、隐藏层层数m和节点数nm、输出层节点数nout以及激活函数f。训练参数包括最大迭代次数ktarget、误差阈值ltarget、梯度阈值gtarget、停止增加条件ξtarget、权重更新系数初始值μ0和阈值μtarget、阻尼系数β以及初始权重ω0。

13、其中,ktarget:算法执行的最大迭代次数,以避免无限循环或者训练时间过长。

14、ltarget:训练的目标误差值,当神经网络的误差达到或低于这个阈值时,算法会停止训练。

15、gtarget:当梯度的范数小于gtarget,可认为神经网络的损失函数已经收敛到某个局部极小值,此时应当停止训练。

16、ξtarget:当验证集误差连续增加次数达到ξtarget,可认为神经网络的性能已经达到瓶颈,继续训练可能会导致过拟合。

17、μ0、μtarget:权重更新系数初始值设为μ0,并在每轮迭代中更新μ值。μ值越大,则意味着算法的收敛效果越好,当μ值达到或超过预设的阈值时,表明算法已经在性能上达到了满意的水平,因此停止训练。

18、β:用于更新μ的系数。

19、优选地,利用训练集对初始的bp神经网络模型进行训练,并使用验证集验证模型性能,以得到经过训练的有效模型,具体步骤为:

20、步骤s41,将训练集数据输入神经网络模型进行前向传播,输入层中的神经元负责接收经过归一化处理的训练集中的输入向量,输入向量包括关节角速度角加速度以及电机驱动器的电流i*,并将其传递给隐藏层,隐藏层负责实现输入信号的非线性变换,随后传给输出层,输出层则负责产生网络的预测结果。

21、步骤s42,利用levenberg-marquardt算法进行误差的反向传播,对权值进行调整。

22、步骤s43,判断神经网络的训练是否满足停止条件。神经网络通过连续的前向传播和反向传播进行训练,以调整网络参数来最小化损失函数。为了有效管理计算资源、防止过拟合,必须在适当的时机终止训练。

23、优选地,将测试集数据输入到已训练的bp神经网络模型,得到预测结果,为提高预测准确度,通过sg滤波对输出结果进行进一步处理,具体步骤为:

24、步骤s51,将测试集中关节角速度角加速度电机驱动器的电流i作为输入向量进行归一化处理,随后输入训练好的bp神经网络中,得到输出结果

25、步骤s52,对输出结果进行反归一化处理,将输出结果还原到原始观测值所在的尺度上,得到预测力矩τp。

26、步骤s53,采用sg滤波对预测结果进行平滑处理,以得到最终的预测结果

27、与现有技术相比,本发明的有益效果是:

28、(1)对样本数据进行归一化,提高了模型训练的稳定性和收敛速度。

29、(2)bp神经网络建模简单,实用性强,避免了对物理模型建模的复杂性。

30、(3)采用未参与训练的测试集数据,验证了模型的泛化能力。

31、(4)基于最小二乘法的savitzky golay滤波算法增加模型对噪声干扰的抵抗力,同时保留数据的趋势信息,从而最终提高了预测准确性。

32、本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述。



技术特征:

1.一种基于bp神经网络和sg滤波的机器人关节力矩预测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于bp神经网络和sg滤波的机器人关节力矩预测方法,其特征在于,所述s1中采集启动阶段和恒速运转阶段的数据具体为:针对启动阶段和恒速运转阶段分别设计相应的实验方案,每个实验方案包含多组分项实验,以2ms为采样周期获取实验数据。

3.根据权利要求1所述的基于bp神经网络和sg滤波的机器人关节力矩预测方法,其特征在于,所述s2中构建数据样本库的具体过程为:通过不同的实验方案构建各自的样本数据库,具体包括关节角速度角加速度电机驱动器的电流i以及关节力矩τ;在预处理阶段,采用归一化公式对数据进行处理,将其转化为统一的尺度;随后将85%的数据作为训练集用于训练bp神经网络模型,而剩余的15%则作为验证集用于评估bp神经网络模型的性能;以不同于训练集和验证集实验条件下采集的实验数据作为测试集。

4.根据权利要求3所述的基于bp神经网络和sg滤波的机器人关节力矩预测方法,其特征在于,所述归一化公式为:

5.根据权利要求1所述的基于bp神经网络和sg滤波的机器人关节力矩预测方法,其特征在于,所述步骤s3中所述结构参数包括输入层节点数nin、隐藏层层数m和节点数nm、输出层节点数nout以及激活函数f;所述训练参数包括最大迭代次数ktarget、误差阈值ltarget、梯度阈值gtarget、停止增加条件ξtarget、权重更新系数初始值μ0和阈值μtarget、阻尼系数β以及初始权重ω0。

6.根据权利要求1所述的基于bp神经网络和sg滤波的机器人关节力矩预测方法,其特征在于,所述s4具体包括:

7.根据权利要求1所述的基于bp神经网络和sg滤波的机器人关节力矩预测方法,其特征在于,所述s5具体包括:


技术总结
本发明提供一种基于BP神经网络和SG滤波的机器人关节力矩预测方法。涉及机器人动力学领域;方法包括:利用单自由度机器人实验平台进行实验,采集启动阶段和恒速运转阶段的数据;构建数据样本库,对采集的数据进行预处理,然后将数据分为训练集、验证集和测试集;构建初始的BP神经网络模型,设置结构参数和训练参数;利用训练集对初始的BP神经网络模型进行训练,并使用验证集验证模型性能,以得到经过训练的有效模型;将测试集数据输入到已训练的BP神经网络模型,得到预测结果,为提高预测准确度,通过SG滤波对输出结果进行进一步处理。

技术研发人员:李浩冲,张涛,曾亿山
受保护的技术使用者:合肥工业大学
技术研发日:
技术公布日:2024/5/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1