基于脉冲神经网络的机械臂力矩补偿方法及装置
本技术涉及机械臂技术,特别涉及一种基于脉冲神经网络的机械臂力矩补偿方法及装置。
背景技术:
1、相关技术中,snn(spiking neural network,脉冲神经网络)通过模拟生物神经元的脉冲发放机制,利用神经元膜电位的动态演化过程对时序信息进行建模,具有较强的时空特征表达能力和较低的理论功耗,能够为机械臂运动控制等强时序任务提供一定的状态建模与决策支持。
2、然而,相关技术在的机械臂控制应用中,未能充分利用snn对时序动态信息的建模能力,在脉冲编码、状态表达及输出映射过程中存在信息损失,使得控制系统对机械臂复杂非线性动力学特性的刻画能力不足,从而导致控制精度不高,同时在动态响应过程中存在滞后与不稳定问题,整体动态性能表现较差。
技术实现思路
1、本技术提供一种基于脉冲神经网络的机械臂力矩补偿方法及装置,以解决相关技术未能充分利用snn对时序动态信息的建模能力,导致对机械臂复杂非线性动力学特性的表征不足,控制信息表达不充分,从而使得控制精度降低,并影响控制过程中的动态响应性能与稳定性的问题。
2、本技术第一方面实施例提供一种基于脉冲神经网络的机械臂力矩补偿方法,包括以下步骤:获取机械臂的关节位置和关节速度;将关节位置和关节速度编码为关节位置误差脉冲序列和关节速度误差脉冲序列,并根据关节位置脉冲序列确定机械臂的至少一个关节的规划位置和实际位置;将关节位置误差脉冲序列、规划位置和实际位置输入至预先训练的重力补偿网络,计算细胞膜电势,以输出至少一个关节的重力补偿力矩,并根据重力补偿力矩、关节位置误差脉冲序列和关节速度误差脉冲序列确定至少一个关节的控制力矩。
3、通过以上技术手段,对关节位置和关节速度进行脉冲编码,得到关节位置误差脉冲序列和关节速度误差脉冲序列,进而利用重力补偿网络学习关节状态与重力补偿力矩之间的非线性映射关系,可以充分挖掘关节运动状态中的时序关联特征及动力学特性,实现对机械臂重力项的准确补偿,从而降低重力扰动对机械臂运动控制的影响,提高机械臂的轨迹跟踪精度、动态响应性能及复杂工况下的控制稳定性和抗扰动能力。
4、可选地,在本技术的一个实施例中,关节位置和速度误差的编码公式分别为:
5、,
6、,
7、其中,为随机变量,为反馈的关节位置误差的脉冲串,为反馈的关节速度误差的脉冲串,分别是每个关节的位置和速度误差限制范围,为各个关节的规划位置和实际位置,为各个关节的规划速度和实际速度。
8、通过以上技术手段,根据各个关节的规划位置和实际位置、各个关节的规划速度和实际速度进行编码,得到关节位置误差脉冲序列和关节速度误差脉冲序列,可以将连续的关节运动状态转换为具有时序特性的事件驱动信息,充分保留关节位置误差及速度误差的动态变化特征,为后续重力补偿网络提供更加准确的时序输入,从而提高网络对机械臂复杂非线性动力学特性的建模能力,进一步提升重力补偿精度以及机械臂运动控制的稳定性和抗扰动能力。
9、可选地,在本技术的一个实施例中,重力补偿网络包括编码模块、循环全连接模块、解码模块和pc(population coding,群编码)模块,其中,将关节位置误差脉冲序列、规划位置和实际位置输入至预先训练的重力补偿网络,计算细胞膜电势,以输出至少一个关节的重力补偿力矩,包括:基于编码模块,将关节位置误差脉冲序列、规划位置和实际位置转化为满足预设标准条件的脉冲序列;基于循环全连接模块,对脉冲序列进行膜电位累积与递归状态更新处理,以得到脉冲序列的膜电位状态序列;基于解码模块,根据膜电位状态序列确定细胞膜电势;基于pc模块,对细胞膜电势进行分段平均处理,以确定重力补偿力矩。
10、通过以上技术手段,根据编码模块、循环全连接模块、解码模块和pc模块确定重力补偿力矩,可以充分发挥脉冲神经网络对时序动态信息的建模能力,实现机械臂重力项的非线性建模与自适应补偿,从而提高重力补偿精度,降低模型误差对控制性能的影响。
11、可选地,在本技术的一个实施例中,在输入至预先训练的重力补偿网络之前,还包括:基于机械臂的动力学模型,生成机械臂的训练数据,其中,训练数据包括由关节末端位姿对应的每一个关节位置和对应的重力补偿力矩组成的数据对;利用训练数据训练初始重力补偿网络,直至满足预设网络条件,建立重力补偿网络。
12、通过以上技术手段,根据关节位置和重力补偿力矩构建训练数据,可以为重力补偿网络提供高质量训练样本,使网络准确学习机械臂不同姿态下的重力力矩变化规律,从而提高重力补偿力矩预测的准确性,为后续力矩反馈控制提供准确的前馈补偿量,进一步提高机械臂运动控制的精度、稳定性及抗扰动能力。
13、可选地,在本技术的一个实施例中,基于脉冲神经网络的机械臂力矩补偿方法还包括:
14、对重力补偿力矩添加噪声,其中,噪声的添加公式为:
15、,
16、,
17、,
18、,
19、,
20、其中,为添加噪声的重力补偿力矩,为关节位置,为重力补偿力矩。
21、通过以上技术手段,对重力补偿力矩添加噪声,可以扩展训练数据的分布范围,使训练样本覆盖测量误差、建模误差及环境扰动等情况,从而提高重力补偿网络的抗噪能力与泛化性能,增强其在实际控制过程中的稳定性与精度。
22、本技术第二方面实施例提供一种基于脉冲神经网络的机械臂力矩补偿装置,包括:获取模块,用于获取机械臂的关节位置和关节速度;编码模块,用于将关节位置和关节速度编码为关节位置误差脉冲序列和关节速度误差脉冲序列,并根据关节位置脉冲序列确定机械臂的至少一个关节的规划位置和实际位置;补偿模块,用于将关节位置误差脉冲序列、规划位置和实际位置输入至预先训练的重力补偿网络,计算细胞膜电势,以输出至少一个关节的重力补偿力矩,并根据重力补偿力矩、关节位置误差脉冲序列和关节速度误差脉冲序列确定至少一个关节的控制力矩。
23、可选地,在本技术的一个实施例中,关节位置和速度误差的编码公式分别为:
24、,
25、,
26、其中,为随机变量,为反馈的关节位置误差的脉冲串,为反馈的关节速度误差的脉冲串,分别是每个关节的位置和速度误差限制范围,为各个关节的规划位置和实际位置,为各个关节的规划速度和实际速度。
27、可选地,在本技术的一个实施例中,重力补偿网络包括编码模块、循环全连接模块、解码模块和pc模块,其中,补偿模块,包括:转化单元,用于基于编码模块,将关节位置误差脉冲序列、规划位置和实际位置转化为满足预设标准条件的脉冲序列;累积单元,用于基于循环全连接模块,对脉冲序列进行膜电位累积与递归状态更新处理,以得到脉冲序列的膜电位状态序列;输出单元,用于基于解码模块,根据膜电位状态序列确定细胞膜电势;平均单元,用于基于pc模块,对细胞膜电势进行分段平均处理,以确定重力补偿力矩。
28、可选地,在本技术的一个实施例中,基于脉冲神经网络的机械臂力矩补偿装置还包括:生成模块,用于基于机械臂的动力学模型,生成机械臂的训练数据,其中,训练数据包括由关节末端位姿对应的每一个关节位置和对应的重力补偿力矩组成的数据对;建立模块,用于利用训练数据训练初始重力补偿网络,直至满足预设网络条件,建立重力补偿网络。
29、可选地,在本技术的一个实施例中,基于脉冲神经网络的机械臂力矩补偿装置还包括:
30、对重力补偿力矩添加噪声,其中,噪声的添加公式为:
31、,
32、,
33、,
34、,
35、,
36、其中,为添加噪声的重力补偿力矩,为关节位置,为重力补偿力矩。
37、本技术第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的基于脉冲神经网络的机械臂力矩补偿方法。
38、本技术第四方面实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,该程序被处理器执行时实现如上的基于脉冲神经网络的机械臂力矩补偿方法。
39、本技术第五方面实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被执行时,以用于实现如上的基于脉冲神经网络的机械臂力矩补偿方法。
40、本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com