本发明涉及动力学控制优化领域,特别是涉及一种机器人动力学参数优化方法、装置、设备以及计算机可读存储介质。
背景技术:
1、随着智能制造业的不断发展,工业机器人的应用场景越来越多。因此,对国内机器人的性能要求也越来越高,不仅需要运行速度更快,轨迹精度更高,也需要机器人有更好的控制效果。精确的机器人动力学模型是机器人进行规划、控制的基础,机器人的运动精度、控制性能、运行稳定性和鲁棒性同样也是由机器人动力学模型所决定的。机器人运动学参数可以通过标定的方法获得,而机器人动力学参数必须采用特定的辨识实验进行辨识得到。
2、机器人动力学参数辨识的获取办法主要有解体测量法,计算机辅助设计技术(cad)方法以及整体辨识法。解体测量计算方法是将机器人的各个连杆分解,然后分别测量各连杆的几何参数,并且根据连杆的材料,按照刚体惯性参数的定义计算连杆的惯性参数值。但是该方法对于形状复杂的构件,惯性参数的计算十分复杂,且质心、连杆长度等参数的精确测量也不易实现。cad方法是通过机器人的三维设计模型,由软件自动计算得到或由理论公式计算得到。这种方法是没有考虑到关节因素,包括关节摩擦及弹性对动力学的影响,而且cad法测量出来的是理想情况下的惯性参数值,在实际加工及装配过程会有误差。整体辨识是对实际的机器人进行辨识实验,即给定机器人各关节一个优化好的轨迹,机器人运动过程中,对各关节的力矩及关节转角参数进行测量,将测量的数据带入到辨识模型,通过构造的辨识算法便可计算出动力学参数的值。整体辨识较前两种辨识有明显的优点。由于整体辨识能够考虑到各种动力学影响因素的作用,因而目前动力学参数辨识大都采用这种辨识方案。现有的整体辨识方法很少建立激励轨迹,并且建立激励轨迹的,激励参数只是随机参数,导致动力学参数辨识的精度不高以及力矩预测不准确的问题。
3、综上所述可以看出,如何提高提高整体辨识动力学辨识参数的精度是目前有待解决的问题。
技术实现思路
1、本发明的目的是提供一种机器人动力学参数优化方法、装置、设备以及计算机可读存储介质,解决了现有技术中未考虑各种动力学的影响因素,导致动力学参数辨识精度不高的问题。
2、为解决上述技术问题,本发明提供一种机器人动力学参数优化方法包括:
3、通过机器人连杆参数表建立机器人运动学模型,根据所述运动学模型构建动力学模型;
4、将所述动力学模型进行线性化处理,得到待辨识的最小惯性参数集;
5、根据所述待辨识的最小惯性参数集进行参数提取,建立观测矩阵;
6、将所述观测矩阵的条件数作为目标函数,并构建傅里叶级数形式的激励轨迹以及约束条件;
7、利用改进差分进化算法求解所述傅里叶级数形式的激励轨迹的最佳参数;
8、将所述最佳参数带入所述傅里叶级数形式的激励轨迹中,得到最佳激励轨迹;
9、基于所述激励轨迹,采集机器人运动数据,利用最小二乘算法辨识出机器人动力学参数。
10、优选地,所述基于所述激励轨迹,采集所述机器人运动数据,利用最小二乘算法辨识出机器人动力学参数后包括:
11、基于所述辨识出机器人动力学参数,重新构建一条新最佳激励轨迹;
12、计算所述新最佳激励轨迹的力矩信息和所述最佳激励轨迹的力矩信息的均方根差;
13、若所述均方根差不满足预设值,则重新计算激励轨迹以及动力学参数。
14、优选地,所述通过机器人连杆参数表建立机器人动力学模型包括:
15、根据所述机器人的几何结构,建立每个连杆的连杆坐标系图;
16、根据所述每个连杆的连杆坐标系图得到所述机器人的dh参数表;
17、基于所述机器人的dh参数表,利用牛顿—欧拉迭代法建立机器人动力学模型
18、
19、其中,m(q)∈rn×n为惯性张量矩阵,为科氏力和离心力向量,g(q)∈rn为重力向量,q∈rn为机器人的角度,为机器人的速度,为机器人的加速度,τf∈rn为关节摩擦力项。
20、优选地,所述将所述动力学模型进行线性化处理,得到待辨识的最小惯性参数集包括:
21、将所述动力学模型中的状态变量和惯性参数进行分开,得到所述待辨识的最小惯性参数集p;
22、其表达式为:
23、
24、其中,mi为第i关节的质量,xi,yi,zi分别为第i关节的质心位置,ixx,i,iyy,i,izz,i,ixy,i,ixz,i,iyz,i为第i关节在关节坐标系下惯性张量矩阵中的值,fc,i,fv,i分别为库伦摩擦系数与粘滞模型系数。
25、优选地,所述根据所述待辨识的最小惯性参数集进行参数提取,建立观测矩阵包括:
26、将所述待辨识的最小惯性参数集进行参数提取,构建观测矩阵y,其表达式为:
27、
28、其中,y∈rn×10n为只包含关节角度、关节角速度、关节角加速度的函数,m为可辨识参数的数目,n为关节数目。
29、优选地,所述将所述观测矩阵的条件数作为目标函数,并构建傅里叶级数形式的激励轨迹以及约束条件包括:
30、将所述观测矩阵的条件数目作为所述目标函数,其所述目标函数的表达式为:
31、f(y)=cond(y)=||(y)-1||·||y||
32、min(f(y));
33、所述傅里叶级数形式的激励轨迹的表达式为:
34、
35、其中,wf为傅里叶级数的基频,n为傅里叶级数谐波数,qi,0为常数项,ak,i,bk,i为正余弦函数幅值系数。
36、所述约束条件为:
37、其中,{s(q(t))}为机器人运动时的末端位置集合,s表示机器人所允许运行的最大工作空间,qmax,qmin分别为各个关节角度的上下限,分别为各个关节速度的上下限,分别为各个关节加速度的上下限。
38、优选地,所述利用改进差分进化算法求解所述傅里叶级数形式的激励轨迹的最佳参数包括:
39、s1:初始化参数种群n,设置最大迭代次数gmax;
40、s2:计算参数种群中参数i的目标函数值,其中i∈(1,2,3,…,n);
41、s3:判断所述参数i的目标函数值是否满足所述约束条件;
42、s4:若所述参数i的目标函数值不满足所述约束条件,则令所述参数i的目标函数值为1010,若满足,则进行s5;
43、s5:判断所述参数i的目标函数值与初始函数值的大小;
44、s6:若所述目标函数值大于所述初始函数值,则将所述目标函数值作为所述参数i的函数值;
45、s7:将所述种群中的参数进行变异,交叉操作,生成新第i参数;
46、s8:计算所述新参数i的目标函数值,并判断所述新参数i的目标函数值是否大于所述参数i的函数值;
47、s9:若所述新参数i的目标函数值大于所述参数i的函数值,则将所述参数i作为最佳参数,若所述新参数i的目标函数值小于所述参数的目标函数值,则将所述新参数i作为最佳参数;
48、s10:令i=i+1,返回步骤s2,直至i=gmax,输出所述最佳参数。
49、本发明还提供了一种机器人动力学参数辨识的装置,包括:
50、构建模型模块:用于通过机器人连杆参数表建立机器人运动学模型,根据所述运动学模型构建动力学模型;
51、处理模型模块,用于将所述动力学模型进行线性化处理,得到待辨识的最小惯性参数集;
52、参数提取模块,用于根据所述待辨识的最小惯性参数集进行参数提取,建立观测矩阵;
53、构建目标函数模块,用于将所述观测矩阵的条件数作为目标函数,并构建傅里叶级数形式的激励轨迹以及约束条件;
54、寻优计算模块,用于利用改进差分进化算法求解所述傅里叶级数形式的激励轨迹的最佳参数;
55、计算激励轨迹模块,用于将所述最佳参数带入所述傅里叶级数形式的激励轨迹中,得到最佳激励轨迹;
56、计算参数模块,基于所述激励轨迹,采集机器人运动数据,利用最小二乘算法辨识出机器人动力学参数。
57、本发明还提供了一种机器人动力学参数辨识的设备,包括:
58、存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述一种机器人动力学参数优化方法的步骤。
59、本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种机器人动力学参数优化方法的步骤。
60、本发明所提供的一种机器人动力学参数优化方法,首先通过机器人的连杆参数建立机器人动力学模型,然后动力学模型进行线性化处理,建立最小惯量参数集,然后提取最小惯量集的的参数得到观测矩阵,将观测矩阵的条件数目作为目标函数,并设计傅里叶级数形式的激励轨迹,并采用改进差分进化算法对傅里叶级数形式的激励轨迹的参数进行优化,得到最佳参数,使激励轨迹保证机器人可以稳定运行在其最大安全空间内,为后续进行精确地动力学参数辨识做好铺垫;最后将最佳参数代入激励轨迹得到最佳激励轨迹,基于最佳激励轨迹,通过最小二乘算法辨识出机器人动力学参数。本发明利用改进的差分进化算法对傅里叶级数的激励轨迹参数进行优化,得到最佳的激励轨迹参数,保证机器人可以稳定运行在其最大安全空间内,提高了后续动力学参数辨识的精度。