非奇异快速终端滑模控制 包含:TSMC、NTSMC、FTSMC、NFTSMC等滑模控制方法,对比了趋近率的加速特性,渐近性质和抖动抑制效果

在控制领域,滑模控制一直是备受关注的技术,尤其是非奇异快速终端滑模控制(Non - Singular Fast Terminal Sliding Mode Control,NFTSMC),它在众多复杂系统控制中展现出独特优势。今天咱们就来深入探究一下其中包含的 TSMC、NTSMC、FTSMC 以及 NFTSMC 等滑模控制方法,并对比它们趋近率的加速特性、渐近性质和抖动抑制效果。

TSMC(Terminal Sliding Mode Control,终端滑模控制)

TSMC 的核心在于其能够实现有限时间收敛,这一特性让它在许多对响应速度要求苛刻的系统中崭露头角。

咱们来看一段简单的代码示例(以 Python 为例,模拟一个简单系统控制):

import numpy as np
import matplotlib.pyplot as plt


# 定义系统参数
dt = 0.01
t = np.arange(0, 10, dt)
x = np.zeros(len(t))
x_dot = np.zeros(len(t))

# TSMC 控制律相关参数
k = 10
alpha = 0.8
beta = 1.2


for i in range(1, len(t)):
    s = x[i - 1] + 2 * x_dot[i - 1]
    if s!= 0:
        u = -k * np.sign(s) * np.abs(s) ** (alpha / beta)
    else:
        u = 0
    x_dot[i] = x_dot[i - 1] + dt * u
    x[i] = x[i - 1] + dt * x_dot[i - 1]


plt.plot(t, x)
plt.xlabel('Time (s)')
plt.ylabel('System State x')
plt.title('Terminal Sliding Mode Control Simulation')
plt.grid(True)
plt.show()

在这段代码中,我们定义了一个简单的系统,通过设定 TSMC 的控制律参数 kalphabeta 来模拟系统状态 x 随时间的变化。s 是滑模面,当 s 不为 0 时,控制律 u 根据 s 的符号和绝对值的特定幂次来计算,这样能驱使系统状态快速收敛到滑模面上,并在有限时间内达到平衡点。

TSMC 的趋近率加速特性在于它利用滑模面函数的特殊设计,使得系统状态能快速靠近滑模面。然而,传统 TSMC 存在奇异问题,即在某些情况下,控制律会出现无穷大,这在实际应用中是不可取的。

NTSMC(Non - Terminal Sliding Mode Control,非终端滑模控制)

NTSMC 则是为了解决 TSMC 的奇异问题而诞生的。它采用了不同的滑模面设计,避免了控制律在某些情况下的奇异性。

import numpy as np
import matplotlib.pyplot as plt


# 定义系统参数
dt = 0.01
t = np.arange(0, 10, dt)
x = np.zeros(len(t))
x_dot = np.zeros(len(t))

# NTSMC 控制律相关参数
k1 = 5
k2 = 3


for i in range(1, len(t)):
    s = x[i - 1] + k1 * x_dot[i - 1]
    u = -k2 * np.sign(s)
    x_dot[i] = x_dot[i - 1] + dt * u
    x[i] = x[i - 1] + dt * x_dot[i - 1]


plt.plot(t, x)
plt.xlabel('Time (s)')
plt.ylabel('System State x')
plt.title('Non - Terminal Sliding Mode Control Simulation')
plt.grid(True)
plt.show()

在这段 NTSMC 的模拟代码中,我们看到滑模面 s 的设计相对简单,由系统状态 x 和它的一阶导数 x_dot 通过线性组合构成。控制律 u 只与滑模面 s 的符号有关,乘以一个增益 k2。NTSMC 的渐近性质表现良好,系统能稳定地趋近平衡点,但在收敛速度上,相较于 TSMC 的有限时间收敛,它可能稍逊一筹。

FTSMC(Fast Terminal Sliding Mode Control,快速终端滑模控制)

FTSMC 结合了 TSMC 有限时间收敛的优点,同时在一定程度上优化了收敛速度。

import numpy as np
import matplotlib.pyplot as plt


# 定义系统参数
dt = 0.01
t = np.arange(0, 10, dt)
x = np.zeros(len(t))
x_dot = np.zeros(len(t))

# FTSMC 控制律相关参数
kf = 15
alpha_f = 0.6
beta_f = 1.4


for i in range(1, len(t)):
    sf = x[i - 1] + 2 * x_dot[i - 1] + 0.5 * np.sign(x[i - 1]) * np.abs(x[i - 1]) ** (alpha_f / beta_f)
    if sf!= 0:
        uf = -kf * np.sign(sf) * np.abs(sf) ** (alpha_f / beta_f)
    else:
        uf = 0
    x_dot[i] = x_dot[i - 1] + dt * uf
    x[i] = x[i - 1] + dt * x_dot[i - 1]


plt.plot(t, x)
plt.xlabel('Time (s)')
plt.ylabel('System State x')
plt.title('Fast Terminal Sliding Mode Control Simulation')
plt.grid(True)
plt.show()

从代码中能看到,FTSMC 的滑模面 sf 在 TSMC 的基础上增加了一项与系统状态绝对值的特定幂次相关的项。这使得系统在趋近滑模面和平衡点时速度更快。它的加速特性优于传统 TSMC,能在更短的时间内让系统状态达到稳定。但同样,它也可能面临与 TSMC 类似的抖动问题,因为控制律的不连续项会引发系统的高频切换。

NFTSMC(Non - Singular Fast Terminal Sliding Mode Control,非奇异快速终端滑模控制)

NFTSMC 可谓是集大成者,它既解决了 TSMC 的奇异问题,又保留了快速收敛的优势。

import numpy as np
import matplotlib.pyplot as plt


# 定义系统参数
dt = 0.01
t = np.arange(0, 10, dt)
x = np.zeros(len(t))
x_dot = np.zeros(len(t))

# NFTSMC 控制律相关参数
kn = 12
alpha_n = 0.7
beta_n = 1.3


for i in range(1, len(t)):
    sn = x[i - 1] + 2 * x_dot[i - 1] + 0.5 * np.sign(x[i - 1]) * np.abs(x[i - 1]) ** (alpha_n / beta_n)
    un = -kn * np.sign(sn) * np.abs(sn) ** (alpha_n / beta_n) / (1 + np.abs(sn))
    x_dot[i] = x_dot[i - 1] + dt * un
    x[i] = x[i - 1] + dt * x_dot[i - 1]


plt.plot(t, x)
plt.xlabel('Time (s)')
plt.ylabel('System State x')
plt.title('Non - Singular Fast Terminal Sliding Mode Control Simulation')
plt.grid(True)
plt.show()

在 NFTSMC 的代码实现中,我们注意到控制律 un 在 FTSMC 的基础上,分母增加了 1 + np.abs(sn) 这一项。这小小的改变,有效地避免了奇异问题。在抖动抑制方面,相较于 TSMC 和 FTSMC,NFTSMC 有更好的表现,因为分母的这一项缓和了控制律的切换强度,减少了高频抖动。它的渐近性质保证了系统能稳定收敛到平衡点,同时加速特性又使得收敛过程迅速,综合性能较为出色。

对比总结

从趋近率加速特性来看,FTSMC 和 NFTSMC 表现较为突出,能在较短时间内让系统状态靠近平衡点。TSMC 虽然也能有限时间收敛,但由于奇异问题限制了其应用。NTSMC 渐近稳定,但收敛速度相对较慢。

非奇异快速终端滑模控制 包含:TSMC、NTSMC、FTSMC、NFTSMC等滑模控制方法,对比了趋近率的加速特性,渐近性质和抖动抑制效果

渐近性质上,所有方法都能使系统趋近平衡点,但 NTSMC 的稳定性证明相对简单直接,而其他几种基于终端滑模的方法需要更细致地分析滑模面和控制律的特性。

抖动抑制效果方面,NFTSMC 通过巧妙的控制律设计,有效地减少了抖动,相比之下,TSMC 和 FTSMC 的抖动较为明显,这在对系统平稳性要求高的应用中可能会成为问题。

非奇异快速终端滑模控制家族中的这些方法各有千秋,在实际应用中,需要根据具体系统的需求,如响应速度、稳定性要求以及对抖动的容忍程度等,来选择最合适的滑模控制方法。希望通过今天的分享,大家对 TSMC、NTSMC、FTSMC 和 NFTSMC 有了更清晰的认识,能在控制领域的实践中运用得更加得心应手。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐