一种伺服驱动系统控制方法、装置和电子设备

allin2022-10-30  118



1.本发明涉及计算机技术领域,具体而言,涉及一种伺服驱动系统控制方法、装置和电子设备。


背景技术:

2.目前,伺服驱动系统是调节受控装置机械运动的自动控制系统,广泛运用于工业生产的各个方面。在许多应用场景中,负载转动惯量随时间或工况发生大范围变化,如卷绕装置中负载转动惯量随卷绕物增多而逐渐变大、工业机器人关节中负载转动惯量随机器人位姿不同而改变。以pid控制器为主体的传统控制方法只能针对某一固定的负载转动惯量进行设计和参数整定,在负载转动惯量变化时会导致伺服驱动系统的性能下降。


技术实现要素:

3.为解决上述问题,本发明实施例的目的在于提供一种伺服驱动系统控制方法、装置和电子设备。
4.第一方面,本发明实施例提供了一种伺服驱动系统控制方法,用于伺服驱动系统,所述伺服驱动系统,包括:数字控制器和伺服驱动电机;所述数字控制器与所述伺服驱动电机连接;所述伺服驱动系统,用于驱动负载;所述方法,包括:
5.数字控制器在第k个控制周期开始时,获取第k个控制周期的负载位置和伺服驱动电机输出转矩、第k-1个控制周期的负载位置和伺服驱动电机输出转矩以及第k-2个控制周期的负载位置和伺服驱动电机输出转矩;
6.根据第k个控制周期的负载位置和伺服驱动电机输出转矩、第k-1个控制周期的负载位置和伺服驱动电机输出转矩以及第k-2个控制周期的负载位置和伺服驱动电机输出转矩,对第k个控制周期的负载转动惯量的预测值进行计算;
7.根据计算得到的第k个控制周期的负载转动惯量的预测值,得到第k个控制周期伺服驱动系统控制器参数;
8.根据第k个控制周期伺服驱动系统控制器参数,得到第k个控制周期的输出。
9.第二方面,本发明实施例还提供了一种伺服驱动系统控制装置,包括:
10.获取模块,用于在第k个控制周期开始时,获取第k个控制周期的负载位置和伺服驱动电机输出转矩、第k-1个控制周期的负载位置和伺服驱动电机输出转矩以及第k-2个控制周期的负载位置和伺服驱动电机输出转矩;
11.第一处理模块,用于根据第k个控制周期的负载位置和伺服驱动电机输出转矩、第k-1个控制周期的负载位置和伺服驱动电机输出转矩以及第k-2个控制周期的负载位置和伺服驱动电机输出转矩,对第k个控制周期的负载转动惯量的预测值进行计算;
12.第二处理模块,用于根据计算得到的第k个控制周期的负载转动惯量的预测值,得到第k个控制周期伺服驱动系统控制器参数;
13.第三处理模块,用于根据第k个控制周期伺服驱动系统控制器参数,得到第k个控
制周期的输出。
14.第三方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面所述的方法的步骤。
15.第四方面,本发明实施例还提供了一种电子设备,所述电子设备包括有存储器,处理器以及一个或者一个以上的程序,其中所述一个或者一个以上程序存储于所述存储器中,且经配置以由所述处理器执行上述第一方面所述的方法的步骤。
16.本发明实施例上述第一方面至第四方面提供的方案中,通过在每个控制周期开始时,都对该控制周期内的负载转动惯量的大小进行预测,得到每个控制周期的负载转动惯量的预测值,并根据每个控制周期的负载转动惯量的预测值计算得到伺服驱动系统每个控制周期的控制器参数,并以此得到伺服驱动系统每个控制周期内的伺服驱动系统控制器输出,与相关技术中通过固定控制器参数计算得到伺服驱动系统控制器输出相比,通过计算实时预测的负载转动惯量的预测值可以及时调整伺服驱动系统的控制器增益,大大提高了伺服驱动系统的自适应鲁棒控制特性,扩大了带时变惯量负载的伺服驱动系统稳定工作范围,满足了卷绕装置和工业机器人关节等负载的伺服控制需求。
17.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
18.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1示出了本发明实施例1所提供的一种伺服驱动系统控制方法的流程图;
20.图2示出了本发明实施例2所提供的一种伺服驱动系统控制装置的结构示意图;
21.图3示出了本发明实施例3所提供的一种电子设备的结构示意图。
具体实施方式
22.在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
23.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
24.在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机
械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
25.目前,伺服驱动系统是调节受控装置机械运动的自动控制系统,广泛运用于工业生产的各个方面。在许多应用场景中,负载转动惯量随时间或工况发生大范围变化,如卷绕装置中负载转动惯量随卷绕物增多而逐渐变大、工业机器人关节中负载转动惯量随机器人位姿不同而改变。以pid控制器为主体的传统控制方法只能针对某一固定的负载转动惯量进行设计和参数整定,在负载转动惯量变化时会导致伺服驱动系统的性能下降。
26.基于此,本实施例提出一种伺服驱动系统控制方法、装置和电子设备,通过在每个控制周期开始时,都对该控制周期内的负载转动惯量的大小进行预测,得到每个控制周期的负载转动惯量的预测值,并根据每个控制周期的负载转动惯量的预测值计算得到伺服驱动系统每个控制周期的控制器参数,并以此得到伺服驱动系统每个控制周期内的伺服驱动系统控制器输出,通过计算实时预测的负载转动惯量的预测值可以及时调整伺服驱动系统的控制器增益,大大提高了伺服驱动系统的自适应鲁棒控制特性,扩大了带时变惯量负载的伺服驱动系统稳定工作范围。
27.在本技术以下各实施例中,a2表示a的平方,a-1
表示a的逆,a
t
表示a的转置。
28.在以下各实施例中,使用第k个控制周期的负载位置和伺服驱动电机输出转矩、第k-1个控制周期的负载位置和伺服驱动电机输出转矩以及第k-2个控制周期的负载位置和伺服驱动电机输出转矩这三个控制周期内的负载位置和伺服驱动电机输出转矩对第k个控制周期的负载转动惯量的预测值进行计算的过程仅为说明发明构思的一个实现方式,在实际情况中,还可以使用更多个控制周期内的负载位置和伺服驱动电机输出转矩预测第k个控制周期的负载转动惯量的预测值,具体的计算过程在以下各实施例中不再赘述。
29.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术做进一步详细的说明。
30.实施例1
31.本实施例提出一种伺服驱动系统控制方法,执行主体是伺服驱动系统上的数字控制器。
32.所述伺服驱动系统,包括:数字控制器和伺服驱动电机;所述数字控制器与所述伺服驱动电机连接,所述伺服驱动系统,用于驱动负载。
33.所述数字控制器中运行有能够执行低通滤波器的功能和高通滤波器的功能的软件。
34.所述负载,可以是但不限于:伺服驱动系统连接的任何构件,如:卷绕装置和机械臂关节。
35.上述数字控制器,可以是现有技术中任何能够对伺服驱动电机进行控制的处理器、微处理器或单片机,这里不再一一赘述。
36.参见图1所示的一种伺服驱动系统控制方法的流程图,本实施例提出一种伺服驱动系统控制方法,包括以下具体步骤:
37.步骤100、在第k个控制周期开始时,获取第k个控制周期的负载位置和伺服驱动电机输出转矩、第k-1个控制周期的负载位置和伺服驱动电机输出转矩以及第k-2个控制周期
的负载位置和伺服驱动电机输出转矩。
38.在上述步骤100中,第k-1个控制周期的负载位置和伺服驱动电机输出转矩以及第k-2个控制周期的负载位置和伺服驱动电机输出转矩,都是存储在所述数字控制器中的。
39.所述数字控制器获取到的第k个控制周期的负载位置,是在第k个控制周期开始时,通过伺服驱动系统轴系上设置的、且与数字控制器连接的测角装置检测得到的。
40.所述测角装置,包括但不限于:旋转变压器、光电编码器和磁编码器。
41.所述数字控制器获取到的第k个控制周期的伺服驱动电机输出转矩,是在第k个控制周期开始时,所述数字控制器通过伺服驱动系上设置的电流传感器获取到的伺服驱动电机的输出电流计算得到的;或者,是所述数字控制器通过伺服驱动系统轴系上设置的、且与数字控制器连接的力矩传感器检测得到的。
42.所述负载位置,用于表示正常工作过程中,所述负载的空间角位置。所述负载位置,可以通过伺服驱动系统轴系上设置的测角装置检测得到并传输给所述数字控制器。
43.步骤102、根据第k个控制周期的负载位置和伺服驱动电机输出转矩、第k-1个控制周期的负载位置和伺服驱动电机输出转矩以及第k-2个控制周期的负载位置和伺服驱动电机输出转矩,对第k个控制周期的负载转动惯量的预测值进行计算。
44.在上述步骤102中,为了得到第k个控制周期的负载转动惯量的预测值,可以执行以下步骤(1)至步骤(5):
45.(1)获取第k-1个控制周期的负载加速度值和伺服驱动电机输出转矩滤波值以及第k-2个控制周期的负载加速度值和伺服驱动电机输出转矩滤波值;
46.(2)对第k个控制周期的负载位置、第k-1个控制周期的负载位置以及第k-2个控制周期的负载位置作高通滤波,得到第k个控制周期的负载加速度,包括:
47.通过以下公式得到第k个控制周期的负载加速度:
48.β
l
(k)=b0θ
l
(k)+b1θ
l
(k-1)+b2θ
l
(k-2)-a1β
l
(k-1)-a2β
l
(k-2)
49.其中,β
l
(k)表示第k个控制周期的负载加速度值;β
l
(k-1)表示第k-1个控制周期的负载加速度值;β
l
(k-2)表示第k-2个控制周期的负载加速度值;θ
l
(k)表示第k个控制周期的负载位置;θ
l
(k-1)表示第k-1个控制周期的负载位置;θ
l
(k-2)表示第k-2个控制周期的负载位置;b0,b1,b2,a1和a2为高通滤波器系数;
50.(3)对第k个控制周期的伺服驱动电机输出转矩、第k-1个控制周期的伺服驱动电机输出转矩以及第k-2个控制周期的伺服驱动电机输出转矩作低通滤波,得到第k个控制周期的伺服驱动电机输出转矩滤波值,包括:
51.通过以下公式得到第k个控制周期的伺服驱动电机输出转矩滤波值:
52.t
l
(k)=c0τ
l
(k)+c1τ
l
(k-1)+c2τ
l
(k-2)-d1t
l
(k-1)-d2t
l
(k-2)
53.其中,t
l
(k)表示第k个控制周期的伺服驱动电机输出转矩滤波值;t
l
(k-1)表示第k-1个控制周期的伺服驱动电机输出转矩滤波值;t
l
(k-2)表示第k-2个控制周期的伺服驱动电机输出转矩滤波值;τ
l
(k)表示第k个控制周期的伺服驱动电机输出转矩;τ
l
(k-1)表示第k-1个控制周期的伺服驱动电机输出转矩;τ
l
(k-2)表示第k-2个控制周期的伺服驱动电机输出转矩;c0,c1,c2,d1和d2为低通滤波器系数;
54.(4)根据第k个控制周期的负载加速度和第k个控制周期的伺服驱动电机输出转矩滤波值计算得到第k个控制周期的负载转动惯量估计值;
55.(5)对所述第k个控制周期的负载转动惯量估计值进行修正,从而得到第k个控制周期的负载转动惯量的预测值。
56.在上述步骤(1)中,第k-1个控制周期的负载加速度值和伺服驱动电机输出转矩滤波值以及第k-2个控制周期的负载加速度值和伺服驱动电机输出转矩滤波值,都缓存在所述数字控制器中。
57.在上述步骤(2)中,b0,b1,b2,a1和a2这些高通滤波器系数预先设置在所述数字控制器中。
58.在上述步骤(3)中,c0,c1,c2,d1和d2这些低通滤波器系数预先设置在所述数字控制器中。
59.在上述步骤(4)中,为了计算得到第k个控制周期的负载转动惯量估计值,可以执行以下步骤(41)至步骤(45):
60.(41)获取第k-1个控制周期的辨识参数估计值、第k-2个控制周期的辨识参数估计值、第k-3个控制周期的辨识参数估计值、第k-1个控制周期的辨识参数基准值、第k-2个控制周期的辨识参数基准值、第k-1个控制周期的辨识参数回归矩阵以及第k-1个控制周期的辨识参数回归系数;
61.(42)通过以下公式计算得到第k个控制周期的辨识参数基准值:
[0062][0063]
其中,表示第k个控制周期的辨识参数基准值;θ(k-1)表示第k-1个控制周期的辨识参数估计值;θ(k-2)表示第k-2个控制周期的辨识参数估计值;θ(k-3)表示第k-3个控制周期的辨识参数估计值;表示第k-1个控制周期的辨识参数基准值;表示第k-2个控制周期的辨识参数基准值;e0,e1,e2,f1和f2为低通滤波器系数;
[0064]
(43)通过以下公式计算得到第k个控制周期的辨识参数回归矩阵和第k个控制周期的辨识参数回归系数:
[0065][0066][0067]
其中,p(k)表示第k个控制周期的辨识参数回归矩阵;p(k-1)表示第k-1个控制周期的辨识参数回归矩阵;γ表示遗忘因子;q(k)表示第k个控制周期的辨识参数回归系数;q(k-1)表示第k-1个控制周期的辨识参数回归系数;
[0068]
(44)根据计算得到的第k个控制周期的辨识参数基准值、第k个控制周期的辨识参数回归矩阵和第k个控制周期的辨识参数回归系数,计算得到第k个控制周期的辨识参数估计值,包括:
[0069][0070]
其中,θ(k)表示第k个控制周期的辨识参数估计值;γ表示阻尼矩阵;
[0071]
(45)通过以下公式从第k个控制周期的辨识参数估计值中提取第k个控制周期的负载转动惯量估计值:
[0072][0073]
其中,表示第k个控制周期的负载转动惯量估计值。
[0074]
在上述步骤(41)中,第k-1个控制周期的辨识参数估计值、第k-2个控制周期的辨识参数估计值、第k-3个控制周期的辨识参数估计值、第k-1个控制周期的辨识参数基准值、第k-2个控制周期的辨识参数基准值、第k-1个控制周期的辨识参数回归矩阵以及第k-1个控制周期的辨识参数回归系数,都是在第k个控制周期前,通过迭代计算得到的,并缓存在所述数字控制器中。
[0075]
所述辨识参数,是一个含有负载惯量信息和负载力矩信息的中间量。具体而言,所述辨识参数是一个二维向量,所述辨识参数的二维向量中的第一个分量是负载转动惯量估计值的倒数,所述辨识参数的二维向量中的第二个分量表示负载力矩估计值与负载转动惯量估计值之间的比值。
[0076]
在上述步骤(42)中,e0,e1,e2,f1和f2这些低通滤波器系数预先设置在所述数字控制器中。
[0077]
在上述步骤(43)中,所述遗忘因子γ预先设置在所述数字控制器中。
[0078]
在上述步骤(44)中,所述阻尼矩阵预先设置在所述数字控制器中。
[0079]
在上述步骤(5)中,通过以下公式对所述第k个控制周期的负载转动惯量估计值进行修正,得到第k个控制周期的负载转动惯量的预测值:
[0080][0081][0082][0083]
其中,j(k)表示第k个控制周期的负载转动惯量的预测值;表示第k个控制周期的负载转动惯量估计值;k表示修正因子,和均为线性整流函数;h1表示的偏置;h2表示的偏置;jn表示负载惯量额定值。
[0084]
所述负载惯量额定值jn和所述修正因子k,分别预先设置在所述数字控制器中。
[0085]
在通过上述步骤102计算得到的第k个控制周期的负载转动惯量的预测值后。可以继续执行以下步骤104,根据计算得到的第k个控制周期的负载转动惯量的预测值,得到第k个控制周期伺服驱动系统控制器参数。
[0086]
步骤104、根据计算得到的第k个控制周期的负载转动惯量的预测值,得到第k个控制周期伺服驱动系统控制器参数。
[0087]
具体地,上述步骤104可以通过以下公式得到第k个控制周期伺服驱动系统控制器参数:
[0088]
[0089]
其中,k
pi
(k)表示第k个控制周期的控制器增益;λ表示控制器的频宽;t表示电流环闭环时间常数;j(k)表示第k个控制周期的负载转动惯量的预测值。
[0090]
所述控制器增益,就是数字控制器的增益;所述控制器的频宽,就是数字控制器的频宽。
[0091]
所述电流环闭环时间常数t,可通过试验或者仿真进行统计获得。
[0092]
所述pi控制器的频宽λ和所述电流环闭环时间常数t,均分别预先设置在所述数字控制器中。
[0093]
步骤106、根据第k个控制周期伺服驱动系统控制器参数,得到第k个控制周期的输出。
[0094]
上述步骤106,为了得到第k个控制周期的输出,可以执行以下步骤(1)至步骤(3):
[0095]
(1)获取控制周期长度、第k-1个控制周期的转速误差积分量和第k个控制周期伺服驱动系统负载角速度参考值;
[0096]
(2)通过第k个控制周期的负载位置计算得到第k个控制周期伺服驱动系统负载角速度测量值;
[0097]
(3)通过以下公式计算得到第k个控制周期的输出:
[0098][0099]
u(k)=-k
pi
(k)λtω
l
(k)+k
pi
z(k)
[0100]
其中,z(k)表示第k个控制周期的转速误差积分量;z(k-1)表示第k-1个控制周期的转速误差积分量;表示第k个控制周期伺服驱动系统负载角速度参考值;ω
l
(k)表示第k个控制周期伺服驱动系统负载角速度测量值;t
period
表示控制周期长度;k
pi
(k)表示第k个控制周期的控制器增益;λ表示控制器的频宽;t表示电流环闭环时间常数。
[0101]
在上述步骤(1)中,所述控制周期长度和所述第k-1个控制周期的转速误差积分量,缓存在所述数字控制器中。
[0102]
所述第k-1个控制周期的转速误差积分量,是在第k-1个控制周期计算得到的,并缓存在所述数字控制器中的。
[0103]
所述第k个控制周期伺服驱动系统负载角速度参考值,是所述数字控制器触发而生成的。
[0104]
在上述步骤(2)中,通过第k个控制周期的负载位置计算得到第k个控制周期伺服驱动系统负载角速度测量值的具体过程是现有技术,这里不再赘述。
[0105]
本实施例提出的上述伺服驱动系统控制方法,还可以间隔数个控制周期预测一次负载转动惯量预测值、更新一次控制器参数,而不必每个控制周期都必须预测一次负载转动惯量预测值、并对控制器参数进行更新。
[0106]
综上所述,本实施例提出一种伺服驱动系统控制方法,通过在每个控制周期开始时,都对该控制周期内的负载转动惯量的大小进行预测,得到每个控制周期的负载转动惯量的预测值,并根据每个控制周期的负载转动惯量的预测值计算得到伺服驱动系统每个控制周期的控制器参数,并以此得到伺服驱动系统每个控制周期内的伺服驱动系统控制器输出,与相关技术中通过固定控制器参数计算得到伺服驱动系统控制器输出相比,通过计算实时预测的负载转动惯量的预测值可以及时调整伺服驱动系统的控制器增益,大大提高了
伺服驱动系统的自适应鲁棒控制特性,扩大了带时变惯量负载的伺服驱动系统稳定工作范围,满足了卷绕装置和工业机器人关节等负载的伺服控制需求。
[0107]
实施例2
[0108]
本实施例提出一种伺服驱动系统控制装置,用于执行上述实施例1提出的伺服驱动系统控制方法。
[0109]
参见图2所示的一种伺服驱动系统控制装置的结构示意图,本实施例提出一种伺服驱动系统控制装置,包括:
[0110]
获取模块200,用于在第k个控制周期开始时,获取第k个控制周期的负载位置和伺服驱动电机输出转矩、第k-1个控制周期的负载位置和伺服驱动电机输出转矩以及第k-2个控制周期的负载位置和伺服驱动电机输出转矩;
[0111]
第一处理模块202,用于根据第k个控制周期的负载位置和伺服驱动电机输出转矩、第k-1个控制周期的负载位置和伺服驱动电机输出转矩以及第k-2个控制周期的负载位置和伺服驱动电机输出转矩,对第k个控制周期的负载转动惯量的预测值进行计算;
[0112]
第二处理模块204,用于根据计算得到的第k个控制周期的负载转动惯量的预测值,得到第k个控制周期伺服驱动系统控制器参数;
[0113]
第三处理模块206,用于根据第k个控制周期伺服驱动系统控制器参数,得到第k个控制周期的输出。
[0114]
具体地,所述第一处理模块202,具体用于:
[0115]
获取第k-1个控制周期的负载加速度值和伺服驱动电机输出转矩滤波值以及第k-2个控制周期的负载加速度值和伺服驱动电机输出转矩滤波值;
[0116]
对第k个控制周期的负载位置、第k-1个控制周期的负载位置以及第k-2个控制周期的负载位置作高通滤波,得到第k个控制周期的负载加速度,包括:
[0117]
通过以下公式得到第k个控制周期的负载加速度:
[0118]
β
l
(k)=b0θ
l
(k)+b1θ
l
(k-1)+b2θ
l
(k-2)-a1β
l
(k-1)-a2β
l
(k-2)
[0119]
其中,β
l
(k)表示第k个控制周期的负载加速度值;β
l
(k-1)表示第k-1个控制周期的负载加速度值;β
l
(k-2)表示第k-2个控制周期的负载加速度值;θ
l
(k)表示第k个控制周期的负载位置;θ
l
(k-1)表示第k-1个控制周期的负载位置;θ
l
(k-2)表示第k-2个控制周期的负载位置;b0,b1,b2,a1和a2为高通滤波器系数;
[0120]
对第k个控制周期的伺服驱动电机输出转矩、第k-1个控制周期的伺服驱动电机输出转矩以及第k-2个控制周期的伺服驱动电机输出转矩作低通滤波,得到第k个控制周期的伺服驱动电机输出转矩滤波值,包括:
[0121]
通过以下公式得到第k个控制周期的伺服驱动电机输出转矩滤波值:
[0122]
t
l
(k)=c0τ
l
(k)+c1τ
l
(k-1)+c2τ
l
(k-2)-d1t
l
(k-1)-d2t
l
(k-2)
[0123]
其中,t
l
(k)表示第k个控制周期的伺服驱动电机输出转矩滤波值;t
l
(k-1)表示第k-1个控制周期的伺服驱动电机输出转矩滤波值;t
l
(k-2)表示第k-2个控制周期的伺服驱动电机输出转矩滤波值;τ
l
(k)表示第k个控制周期的伺服驱动电机输出转矩;τ
l
(k-1)表示第k-1个控制周期的伺服驱动电机输出转矩;τ
l
(k-2)表示第k-2个控制周期的伺服驱动电机输出转矩;c0,c1,c2,d1和d2为低通滤波器系数;
[0124]
根据第k个控制周期的负载加速度和第k个控制周期的伺服驱动电机输出转矩滤
波值计算得到第k个控制周期的负载转动惯量估计值;
[0125]
对所述第k个控制周期的负载转动惯量估计值进行修正,从而得到第k个控制周期的负载转动惯量的预测值。
[0126]
综上所述,本实施例提出一种伺服驱动系统控制装置,通过在每个控制周期开始时,都对该控制周期内的负载转动惯量的大小进行预测,得到每个控制周期的负载转动惯量的预测值,并根据每个控制周期的负载转动惯量的预测值计算得到伺服驱动系统每个控制周期的控制器参数,并以此得到伺服驱动系统每个控制周期内的伺服驱动系统控制器输出,与相关技术中通过固定控制器参数计算得到伺服驱动系统控制器输出相比,通过计算实时预测的负载转动惯量的预测值可以及时调整伺服驱动系统的控制器增益,大大提高了伺服驱动系统的自适应鲁棒控制特性,扩大了带时变惯量负载的伺服驱动系统稳定工作范围,满足了卷绕装置和工业机器人关节等负载的伺服控制需求。
[0127]
实施例3
[0128]
本实施例提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述实施例1描述的伺服驱动系统控制方法的步骤。具体实现可参见方法实施例1,在此不再赘述。
[0129]
此外,参见图3所示的一种电子设备的结构示意图,本实施例还提出一种电子设备,上述电子设备包括总线51、处理器52、收发机53、总线接口54、存储器55和用户接口56。上述电子设备包括有存储器55。
[0130]
本实施例中,上述电子设备还包括:存储在存储器55上并可在处理器52上运行的一个或者一个以上的程序,经配置以由上述处理器执行上述一个或者一个以上程序用于进行以下步骤(1)至步骤(4):
[0131]
(1)数字控制器在第k个控制周期开始时,获取第k个控制周期的负载位置和伺服驱动电机输出转矩、第k-1个控制周期的负载位置和伺服驱动电机输出转矩以及第k-2个控制周期的负载位置和伺服驱动电机输出转矩;
[0132]
(2)根据第k个控制周期的负载位置和伺服驱动电机输出转矩、第k-1个控制周期的负载位置和伺服驱动电机输出转矩以及第k-2个控制周期的负载位置和伺服驱动电机输出转矩,对第k个控制周期的负载转动惯量的预测值进行计算;
[0133]
(3)根据计算得到的第k个控制周期的负载转动惯量的预测值,得到第k个控制周期伺服驱动系统控制器参数;
[0134]
(4)根据第k个控制周期伺服驱动系统控制器参数,得到第k个控制周期的输出。
[0135]
收发机53,用于在处理器52的控制下接收和发送数据。
[0136]
其中,总线架构(用总线51来代表),总线51可以包括任意数量的互联的总线和桥,总线51将包括由处理器52代表的一个或多个处理器和存储器55代表的存储器的各种电路链接在一起。总线51还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本实施例不再对其进行进一步描述。总线接口54在总线51和收发机53之间提供接口。收发机53可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发机53从其他设备接收外部数据。收发机53用于将处理器52处理后的数据发送给其他设备。取决于计算系统的性质,还可以提供用户接口56,例如小键盘、显示器、扬声器、麦克风、操
纵杆。
[0137]
处理器52负责管理总线51和通常的处理,如前述上述运行通用操作系统。而存储器55可以被用于存储处理器52在执行操作时所使用的数据。
[0138]
可选的,处理器52可以是但不限于:中央处理器、单片机、微处理器或者可编程逻辑器件。
[0139]
可以理解,本发明实施例中的存储器55可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,drram)。本实施例描述的系统和方法的存储器55旨在包括但不限于这些和任意其它适合类型的存储器。
[0140]
在一些实施方式中,存储器55存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:操作系统551和应用程序552。
[0141]
其中,操作系统551,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序552,包含各种应用程序,例如媒体播放器(media player)、浏览器(browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序552中。
[0142]
综上所述,本实施例提出一种计算机可读存储介质和电子设备,通过在每个控制周期开始时,都对该控制周期内的负载转动惯量的大小进行预测,得到每个控制周期的负载转动惯量的预测值,并根据每个控制周期的负载转动惯量的预测值计算得到伺服驱动系统每个控制周期的控制器参数,并以此得到伺服驱动系统每个控制周期内的伺服驱动系统控制器输出,与相关技术中通过固定控制器参数计算得到伺服驱动系统控制器输出相比,通过计算实时预测的负载转动惯量的预测值可以及时调整伺服驱动系统的控制器增益,大大提高了伺服驱动系统的自适应鲁棒控制特性,扩大了带时变惯量负载的伺服驱动系统稳定工作范围,满足了卷绕装置和工业机器人关节等负载的伺服控制需求。
[0143]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

技术特征:
1.一种伺服驱动系统控制方法,用于伺服驱动系统,所述伺服驱动系统,包括:数字控制器和伺服驱动电机;所述数字控制器与所述伺服驱动电机连接;所述伺服驱动系统,用于驱动负载;其特征在于,所述方法,包括:数字控制器在第k个控制周期开始时,获取第k个控制周期的负载位置和伺服驱动电机输出转矩、第k-1个控制周期的负载位置和伺服驱动电机输出转矩以及第k-2个控制周期的负载位置和伺服驱动电机输出转矩;根据第k个控制周期的负载位置和伺服驱动电机输出转矩、第k-1个控制周期的负载位置和伺服驱动电机输出转矩以及第k-2个控制周期的负载位置和伺服驱动电机输出转矩,对第k个控制周期的负载转动惯量的预测值进行计算;根据计算得到的第k个控制周期的负载转动惯量的预测值,得到第k个控制周期伺服驱动系统控制器参数;根据第k个控制周期伺服驱动系统控制器参数,得到第k个控制周期的输出。2.根据权利要求1所述的方法,其特征在于,所述根据第k个控制周期的负载位置和伺服驱动电机输出转矩、第k-1个控制周期的负载位置和伺服驱动电机输出转矩以及第k-2个控制周期的负载位置和伺服驱动电机输出转矩,对第k个控制周期的负载转动惯量的预测值进行计算,包括:获取第k-1个控制周期的负载加速度值和伺服驱动电机输出转矩滤波值以及第k-2个控制周期的负载加速度值和伺服驱动电机输出转矩滤波值;对第k个控制周期的负载位置、第k-1个控制周期的负载位置以及第k-2个控制周期的负载位置作高通滤波,得到第k个控制周期的负载加速度,包括:通过以下公式得到第k个控制周期的负载加速度:β
l
(k)=b0θ
l
(k)+b1θ
l
(k-1)+b2θ
l
(k-2)-a1β
l
(k-1)-a2β
l
(k-2)其中,β
l
(k)表示第k个控制周期的负载加速度值;β
l
(k-1)表示第k-1个控制周期的负载加速度值;β
l
(k-2)表示第k-2个控制周期的负载加速度值;θ
l
(k)表示第k个控制周期的负载位置;θ
l
(k-1)表示第k-1个控制周期的负载位置;θ
l
(k-2)表示第k-2个控制周期的负载位置;b0,b1,b2,a1和a2为高通滤波器系数;对第k个控制周期的伺服驱动电机输出转矩、第k-1个控制周期的伺服驱动电机输出转矩以及第k-2个控制周期的伺服驱动电机输出转矩作低通滤波,得到第k个控制周期的伺服驱动电机输出转矩滤波值,包括:通过以下公式得到第k个控制周期的伺服驱动电机输出转矩滤波值:t
l
(k)=c0τ
l
(k)+c1τ
l
(k-1)+c2τ
l
(k-2)-d1t
l
(k-1)-d2t
l
(k-2)其中,t
l
(k)表示第k个控制周期的伺服驱动电机输出转矩滤波值;t
l
(k-1)表示第k-1个控制周期的伺服驱动电机输出转矩滤波值;t
l
(k-2)表示第k-2个控制周期的伺服驱动电机输出转矩滤波值;τ
l
(k)表示第k个控制周期的伺服驱动电机输出转矩;τ
l
(k-1)表示第k-1个控制周期的伺服驱动电机输出转矩;τ
l
(k-2)表示第k-2个控制周期的伺服驱动电机输出转矩;c0,c1,c2,d1和d2为低通滤波器系数;根据第k个控制周期的负载加速度和第k个控制周期的伺服驱动电机输出转矩滤波值计算得到第k个控制周期的负载转动惯量估计值;对所述第k个控制周期的负载转动惯量估计值进行修正,从而得到第k个控制周期的负
载转动惯量的预测值。3.根据权利要求2所述的方法,其特征在于,所述根据第k个控制周期的负载加速度和第k个控制周期的伺服驱动电机输出转矩滤波值计算得到第k个控制周期的负载转动惯量估计值,包括:获取第k-1个控制周期的辨识参数估计值、第k-2个控制周期的辨识参数估计值、第k-3个控制周期的辨识参数估计值、第k-1个控制周期的辨识参数基准值、第k-2个控制周期的辨识参数基准值、第k-1个控制周期的辨识参数回归矩阵以及第k-1个控制周期的辨识参数回归系数;通过以下公式计算得到第k个控制周期的辨识参数基准值:其中,表示第k个控制周期的辨识参数基准值;θ(k-1)表示第k-1个控制周期的辨识参数估计值;θ(k-2)表示第k-2个控制周期的辨识参数估计值;θ(k-3)表示第k-3个控制周期的辨识参数估计值;表示第k-1个控制周期的辨识参数基准值;表示第k-2个控制周期的辨识参数基准值;e0,e1,e2,f1和f2为低通滤波器系数;通过以下公式计算得到第k个控制周期的辨识参数回归矩阵和第k个控制周期的辨识参数回归系数:参数回归系数:其中,p(k)表示第k个控制周期的辨识参数回归矩阵;p(k-1)表示第k-1个控制周期的辨识参数回归矩阵;γ表示遗忘因子;q(k)表示第k个控制周期的辨识参数回归系数;q(k-1)表示第k-1个控制周期的辨识参数回归系数;根据计算得到的第k个控制周期的辨识参数基准值、第k个控制周期的辨识参数回归矩阵和第k个控制周期的辨识参数回归系数,计算得到第k个控制周期的辨识参数估计值,包括:其中,θ(k)表示第k个控制周期的辨识参数估计值;γ表示阻尼矩阵;通过以下公式从第k个控制周期的辨识参数估计值中提取第k个控制周期的负载转动惯量估计值:其中,表示第k个控制周期的负载转动惯量估计值。4.根据权利要求1所述的方法,其特征在于,对所述第k个控制周期的负载转动惯量估计值进行修正,从而得到第k个控制周期的负载转动惯量的预测值,包括:通过以下公式对所述第k个控制周期的负载转动惯量估计值进行修正,得到第k个控制周期的负载转动惯量的预测值:
其中,j(k)表示第k个控制周期的负载转动惯量的预测值;表示第k个控制周期的负载转动惯量估计值;k表示修正因子,和均为线性整流函数;h1表示的偏置;h2表示的偏置;j
n
表示负载惯量额定值。5.根据权利要求1所述的方法,其特征在于,所述根据计算得到的第k个控制周期的负载转动惯量的预测值,得到第k个控制周期伺服驱动系统控制器参数,包括:通过以下公式得到第k个控制周期伺服驱动系统控制器参数:其中,k
pi
(k)表示第k个控制周期的控制器增益;λ表示控制器的频宽;t表示电流环闭环时间常数;j(k)表示第k个控制周期的负载转动惯量的预测值。6.根据权利要求1所述的方法,其特征在于,所述根据第k个控制周期伺服驱动系统控制器参数,得到第k个控制周期的输出,包括:获取控制周期长度、第k-1个控制周期的转速误差积分量和第k个控制周期伺服驱动系统负载角速度参考值;通过第k个控制周期的负载位置计算得到第k个控制周期伺服驱动系统负载角速度测量值;通过以下公式计算得到第k个控制周期的输出:u(k)=-k
pi
(k)λtω
l
(k)+k
pi
z(k)其中,z(k)表示第k个控制周期的转速误差积分量;z(k-1)表示第k-1个控制周期的转速误差积分量;表示第k个控制周期伺服驱动系统负载角速度参考值;ω
l
(k)表示第k个控制周期伺服驱动系统负载角速度测量值;t
period
表示控制周期长度;k
pi
(k)表示第k个控制周期的控制器增益;λ表示pi控制器的频宽;t表示电流环闭环时间常数。7.一种伺服驱动系统控制装置,其特征在于,包括:获取模块,用于在第k个控制周期开始时,获取第k个控制周期的负载位置和伺服驱动电机输出转矩、第k-1个控制周期的负载位置和伺服驱动电机输出转矩以及第k-2个控制周期的负载位置和伺服驱动电机输出转矩;第一处理模块,用于根据第k个控制周期的负载位置和伺服驱动电机输出转矩、第k-1个控制周期的负载位置和伺服驱动电机输出转矩以及第k-2个控制周期的负载位置和伺服驱动电机输出转矩,对第k个控制周期的负载转动惯量的预测值进行计算;第二处理模块,用于根据计算得到的第k个控制周期的负载转动惯量的预测值,得到第k个控制周期伺服驱动系统控制器参数;第三处理模块,用于根据第k个控制周期伺服驱动系统控制器参数,得到第k个控制周期的输出。8.根据权利要求1所述的装置,其特征在于,所述第一处理模块,具体用于:获取第k-1个控制周期的负载加速度值和伺服驱动电机输出转矩滤波值以及第k-2个
控制周期的负载加速度值和伺服驱动电机输出转矩滤波值;对第k个控制周期的负载位置、第k-1个控制周期的负载位置以及第k-2个控制周期的负载位置作高通滤波,得到第k个控制周期的负载加速度,包括:通过以下公式得到第k个控制周期的负载加速度:β
l
(k)=b0θ
l
(k)+b1θ
l
(k-1)+b2θ
l
(k-2)-a1β
l
(k-1)-a2β
l
(k-2)其中,β
l
(k)表示第k个控制周期的负载加速度值;β
l
(k-1)表示第k-1个控制周期的负载加速度值;β
l
(k-2)表示第k-2个控制周期的负载加速度值;θ
l
(k)表示第k个控制周期的负载位置;θ
l
(k-1)表示第k-1个控制周期的负载位置;θ
l
(k-2)表示第k-2个控制周期的负载位置;b0,b1,b2,a1和a2为高通滤波器系数;对第k个控制周期的伺服驱动电机输出转矩、第k-1个控制周期的伺服驱动电机输出转矩以及第k-2个控制周期的伺服驱动电机输出转矩作低通滤波,得到第k个控制周期的伺服驱动电机输出转矩滤波值,包括:通过以下公式得到第k个控制周期的伺服驱动电机输出转矩滤波值:t
l
(k)=c0τ
l
(k)+c1τ
l
(k-1)+c2τ
l
(k-2)-d1t
l
(k-1)-d2t
l
(k-2)其中,t
l
(k)表示第k个控制周期的伺服驱动电机输出转矩滤波值;t
l
(k-1)表示第k-1个控制周期的伺服驱动电机输出转矩滤波值;t
l
(k-2)表示第k-2个控制周期的伺服驱动电机输出转矩滤波值;τ
l
(k)表示第k个控制周期的伺服驱动电机输出转矩;τ
l
(k-1)表示第k-1个控制周期的伺服驱动电机输出转矩;τ
l
(k-2)表示第k-2个控制周期的伺服驱动电机输出转矩;c0,c1,c2,d1和d2为低通滤波器系数;根据第k个控制周期的负载加速度和第k个控制周期的伺服驱动电机输出转矩滤波值计算得到第k个控制周期的负载转动惯量估计值;对所述第k个控制周期的负载转动惯量估计值进行修正,从而得到第k个控制周期的负载转动惯量的预测值。9.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1-6任一项所述的方法的步骤。10.一种电子设备,其特征在于,所述电子设备包括有存储器,处理器以及一个或者一个以上的程序,其中所述一个或者一个以上程序存储于所述存储器中,且经配置以由所述处理器执行权利要求1-6任一项所述的方法的步骤。

技术总结
本发明提供了一种伺服驱动系统控制方法、装置和电子设备,通过在每个控制周期开始时,都对该控制周期内的负载转动惯量的大小进行预测,得到每个控制周期的负载转动惯量的预测值,并根据每个控制周期的负载转动惯量的预测值计算得到伺服驱动系统每个控制周期的控制器参数,并以此得到伺服驱动系统每个控制周期内的伺服驱动系统控制器输出,通过计算实时预测的负载转动惯量的预测值可以及时调整伺服驱动系统的控制器增益,大大提高了伺服驱动系统的自适应鲁棒控制特性,扩大了带时变惯量负载的伺服驱动系统稳定工作范围。载的伺服驱动系统稳定工作范围。载的伺服驱动系统稳定工作范围。


技术研发人员:田培根 肖曦 唐艺伟 孙欣 萨沙
受保护的技术使用者:清华大学
技术研发日:2022.03.31
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-4093.html

最新回复(0)