数据驱动的欠驱动机械系统的反步控制-徐翠东博士

2023-08-25

摘要:本文研究了具有模型不确定性的欠驱动机械系统的控制问题。该控件采用反步方法设计。一阶低通滤波器用于估计未知量并避免“项爆炸”。该文还提出了一种在未知控制系数的情况下实现控制的新方法,使反步控制的整个过程成为数据驱动。研究了李雅普诺夫所提出的控制的稳定性。它经过数值和实验验证,并与众所周知的基于模型的线性二次调节器(LQR)控制进行了比较。发现数据驱动的反步控制提供与 LQR 控制相当的性能。

关键词:反步;欠驱动机械系统;跟踪控制;数据驱动;柔性连杆


1  介绍

      许多机械系统,如机器人、起重机和飞行器,都驱动不足。已经有许多关于驱动不足系统的研究。欠驱动系统是指一类自由度大于控制输入数量的系统。欠驱动系统的控制算法设计比全驱动系统的控制算法设计更复杂。对于欠驱动系统,已经提出了多种方法,包括滑动模型控制、反馈线性化、反步、基于无源的控制和鲁棒控制。在这些方法中,反步技术因其能够全局渐近稳定闭环系统而成为一种有效的方法。反步算法的主要思想是将欠驱动系统分离成几个级联子系统。因此,第二个子系统的状态充当第一个子系统的虚拟控件。该过程沿着子系统链向下移动,直到达到实际控制。已经开发了一些改进的反步方法,例如积分器反步,块反步和自适应模糊反步,以应对欠驱动系统的不同挑战。本文提出了一个未知系统动力学的欠驱动机械系统的反步设计研究。

      普通的反击依赖于所考虑的系统处于严格的反馈形式这一事实。尽管如此,在驱动不足的情况下,通常无法获得严格的反馈表。因此,不可能以通常的方式应用反步技术。已经努力将驱动不足的系统转换为级联反馈表。块反步法以块严格形式转换系统的状态模型。Olfati的方法将欠驱动系统转换为级联反馈形式。这些方法为在欠驱动系统中实施反步方法提供了一种替代方法。但是,将欠驱动系统转换为反馈形式并不能改变一个控件只能驱动一个输出来跟踪参考的事实。在某些应用程序中 ,输出变量设置为原始系统的状态变量的组合,状态变量的组合跟踪引用。系统的原始输出可能不是。此外,复杂的数学操作,例如Olfati方法中的积分或导数运算,不仅使变换过程复杂化,而且难以分离原始输出。此外,块反步中零动力学的稳定性可能要求状态设计为收敛于零稳态响应。因此,很难将原始系统的特定输出驱动到所需的目标。我们提出了一种转换,将欠驱动系统转换为级联反馈形式,其输出可以选择为原始系统的所需输出。


2  驱动不足系统的转型

      对于自由度大于 2 的系统,我们必须指定控制数量的缺陷,并且必须以不同的方式处理每种情况。出于这个原因,我们专注于一个两个自由度的例子,以说明控制设计的理论发展。许多欠驱动机械系统可以用状态空间中的以下微分方程来描述:

1.png

     q1和q2是系统的输出,U是控制输入。在方程(2)中,至少有一个控制系数bi必须不为零。我们假设b1 > 0,这意味着我们知道系统的第一自由度是由控制驱动的。系统的方程不是严格反馈形式。此外,u与两种状态的耦合使反步法的控制设计复杂化。因此,我们考虑将系统引导为级联反馈形式的转换,假设q1是系统跟踪参考的输出。

3 5.png

φ1和φ2分别是φ1(q)和 φ2(q)的变换非线性函数。控件的目的是使系统的输出x1跟踪参考。我们将考虑控件的反步设计。为此,我们以以下正常形式重写方程(4):

6 8.png

      η是要确定的 u 系数。

      我们应该指出,上述提法并不僵化或具体。也可以使用其他转换。例如,我们可以将q2作为输出来跟踪其引用并引入不同的转换。然而,在下面的研究中,我们将关注q1或x1是输出的情况。

      上述变换意味着对b1和b2之间关系的部分了解,以便取消其中一个结果方程中的控制项。如果我们允许控制项以其他项Fi(i = 1,2,3)出现,就像在F4中一样,我们不必使用变换来达到方程 (6)中的正常形式。这种方法的后果还有待未来研究。在这项研究中,我们假设我们可以识别一个转换来实现正常形式。


3  数据驱动的反步设计

      反步的想法是选择状态作为虚拟控件,而Lyapunov方法用于设计控件并保证系统的稳定性。方程(6)的级联形式简化了反步控制设计。在下文中,我们假设方程(1)中定义的函数F j(j = 2,3,4,7)是未知的,可以从可用数据中估计。我们进一步假设状态x1和x2可以从测量中获得,并且可以以足够的精度估计这些状态的导数。

      假设我们想使x1轨道成为平滑参考xr,以x2作为控件。设z1=x1-xr为跟踪误差。x2方面的虚拟控制定义为x2=-c1z1-F1+x ̇r,x ̇r是参考xR的时间导数。假设参考xr的时间导数是已知的。

      为了避免反步设计中的“项爆炸”,在使用第一和第二低通滤波器的地方引入了动态表面和命令滤波反步的方法。在本研究中,我们采用参考文献中的方法来实现两个目标。这是为了估计未知的动态并避免“术语爆炸”。

     实现的虚拟控件xd2是x2定义为:

9 14.png

其中z2将在稍后定义。值得注意的是,替换时间导数z1等式(13)到等式(14)我们有:

15.png

以同样的方式,我们可以推导出以下方程和关系。设zi=xi − xdi(i = 2,3, 4)。我们有

16  20.png

      请注意,x i(i = 1, 2,3,4)将根据x1(t)和x2(t)的时间历程进行估计。

      我们应该指出,控制系数η的使用是不平凡的。任何方法的导数估计仍然会有噪声或小的估计误差。因此,非常希望在应用于硬件之前对控制信号进行滤波。事实证明,使用系数η会导致控制输出的低通滤波器。此外,η的使用也放宽了对精确了解控制系数b1的需求。我们将借助以下引理来说明此讨论:

当η足够大时,闭环系统中的实际控制动作接近方程(1)中的b 7 u,其中u是方程(26)中定义的标称控制un的滤波版本。


4  数据驱动的反步控制设计总结

    (1)定义跟踪误差 z i = x i − xdi (i = 1, 2, 3, 4)。请注意,当 i = 1 时x di = xr

    (2)计算估计值F等式(20)来自通过一阶低通滤波器的测量数据

    (3)设计虚拟控件xj(j = 2, 3, 4)

    (4)让虚拟控制xj通过一阶低通滤波器生成xDJ

    (5)使用关系xd ̇j=(xj−xdj)/τj计算导数

    (6)在我们获得估计值后F4和xd4,控制由等式 (24) 给出

    从步骤可以看出,给定方程(6)中的范式,数据驱动的反步控制设计不需要模型的任何参数。η是一个任意且足够大的数字,Fi可以通过一阶低通滤波器进行估计。