技术新讯 > 五金工具产品及配附件制造技术 > 逆运动学求解的方法、装置、模型、设备及存储介质与流程  >  正文

逆运动学求解的方法、装置、模型、设备及存储介质与流程

  • 国知局
  • 2024-07-08 11:01:02

本发明涉及神经网络领域,尤其涉及一种逆运动学求解的方法、装置、模型、设备及存储介质。

背景技术:

1、随着信息技术、自动化和智能化水平的不断提高,多自由度机械臂因其更高的灵活性和适应性,在复杂作业环境中的应用日益广泛。

2、人形机器人的多自由度机械臂更是一种复杂的机器人系统,包括多个关节,每个关节对应一个自由度,关节不同的角度、不同的转动轨迹,对应的机械臂末端执行器的不同位姿逆。多自由度机械臂在执行工作时有更多可能的姿态,使得路径规划和障碍物回避等功能更加高效和精确,使得其自由度机械臂可以模拟人类手臂的灵活运动,使它在很多应用中具有优势。

3、对于机械臂,运动学求解和逆运动学求解是实现其控制的重要过程。其中,运动学的求解指的是根据机械臂的各关节角度来确定末端执行器的位姿,而逆运动学求解为根据末端执行器的位姿来确定机器人各关节的角度。

4、多自由度机械臂由于具备多个关节,由一个末端位姿计算多个关节,即逆运动学的求解的难度更高。传统逆运动学求解方法中,推导过程繁复,还可能会产生大量的解,而且容易陷入局部最优但总体非最优,同时传统求解产生的解,可能使机械臂的运动形式怪异,与人类的运动形式相比差异较大,无法满足用户的需求。

5、可见,现有的多自由度机械臂的逆运动学求解方法还不完善。

技术实现思路

1、为了解决上述技术问题或者至少部分地解决上述技术问题,本发明提供了一种逆运动学求解的方法、装置、模型、设备及存储介质。

2、第一方面,本发明提供了一种逆运动学求解的方法,所述方法包括:

3、根据机械臂姿态信息和机械臂末端位置信息,获取输入参数;

4、根据机械臂的关节数和每个关节的角度,获取初始数据集;

5、根据所述初始数据集获取训练样本集;

6、获取初始神经网络模型,所述初始神经网络模型的输入为所述输入参数,所述初始神经网络的输出为所述输入参数对应的所述每个关节的角度,所述初始神经网络包括初始权重值和偏置值;

7、根据所述训练样本集对所述初始神经网络模型进行训练,以对所述初始神经网络模型的初始权重值进行优化,获得优化权重值;

8、将训练后的所述初始神经网络模型作为逆运动学求解神经网络模型,所述逆运动学求解神经网络模型包括所述优化权重值和所述偏置值;

9、将待求解机械臂末端位置输入所述逆运动学求解神经网络模型,获得所述待求解机械臂末端位置对应的每个关节的角度。

10、可选的,所述输入参数为位姿矩阵,所述位姿矩阵为:

11、

12、其中,k为机械臂的关节数,k为正整数;n、o、a为机械臂姿态参数;p为3×1的矩阵,用于指示机械臂末端位置信息。

13、可选的,所述根据机械臂的关节数和每个关节的角度,获取初始数据集,包括:

14、根据机械臂的关节数和每个关节的角度,获取参考数据,将多个所述参考数据作为所述参考数据集;

15、对所述参考数据集进行筛选,获取所述初始数据集;

16、其中,所述根据机械臂的关节数和每个关节的角度,获取参考数据,包括:

17、从关节角度组数据集中获取一个关节角度组,一个所述关节角度组包含的关节角度个数与机械臂的关节数相等,一个所述关节角度组中的每一个关节角度对应机械臂的一个关节的角度,

18、根据当前关节角度组,正运动学求解获得所述当前关节角度组对应的末端位置信息,

19、将所述当前关节角度组和所述当前关节角度组对应的末端位置信息作为参考数据集中的一个参考数据。

20、可选的,k为机械臂的关节数;

21、所述从关节角度组数据集中获取一个关节角度组,包括:

22、获取第i关节的预设转动角度范围,i=1……k;

23、从第i关节的预设转动角度范围中随机选取j个不重复的角度,将所述j个不重复的角度作为第i角度集;

24、从第1角度集至第i角度集中的每一个角度集中选择任一角度,将选择的k个角度作为一个所述关节角度组;

25、将多个所述关节角度组作为关节角度组数据集;

26、其中,k为正整数。

27、可选的,所述对所述参考数据集进行筛选,获取所述初始数据集,包括:

28、根据预设规则对所述参考数据集进行筛选,将筛选后的所述参考数据集作为所述初始数据集。

29、可选的,所述根据预设规则对所述参考数据集进行筛选,将筛选后的所述参考数据集作为所述初始数据集,包括:

30、将所述参考数据集中,不符合人类手臂运动模式的数据滤去后的所述参考数据集,作为所述初始数据集。

31、可选的,所述根据预设规则对所述参考数据集进行筛选,将筛选后的所述参考数据集作为所述初始数据集,包括:

32、从所述参考数据集中任选一个参考数据作为筛选参考数据;

33、使机械臂的关节按照选择的所述筛选参考数据中的关节角度转动;

34、检测所述机械臂的关节转动后的筛选末端位置是否符合所述筛选参考数据中的末端位置;

35、若符合,保留所述筛选参考数据,

36、若不符合,滤去所述筛选参考数据;

37、重复所述从所述参考数据集中任选一个参考数据作为筛选参考数据,直到所述筛选参考数据的个数满足预设筛选个数。

38、可选的,所述使机械臂的关节按照选择的所述筛选参考数据中的关节角度转动,包括:

39、对于每一个所述筛选参考数据,使所述机械臂的关节从预设起始位置开始运动。

40、可选的,所述根据所述初始数据集获取训练样本集,包括:

41、将所述初始数据集根据预设比例进行划分,一部分作为所述训练样本集。

42、可选的,所述方法还包括:

43、将所述初始数据集根据所述预设比例进行划分,一部分作为所述训练样本集后,剩余的部分作为测试样本集。

44、可选的,所述初始神经网络模型包括:

45、输入层,用于接收所述输入参数;

46、隐藏层,用于使所述输入参数依次通过所述隐藏层中的每一层,以获取输出数据;

47、输出层,用于根据所述输出数据输出所述输入参数对应的所述每个关节的角度。

48、可选的,所述隐藏层包括:

49、第一卷积层,用于从所述输入层接收所述输入参数,所述第一卷积层的卷积核为第一预设大小,所述第一卷积层的输出通道数为m个;

50、第二卷积层,连接所述第一卷积层,所述第二卷积层的卷积核为第二预设大小,所述第二卷积层的输出通道数为2m个;

51、第三卷积层,连接所述第二卷积层,所述第三卷积层的卷积核为第三预设大小,所述第三卷积层的输出通道数为4m个;

52、第一全连接层,连接所述第三卷积层,输出数为4m个;

53、第二全连接层,连接所述第一全连接层,输出数为2m个;

54、第三全连接层,连接所述第二全连接层,输出数为m个;

55、第四全连接层,连接所述第三全连接层,输出数等于所述机械臂的关节数;

56、激活函数,为relu函数;

57、其中,m为正整数,且m大约等于所述机械臂的关节数。

58、可选的,组合列向量的值为:

59、

60、其中,xi表示神经网络中的第i个节点,j个表示第j个通道,表示当前卷积层的第j个通道的输出,f为激活函数,nj表示进入第j个通道的样本,表示上一卷积层的样本的特征图,*表示卷积,表示权重值,表示偏置值。

61、可选的,所述根据所述训练样本集对所述初始神经网络模型进行训练,以对所述初始神经网络模型的初始权重值进行优化,获得优化权重值,包括:

62、根据高斯分布,对所述训练样本集进行筛选,将所述训练样本集中符合高斯分布的样本的集合作为更新后的训练样本集;

63、正向传播所述更新后的训练样本集,反向传播所述更新后的训练样本集,以修正初始权重值获取所述优化权重值。

64、可选的,所述正向传播所述更新后的训练样本集,反向传播所述更新后的训练样本集,以修正初始权重值获取所述优化权重值,包括:

65、初始化所述初始权重值,获取当前权重值,包含所述当前权重值的神经网络模型为当前神经网络模型。

66、可选的,所述初始化所述初始权重值,获取当前权重值,包括:

67、从所述训练样本集中获取一个训练样本作为初始训练样本,所述初始训练样本中包括初始实际末端轨迹信息,以及初始实际关节角度;

68、将所述初始实际末端轨迹信息输入所述初始神经网络模型,获取初始理论关节角度;

69、根据所述初始理论关节角度和所述初始实际关节角度,获取所述初始理论关节角度的初始单个损失函数;

70、根据所述初始权重值和预设约束参数,获取所述初始权重值的l2范数正则化的值;

71、根据所述初始单个损失函数,以及所述初始权重值的l2范数正则化的值,获取初始总损失函数;

72、若所述初始总损失函数大于预设损失阈值,则反向传播所述初始训练样本,修正所述初始权重值,将修正后的所述初始权重值作为下一次迭代的当前权重值。

73、可选的,所述正向传播所述更新后的训练样本集,反向传播所述更新后的训练样本集,以修正初始权重值获取所述优化权重值,包括:

74、将上一次反向传播时修正的权重值作为当前权重值;

75、从所述训练样本集中获取一个训练样本作为当前训练样本,所述当前训练样本中包括当前实际末端轨迹信息,以及当前实际关节角度;

76、将所述当前实际末端轨迹信息输入所述当前神经网络模型,获取当前理论关节角度;

77、根据所述当前理论关节角度和所述当前实际关节角度,获取所述当前理论关节角度的当前单个损失函数;

78、根据所述当前权重值和预设约束参数,获取所述当前权重值的l2范数正则化的值;

79、根据所述当前单个损失函数,以及所述当前权重值的l2范数正则化的值,获取当前总损失函数;

80、若所述当前总损失函数大于预设损失阈值,则反向传播所述当前训练样本,修正所述当前权重值;

81、若当前总损失函数小于等于所述预设损失阈值,则结束训练,将所述当前权重值作为所述优化权重值。

82、可选的,根据所述当前权重值和预设约束参数,获取所述当前权重值的l2范数正则化的值,包括:

83、

84、其中,wi为当前权重值,s为当前权重值的l2范数正则化的值,λ为预设约束参数;

85、所述根据所述当前单个损失函数,以及所述当前权重值的l2范数正则化的值,获取当前总损失函数,包括:

86、j=l+s

87、其中,j为当前总损失函数,l为当前单个损失函数。

88、可选的,所述反向传播所述当前训练样本,修正所述当前权重值,包括:

89、根据优化算法,获取所述当前神经网络中的当前权重值的梯度和偏置值的梯度;

90、根据所述当前权重值的梯度和所述偏置值的梯度,修正所述当前权重值。

91、可选的,所述根据所述训练样本集对所述初始神经网络模型进行训练之后,所述方法还包括:

92、根据测试样本集,对训练后的所述初始神经网络模型进行测试。

93、可选的,所述根据测试样本集,对训练后的所述初始神经网络模型进行测试,包括:

94、根据期望函数和所述训练后的所述初始神经网络模型的输入参数,获取机械臂的期望末端轨迹;

95、从测试样本集中获取预设个数的测试样本作为验证样本,所述验证样本包括:验证关节角度,验证末端位置信息;

96、将所述验证末端位置信息,输入所述练后的所述初始神经网络模型,获取对应的理论关节角度;

97、判断所述理论关节角度是否在关节的预设转动角度范围内,若在所述预设转动角度范围内,则:

98、根据所述对应的理论关节角度,正运动学求解,获取理论末端位置,

99、对多个所述理论末端位置进行曲线拟合,获取理论末端轨迹,

100、在所述期望末端轨迹上获取多个第一采样点,在所述理论末端轨迹上获取多个第二采样点,

101、获取所述第一采样点和所述第二采样点的个体误差值和总体误差值,

102、若所述个体误差值和所述总体误差值在预设范围内,则判断所述训练后的所述初始神经网络模型通过验证,

103、若在所述预设范围外,则重新对所述训练后的所述初始神经网络模型进行训练。

104、可选的,期望轨迹函数为:

105、其中,x,y,z为初始神经网络输入参数中的p;a,b,c为期望参数。

106、第二方面,提供了一种逆运动学求解的装置,所述装置包括:

107、输入单元,用于根据机械臂姿态信息和机械臂末端位置信息,获取输入参数;

108、采集单元,用于根据机械臂的关节数和每个关节的角度,获取初始数据集;

109、采集单元还用于根据所述初始数据集获取训练样本集;

110、模型构建单元,用于获取初始神经网络模型,所述初始神经网络模型的输入为所述输入参数,所述初始神经网络的输出为所述输入参数对应的所述每个关节的角度,所述初始神经网络包括初始权重值和偏置值;

111、模型训练单元,用于根据所述训练样本集对所述初始神经网络模型进行训练,以对所述初始神经网络模型的初始权重值进行优化,获得优化权重值;

112、模型单元,用于将训练后的所述初始神经网络模型作为逆运动学求解神经网络模型,所述逆运动学求解神经网络模型包括所述优化权重值和所述偏置值;

113、所述模型单元还用于将待求解机械臂末端位置输入所述逆运动学求解神经网络模型,获得所述待求解机械臂末端位置对应的每个关节的角度。

114、第三方面,提供了一种逆运动学求解的方法,应用于七自由度的机械臂,所述方法应用于如上所述的方法。

115、第四方面,提供了一种逆运动学神经网络模型,应用于如上所述的方法。

116、第五方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上任一项所述的方法。

117、第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的方法。

118、本发明提供了一种逆运动学求解的方法、装置、模型、计算机设备和存储介质,所述方法根据机械臂的关节数和每个关节的角度,获取初始数据集,根据所述初始数据集获取训练样本集,同时构造了初始神经网络模型,并采用训练样本集对初始神经网络模型进行训练。将待求解机械臂末端位置输入所述逆运动学求解神经网络模型,获得所述待求解机械臂末端位置对应的每个关节的角度。本发明实施例中,将机械臂末端位置输入逆运动学求解神经网络模型,得到每个关节的角度,由于逆运动学求解神经网络模型是通过多次训练后得到的,通过逆运动学求解神经网络模型,可以避免大量的运算,操作简单,效率高。

本文地址:https://www.jishuxx.com/zhuanli/20240617/51487.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。