Engee 文档

Sliding Mode Controller (Reaching Law)

滑动模式下的系统控制器,具有可选择的滑动平面命中率功能。

类型: SubSystem

图书馆中的路径:

/Control Systems/Sliding Mode/Sliding Mode Controller (Reaching Law)

说明

程序块 Sliding Mode Controller (Reaching Law) 实现了滑动模式下的系统控制器,可为微分方程描述的非线性系统选择到达滑动面的速度函数 。选择到达滑动面的速度函数可以有效控制轨迹点向滑动面移动的过程。

程序块可以在以下模式下运行:

  • 控制模式

    ,

  • 跟踪模式

    .

公式使用以下符号:

  • - 系数矩阵;

  • - 滑动(切换)平面;

  • - 滑动平面上的命中率函数。

通过该模块可以设置滑动平面参数和滑动平面命中率函数。这些功能为在不断变化的外部条件下,针对特定的控制目标调整特定系统的控制法则提供了可能性。

端口

输入

# x — 系统状态
矢量

Details

系统的状态。定义为矢量,矢量的长度应等于状态数。

数据类型

Float64`。

复数支持

# f(x) — 系统动力学
`向量

Details

函数 ,描述系统的动态。它被定义为一个矢量,矢量的长度应等于状态数。

该函数可由微分方程 得出。

数据类型

Float64.

复数支持

# g(x) — 输入影响
`向量

Details

描述输入影响因素的函数。定义为大小为 的矩阵,其中 是状态数, 是输入影响数。

该函数可由微分方程 得出。

数据类型

Float64.

复数支持

# x.ref — 指定轨迹
矢量

Details

系统在跟踪模式下的运动轨迹。它们以矢量形式指定,矢量的长度应等于状态数。

在控制模式下,应向该端口提供一个元素为零的矢量。

数据类型

Float64`。

复数支持

# x.ref.dot — 给定轨迹的导数
矢量

Details

系统在跟踪模式下移动轨迹的导数。它们被定义为一个矢量,矢量的长度应等于状态数。

在控制模式下,应向该端口提供一个元素为零的矢量。

数据类型

Float64`。

复数支持

输出

# u — 控制行动
矢量

Details

以矢量形式计算的控制操作,其长度等于输入操作的数量。

数据类型

Float64.

复数支持

# s(x) — 坐标
矢量

Details

系统在滑动模式下的坐标向量,其长度等于输入动作的个数。

数据类型

Float64.

复数支持

参数

Switching Function

# Switching Function — 运行方式
Regulation Mode | Tracking Mode

Details

设备的运行模式:

  • 调节模式"--调节模式;如果希望系统在给定点达到稳定状态,且系统的所有状态 都等于零,则使用该模式。

  • 跟踪模式"--跟踪模式;如果希望系统按照给定轨迹运行,则使用该模式。 .

Regulation Mode | Tracking Mode

默认值

Regulation Mode

程序使用名称

Mode

可调谐

可计算

Sliding Surface Parameter

# Sliding Coefficients Matrix (C) — 系数矩阵

Details

定义滑动超平面的系数矩阵。定义为矩阵 by ,其中 是状态数, 是输入动作数。

默认值

1.0

程序使用名称

SlidingMatrix

可调谐

可计算

Reaching Law

# Reaching Law — 滑动面命中率的函数
Constant Rate | Exponential | Power Rate

Details

函数 ,用于确定轨迹点撞击滑动面(切换)的速度。可使用以下函数:

  • Constant Rate - 线性函数,

    该函数可确保轨迹点的均匀移动。

  • Exponential - 多项式函数,

    与线性函数相比,该函数在牵引点偏离滑动平面较大的情况下,提供更快的牵引点命中速度。

  • Power Rate - 阶跃函数,

    当轨迹点偏离滑动平面较大时,该函数可提供较快的轨迹点命中率,但当轨迹点接近滑动平面时,命中率会降低。这样可以减少控制动作的高频振荡,提高收敛性。

公式中使用了以下符号:

  • - 到达 -th 控制动作的系数,由参数 Reaching Rate (Eta) 决定;

  • - -th 控制作用的边界层,由参数 Select Boundary Layer: 定义;

  • - 缩放 -th 变量控制效果的系数;

  • - 度指数,由参数 Power Rate Exponent (Alpha) 确定。

Constant Rate | Exponential | Power Rate

默认值

Constant Rate

程序使用名称

ReachingLaw

可调谐

可计算

Boundary Layer

# Select Boundary Layer: — 附面层
Sign | Relay | Hyperbolic Tangent | Saturation

Details

描述边界层的函数。可使用以下函数:

  • Sign - 函数 sgn, .

    选择该函数时,-1 和 1 之间的切换是有间隙的。

  • Relay - 迟滞,

  • Hyperbolic Tangent - 双曲切线,

  • Saturation - 饱和度、 .

    该函数通过在边界层内的 -11 之间平滑切换,减少控制作用的高频振荡。

在公式中 是由参数 Phi 定义的边界层宽度。

Sign | Relay | Hyperbolic Tangent | Saturation

默认值

Sign

程序使用名称

BoundaryLayer

可调谐

可计算

Reaching Law Parameter

# Reaching Rate (Eta) — 达标率

Details

表示轨迹点接近滑动(切换)平面速度的系数。它可以是一个正标量,也可以是一个正数矢量,矢量的长度应等于控制操作的次数。

设置较大的系数值可加快到达滑动平面的速度,但同时也会增加实现控制所需的能耗。

默认值

0.01

程序使用名称

Eta

可调谐

可计算

# Control Gain (K) — 控制系数

Details

滑动(切换)平面速度多项式函数比例部分的系数。设置为正标量或正数矢量,矢量长度应等于控制操作次数。

该系数决定了实现控制所需的能耗。当该系数增大时,控制执行的成本与轨迹点偏离滑移平面的程度成正比。

默认值

3.0

程序使用名称

K

可调谐

可计算

# Power Rate Exponent (Alpha) — 学位指数

Details

滑动(切换)平面命中率阶梯函数中的阶梯指数。它可以是一个从 01 的正标量,也可以是一个从 01 的正数矢量,矢量的长度应等于控制动作的个数。

该参数决定了接近滑动面过程的平滑度。参数值越小,过程越平滑,控制动作的高频振荡也很可能越小。

默认值

0.01

程序使用名称

Alpha

可调谐

可计算

Boundary Layer Parameter

# Phi — 边界层宽度

Details

边界层宽度。可设置为正标量或正数矢量,矢量的长度应等于控制操作的次数。

边界层越宽,控制动作的高频振荡越小,但静态误差越大。相反,边界层越窄,静态误差越小,控制动作的高频振荡越大。

默认值

0.01

程序使用名称

Phi

可调谐

可计算