线性和非线性滑模收敛时间分析

目录

前言

1.线性滑模有限时间收敛分析

1.1线性滑模面简单介绍

1.2 滑模面系数和调节参数的选取问题

1.2.1 滑模面系数选取

1.2.2 调节参数选取

1.3 有限时间分析

1.3.1 滑模面分析

1.3.2 趋近律分析

2.非线性滑模有限时间收敛分析

2.1 何为奇异?

2.2 何为快速?

2.3 收敛时间分析

2.4 p和q的取值为什么这样限定?

3. 总结


前言

前面文章介绍了线性滑模和非线性滑模,其中线性滑模主要以终端滑模为代表进行了介绍:

VSC/SMC(十二)——非线性系统的终端(terminal)滑模控制(含程序模型)_Mr. 邹的博客-CSDN博客_终端滑模

VSC/SMC(十三)——快速和非奇异Terminal滑模控制(含程序模型)_Mr. 邹的博客-CSDN博客_非奇异终端滑模

VSC/SMC(十四)——全局快速Terminal滑模控制(含程序模型)_Mr. 邹的博客-CSDN博客_快速终端滑模控制之前有人给我留言对于线性和非线性的收敛时间问题,所以我想在这里以自己的见解进行分析,如果有什么错误欢迎指导!另外公式编辑很繁琐,因为公式也不多,所以我这里直接手打公式了,谢谢理解!

1.线性滑模有限时间收敛分析

1.1线性滑模面简单介绍

线性滑模的一般形式为:s = c*x或者s = c*e,其实可以同一归结为s = c*e,如何理解?

大多数的问题可以转化为原点/0点稳定的问题,所以对于追踪问题或者稳定性分析的时候都会以零点进行分析。

因为对于s = c*x其实就是s = c*(x(t)-  x(0)) = s*e(t),所以线性滑模面可以简单以误差变量作为代表进行分析。

1.2 滑模面系数和调节参数的选取问题

1.2.1 滑模面系数选取

假设是只有比例和微分两项,即s = c1*e+c2*e',其系数的选取一般是用保证该多项式是Hurwitz的,Hurwitz个人的简单理解就是保证极点的实部是负数,所以为了方便选取,可以先取c2 = 1,然后c1 > 0,这样便能保证极点是负的。也有的文献为了严谨会根绝超调量等指标采用极点配置等方法。其实c1是决定了误差收敛的速度,继续往下看。

1.2.2 调节参数选取

对于求解控制律的方法有多种,最常见最好理解的是利用等效滑模的思想,其次还有Lypunov分析方法等。

等效滑模的思想就是先确定滑模面s,之后求其导数,在忽略扰动下令导数 = 选取的趋近律,便能等到真实的控制律。因为所谓的扰动和不确定项归结为了趋近律的鲁棒控制项,但是由于开关函数的作用,所以会出现抖振的问题,就是在滑模面两侧来回穿插,最终区域原点。看下图就清晰明了了:

如假设有二阶系统x'' = u+d,定义误差e = x-xd选取滑模面为s = c1*e+e',则导数有s' = c1*e'+e'',选取指速趋近律s' = -k*s-η*sign(s),而,所以得到u = xd''-k*s-η*sign(s)-c1*e。对于这里假如滑模面系数c1选定,就只需要调节k和η,k大则能快速到达滑模面,但是区域稳态误差所需的时间就很长,可以用100m冲刺去理解:假如你到终点冲量越大,那么需要停下来的时间就越长,而且需要刹车需要很猛。所以可以看到只有-ks这一项很难同时保证收敛的速度和抖阵的限度,所以需要-η*sign(s)这一项,当s趋近于0时,ks这一项便很小,所以主要通过η*sign(s),即±η去“柔和”的闭合开关,这样便能达到在快速收敛的同时能够保证抖振在允许范围内,所以指数趋近律参数的选取原则为:增大k的同时减小η。

注:由于η代表的是对不确定性的适应性,所以η > 不确定性D的上界,即η > |D|。

1.3 有限时间分析

1.3.1 滑模面分析

下面对其收敛问题进行分析,利用简单的解微分方程的思想,我们知道为了保证滑模的鲁棒性,会设计使系统初始状态就落在滑模面上,所以有s(t) = c1*e(t)+e(t)' = 0,所以解微分方程有:e(t) = e(0)*exp(-c1*t),所以滑模面c1决定了误差收敛的速度,且呈指数衰减。

1.3.2 趋近律分析

我们再从趋近律角度分析,假设选取指速趋近律,所以有s' = -k*s-η*sign(s),其中k表示到切换面s的速度,而且是指数速度趋近,怎么理解指数趋近?

假设只有s' = -k*s这一项,解微分方程有s = s(0)*exp(-k*t),可以看到k在指数部分。

2.非线性滑模有限时间收敛分析

假定选取的是非奇异快速终端滑模面s = c1*e+e'+c3*e^(p/q),其中p和q均为奇数且1  < p/q < 2或q < p <2q,何为非奇异、快速?为什么p和q的取值需要这样限定?继续往下看

2.1 何为奇异?

传统/普通的终端滑模选取的滑模面是s = e'+β*e^(q/p),其中其中p和q均为奇数且0 < q < p即0 < q/p < 1,为了方便化简,这里假设x(0) = 0,所以e(t) = x(t)-x(0) = x(t),所以s = x'+β*x^(q/p),这里直接用上篇文章中的证明结果,这里不再叙述,利用等效滑模的思想求出控制律为:

 可见由于0 < q/p < 1,所以q/p-1 < 0,所以会导致x1^(q/p-1) = 1/(x1^(1-q/p)),即当x2≠且x1趋于0的时候由于1-q/p > 0的缘故,导致分母很小而分式趋于∞,最终导致u趋于∞,这就是所谓的奇异现象。

所以会将终端吸引子设计成c3*e^(p/q),即选取滑模面为s = e'+c3*e^(p/q),其中p和q均为奇数且1  < p/q < 2,这里需要格外注意分子和分母以及限定条件。

假设c3 = 1/β,这里仍引用上篇文章的结论,得到控制律:

2.2 何为快速?

这里引入快速非奇异终端滑模面s = α*x+x'+β*x^(q/p),即线性滑模+非奇异终端滑模,当在滑模面上即s = 0时,合理设计p和q,则有x' = -α*x-β*x^(q/p),当系统状态远离原点时,收敛时间主要由终端吸引子β*x^(q/p)决定,当系统状态接近原点时,收敛时间主要由线性滑模x = -α*x决定,且上面已经证明呈指数收敛。为什么是这样,下面从数学上进行分析,继续往下走。

2.3 收敛时间分析

首先分析传统终端滑模,也就是只有非线性项,令滑模面为s = e'+β*e^(q/p),其中β > 0,p和q均为奇数且0 < q < p。通过求解微分方程得到从x≠0到平衡态x=0的收敛时间为:

可以看到当x(0)趋于0时, 导致x^(q/p)很小,也就是x'很小,所以说趋近于0点时收敛速度很慢,所以此时需要引入线性项以指数速度进行趋近,上述已经说明。


2.4 p和q的取值为什么这样限定?

最后一个问题想讨论以下p和q为什么是奇数,而且对于还需要限定两者大小关系,这里给出以下的参考链接,很详细,就不进行复述,总结起来就是保证Lyapunov函数证明时的条件。

非奇异终端滑模详解 - 百度文库

3. 总结

①线性滑模面:s = c1*x+x',其从非初始状态到0的收敛时间为:t = -1/c*ln(1/x(0))

②非奇异终端滑模面:s = x'+βx^(q/p),其中p > q >0,且均为奇数

③快速非奇异终端滑模面:s = c1*x+x'+βx^(q/p),其中 1  < p/q < 2,且均为奇数,其收敛时间为:

<think>好的,我现在需要处理用户关于非奇异滑模控制的问题,特别是滑模面设计的MATLAB实现。首先,我得回顾一下已有的知识,并结合用户提供的引用内容来构建回答。 用户提到了三个引用,分别涉及车辆路径跟踪、机械臂轨迹跟踪永磁同步直线电机的控制。这些引用都提到了非奇异终端滑模控制的应用,说明该方法在不同领域的有效性。用户主要想了解滑模面的概念实现方法,特别是如何在MATLAB中实现。 首先,我需要明确非奇异滑模面的定义。传统滑模控制中的滑模面可能存在奇异性问题,即在某些状态下分母为零,导致控制器失效。非奇异滑模面通过设计避免这种情况,通常引入分数幂次项或调整滑模面的结构。例如,引用[3]提到非奇异快速终端滑模控制使用非奇异项快速终端项,这可能涉及特定的指数选择,如替换传统终端滑模中的负指数项,避免分母为零。 接下来,滑模面的设计步骤。可能需要分步说明:确定跟踪误差,设计滑模面结构(如线性非线性项结合),以及参数选择。需要结合引用中的例子,比如机械臂轨迹跟踪中的仿真结果,说明如何确保非奇异性。 关于MATLAB实现,用户提供的引用[1][2]都提到了使用MATLAB的function函数编写控制器。需要给出具体的代码示例,可能包括误差计算、滑模面计算、控制律设计等部分。同时,要注意参数调整的重要性,如引用[3]中提到的参数α、β、p、q的选择,以及符号函数sgn的处理,可能用饱函数代替以减少抖振。 还需要考虑用户可能的问题,比如如何验证设计的正确性,如何处理实际系统中的抖振,以及参数调整的方法。因此,在相关问题部分,可以提出关于稳定性证明、参数优化、与传统滑模的对比,以及实际应用中的挑战等问题。 现在,需要确保回答符合系统级指令:行内公式用$...$,独立公式用$$...$$,正确的中文回答,生成相关问题,引用标注正确。同时,结构要清晰,分步骤解释,并给出MATLAB代码示例。</think>### 非奇异滑模面设计与MATLAB实现 #### 1. 非奇异滑模面核心概念 非奇异滑模面通过**分数幂次项结构**消除传统终端滑模控制的奇异性问题[^3]。其设计原则为: $$ s = e + \alpha \cdot \text{sign}(e)^{p/q} $$ 其中: - $e$为跟踪误差($e = x_{desired} - x_{actual}$) - $\alpha > 0$为调节系数 - $p < q$为正奇数,保证分母不为零 #### 2. 滑模面设计步骤 1. **定义跟踪误差** 对于n阶系统,设位置误差为$e = x_1 - x_{1d}$,速度误差为$\dot{e} = x_2 - x_{2d}$ 2. **构造非奇异滑模面** 采用**快速终端滑模面**结构: $$ s = \dot{e} + \beta e^{p/q} $$ 其中$\beta > 0$,$1 < p/q < 2$,确保微分时不会出现负指数项[^3] 3. **参数选择原则** - $p=5$, $q=3$等奇数组 - $\alpha$决定收敛速度 - $\beta$调节非线性项权重 #### 3. MATLAB实现示例 ```matlab function u = nonsingular_smc(e, de, params) % 参数定义 alpha = params.alpha; % 调节系数 beta = params.beta; % 非线性项系数 p = params.p; % 分子指数 q = params.q; % 分母指数 % 非奇异滑模面计算 s = de + beta * sign(e) .* abs(e).^(p/q); % 控制律设计(示例) k = 10; % 切换增益 u_eq = -beta * (p/q) * abs(e).^(p/q-1) .* de; % 等效控制 u_sw = -k * sign(s); % 切换控制 u = u_eq + u_sw; % 总控制量 end ``` **参数调试建议**: - 初始选择$\alpha=1$, $\beta=0.5$,通过仿真逐步调整 - 使用`sat(s/φ)`代替`sign(s)`减少抖振(φ为边界层厚度) #### 4. 关键特性验证 1. **非奇异性验证** 当$e \to 0$时,$\frac{p}{q}-1 > 0$,保证分母不出现零值[^3] 2. **有限时间收敛性** 通过Lyapunov函数证明: $$ V = \frac{1}{2}s^2 $$ $$ \dot{V} = s\dot{s} \leq -\eta|s| $$ 其中$\eta>0$为收敛率系数[^2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr. 邹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值